This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
обеспечение_безопасности_linux_решений_2024 [2024/05/07 14:23] val [5.2 Системы IDS и IPS] |
обеспечение_безопасности_linux_решений_2024 [2024/05/20 15:38] (current) val [4.5 Аутентификация и Авторизация доступа к сервису] |
||
---|---|---|---|
Line 49: | Line 49: | ||
</code> | </code> | ||
- | Клонировать server в lan | + | **Клонируем server в lan** |
- | === gate === | + | === Настраиваем gate === |
* Адаптер 1 - Внутренняя сеть (eth0) - DMZ | * Адаптер 1 - Внутренняя сеть (eth0) - DMZ | ||
Line 61: | Line 61: | ||
</code> | </code> | ||
- | * Создать в Putty профиль gate и подключиться | + | * Создаем в Putty профиль gate и подключаемся |
<code> | <code> | ||
Line 79: | Line 79: | ||
</code> | </code> | ||
- | === lan === | + | === Настраиваем lan === |
* Адаптер 1 - Виртуальный адаптер хоста (eth0) - LAN (уже подключен) | * Адаптер 1 - Виртуальный адаптер хоста (eth0) - LAN (уже подключен) | ||
Line 87: | Line 87: | ||
</code> | </code> | ||
- | * Создать в Putty профиль lan и подключиться | + | * Создаем в Putty профиль lan и подключаемся |
<code> | <code> | ||
Line 108: | Line 108: | ||
</code> | </code> | ||
- | === server === | + | === Настраиваем server === |
* Адаптер 1 - Внутренняя сеть (eth0) - DMZ | * Адаптер 1 - Внутренняя сеть (eth0) - DMZ | ||
Line 118: | Line 118: | ||
</code> | </code> | ||
+ | * Создаем в Putty профиль server и подключаемся | ||
==== 1.2 Подключение сети предприятия к Internet ==== | ==== 1.2 Подключение сети предприятия к Internet ==== | ||
Line 180: | 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 | * [[Управление учетными записями в Linux#Создание тестового набора учетных записей]] на server | ||
Line 201: | Line 209: | ||
</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]] | ||
- | * По окончании эксперимента остановить лишние экземпляры **pkill webd** или перезапустить server | ||
Сценарий: Brute force-атака по известным login | Сценарий: Brute force-атака по известным login | ||
Line 219: | Line 219: | ||
=== Проверка стойкости паролей === | === Проверка стойкости паролей === | ||
- | * [[http://www.openwall.com/john/|John the Ripper password cracker]] | + | <code> |
+ | 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 248: | Line 251: | ||
* [[Утилита chkrootkit]] | * [[Утилита chkrootkit]] | ||
- | * [[Сервис OSSEC]] (обсудить) | + | * [[Сервис OSSEC]] |
=== Аудит системных событий === | === Аудит системных событий === | ||
Line 279: | Line 282: | ||
=== Система безопасности UNIX === | === Система безопасности UNIX === | ||
- | Сценарий: Запуск www сервера с правами пользователя user1/student не позволит получить через него доступ к /etc/shadow (linux) или /etc/master.passwd (freebsd) | + | Сценарий: Запуск www сервера с правами пользователя user1/student не позволит получить через него доступ к /etc/shadow |
* [[Система безопасности UNIX]] | * [[Система безопасности UNIX]] | ||
Line 331: | Line 334: | ||
* [[Пакет RSYNC#Инкрементное копирование (Incremental Backup)]] | * [[Пакет RSYNC#Инкрементное копирование (Incremental Backup)]] | ||
* [[Сервис HTTP#Установка и запуск сервера Apache]] на www | * [[Сервис HTTP#Установка и запуск сервера Apache]] на www | ||
- | * Linux ([[Управление учетными записями в Linux#Перемещение учетных записей]]) | + | <code> |
+ | server# cat /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 390: | Line 410: | ||
==== 4.3 Замена устаревших сервисов ==== | ==== 4.3 Замена устаревших сервисов ==== | ||
- | Сценарий: перехват учетных данных при обновлении пользователем user1 веб информации на server по протоколу ftp | + | Сценарий: перехват учетных данных при подключении пользователей по протоколу ftp для загрузки информации в каталог public_html на server и замена его на sftp |
+ | |||
+ | * Сервис HTTP [[Сервис HTTP#Использование домашних каталогов]] | ||
* [[Сервис FTP#Сервер ftp]] (/usr/sbin/nologin в /etc/shells) | * [[Сервис FTP#Сервер ftp]] (/usr/sbin/nologin в /etc/shells) | ||
- | * Сервис FTP ([[Сервис FTP#Сокрытие названия/версии сервиса]]) | + | * [[Утилита ettercap]] и [[Утилиты для тестирования сети#tcpdump]] |
- | * [[Утилита ettercap]] | + | |
- | * [[Утилиты для тестирования сети#tcpdump]] | + | |
- | + | ||
- | Сценарий: для хостинга на www используем SFTP вместо FTP | + | |
* [[Сервис SSH#SSH вместо FTP (SFTP)]] | * [[Сервис SSH#SSH вместо FTP (SFTP)]] | ||
- | * [[Сервис HTTP#Использование домашних каталогов]] | ||
* Технология Docker [[Технология Docker#Микросервисы]] | * Технология Docker [[Технология Docker#Микросервисы]] | ||
Line 427: | Line 443: | ||
- в client-ах добавляем сертификат CA в корневые центры сертификации | - в client-ах добавляем сертификат CA в корневые центры сертификации | ||
- | * [[Сервис HTTP#Установка и запуск сервера Apache]] на lan (удалить index.html) | + | * [[Сервис HTTP#Установка и запуск сервера Apache]] на lan |
+ | <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#Создание центра сертификации]] на lan | ||
* [[Пакет OpenSSL#Создание сертификата сервиса, подписанного CA]] для www | * [[Пакет OpenSSL#Создание сертификата сервиса, подписанного CA]] для www | ||
* [[Сервис HTTP#Поддержка протокола HTTPS]] для www | * [[Сервис HTTP#Поддержка протокола HTTPS]] для www | ||
- | * Импорт сертификата центра сертификации в windows | + | * [[Материалы по Windows#Импорт сертификата]] центра сертификации в windows client (через http://lan.corpX.un/) |
- | * [[Пакет OpenSSL#Импорт сертификата центра сертификации]] в linux | + | * [[Пакет OpenSSL#Импорт сертификата центра сертификации]] в linux client |
**Дополнительные задания:** | **Дополнительные задания:** | ||
Line 450: | Line 476: | ||
* [[Пакет OpenSSL#Создание сертификата сервиса, подписанного CA]] (можно wildcard) | * [[Пакет OpenSSL#Создание сертификата сервиса, подписанного CA]] (можно wildcard) | ||
+ | <code> | ||
+ | lan# scp wild.key gate:gowebd.key; scp wild.crt gate:gowebd.crt | ||
+ | </code> | ||
* Установка [[Сервис HTTP#NGINX]] на gate | * Установка [[Сервис HTTP#NGINX]] на gate | ||
* [[Сервис HTTP#HTTPS Прокси (пример 4)]] для HTTP приложения (webd или gowebd) | * [[Сервис HTTP#HTTPS Прокси (пример 4)]] для HTTP приложения (webd или gowebd) | ||
- | * [[Сервер dovecot#Использование сертификатов для шифрования трафика]] (можно wildcard) dovecot IMAPS на server | + | <code> |
+ | lan# scp wild.key server:server.key; scp wild.crt server:server.crt | ||
+ | </code> | ||
+ | * [[Сервер dovecot#Использование сертификатов для шифрования трафика]] dovecot IMAPS на server | ||
+ | * [[Пакет OpenSSL#Интерактивное подключение по ssl]] | ||
+ | * [[Протокол IMAP]] | ||
**Дополнительные задания:** | **Дополнительные задания:** | ||
Line 461: | Line 495: | ||
==== 4.5 Аутентификация и Авторизация доступа к сервису ==== | ==== 4.5 Аутентификация и Авторизация доступа к сервису ==== | ||
- | * [[Linux. Интеграция с корпоративными решениями Microsoft]] | + | * Курс про аутентификацию и авторизацию: [[Linux. Интеграция с корпоративными решениями Microsoft]] |
- | * [[https://youtu.be/-fcJ8MkoLts|Видео урок: Использование одноразовых паролей OPIE]] или [[https://habr.com/ru/articles/713582/|Безопасное подключение с чужого компьютера]] | + | * [[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 на релеинг почты на основе аутентификации]] postfix smtp ssl (демонстрирует преподаватель) | + | Задание: Настройка почтового сервера на отправку почты пользователям других постовых доменов из почтовых клиентов на основании аутентификации |
+ | |||
+ | * [[Сервис MTA#Протокол SMTP]] | ||
+ | * [[Сервис MTA#Настройка MTA на релеинг почты на основе аутентификации]] postfix smtp ssl | ||
+ | * Установка [[Thunderbird]] и [[Thunderbird#Авто конфигурация клиента]] | ||
**Задание:** использование пользовательских сертификатов | **Задание:** использование пользовательских сертификатов | ||
Line 539: | Line 577: | ||
Сценарий: размещаем данные на шифрованном разделе для lan сервиса SAMBA (сетевой диск с двойным дном:) | Сценарий: размещаем данные на шифрованном разделе для lan сервиса SAMBA (сетевой диск с двойным дном:) | ||
- | * Создаем раздел, без файловой системы ([[Управление файловыми системами в Linux#Добавление дисков в Linux]]) | + | * Добавляем диск к lan |
* [[Управление файловыми системами в Linux#Использование шифрованных разделов в Linux]] | * [[Управление файловыми системами в Linux#Использование шифрованных разделов в Linux]] | ||
- | * Настроить права доступа к [[Файловый сервер SAMBA#Публичный каталог доступный на запись]] | + | * Создать каталог и настроить права доступа для [[Файловый сервер SAMBA#Публичный каталог доступный на запись]] |
Line 607: | 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 628: | Line 669: | ||
* [[Пакет OpenSSL#Отзыв сертификатов]] | * [[Пакет OpenSSL#Отзыв сертификатов]] | ||
- | Сценарий: требуется объединить сети филиалов | + | * [[Управление учетными записями в Linux#Перемещение учетных записей]] |
+ | * [[Пакет OpenVPN#Использование PAM аутентификации]] | ||
+ | |||
+ | Сценарий: требуется объединить сети филиалов (обсудить) | ||
* [[Пакет OpenVPN]] | * [[Пакет OpenVPN]] | ||
* [[Пакет OpenVPN#Настройка peer2peer конфигурации]] | * [[Пакет OpenVPN#Настройка peer2peer конфигурации]] | ||
+ | |||
+ | ===== Вопросы ===== | ||
===== Дополнительные материалы ===== | ===== Дополнительные материалы ===== | ||
Line 641: | Line 687: | ||
* [[http://www.vesti.ru/doc.html?id=2006216|Shellshock оставил беззащитным Интернет]] | * [[http://www.vesti.ru/doc.html?id=2006216|Shellshock оставил беззащитным Интернет]] | ||
- | ==== План на 14.11.2022 ==== | ||
- | |||
- | === Подготовка стенда === | ||
- | |||
- | * Схема стенда | ||
- | * Развернуть все VM | ||
- | * ext ip на extgate (10.5.N.100+X) | ||
- | * named.conf forwarders на extgate | ||
- | * resolv.conf на extgate | ||
- | |||
- | === OPIE для подключения к "работе" === | ||
- | |||
- | * Ставим Chrome и MobaXterm (что бы настроить opie "на работе") | ||
- | * [[Управление учетными записями в FreeBSD]] - создаем userX/passwordX | ||
- | * Включаем и тестируем [[Аутентификация с использованием OPIE]] | ||
- | * Включаем RDP (все, кто хочет:), пригодится в следующей лабораторной) | ||
- | * Преподаватель переносит Win7 в DMZ (ip: 10.100.100.31) | ||
- | * Преподаватель демонстрирует туннель -L (понадобилось остановить pf :) | ||
- | |||
- | === Подключение к своему оборудованию в чужой сети или к "работе" без разрешения:) === | ||
- | |||
- | * Преподаватель включает pf | ||
- | |||
- | * Изучаем туннель -R с параметрами 2000+X:localhost:22 подключаясь как userX к gate.isp.un | ||
- | * [[Управление сервисами в Linux#Управление юнитами Systemd]] | ||
- | |||
- | * Преподаватель возвращает Win7 в LAN | ||
- | * Изучаем туннель -R с параметрами 3000+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 слушателя |