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
Next revision Both sides next revision
обеспечение_безопасности_linux_решений [2020/07/22 20:17]
val [4.8 Специальные решения]
обеспечение_безопасности_linux_решений [2024/05/21 15:55]
val
Line 3: Line 3:
 ===== Программа курса ===== ===== Программа курса =====
  
-  * [[http://​www.specialist.ru/​course/​yunbez|Linux ​(Ubuntu)/​FreeBSD. Уровень 3. Обеспечение безопасности систем,​ сервисов и сетей]]+  * [[http://​www.specialist.ru/​course/​yunbez|Linux. Уровень 3. Обеспечение безопасности систем,​ сервисов и сетей]]
  
 ===== Модуль 0. Подготовка стенда в классе ===== ===== Модуль 0. Подготовка стенда в классе =====
Line 27: 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 46: 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 к адресам 192.168.X.Y+  * Создаем в 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 92: 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 121: 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 153: 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
-  * По окончании эксперимента остановить лишние экземпляры webd или перезапустить server+
  
-==== 2.2 Сканеры безопасности сети ====+  * [[Утилита hydra]] 
 +==== 2.2 Внутренний аудит систем ====
  
-Сценарий: перехват учетных данных при ​обновлении пользователем user1 веб информации на server по протоколу ftp+=== Проверка стойкости паролей ===
  
-  * [[Управление учетными записями в Linux]] (все по умолчанию,​ назначить пароль через echo) +<​code>​ 
-  * [[Настройка командных интерпретаторов]] (управление историей команд) +lancurl --path-as-is http://192.168.X.10/​../​../​../​etc/​shadow | tee shadow 
-  * [[Сервис FTP#Сервер ftp]] +</​code>​
-  * [[Утилита ettercap]] +
-  * [[Утилиты для тестирования сети#​tcpdump]] +
- +
-==== 2.3 Аудит систем ==== +
- +
-=== Проверка стойкости паролей ===+
  
   * [[http://​www.openwall.com/​john/​|John the Ripper password cracker]]   * [[http://​www.openwall.com/​john/​|John the Ripper password cracker]]
-  * [[https://​www.cloudcracker.com/​|An online password cracking service]] 
- 
   * [[Утилита john]]   * [[Утилита john]]
  
Line 227: 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 254: 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 291: Line 323:
  
 Сценарий:​ переносим www хостинг в контейнер Сценарий:​ переносим www хостинг в контейнер
 +
 +<​code>​
 +server# systemctl stop inetutils-inetd && systemctl disable inetutils-inetd
 +</​code>​
  
   * [[Технология namespaces]]   * [[Технология namespaces]]
Line 296: 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 306: Line 360:
 iptables -P FORWARD ACCEPT iptables -P FORWARD ACCEPT
 </​code>​ </​code>​
 +  * [[Сервис NAT#​Управление состоянием iptables]]
 ==== 3.4 Усиление системы с помощью специальных средств ==== ==== 3.4 Усиление системы с помощью специальных средств ====
  
Line 328: 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 342: 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 371: 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 377: 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 412: 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 438: 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 Шифрование контента ====
  
-Сценарий:​ размещаем данные на шифрованном разделе для lan сервиса SAMBA+Сценарий:​ размещаем данные на шифрованном разделе для lan сервиса SAMBA (сетевой диск с двойным дном:)
  
-  * Создаем раздел, ​без файловой системы ([[Управление файловыми системами в Linux#​Добавление ​дисков в Linux]])+  * Добавляем диск ​к lan
   * [[Управление файловыми системами в Linux#​Использование шифрованных разделов в Linux]]   * [[Управление файловыми системами в Linux#​Использование шифрованных разделов в Linux]]
-  * Настроить права доступа ​к [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]+  * Создать каталог и настроить права доступа ​для ​[[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
  
  
Line 486: 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 507: Line 624:
  
   * [[http://​ru.wikipedia.org/​wiki/​VPN|Virtual Private Network — виртуальная частная сеть]]   * [[http://​ru.wikipedia.org/​wiki/​VPN|Virtual Private Network — виртуальная частная сеть]]
 +  * [[https://​ngrok.com/​product|What is ngrok?]]
  
 ==== Лабораторные работы ==== ==== Лабораторные работы ====
Line 527: 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 ====
  
-Сценарий:​ требуется предоставить авторизованный доступ ​внешних ​пользователей к любым ​LAN сервисам компании,​ например - CIFS+Сценарий:​ требуется предоставить авторизованный доступ пользователей, работающих на __ноутбуках__ и ездящих в командировки, ​к любым сервисам ​в сети LAN компании,​ например - CIFS
  
   * [[Пакет OpenSSL#​Инициализация списка отозванных сертификатов]]   * [[Пакет OpenSSL#​Инициализация списка отозванных сертификатов]]
Line 548: Line 669:
   * [[Пакет OpenSSL#​Отзыв сертификатов]]   * [[Пакет OpenSSL#​Отзыв сертификатов]]
  
-Сценарий:​ требуется объединить сети филиалов+  * [[Управление учетными записями в Linux#​Перемещение учетных записей]] 
 +  * [[Пакет OpenVPN#​Использование PAM аутентификации]] 
 + 
 +Сценарий:​ требуется объединить сети филиалов ​(обсудить)
  
   * [[Пакет OpenVPN]]   * [[Пакет OpenVPN]]
   * [[Пакет OpenVPN#​Настройка peer2peer конфигурации]]   * [[Пакет OpenVPN#​Настройка peer2peer конфигурации]]
 +
 +===== Вопросы =====
  
 ===== Дополнительные материалы ===== ===== Дополнительные материалы =====
Line 560: 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_решений.txt · Last modified: 2024/05/24 09:24 by val