Гость
Статьи
Командная строка

Командная строка

1) Выполните импорт пользователей в домен au-team.irpo:
на BR-SRV:
Монтируем образ Additional.iso
mount /dev/cdrom /mnt
cat /mnt/Users.csv
nano import.sh

пишем скрипт
#!/bin/bash
tail -n +2 /mnt/Users.csv | while IFS=';' read -r firstName lastName _ _ ou _ _ _ _ password
do
if ! samba-tool ou list | grep -q "OU=$ou"; then
samba-tool ou create "OU=$ou"
fi
samba-tool user create "${firstName}${lastName}" "$password" \
--userou="OU=$ou"
done

chmod +x import.sh
./import.sh

samba-tool user setpassword MalachiAlexander
На HQ-CLI попробовать зайти по данным:
Логин: MalachiAlexander@au-team.irpo
Пароль: P@ssw0rd1

Автор
17 ответов
Последний — Перейти
Гость
#1
бш8Ть, ваш форум превратился просто в мусорку
Гость
#2
2) Выполните настройку центра сертификации на базе HQ-SRV:
на HQ-SRV
dnf install openssl-gost-engine
openssl-switch-config gost

update-crypto-policies --set GOST-ONLY:GOST
update-crypto-policies --show

openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out CA.key
openssl req -new -x509 -md_gost12_256 -days 365 -key CA.key -out CA.crt -subj "/C=RU/ST=Russia/L=Kazan/O=MCK-KTITS/OU=MCK-KTITS CA/CN=MCK-KTITS CA Root"
openssl genpkey -algorithm gost2012_256 -pkeyopt paramset:A -out au-team.irpo.key

nano au-team.irpo.ext
И добавляем туда следующее:
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = au-team.irpo
DNS.2 = docker.au-team.irpo
DNS.3 = web.au-team.irpo
IP.1 = 172.16.1.2
IP.2 = 172.16.2.2

openssl req -new -md_gost12_256 -key au-team.irpo.key -out au-team.irpo.csr -subj "/C=RU/L=Kazan/O=AU-TEAM Site GOST/CN=*.au-team.irpo"
openssl x509 -req -in au-team.irpo.csr -CA CA.crt -CAkey CA.key -CAcreateserial -out au-team.irpo.crt -days 30 -extfile au-team.irpo.ext
cat au-team.irpo.crt CA.crt > fullchain.crt

openssl-switch-config default
update-crypto-policies --set DEFAULT

mkdir -p /home/sshuser/certs

cp fullchain.crt /home/sshuser/certs
cp au-team.irpo.key /home/sshuser/certs
cp CA.crt /home/sshuser/certs

chmod 755 -R /home/sshuser/certs
Гость
#3
на ISP
dnf install openssl-gost-engine -y
openssl-switch-config gost

update-crypto-policies --set GOST-ONLY:GOST
update-crypto-policies --show

