User Tools

Site Tools


обеспечение_безопасности_linux_решений

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
обеспечение_безопасности_linux_решений [2022/11/14 09:07]
val [Корпоративный TeamViewer]
обеспечение_безопасности_linux_решений [2024/05/21 15:55] (current)
val
Line 1: Line 1:
 ====== Обеспечение безопасности Linux решений ====== ====== Обеспечение безопасности Linux решений ======
  
-===== План на 14.11.2022 ===== 
- 
-==== Подготовка стенда ==== 
- 
-  * Схема стенда 
-  * Развернуть все VM 
-  * ext ip на extgate 
-  * named.conf forwarders на extgate 
-  * resolv.conf на extgate 
- 
-==== OPIE для подключения к "​работе"​ ==== 
- 
-  * Ставим Chrome и MobaXterm 
-  * [[Управление учетными записями в FreeBSD]] - cоздаем userX/​passwordX 
-  * Включемем и тестируем [[Аутентификация с использованием OPIE]] 
-  * Win7 в DMZ (ip: 10.100.100.31) 
-  * Включаем RDP 
-  * Изучаем туннель -L (понадобилось остановить pf :) 
- 
-==== Подключение к "​работе"​ без разрешения ==== 
- 
-  * Включаем pf 
-  * Win7 в LAN 
-  * Изучаем туннель -R с параметрами 2000+X:​localhost:​3389 подключаясь как userX к gate.isp.un 
- 
-==== Корпоративный TeamViewer ==== 
- 
-  * Используются стенд преподавателя и одного из слушателей 
-  * Устанавливаем на Win7 [[Сервис VNC]] на обоих стендах 
-  * Разрешаем на extgate прохождение tcp трафика по всем портам на стенде слушателя 
-  * Разрешаем на intgate прохождение исходящего tcp трафика по всем портам на стенде слушателя 
-  * Преподаватель запускает VNCViewer в Listen mode 
-  * Преподаватель устанавливает -R туннель 0:​localhost:​5500 
-  * Слушатель выполняет Attach Listener Viewer на gate.isp.un:​NNNNN 
-  * Возвращаем исходные настройки пакетных фильтров на extgate и intgate слушателя 
 ===== Программа курса ===== ===== Программа курса =====
  