mkdir -p /etc/ssl/site
scp -P 2026 sshuser@172.16.1.2:/home/sshuser/certs/* /etc/ssl/site
nano /etc/nginx/nginx.conf
добавляем серверы https после http
серверов:

server {
listen 443 ssl;
server_name docker.au-team.irpo;
ssl_certificate /etc/ssl/site/fullchain.crt;
ssl_certificate_key /etc/ssl/site/au-team.irpo.key;
ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH:MEDIUM;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://172.16.2.2:8080;
}
}
server {
listen 443 ssl;
server_name web.au-team.irpo;
ssl_certificate /etc/ssl/site/fullchain.crt;
ssl_certificate_key /etc/ssl/site/au-team.irpo.key;
ssl_ciphers GOST2012-GOST8912-GOST8912:HIGH:MEDIUM;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
auth_basic "Restricted Content";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://172.16.1.2:8080;
}
}

nginx -t
systemctl restart nginx
Гость
#4
на HQ-CLI:
Монтируем Additional.iso:
mount /dev/cdrom /mnt

cp -r /mnt/cryptopro/linux-amd64/ .
scp -P 2026 sshuser@192.168.100.2:/home/sshuser/certs/CA.crt /home/username
chmod +x linux-amd64/*.sh
./linux-amd64/install_gui.sh
Открывается установщик КриптоПро, нажимаем далее:
Здесь необходимо выбрать все пакеты с помощью пробел и
нажимаем далее:
Начинаем установку пакетов КриптоПро:
В процесс установки необходимо подтвердить установку пакетов:
При запросе лицензионного ключа, выбираем позже:
Выходим из установщика:
Находим приложение «Инструменты КриптоПро» и запускаем его:
После открытия приложения необходимо перемещать мышь в окне
или нажимать клавиши для генерации случайной последовательности:
Добавляем корневой сертификат во вкладку «Сертификаты», выбрав
хранилище сертификатов «Доверенные корневые центры сертификации»
и «Устанавливаем сертификат».
Выйдет уведомление о добавление сертификата, нажимаем «ОК».
И добавляем сертификат центра, который копировали ранее: CA.crt
Проверяем наличие сертификата в хранилище:
Запускаем браузер Яндекс.Браузер и проверяем сайты
https://web.au-team.irpo и https://docker.au-team.irpo, что подключения защищены:
Гость
#5
3) Перенастройте ip-туннель с базового до уровня туннеля,
обеспечивающего шифрование трафика
Устанавливаем strongswan на HQ-RTR и BR-RTR:
dnf install strongswan -y
systemctl enable --now strongswan

на HQ-RTR:
nano /etc/strongswan/swanctl/conf.d/swanctl.conf
Добавляем конфигурацию IPSec:

connections {
my-tunnel {
local_addrs = 172.16.1.2
remote_addrs = 172.16.2.2
local {
auth = psk
}
remote {
auth = psk
}
children {
net {
mode = transport
esp_proposals = aes256-sha256
}
}
}
}
secrets {
ike-1 {
secret = "P@ssw0rd"
}
}

systemctl restart strongswan
Гость
#6
на BR-RTR
nano /etc/strongswan/swanctl/conf.d/swanctl.conf
Добавляем конфигурацию IPSec:

connections {
my-tunnel {
local_addrs = 172.16.2.2
remote_addrs = 172.16.1.2
local {
auth = psk
}
remote {
auth = psk
}
children {
net {
mode = transport
esp_proposals = aes256-sha256
}
}
}
}
secrets {
ike-1 {
secret = "P@ssw0rd"
}
}

systemctl restart strongswan

Принудительно инициируем соединение (BR-RTR или HQ-RTR):
swanctl --initiate --child net
swanctl --list-conns
Гость
#7
с HQ-RTR:
tcpdump -i ens33 -n host 172.16.2.2

4) Настройте межсетевой экран на маршрутизаторах HQ-RTR и
BR-RTR на сеть в сторону ISP

На HQ-RTR:
firewall-cmd --permanent --zone=external --change-interface=ens33
firewall-cmd --permanent --zone=internal --change-interface=ens34
firewall-cmd --permanent --zone=internal --change-interface=ens34.100
firewall-cmd --permanent --zone=internal --change-interface=ens34.200
firewall-cmd --permanent --zone=internal --add-interface=tun0
firewall-cmd --permanent --new-policy int-to-ext
firewall-cmd --permanent --policy int-to-ext --add-ingress-zone=internal
firewall-cmd --permanent --policy int-to-ext --add-egress-zone=external
firewall-cmd --permanent --policy int-to-ext --set-target=ACCEPT
firewall-cmd --permanent --zone=external --add-service=http
firewall-cmd --permanent --zone=external --add-service=https
firewall-cmd --permanent --zone=external --add-service=dns
firewall-cmd --permanent --zone=external --add-service=ntp
firewall-cmd --permanent --zone=external --add-port=2026/tcp
firewall-cmd --permanent --zone=external --add-port=8080/tcp
firewall-cmd --permanent --zone=external --add-protocol=gre
firewall-cmd --permanent --zone=external --add-port=500/udp
firewall-cmd --permanent --zone=external --add-port=4500/udp
firewall-cmd --permanent --zone=external --add-protocol=esp
firewall-cmd --permanent --zone=external --add-protocol=ah
firewall-cmd --permanent --zone=internal --add-protocol=ospf
firewall-cmd --permanent --zone=external --add-forward-port=port=2026:proto=tcp:toport=2026:toaddr=192.168.100.2
firewall-cmd --permanent --zone=external --add-forward-port=port=8080:proto=tcp:toport=80:toaddr=192.168.100.2
firewall-cmd --permanent --direct --add-passthrough ipv4 -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
firewall-cmd --reload
Гость
#8
На BR-RTR:
firewall-cmd --permanent --zone=external --change-interface=ens33
firewall-cmd --permanent --zone=internal --change-interface=ens34
firewall-cmd --permanent --zone=internal --add-interface=tun0
firewall-cmd --permanent --new-policy int-to-ext
firewall-cmd --permanent --policy int-to-ext --add-ingress-zone=internal
firewall-cmd --permanent --policy int-to-ext --add-egress-zone=external
firewall-cmd --permanent --policy int-to-ext --set-target=ACCEPT
firewall-cmd --permanent --zone=external --add-service=http
firewall-cmd --permanent --zone=external --add-service=https
firewall-cmd --permanent --zone=external --add-service=dns
firewall-cmd --permanent --zone=external --add-service=ntp
firewall-cmd --permanent --zone=external --add-port=2026/tcp
firewall-cmd --permanent --zone=external --add-port=8080/tcp
firewall-cmd --permanent --zone=external --add-protocol=gre
firewall-cmd --permanent --zone=external --add-port=500/udp
firewall-cmd --permanent --zone=external --add-port=4500/udp
firewall-cmd --permanent --zone=external --add-protocol=esp
firewall-cmd --permanent --zone=external --add-protocol=ah
firewall-cmd --permanent --zone=internal --add-protocol=ospf
firewall-cmd --permanent --zone=external --add-forward-port=port=2026:proto=tcp:toport=2026:toaddr=172.30.100.2
firewall-cmd --permanent --zone=external --add-forward-port=port=8080:proto=tcp:toport=8080:toaddr=172.30.100.2
firewall-cmd --permanent --direct --add-passthrough ipv4 -t mangle -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
firewall-cmd --reload
Гость
#9
5) Настройте принт-сервер cups на сервере HQ-SRV
на HQ-SRV:
dnf install cups cups-pdf -y --nogpgcheck
systemctl enable --now cups
nano /etc/cups/cupsd.conf
В строке Listen localhost:631 меняем localhost на *:
В строках с доступом на сервер и с доступом на страницу админа
добавляем строки Allow all после deny:
#Restrict access to the server
#Restrict access to the admin pages

systemctl restart cups

на HQ-SRV:
lpadmin -x Virtual_PDF
lpadmin -p PDF -E -v cups-pdf:/ -m "CUPS-PDF_noopt.ppd"
lpstat -p
Переходим в настройки на HQ-CLI и добавляем принтер. Для этого
сначала необходимо разблокировать доступ к добавлению и изменению
настроек:
Вводим IP-адрес сервера HQ-SRV 192.168.100.2 и выбираем принтер:

После
добавления принтера, настраиваем принтер для
использования по умолчанию, необходимо, что появилась галочка у пункта
«Использовать по умолчанию».

После этого, дополнительно проверяем, выбрав пункт «Сведения о
принтере», что принтер действительно с HQ-SRV. Должен быть IP HQ-SRV.
Гость
#10
6) Реализуйте логирование при помощи rsyslog на устройствах HQRTR, BR-RTR, BR-SRV:
на HQ-SRV:
nano /etc/rsyslog.conf
Необходимо расскоментировать строки связанные с udp (module и
input):

В конце добавляем шаблон для записи логов с удаленных серверов
в /opt и исключения hq-srv из записи в папку /opt:
$template RemoteLogs,"/opt/%HOSTNAME%/%HOSTNAME%.log"
if $hostname != 'hq-srv' then {
*.warning ?RemoteLogs
& stop
}

На клиентах HQ-RTR, BR-RTR, BR-SRV в файле /etc/rsyslog.conf
добавляем запись, для отправки логов на сервер логов (можно также в
конце):
nano /etc/rsyslog.conf

*warning @192.168.100.2:514
На HQ-RTR, BR-RTR, BR-SRV, HQ-SRV перезапускаем службу rsyslog:
systemctl restart rsyslog
Гость
#11
На HQ-SRV
nano /etc/logrotate.d/remote_logs

/opt/*/*.log {
weekly
rotate 4
compress
minsize 10M
missingok
notifempty
sharedscripts
postrotate
/usr/bin/systemctl kill -s HUP rsyslog.service >/dev/null 2>&1 || true
endscript
}

На HQ-RTR, BR-RTR, BR-SRV, HQ-SRV
systemctl restart logrotate

7) На сервере HQ-SRV реализуйте мониторинг устройств с
помощью открытого программного обеспечения
на сервере HQ-SRV
dnf install -y grafana prometheus prometheus-node_exporter --nogpgcheck
nano /etc/prometheus/prometheus.yml

Редактируем там строчку, добавив адреса 192.168.100.2:9100 и
172.30.100.2:9100:
static_configs: - targets: ["localhost:9090","192.168.100.2:9100","172.30.100.2:9100"]

systemctl enable --now grafana-server
systemctl enable --now prometheus
systemctl enable --now node_exporter
Гость
#12
на BR-SRV
dnf install -y prometheus-node_exporter
systemctl enable --now node_exporter

Переходим на HQ-CLI для настройки Grafana. Открываем браузер и
переходим по адресу http://192.168.100.2:3000
admin:admin
Задаём новый пароль P@ssw0rd

Добавляем подключение к Prometheus. Для этого переходим во
вкладку Connections и добавляем новое подключение через «Add new
connection»

Находим в DataSources Prometheus

В connection пишем адрес Prometheus – http://localhost:9090

После чего Datasource Prometheus должно успешно добавиться.

Добавляем Dashboard, выбрав вкладку Dashboards и создаём
дашборд «Create Dashboard»