-  * [[http://​www.specialist.ru/​course/​yunbez|Linux ​(Ubuntu)/​FreeBSD. Уровень 3. Обеспечение безопасности систем,​ сервисов и сетей]]+  * [[http://​www.specialist.ru/​course/​yunbez|Linux. Уровень 3. Обеспечение безопасности систем,​ сервисов и сетей]]
  
 ===== Модуль 0. Подготовка стенда в классе ===== ===== Модуль 0. Подготовка стенда в классе =====
Line 62: Line 27:
  
  
-==== 1.1 Настройка систем ​Gate и Сервер ​====+==== 1.1 Настройка систем ​gate, lan и server ​====
  
-=== gate ===+<​code>​ 
 +Запустите с правами Administrator 
 + 
 +C:​\cmder\cmder.exe 
 + 
 +bash 
 + 
 +cd 
 + 
 +test -d conf && rm -r conf 
 + 
 +git clone http://​val.bmstu.ru/​unix/​conf.git 
 + 
 +cd conf/​virtualbox/​ 
 + 
 +!!! 3 - это номер курса, вместо X укажите Ваш номер стенда,​ если не знаете его, спросите преподавателя !!! 
 + 
 +./setup.sh X 3 
 +</​code>​ 
 + 
 +**Клонируем server в lan** 
 + 
 +=== Настраиваем ​gate ===
  
   * Адаптер 1 - Внутренняя сеть (eth0) - DMZ   * Адаптер 1 - Внутренняя сеть (eth0) - DMZ
-  * Адаптер 2 - Сетевой мост (eth1) - WAN+  * Адаптер 2 - Сетевой мост (eth1) - WAN (уже подключен)
   * Адаптер 3 - Виртуальный адаптер хоста (eth2) - LAN   * Адаптер 3 - Виртуальный адаптер хоста (eth2) - LAN
  
 <​code>​ <​code>​
-root@gate:~# sh net_gate.sh+gate# ifconfig eth2 inet 192.168.100+X.1/​24  
 +</​code>​ 
 + 
 +  * Создаем в Putty профиль gate и подключаемся 
 + 
 +<​code>​ 
 +gate# sh net_gate.sh
  
-root@gate:~# cat /​etc/​network/​interfaces+gate# cat /​etc/​network/​interfaces
 </​code><​code>​ </​code><​code>​
 ... ...
Line 81: Line 74:
         netmask 255.255.255.0         netmask 255.255.255.0
 </​code><​code>​ </​code><​code>​
-root@gate:~# init 6+gate# init 6 
 +</​code><​code>​ 
 +gate# apt update
 </​code>​ </​code>​
  
-=== server ​=== +=== Настраиваем lan ===
-<​code>​ +
-root@server:​~#​ sh net_server.sh+
  
-root@server:​~init 6+  * Адаптер 1 - Виртуальный адаптер хоста (eth0) - LAN (уже подключен) 
 + 
 +<​code>​ 
 +lanifconfig eth0 inet 192.168.100+X.10/​24 ​
 </​code>​ </​code>​
  
-  * Настраиваем профили ​putty к server и gate к адресам DMZ 192.168.X.Y (для gate это ​подключение пригодится в лабораторных работах с firewall)+  * Создаем ​в Putty профиль lan и подключаемся
  
 <​code>​ <​code>​
-gateapt update+lansh net_server.sh
  
-serverapt update +lanhostnamectl set-hostname lan.corpX.un
-</​code>​ +
-==== 1.2 Настройка системы Lan ====+
  
-<​code>​ +lan# cat /​etc/​network/​interfaces
-# cat /​etc/​hosts +
-</​code><​code>​ +
-127.0.0.1 ​              ​localhost +
- +
-192.168.100+X.10 ​lan.corpX.un lan +
-</​code><​code>​ +
-# cat /​etc/​resolv.conf +
-</​code><​code>​ +
-search corpX.un +
-nameserver 172.16.1.254 +
-</​code><​code>​ +
-# cat /​etc/​hostname +
-</​code><​code>​ +
-lan.corpX.un +
-</​code><​code>​ +
-# cat /​etc/​network/​interfaces+
 </​code><​code>​ </​code><​code>​
 auto lo auto lo
Line 127: Line 105:
         gateway 192.168.100+X.1         gateway 192.168.100+X.1
 </​code><​code>​ </​code><​code>​
-# init 6+lan# init 6
 </​code>​ </​code>​
  
 +=== Настраиваем server ===
  
-==== 1.3 Подключение сети предприятия к Internet ====+  * Адаптер 1 - Внутренняя сеть (eth0) - DMZ
  
-  ​Назначаем ​host системе на интерфейсе "​VirtualBox Host-Only Network"​ ip address 192.168.100+X.5/​24 ​и подключаемся ​putty к lan +<​code>​ 
-  * Настраиваем доступ в Internet из сети LAN ([[Сервис NAT#​Трансляция на основе адреса отправителя]])+server# sh net_server.sh 
 + 
 +server# init 6 
 +</​code>​ 
 + 
 +  ​Создаем ​в Putty профиль server ​и подключаемся 
 +==== 1.2 Подключение сети предприятия к Internet ==== 
 + 
 +  * Настраиваем доступ в Internet из сети LAN и использованием [[Сервис NAT]]
   * Тестируем   * Тестируем
 <​code>​ <​code>​
 lan# apt update lan# apt update
 </​code>​ </​code>​
-  * Копируем ключи ssh с системы lan на gate и server ([[Сервис SSH#​Аутентификация с использованием ключей ssh]]) 
  
- +==== 1.План размещения сервисов в сети предприятия ====
-==== 1.План размещения сервисов в сети предприятия ====+
  
 === Сервис DNS === === Сервис DNS ===
  
-Уже развернут у провайдера+<​code>​ 
 +server# sh conf/dns.sh
  
 +lan# cat /​etc/​resolv.conf
 +</​code><​code>​
 +search corpX.un
 +nameserver 192.168.X.10
 +</​code>​
 +  * Копируем ключи ssh с системы lan на gate и server ([[Сервис SSH#​Аутентификация с использованием ключей ssh]])
 +<​code>​
 +lan# ssh-copy-id server
 +lan# ssh-copy-id gate
 +
 +lan# scp /​etc/​resolv.conf server:/​etc/​
 +lan# scp /​etc/​resolv.conf gate:/etc/
 +</​code>​
 === Сервис EMAIL === === Сервис EMAIL ===
  
Line 156: Line 155:
 Разворачиваем на системе gate в сети LAN Разворачиваем на системе gate в сети LAN
  
-<​code>​ +  ​* Сервис DHCP [[Сервис DHCP#isc-kea]] 
-gate# sh conf/​dhcp.sh +  * Импорт и запуск системы linux client1 (демонстрирует преподаватель) 
-</​code>​ +  * Импорт и запуск системы ​windows client2
-  ​* Стандартная конфигурация ​[[Сервис DHCP]] ​(поправить интерфейсы,​ раскомментировать сеть, поправить DNS+
-  * [[Сервис DHCP#Проверка конфигурации ​и запуск]] +
-  * Запуск системы ​clientN+
  
-=== Файловый сервис ===+=== Сервис ​CIFS ===
  
 Будет развернут на системе lan Будет развернут на системе lan
  
-=== Сервис ​NTP === +=== Сервис ​HTTP ===
- +
-Достаточно [[Локализация системы#​Локализация временной зоны]] +
- +
-=== Сервис WWW ===+
  
 Сценарий:​ внешний корпоративный сайт на server Сценарий:​ внешний корпоративный сайт на server
Line 188: Line 180:
   * [[https://​www.kali.org/​|Kali Linux - Advanced Penetration Testing Linux Distribution]]   * [[https://​www.kali.org/​|Kali Linux - Advanced Penetration Testing Linux Distribution]]
   * [[https://​ru.wikipedia.org/​wiki/​OpenVAS|OpenVAS]]   * [[https://​ru.wikipedia.org/​wiki/​OpenVAS|OpenVAS]]
 + 
   * [[https://​youtu.be/​zjzdqqk7xmo|Видео урок: Аудит системных событий в Linux/​FreeBSD]]   * [[https://​youtu.be/​zjzdqqk7xmo|Видео урок: Аудит системных событий в Linux/​FreeBSD]]
 +
 +  * [[https://​www.specialist.ru/​course/​ceh|Этичный хакинг. Техники атак и инструменты противодействия]]
 ==== Лабораторные работы ==== ==== Лабораторные работы ====
  
-==== 2.1 Сканеры безопасности систем ====+==== 2.1 Внешний ​аудит систем ====
  
-Сценарий:​ сканирование портов сервисов системы server, находим web сервер+Сценарий:​ сканирование портов сервисов системы server ​(с lan или gate.isp.un по ip адресу), находим web сервер
  
   * [[Утилита nmap]]   * [[Утилита nmap]]
  
-Сценарий:​ определяем "вручную" ​нет ли уязвимости directory traversal+Сценарий: ​автоматизированный поиск уязвимостей, находим "directory traversal"​ 
 + 
 +  * [[Сервис OpenVAS]] 
 +  * По окончании эксперимента остановить лишние экземпляры **pkill webd** или перезапустить server 
 + 
 +Сценарий:​ эксплуатируем найденную ​уязвимость "directory traversal
 + 
 +  * [[Управление учетными записями в Linux#​Создание тестового набора учетных записей]] на server
  
 <​code>​ <​code>​
-gate.isp.un$ ​curl --path-as-is http://server.corpX.un/​../​../​../​etc/​passwd+lan# curl --path-as-is http://192.168.X.10/​../​../​../​etc/​passwd
  
-gate.isp.un$ fetch -o - http://server.corpX.un/​../​../​../​etc/​passwd+gate.isp.un$ fetch -o - http://192.168.X.10/​../​../​../​etc/​passwd
  
-gate.isp.un$ telnet ​server.corpX.un 80+gate.isp.un$ telnet ​192.168.X.10 80
 </​code><​code>​ </​code><​code>​
 GET /​../​../​../​etc/​passwd HTTP/1.1 GET /​../​../​../​etc/​passwd HTTP/1.1
- 
-GET /​../​../​../​etc/​shadow HTTP/1.1 
- 
-GET /​../​../​../​etc/​master.passwd HTTP/1.1 
 </​code>​ </​code>​
  
-Сценарий:​ автоматизированный поиск уязвимостей 
  
-  * [[Сервис OpenVAS]] +Сценарий: Brute force-атака по известным login
-  * По окончании эксперимента остановить лишние экземпляры **pkill webd** или перезапустить server+
  
-==== 2.2 Сканеры безопасности сети ==== +  ​* [[Утилита ​hydra]] 
- +==== 2.2 Внутренний аудит систем ====
-Сценарий:​ перехват учетных данных при обновлении пользователем user1 веб информации на server по протоколу ftp +
- +
-  ​* [[Управление учетными записями в Linux]] (все по умолчанию,​ назначить пароль через echo) +
-  * [[Настройка командных интерпретаторов]] (управление историей команд) +
-  * [[Сервис FTP#​Сервер ftp]] +
-  * [[Утилита ettercap]] +
-  * [[Утилиты для тестирования сети#​tcpdump]] +
- +
-==== 2.3 Аудит систем ====+
  
 === Проверка стойкости паролей === === Проверка стойкости паролей ===
  
-  * [[http://www.openwall.com/john/|John the Ripper password cracker]] +<​code>​ 
-  * [[https://www.cloudcracker.com/|An online password cracking service]]+lan# curl --path-as-is ​http://192.168.X.10/../../../etc/​shadow ​tee shadow 
 +</​code>​
  
 +  * [[http://​www.openwall.com/​john/​|John the Ripper password cracker]]
   * [[Утилита john]]   * [[Утилита john]]
  
Line 262: Line 251:
   * [[Утилита chkrootkit]]   * [[Утилита chkrootkit]]
  
-  * [[Сервис OSSEC]]+  * [[Сервис OSSEC]] ​
  
 === Аудит системных событий === === Аудит системных событий ===
  
-Сценарий:​ фиксируем обращения к файлам базы данных учетных записей со стороны процессов с EUID=user1. Можно тестировать из shell или запустить www сервер на server с правами user1+Сценарий:​ фиксируем обращения к файлам базы данных учетных записей со стороны процессов с EUID=user1/student. Можно тестировать из shell или запустить www сервер на server с правами user1/student
  
   * [[Система Linux Auditing]]   * [[Система Linux Auditing]]
Line 289: Line 278:
  
  
-==== 3.2 Управление привилегиями ​сервисов ​====+==== 3.2 Управление привилегиями ====
  
 === Система безопасности UNIX === === Система безопасности UNIX ===
  
-Сценарий:​ Запуск www сервера с правами пользователя user1 не позволит получить через него доступ к /​etc/​shadow ​(linux) или /​etc/​master.passwd (freebsd)+Сценарий:​ Запуск www сервера с правами пользователя user1/​student ​не позволит получить через него доступ к /etc/shadow
  
   * [[Система безопасности UNIX]]   * [[Система безопасности UNIX]]
   * [[Сервис INETD]]   * [[Сервис INETD]]
  
-=== POSIX ACL ===+=== Списки контроля доступа ​===
  
 Сценарий:​ с помощью POSIX ACL запрещаем пользователю user1 читать файл /etc/passwd Сценарий:​ с помощью POSIX ACL запрещаем пользователю user1 читать файл /etc/passwd
  
   * [[POSIX ACL]]   * [[POSIX ACL]]
 +
 +=== Расширенные атрибуты ===
 +
 +  * [[POSIX capabilities]]
 +
 +=== Переменные ядра ===
 +
 +  * [[Управление ядром и модулями в Linux#​Переменные ядра]]
  
 ==== 3.3 Изоляция сервисов ==== ==== 3.3 Изоляция сервисов ====
Line 326: Line 323:
  
 Сценарий:​ переносим www хостинг в контейнер Сценарий:​ переносим www хостинг в контейнер
 +
 +<​code>​
 +server# systemctl stop inetutils-inetd && systemctl disable inetutils-inetd
 +</​code>​
  
   * [[Технология namespaces]]   * [[Технология namespaces]]
Line 331: Line 332:
  
   * [[Технология LXC]]   * [[Технология LXC]]
 +  * [[Пакет RSYNC#​Инкрементное копирование (Incremental Backup)]]
   * [[Сервис HTTP#​Установка и запуск сервера Apache]] на www   * [[Сервис HTTP#​Установка и запуск сервера Apache]] на www
-  * Linux ([[Управление учетными записями в Linux#Перемещение учетных записей]])+<​code>​ 
 +servercat /​etc/​bind/​corpX.un 
 +</​code><​code>​ 
 +... 
 +@ ... 
 +... 
 +          A       ​192.168.X.20 
 +          MX 1    server 
 +... 
 +www       ​A ​      ​192.168.X.20 
 +</​code><​code>​ 
 +server# service named restart 
 +</​code>​ 
  
   * [[Технология Docker]] (До Микросервисы)   * [[Технология Docker]] (До Микросервисы)
 +  * [[Технология Docker#​Установка]]
 +  * [[Технология Docker#​Создание контейнера для приложения вручную]]
 +  * [[Технология Docker#​Запуск в режиме демона и подключение к контейнеру]]
 +  * [[Технология Docker#​Создание контейнера для приложения с использованием Dockerfile]]
  
   * [[https://​github.com/​docker/​for-linux/​issues/​103|Docker blocking network of existing LXC containers]]   * [[https://​github.com/​docker/​for-linux/​issues/​103|Docker blocking network of existing LXC containers]]
Line 341: Line 360:
 iptables -P FORWARD ACCEPT iptables -P FORWARD ACCEPT
 </​code>​ </​code>​
 +  * [[Сервис NAT#​Управление состоянием iptables]]
 ==== 3.4 Усиление системы с помощью специальных средств ==== ==== 3.4 Усиление системы с помощью специальных средств ====
  
Line 363: Line 382:
 Демонстрирует преподаватель Демонстрирует преподаватель
  
-Сценарий:​ разворачиваем на server, MTA для домена corpX.un, IMAP без SSL. Учетные записи почтовых пользователей не должны иметь shell, предоставляющий командную строку+Сценарий:​ разворачиваем на server, MTA для домена corpX.un, IMAP без SSL. Учетные записи почтовых пользователей не должны иметь shell, предоставляющий ​доступ к командной строке
  
   * [[Сервис MTA#​Настройка MTA]]   * [[Сервис MTA#​Настройка MTA]]
-  * [[Управление учетными записями в Linux]] 
   * [[UA mail]]   * [[UA mail]]
-  * [[Сервер dovecot]]  +  * [[Сервер dovecot]] 
-  * В linux ([[Управление учетными записями в Linux#​Изменение атрибутов учетной записи]])+<​code>​ 
 +server# apt install ansible 
 + 
 +server# ansible-playbook conf/​ansible/​roles/​mail.yml 
 +</​code>​ 
 + 
 +  * [[Управление учетными записями в Linux#​Изменение атрибутов учетной записи]] ​shell в Linux
  
 ==== 4.2 Скрытие баннеров сервисов ==== ==== 4.2 Скрытие баннеров сервисов ====
Line 377: Line 401:
   * Сервис SMTP ([[Сервис MTA#​Сокрытие названия сервиса]])   * Сервис SMTP ([[Сервис MTA#​Сокрытие названия сервиса]])
   * Сервис IMAP ([[Сервер dovecot#​Сокрытие названия сервиса]])   * Сервис IMAP ([[Сервер dovecot#​Сокрытие названия сервиса]])
-  * Сервис FTP ([[Сервис FTP#​Сокрытие названия/​версии сервиса]]) 
   * Сервис HTTP ([[Сервис HTTP#​Сокрытие версии сервиса]])   * Сервис HTTP ([[Сервис HTTP#​Сокрытие версии сервиса]])
 <​code>​ <​code>​
 gate# curl -I http://​www.corpX.un/​ gate# curl -I http://​www.corpX.un/​
 </​code>​ </​code>​
-  * Сервис CIFS ([[Файловый сервер SAMBA#​Публичный каталог доступный на запись]],​ [[Файловый сервер SAMBA#​Сокрытие названия/​версии сервиса]]) !!! Сделать+
   * Сервис SSH ([[http://​www.cyberciti.biz/​faq/​howto-ssh-server-hide-version-number-sshd_config/​|OpenSSH Hide Version Number From Clients]])   * Сервис SSH ([[http://​www.cyberciti.biz/​faq/​howto-ssh-server-hide-version-number-sshd_config/​|OpenSSH Hide Version Number From Clients]])
  
 ==== 4.3 Замена устаревших сервисов ==== ==== 4.3 Замена устаревших сервисов ====
  
-Сценарий: ​для ​хостинга на www используем SFTP вместо FTP +Сценарий: ​перехват учетных данных при подключении пользователей по протоколу ftp для загрузки информации ​в каталог public_html на server и замена его на sftp
  
-  * [[Сервис SSH#SSH вместо FTP (SFTP)]] 
-  * [[Сервис HTTP#​Использование домашних каталогов]] 
  
-  * [[Технология Docker]] (От Микросервисы)+  * Сервис HTTP [[Сервис HTTP#​Использование домашних каталогов]] 
 +  * [[Сервис FTP#​Сервер ftp]] (/​usr/​sbin/​nologin в /​etc/​shells) 
 +  * [[Утилита ettercap]] и [[Утилиты для тестирования ​сети#​tcpdump]] 
 +  * [[Сервис ​SSH#SSH вместо FTP (SFTP)]]
  
 +  * Технология Docker [[Технология Docker#​Микросервисы]]
 ==== 4.4 Шифрование трафика ==== ==== 4.4 Шифрование трафика ====
  
Line 406: Line 431:
 Сценарий:​ замена сервиса HTTP на HTTPS на www Сценарий:​ замена сервиса HTTP на HTTPS на www
  
-  * [[Пакет OpenSSL#​Использование алгоритмов с открытым ключем]] ​+  * [[Пакет OpenSSL#​Использование алгоритмов с открытым ключем]] ​(на примере обмена данными по ftp между student@lan и student@server)
   * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] для системы www   * [[Пакет OpenSSL#​Создание самоподписанного сертификата]] для системы www
   * [[Сервис HTTP#​Поддержка протокола HTTPS]] для системы www   * [[Сервис HTTP#​Поддержка протокола HTTPS]] для системы www
Line 412: Line 437:
 === Использование PKI === === Использование PKI ===
  
-Сценарий: ​+**Сценарий:​**
  
   - развертывание корпоративного CA (на lan)   - развертывание корпоративного CA (на lan)
   - замена HTTP на HTTPS (на www)   - замена HTTP на HTTPS (на www)
-  - замена IMAP на IMAPS (на server) 
   - в client-ах добавляем сертификат CA в корневые центры сертификации   - в client-ах добавляем сертификат CA в корневые центры сертификации
  
-  * [[Сервис HTTP#​Установка и запуск сервера Apache]] на lan +  * [[Сервис HTTP#​Установка и запуск сервера Apache]] на lan  
-  * [[Пакет OpenSSL#​Создание центра сертификации]] на lan (удалить index.html)+<​code>​ 
 +lan# rm /​var/​www/​html/​index.html 
 + 
 +server# cat /​etc/​bind/​corpX.un 
 +</​code><​code>​ 
 +... 
 +lan       ​A ​      ​192.168.100+X.10 
 +</​code><​code>​ 
 +server# service named restart 
 +</​code>​ 
 +  * [[Пакет OpenSSL#​Создание центра сертификации]] на lan
   * [[Пакет OpenSSL#​Создание сертификата сервиса,​ подписанного CA]] для www   * [[Пакет OpenSSL#​Создание сертификата сервиса,​ подписанного CA]] для www
   * [[Сервис HTTP#​Поддержка протокола HTTPS]] для www   * [[Сервис HTTP#​Поддержка протокола HTTPS]] для www
  
-  * [[Пакет OpenSSL#​Импорт сертификата центра сертификации]]+  ​* [[Материалы по Windows#​Импорт сертификата]] центра сертификации в windows client (через http://​lan.corpX.un/​) 
 +  ​* [[Пакет OpenSSL#​Импорт сертификата центра сертификации]] в linux client 
 + 
 +**Дополнительные задания:​** 
 + 
 +  - HTTPS доступ к приложению webd (можно gowebd) через nginx на gate 
 +  - замена IMAP на IMAPS (на server) 
 + 
 +<​code>​ 
 +server# cat /​etc/​bind/​corpX.un 
 +</​code><​code>​ 
 +... 
 +gowebd ​      ​A ​      ​192.168.X.1 
 +</​code><​code>​ 
 +server# service named restart 
 +</​code>​ 
 + 
 +  * [[Пакет OpenSSL#​Создание сертификата сервиса,​ подписанного CA]] (можно wildcard) 
 +<​code>​ 
 +lan# scp wild.key gate:​gowebd.key;​ scp wild.crt gate:​gowebd.crt 
 +</​code>​ 
 +  * Установка [[Сервис HTTP#​NGINX]] на gate 
 +  * [[Сервис HTTP#HTTPS Прокси (пример 4)]] для HTTP приложения (webd или gowebd) 
 + 
 +<​code>​ 
 +lan# scp wild.key server:​server.key;​ scp wild.crt server:​server.crt 
 +</​code>​ 
 +  * [[Сервер dovecot#​Использование сертификатов для шифрования трафика]] dovecot IMAPS на server 
 +  * [[Пакет OpenSSL#​Интерактивное подключение по ssl]] 
 +  * [[Протокол IMAP]] 
 + 
 +**Дополнительные задания:​** 
 + 
 +  * [[Letsencrypt Certbot]]
  
-  * [[Сервер dovecot#​Использование сертификатов для шифрования трафика]] IMAPS на server (демонстрирует преподаватель) 
 ==== 4.5 Аутентификация и Авторизация доступа к сервису ==== ==== 4.5 Аутентификация и Авторизация доступа к сервису ====
  
-  * [[Linux. Интеграция с корпоративными решениями Microsoft]] +  * Курс про аутентификацию и авторизацию: ​[[Linux. Интеграция с корпоративными решениями Microsoft]] 
-  * [[https://​youtu.be/​-fcJ8MkoLts|Видео урок: Использование одноразовых паролей OPIE]]+  * [[https://​youtu.be/​-fcJ8MkoLts|Видео урок: Использование одноразовых паролей OPIE]] или статья [[https://​habr.com/​ru/​articles/​713582/​|Безопасное подключение с чужого компьютера]]
   * [[https://​youtu.be/​kXi1KXYy-NE|Видео урок: SSH SSO]]   * [[https://​youtu.be/​kXi1KXYy-NE|Видео урок: SSH SSO]]
  
-  * [[Сервис MTA#Настройка ​MTA на релеинг почты на основе аутентификации]] (демонстрирует преподаватель)+Задание: Настройка ​почтового сервера ​на отправку почты пользователям других постовых доменов из почтовых клиентов ​на основании ​аутентификации
  
-**Задание:​** использование пользовательских сертификатов ​для аутентификации и авторизации+  * [[Сервис MTA#​Протокол SMTP]] 
 +  * [[Сервис MTA#​Настройка MTA на релеинг почты на основе аутентификации]] postfix smtp ssl 
 +  * Установка [[Thunderbird]] и [[Thunderbird#​Авто конфигурация клиента]]  
 + 
 +**Задание:​** использование пользовательских сертификатов
  
   * [[Пакет OpenSSL#​Создание пользовательского сертификата,​ подписанного CA]]   * [[Пакет OpenSSL#​Создание пользовательского сертификата,​ подписанного CA]]
   * [[Пакет OpenSSL#​Оформление сертификата и ключа в формате PKS#12 с парольной защитой]]   * [[Пакет OpenSSL#​Оформление сертификата и ключа в формате PKS#12 с парольной защитой]]
 +
 +  * Рассылка сертификатов,​ ключей и файлов PKCS#12 владельцам по почте через [[UA mutt]]
 +  * Публикация пользовательских сертификатов
 +
 +<​code>​
 +lan.corpX.un:​~#​ cp -v user*crt /​var/​www/​html/​
 +</​code>​
 +
 +  * Вариант для курса: ​
 +
 +<​code>​
 +server# cat /​etc/​bind/​corpX.un
 +</​code><​code>​
 +...
 +lan       ​A ​      ​192.168.100+X.10
 +</​code><​code>​
 +server# service named restart
 +</​code>​
 +
 +  * [[Файловый сервер SAMBA#​Установка SAMBA]] на системе lan
 +  * [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
 <​code>​ <​code>​
 lan# cp -v user* /​disk2/​samba/​ lan# cp -v user* /​disk2/​samba/​
Line 447: Line 538:
 </​code>​ </​code>​
  
-**Сценарий:​** использование пользовательских сертификатов ​на server ​для ​электронной подписи (PEM :)+**Сценарий:​** использование пользовательских сертификатов для PEM :)
  
-  * [[Thunderbird]] (демонстрирует преподаватель, подделку писем удобнее показать в старой версии)+  * [[Thunderbird#​Настройка на использование S/MIME]] Thunderbird ​(демонстрирует преподаватель)
  
-**Сценарий:​** использование пользовательских сертификатов для доступа ​по https на www+**Сценарий:​** использование пользовательских сертификатов для ​аутентификации и авторизации ​доступа ​к сайту ​www
  
   * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сертификатов]]   * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сертификатов]]
   * [[Сервис HTTP#​Использование директивы Redirect]] ​   * [[Сервис HTTP#​Использование директивы Redirect]] ​
   * [[Сервис HTTP#CGI интерфейс сервера]]   * [[Сервис HTTP#CGI интерфейс сервера]]
- +<​code>​ 
-**Сценарий:** использование пользовательских сертификатов для доступа по imaps на server +lan# curl --cert user1.crt --key user1.key --cacert /​var/​www/​html/​ca.crt https://​www.corpX.un/​cgi-bin/​test-cgi 
- +</​code>​
-  * [[Сервер dovecot#​Аутентификация на основе пользовательских сертификатов]] в протоколе IMAP (обсудить,​ оставить парольную аутентификацию,​ поскольку ей же пользуется postfix, а thunderbird не поддерживает использование сертификатов для SMTP)+
  
  
Line 473: Line 563:
  
   * [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]   * [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
-  * [[Сервис DNS#​Ограничение доступа к DNS серверу]] +  * [[Сервис DNS#​Ограничение доступа к DNS серверу]] ​(обсудить) 
-  * [[Сервис MTA#​Настройка MTA на релеинг почты из LAN]] +  * [[Сервис MTA#​Настройка MTA на релеинг почты из LAN]] (обсудить) 
-  * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сетевых адресов]] +  * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сетевых адресов]] ​(обсудить) 
-  * [[Установка,​ настройка и запуск пакета SQUID]]+  * [[Установка,​ настройка и запуск пакета SQUID]] ​(обсудить)
  
 === Адаптивное,​ с использование специальных средств === === Адаптивное,​ с использование специальных средств ===
  
-  * [[Защита почты от вирусов и SPAMа]]  +  * [[Защита почты от вирусов и SPAMа]] ​(обсудить) 
-  * [[Антивирусная ​защита web трафика SQUID]] +  * Использование [[Сервис ​Clamav]] и [[Сервис Clamav#API ядра FANOTIFY]] для защиты файлового сервера на lan (что бы не отключать антивирус на windows, проверить через ​[[Подключение к файловым серверам CIFS из UNIX#linux проводник thunar]])
- +
-Сценарий: Honeypot на gate +
- +
-  * [[Сервис ​Portsentry]] +
-  * [[https://​youtu.be/​6I0B3F179oE|Видео урок: Honeypot ​из tcpwrap и portsentry]] +
- +
-Сценарий: блокируем атаки ​SSH сервиса на gate +
- +
-  * [[Сервис Fail2ban]]+
  
 ==== 4.7 Шифрование контента ==== ==== 4.7 Шифрование контента ====
Line 496: Line 577:
 Сценарий:​ размещаем данные на шифрованном разделе для lan сервиса SAMBA (сетевой диск с двойным дном:) Сценарий:​ размещаем данные на шифрованном разделе для lan сервиса SAMBA (сетевой диск с двойным дном:)
  
-  * Создаем раздел, ​без файловой системы ([[Управление файловыми системами в Linux#​Добавление ​дисков в Linux]])+  * Добавляем диск ​к lan
   * [[Управление файловыми системами в Linux#​Использование шифрованных разделов в Linux]]   * [[Управление файловыми системами в Linux#​Использование шифрованных разделов в Linux]]
-  * Настроить права доступа ​к [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]+  * Создать каталог и настроить права доступа ​для ​[[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
  
  
Line 521: Line 602:
 ==== 5.1 Пакетные фильтры ==== ==== 5.1 Пакетные фильтры ====
  
-Сценарий:​ защита http сервиса на server от bruteforce+Сценарий:​ защита http сервиса на server от DDOS
  
-  * [[Сервис Firewall#​Конфигурация для защиты от bruteforce]] ​(генерируем запросы с host системы)+  ​* [[Сервис HTTP#​Нагрузочное тестирование]] 
 +  ​* [[Сервис Firewall#​Конфигурация для защиты от bruteforce]]
  
 ==== 5.2 Системы IDS и IPS ==== ==== 5.2 Системы IDS и IPS ====
  
-Сценарий: ​фиксируем ​атаки из WAN, проверять с host системы+Сценарий: ​Honeypot на gate
  
-  * [[Сервис ​SNORT]] на gate (указать правильный интерфейс)+  * [[Сервис ​Portsentry]] 
 +  * [[https://​youtu.be/​6I0B3F179oE|Видео ​урок: Honeypot из tcpwrap ​и portsentry]]
  
-Сценарий:​ блокируем атаки ​из WAN, проверять ​с host системы  +Сценарий:​ блокируем атаки ​на SSH сервис на на server
- +
-  * [[Сервис ​Fail2ban#Интеграция fail2ban и snort]]+
  
 +  * [[Сервис Fail2ban]]
  
  
Line 563: Line 645:
  
   * Настройка Firewall ([[Сервис Firewall#​Конфигурация для шлюза WAN - LAN - DMZ]])   * Настройка Firewall ([[Сервис Firewall#​Конфигурация для шлюза WAN - LAN - DMZ]])
-  ​* [[Сервис SSH#SSH вместо VPN (привязка к порту сервера)]]использовать Bitvise SSH Client ​(Tunnelier)+ 
 +  ​* [[Сервис SSH#SSH вместо VPN (привязка к порту сервера)]] 
 +  * [[https://​habr.com/​ru/​post/​709218/​|TeamViewer ​из подручных материалов]] 
 +  * [[https://​habr.com/​ru/​articles/​732736/​|GPO для Linux из подручных материалов]] ​(help.desktop)
  
 ==== 6.2 Пакет OpenVPN ==== ==== 6.2 Пакет OpenVPN ====
Line 584: Line 669:
   * [[Пакет OpenSSL#​Отзыв сертификатов]]   * [[Пакет OpenSSL#​Отзыв сертификатов]]
  
-Сценарий:​ требуется объединить сети филиалов+  * [[Управление учетными записями в Linux#​Перемещение учетных записей]] 
 +  * [[Пакет OpenVPN#​Использование PAM аутентификации]] 
 + 
 +Сценарий:​ требуется объединить сети филиалов ​(обсудить)
  
   * [[Пакет OpenVPN]]   * [[Пакет OpenVPN]]
   * [[Пакет OpenVPN#​Настройка peer2peer конфигурации]]   * [[Пакет OpenVPN#​Настройка peer2peer конфигурации]]
 +
 +===== Вопросы =====
  
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
Line 596: Line 686:
   * [[https://​www.linux.org.ru/​news/​security/​11204691|Утилита для создания MitM-точек доступа:​ wifiphisher]]   * [[https://​www.linux.org.ru/​news/​security/​11204691|Утилита для создания MitM-точек доступа:​ wifiphisher]]
   * [[http://​www.vesti.ru/​doc.html?​id=2006216|Shellshock оставил беззащитным Интернет]]   * [[http://​www.vesti.ru/​doc.html?​id=2006216|Shellshock оставил беззащитным Интернет]]
 +
 +
обеспечение_безопасности_linux_решений.1668406027.txt.gz · Last modified: 2022/11/14 09:07 by val