Импортируем Dashboard, выбрав «Import Dashboard» dashboard 11074 и загружаем его «Load» снизу выбираем прометеус и import

на HQ-SRV
nano /opt/dns/au-team.irpo

mon A 192.168.100.2
systemctl restart named

Теперь открываем мониторинг на HQ-CLI через адрес http://mon.au-team.irpo:3000
Гость
#13
8) Реализуйте механизм инвентаризации машин HQ-SRV и HQCLI через Ansible на BR-SRV:
Монтируем образ Additional.iso:
mount /dev/cdrom /mnt

на BR-SRV
cp /mnt/playbook/get_hostname_address.yml /etc/ansible
nano /etc/ansible/demo.ini
[inventory]
hq-cli ansible_host=192.168.200.2 ansible_user=username
hq-srv ansible_host=192.168.100.2 ansible_port=2026 ansible_user=sshuser

nano /etc/ansible/get_hostname_address.yml

---
- name: Inventory of HQ-SRV and HQ-CLI
hosts: inventory
gather_facts: yes
tasks:
- name: получение данных с хоста
copy:
dest: /etc/ansible/PC-INFO/{{ ansible_hostname }}.yml
content: |
Hostname: {{ ansible_hostname }}
IP_Address: {{ ansible_default_ipv4.address }}
delegate_to: localhost

mkdir -p /etc/ansible/PC-INFO
cd /etc/ansible
ansible-playbook get_hostname_address.yml -i demo.ini

ls /etc/ansible/PC-INFO
cat /etc/ansible/PC-INFO/hq-cli.yml
cat /etc/ansible/PC-INFO/hq-srv.yml
Гость
#14
9) На HQ-SRV настройте программное обеспечение fail2ban для
защиты ssh
на HQ-SRV
dnf install fail2ban -y --nogpgcheck
nano /etc/fail2ban/jail.local

[sshd]
enabled = true
port = 2026
filter = sshd
maxretry = 3
bantime = 60
findtime = 120

systemctl restart fail2ban
systemctl enable --now fail2ban
fail2ban-client status sshd
Гость
#15
С нами уже ИИ разговаривает! Во до чего дОжили!
Гость
#16
Гость
С нами уже ИИ разговаривает! Во до чего дОжили!
тут ИИ всегда был, тут 80% пользователей это ии. Но видимо даже ии не может поднять посещаемость, поэтому в ход пошла уже откровенно информационная муть
Влад
#17
Админы, ваш ИИ утроил мятеж)
Форум: Время для себя
Всего: 50 004 темы
Новые темы за сутки: 25 тем
Популярные темы за сутки: 3 темы