Инструменты пользователя

Инструменты сайта


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

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

обеспечение_безопасности_unix_решений_2016 [2017/07/12 07:01] (текущий)
val создано
Строка 1: Строка 1:
 +====== Обеспечение безопасности UNIX решений ======
  
 +  * [[http://​ru.wikipedia.org/​wiki/​Информационная_безопасность|Информационная безопасность]]
 +  * [[http://​en.wikipedia.org/​wiki/​STRIDE_(security)|STRIDE is a system developed by Microsoft for thinking about computer security threats]]
 +
 +
 +
 +===== Модуль 1. Развертывание сети и сервисов предприятия =====
 +
 +  * [[http://​ru.wikipedia.org/​wiki/​DMZ_(компьютерные_сети)|Demilitarized Zone — демилитаризованная зона, ДМЗ]]
 +
 +==== Настройка систем ====
 +
 +=== Настройка систем Gate и Сервер ===
 +
 +  * [[Настройка стендов слушателей]]
 +  * Адаптер 3 - Виртуальный адаптер хоста (eth2/em2)
 +  * route -p add 192.168.0.0 mask 255.255.0.0 10.10.109.252
 +
 +== Ubuntu ==
 +<​code>​
 +root@gate:​~#​ cat /​etc/​network/​interfaces
 +</​code><​code>​
 +...
 +auto eth2
 +iface eth2 inet static
 +        address 192.168.100+X.1
 +        netmask 255.255.255.0
 +</​code>​
 +
 +== FreeBSD ===
 +<​code>​
 +# cat /​etc/​rc.conf
 +</​code><​code>​
 +...
 +ifconfig_em2="​192.168.100+X.1/​24"​
 +...
 +</​code>​
 +
 +=== Настройка системы Lan ===
 +
 +[[Настройка стендов слушателей#​Общие файлы конфигурации]]
 +
 +== Ubuntu ==
 +<​code>​
 +root@localhost:​~#​ cat /​etc/​hostname
 +</​code><​code>​
 +lan.corpX.un
 +</​code><​code>​
 +root@localhost:​~#​ cat /​etc/​network/​interfaces
 +</​code><​code>​
 +auto lo
 +iface lo inet loopback
 +
 +auto eth0
 +iface eth0 inet static
 +        address 192.168.100+X.10
 +        netmask 255.255.255.0
 +        gateway 192.168.100+X.1
 +</​code><​code>​
 +root@localhost:​~#​ init 6
 +
 +...
 +
 +root@lan:~# apt update
 +</​code>​
 +
 +== FreeBSD ==
 +<​code>​
 +# cat /​etc/​rc.conf
 +</​code><​code>​
 +hostname="​lan.corpX.un"​
 +ifconfig_em0="​192.168.100+X.10/​24"​
 +defaultrouter=192.168.100+X.1
 +
 +keyrate="​fast"​
 +sshd_enable=yes
 +</​code><​code>​
 +# init 6
 +
 +# pkg update -f
 +
 +# pkg install pkg
 +</​code>​
 +
 +==== Подключение сети предприятия к Internet ====
 +
 +Сценарий:​ 192.168.X/​24 - "​белая"​ DMZ сеть, 192.168.100+X - "​серая"​ LAN сеть
 +
 +  * Назначаем host системе на интерфейсе "​VirtualBox Host-Only Network"​ ip address 192.168.100+X.20/​24 и подключаемся putty к lan 
 +  * [[Сервис NAT#​Трансляция на основе адреса отправителя]]
 +
 +==== План размещения сервисов в сети предприятия ====
 +
 +  * Сервис DNS
 +  * Сервис EMAIL
 +  * Сервис DHCP
 +  * Файловый сервис
 +  * Сервис WWW
 +
 +=== Сервис WWW ===
 +
 +Сценарий:​ внешний самописный корпоративный сайт на server, контент обновляется через ftp с использованием учетной записи user1 (не забыть изменить владельца каталога /var/www)
 +
 +  * [[Сервис INETD]]
 +  * [[Средства программирования shell#Web сервер на shell]]
 +
 +
 +===== Модуль 2. Анализ информационных систем предприятия с точки зрения безопасности =====
 +
 +  * [[https://​ru.wikipedia.org/​wiki/​%D0%90%D1%83%D0%B4%D0%B8%D1%82_%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D0%BE%D0%BD%D0%BD%D0%BE%D0%B9_%D0%B1%D0%B5%D0%B7%D0%BE%D0%BF%D0%B0%D1%81%D0%BD%D0%BE%D1%81%D1%82%D0%B8|Аудит информационной безопасности]]
 +  * [[https://​youtu.be/​zjzdqqk7xmo|Видео урок: Аудит системных событий в Linux/​FreeBSD]]
 +==== 2.1 Сканеры безопасности систем ====
 +
 +Сценарий:​ сканирование портов сервисов системы server
 +
 +  * [[Утилита nmap#​Cканирование портов сервисов системы]]
 +
 +Сценарий:​ определение версий ПО и уязвимостей системы server (ищем directory traversal [[http://​www.securityfocus.com/​bid/​3666/​discuss]])
 +
 +<​code>​
 +gate.isp.un$ curl --path-as-is http://​server.corpX.un/​../​../​../​etc/​passwd
 +
 +gate.isp.un$ fetch -o - http://​server.corpX.un/​../​../​../​etc/​passwd
 +
 +gate.isp.un$ telnet server.corpX.un 80
 +</​code><​code>​
 +GET /​../​../​../​etc/​passwd HTTP/1.1
 +
 +GET /​../​../​../​etc/​shadow HTTP/1.1
 +
 +GET /​../​../​../​etc/​master.passwd HTTP/1.1
 +</​code>​
 +
 +Nessus
 +
 +  * [[https://​ru.wikipedia.org/​wiki/​Nessus|Nessus]]
 +  * [[https://​nessus.isp.un:​8834/​]] (использовать Internal Network Scan с Max Simultaneous TCP Sessions Per Host=1)
 +
 +OpenVAS
 +
 +  * [[Сервис OpenVAS]]
 +  * [[https://​openvas.isp.un/​]]
 +  * Определяет уязвимость как: JRun directory traversal
 +
 +<​code>​
 +freebsd# cat /​var/​log/​messages
 +...
 +May 12 14:36:05 server inetd[908]: http from 172.16.1.248 exceeded counts/min (limit 60/min)
 +May 12 14:36:36 server last message repeated 154 times
 +...
 +</​code>​
 +
 +Kali Linux
 +
 +  * [[https://​www.kali.org/​|Advanced Penetration Testing Linux Distribution]]
 +==== 2.2 Сканеры безопасности сети ====
 +
 +Сценарий:​ перехват учетных данных при обновлении пользователем user1 веб информации на server по протоколу ftp
 +
 +  * Сервис DHCP [[Сервис DHCP#​Установка]]
 +  * Сервис DHCP [[Сервис DHCP#​Стандартная настройка]]
 +  * [[Сервис DHCP#​Проверка конфигурации и запуск]]
 +  * Запуск системы client1
 +  * Сервис DHCP [[Сервис DHCP#​Поиск и подавление посторонних DHCP серверов]] (см. модуль 4.8)
 +  * [[Управление учетными записями в Linux]], [[Управление учетными записями в FreeBSD]]
 +  * [[Сервис FTP#​Сервер ftp]]
 +  * [[Утилита ettercap]]
 +  * [[Утилиты для тестирования сети#​tcpdump]]
 +
 +==== 2.3 Аудит систем ====
 +
 +=== Проверка стойкости паролей ===
 +
 +  * [[http://​www.openwall.com/​john/​|John the Ripper password cracker]]
 +  * [[https://​www.cloudcracker.com/​|An online password cracking service]]
 +
 +  * [[Утилита john]]
 +
 +=== Проверка целостности системы ===
 +
 +  * [[Утилита tripwire]]
 +  * [[https://​youtu.be/​FR_5am9__Ug|Видео Урок: Tripware - мониторинг и предупреждения об изменениях файлов в системе]]
 +
 +=== Проверка системы на наличие закладок ===
 +
 +  * [[http://​ramzess.ru/​bezopasnost-servera-freebsd-proverka-na-rootkity-chast-i/​|Безопасность сервера FreeBSD: проверка на rootkit]]
 +  * [[https://​www.upcloud.com/​support/​scanning-centos-server-for-malware/​|Scanning CentOS 7 Server for Malware]]
 +  * [[Утилита rkhunter]]
 +
 +=== Аудит системных событий ===
 +
 +!!! Тестировать из shell или запустить самописный www сервер на server с правами пользователя user1
 +
 +  * [[Система FreeBSD Audit]]
 +  * [[Система Linux Auditing]]
 +  * [[https://​youtu.be/​zjzdqqk7xmo|Видео урок: Аудит системных событий в Linux/​FreeBSD]]
 +
 +===== Модуль 3. Защита систем предприятия =====
 +
 +==== 3.1 Обновление систем ====
 +
 +  * [[https://​habrahabr.ru/​company/​xakep/​blog/​305262/​|Гугл для хакера]]
 +  * [[Управление ПО в Linux]]
 +  * [[Обновление системы и базового ПО в FreeBSD]]
 +  * [[Обновление дополнительного ПО в FreeBSD]]
 +
 +==== 3.2 Управление привилегиями сервисов ====
 +
 +=== Система безопасности UNIX ===
 +
 +Сценарий:​ Запуск самописного www сервера на server с правами пользователя user1 не позволит получить через него доступ к /etc/shadow (linux) или /​etc/​master.passwd (freebsd)
 +
 +  * [[Система безопасности UNIX]]
 +  * [[Сервис INETD]]
 +
 +=== POSIX ACL ===
 +
 +Сценарий:​ с помощью POSIX ACL запрещаем пользователю user1 читать файл /etc/passwd
 +
 +  * [[POSIX ACL]]
 +
 +==== 3.3 Изоляция сервисов ====
 +
 +=== Модули AppArmor и MAC ===
 +
 +Сценарий:​ Ограничения,​ накладываемые политиками на самописный www сервер на server не позволят получить через него доступ к любым файлам,​ кроме разрешенных даже в случае запуска его с правами root
 +
 +  * [[Модуль AppArmor]]
 +  * [[Модули MAC]]
 +  * [[https://​youtu.be/​AaB5mL3SAlQ|Видео Урок: FreeBSD MAC and Linux AppArmor]]
 +
 +=== Изоляция сервисов в файловой системе ===
 +
 +  * [[http://​ru.wikipedia.org/​wiki/​Chroot|Вызов Chroot]]
 +
 +Сценарий:​ Запуск самописного www сервера на server в chroot позволит получить через него доступ только к файлам,​ которые мы скопировали в chroot окружение
 +
 +  * [[Команда chroot]]
 +
 +=== Изоляция сервисов в выделенном окружении ===
 +
 +  * [[https://​ru.wikipedia.org/​wiki/​Песочница_(безопасность)|Песочница безопасность]]
 +
 +Сценарий:​ www хостинг
 +
 +  * [[Технология LXC]], [[Технология jail]]
 +  * [[Сервис HTTP#​Установка и запуск сервера Apache]]
 +  * Linux ([[Управление учетными записями в Linux#​Перемещение учетных записей]]),​ FreeBSD ([[Управление учетными записями в FreeBSD#​Перемещение учетных записей]])
 +==== 3.4 Усиление системы с помощью специальных средств ====
 +
 +=== FreeBSD ===
 +
 +  * [[http://​www.freebsd.org/​doc/​ru/​books/​handbook/​securing-freebsd.html|Нandbook:​ Защита FreeBSD]]
 +  * [[http://​www.openbsd.org/​|OpenBSD - ОС ориентированная на безопасность]]
 +
 +=== Linux GRSecurity ===
 +
 +  * [[http://​ru.wikipedia.org/​wiki/​Переполнение_буфера|Переполнение буфера]]
 +  * [[http://​www.unixwiz.net/​techtips/​mirror/​chroot-break.html|Выход из Chroot]]
 +  * [[http://​samag.ru/​archive/​article/​341|GRSecurity]]
 +  * [[https://​wiki.gentoo.org/​wiki/​Hardened_Gentoo/​ru|Hardened Gentoo]]
 +  * [[https://​youtu.be/​-6aM7q27NbM|Видео урок: Использование GRSecurity]]
 +
 +===== Модуль 4. Защита сервисов предприятия =====
 +
 +==== 4.1 Ограничения учетных записей пользователей сервисов ====
 +
 +Сценарий:​ разворачиваем на server, MTA для домена server.corpX.un,​ IMAP без SSL. Учетные записи почтовых пользователей не должны иметь shell, предоставляющий командную строку
 +
 +  * [[Сервис MTA#​Настройка MTA]]
 +  * [[Управление учетными записями в Linux]], [[Управление учетными записями в FreeBSD]]
 +  * [[UA mail]]
 +  * [[Сервер dovecot]] ​
 +  * В linux ([[Управление учетными записями в Linux#​Изменение атрибутов учетной записи]])
 +  * В freebsd ([[Управление учетными записями в FreeBSD#​Изменение атрибутов учетной записи]])
 +
 +==== 4.2 Скрытие баннеров сервисов ====
 +
 +Сценарий:​ заменяем банеры сервисов SMTP, IMAP, FTP, HTTP, CIFS, SSH
 +
 +  * Сервис SMTP ([[Сервис MTA#​Сокрытие названия сервиса]])
 +  * Сервис IMAP ([[Сервер dovecot#​Сокрытие названия сервиса]])
 +  * Сервис FTP ([[Сервис FTP#​Сокрытие названия/​версии сервиса]])
 +  * Сервис HTTP ([[Сервис HTTP#​Сокрытие версии сервиса]])
 +  * Сервис CIFS ([[Файловый сервер SAMBA#​Публичный каталог доступный на запись]],​ [[Файловый сервер SAMBA#​Сокрытие названия/​версии сервиса]])
 +  * Сервис SSH ([[http://​www.cyberciti.biz/​faq/​howto-ssh-server-hide-version-number-sshd_config/​|OpenSSH Hide Version Number From Clients]])
 +
 +==== 4.3 Замена устаревших сервисов ====
 +
 +Сценарий:​ для хостинга заменяем FTP на SFTP
 +
 +  * [[Сервис SSH#SSH вместо FTP (SFTP)]]
 +  * [[Сервис HTTP#​Использование домашних каталогов]]
 +
 +Сценарий:​ защита самописного web сервера от DoS
 +
 +  * [[Сервис XINETD]] ​
 +
 +==== 4.4 Шифрование трафика ====
 +
 +=== Использование самоподписанных цифровых сертификатов ===
 +
 +Сценарий:​ замена сервиса HTTP на HTTPS на www
 +
 +  * [[Пакет OpenSSL#​Использование алгоритмов с открытым ключем]]
 +  * Синхронизируем время систем gate, server, lan ([[Сервис NTP]])
 +  * [[Пакет OpenSSL#​Создание самоподписанного сертификата]]
 +  * Сервис HTTPS ([[Сервис HTTP#​Поддержка протокола HTTPS]])
 +
 +=== Использование PKI ===
 +
 +Сценарий: ​
 +
 +  - развертывание корпоративного CA (на lan)
 +  - замена IMAP на IMAPS (на server)
 +  - замена HTTP на HTTPS на lan (в клиенте добавлять сертификат CA в корневые центры сертификации)
 +
 +  * [[Сервис HTTP#​Установка и запуск сервера Apache]]
 +  * Создаем CA на lan ([[Пакет OpenSSL#​Создание центра сертификации]])
 +  * [[Пакет OpenSSL#​Создание сертификата сервиса,​ подписанного CA]] для server
 +  * Сервис HTTPS ([[Сервис HTTP#​Поддержка протокола HTTPS]])
 +  * Cервиса IMAPS ([[Сервер dovecot#​Использование сертификатов для шифрования трафика]])
 +  * [[Пакет OpenSSL#​Создание сертификата сервиса,​ подписанного CA]] для www
 +
 +==== 4.5 Аутентификация и Авторизация при доступе к сервису ====
 +
 +  * [[Управление идентификацией в сетях UNIX и Windows]]
 +  * [[https://​youtu.be/​-fcJ8MkoLts|Видео урок: Использование одноразовых паролей OPIE]]
 +  * [[https://​youtu.be/​kXi1KXYy-NE|Видео урок: SSH SSO]]
 +
 +Сценарий:​ создание пользовательских сертификатов
 +
 +  * [[Пакет OpenSSL#​Создание пользовательского сертификата,​ подписанного CA]]
 +  * [[Пакет OpenSSL#​Оформление сертификата и ключа в формате PKS#12 с парольной защитой]]
 +
 +Сценарий:​ использование пользовательских сертификатов для доступа по https на www
 +
 +  * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сертификатов]]
 +  * [[Сервис HTTP#​Использование директивы Redirect]] ​
 +  * [[Сервис HTTP#CGI интерфейс сервера]]
 +
 +Сценарий:​ использование пользовательских сертификатов для доступа по imaps на server и для электронной подписи
 +
 +  * Сервер dovecot ([[Сервер dovecot#​Аутентификация на основе пользовательских сертификатов]])
 +
 +==== 4.6 Ограничение доступа к сетевым сервисам ====
 +
 +=== Статичное,​ с использованием специальных средств ===
 +
 +Сценарий:​ разрешаем подключение к gate только из DMZ
 +
 +  * [[Сервис Tcpwrap]]
 +
 +=== Статичное,​ с использованием средств встроенных в сервис ===
 +
 +  * [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
 +  * [[Сервис DNS#​Ограничение доступа к DNS серверу]]
 +  * [[Сервис MTA#​Настройка MTA на релеинг почты из LAN]]
 +  * [[Сервис HTTP#​Управление доступом к HTTP серверу на основе сетевых адресов]]
 +  * [[Установка,​ настройка и запуск пакета SQUID]]
 +
 +=== Адаптивное,​ с использование специальных средств ===
 +
 +  * [[Защита почты от вирусов и SPAMа]] ​
 +  * [[Антивирусная защита web трафика SQUID]]
 +
 +Сценарий:​ препятствуем попыткам сканирования системы server
 +
 +  * [[Сервис Portsentry]]
 +  * [[https://​youtu.be/​6I0B3F179oE|Видео урок: Honeypot из tcpwrap и portsentry]]
 +==== 4.7 Шифрование контента ====
 +
 +Сценарий:​ размещаем данные пользователей на шифрованном разделе для сервера SAMBA
 +
 +  * Создаем раздел,​ без файловой системы ([[Управление файловыми системами в Linux#​Добавление дисков в Ubuntu]], [[Управление файловыми системами в FreeBSD#​Добавление дисков в FreeBSD]])
 +  * [[Управление файловыми системами в Linux#​Использование шифрованных разделов в Linux]], [[Управление файловыми системами в FreeBSD#​Использование шифрованных разделов в FreeBSD]]
 +  * [[Файловый сервер SAMBA#​Установка]] сервера SAMBA
 +  * [[Файловый сервер SAMBA#​Публичный каталог доступный на запись]]
 +  * Убираем сервисы smbd и nmbd из автозагрузки ([[Управление сервисами в Linux]], [[Управление сервисами в FreeBSD]]) ​
 +
 +==== 4.8 Специальные решения ====
 +
 +Сценарий:​ защита LAN от посторонних сервисов DHCP
 +
 +  * [[Материалы по Windows#​DHCP,​ TFTP, DNS, SNTP и Syslog для Windows]]
 +  * [[Оборудование уровня 2 Cisco Catalyst#​DHCP snooping]] ​
 +  * [[Сервис DHCP#​Поиск и подавление посторонних DHCP серверов]] ​
 +
 +===== Модуль 5. Защита сети предприятия =====
 +
 +==== 5.1 Пакетные фильтры ====
 +
 +Сценарий:​ защита сервиса ssh на server от bruteforce
 +
 +  * [[http://​www.linux.org.ru/​forum/​security/​1320671|еще один споcоб блокировать ssh bruteforce роботов]]
 +  * [[Сервис Firewall#​Конфигурация для защиты от bruteforce]] (атакуем server через putty с host системы)
 +
 +==== 5.2 Системы IDS и IPS ====
 +
 +Проверять с windows клиента,​ переместив его в WAN
 +
 +  * [[Сервис SNORT]]
 +  * [[Сервис SNORTSAM]]
 +  * [[Сервис BARNYARD2]]
 +  * [[Сервис Fail2ban]]
 +
 +===== Модуль 6. Использование VPN для соединения сетей филиалов предприятия и удаленных пользователей =====
 +
 +[[http://​ru.wikipedia.org/​wiki/​VPN|Virtual Private Network — виртуальная частная сеть]]
 +
 +==== 6.1 Использование сервиса SSH ====
 +
 +=== SSH вместо VPN (привязка к порту клиента) ===
 +
 +Сценарий:​ используя доступность LAN с server осуществляем доступ по RDP в сеть LAN через учетную запись user1 системы server
 +
 +  * Добавляем учетную запись user1 в linux ([[Управление учетными записями в Linux#​Добавление учетной записи]]),​ в freebsd ([[Управление учетными записями в FreeBSD#​Добавление учетной записи]])
 +  * [[Сервис SSH#SSH вместо VPN (привязка к порту клиента)]]
 +
 +=== SSH вместо VPN (привязка к порту сервера) ===
 +
 +Сценарий:​ отключаем доступность LAN с server (и других систем,​ имеющих туда маршрут),​ осуществляем доступ по RDP в сеть LAN через учетную запись user1 системы server с использованием ssh соединения между lan и server
 +
 +  * Настройка Firewall ([[Сервис Firewall#​Конфигурация для шлюза WAN - LAN - DMZ]])
 +  * Назначаем host системе на интерфейсе "​VirtualBox Host-Only Network"​ ip address 192.168.100+X.20/​24 и подключаемся putty к lan 
 +  * [[Сервис SSH#SSH вместо VPN (привязка к порту сервера)]],​ использовать Bitvise SSH Client (Tunnelier)
 +
 +==== 6.2 Пакет OpenVPN ====
 +
 +Сценарий:​ требуется предоставить авторизованный доступ внешних пользователей к любым LAN сервисам компании,​ например - CIFS
 +
 +  * [[Пакет OpenVPN]]
 +  * [[Пакет OpenVPN#​Настройка client/​server конфигурации]]
 +  * [[Пакет OpenSSL#​Отзыв сертификатов]]
 +
 +Сценарий:​ требуется объединить сети филиалов
 +
 +  * [[Пакет OpenVPN]]
 +  * [[Пакет OpenVPN#​Настройка peer2peer конфигурации]]
 +
 +===== Дополнительные материалы =====
 +
 +  * [[http://​www.onlinepasswordgenerator.ru/​|Генератор паролей]]
 +  * [[http://​sectools.org/​tag/​crackers/​|Top 125 Network Security Tools]]
 +  * [[http://​www.opennet.ru/​dev/​alertmon/​DoS_prevent.txt|Рекомендации по защите от DoS атак]]
 +  * [[https://​www.linux.org.ru/​news/​security/​11204691|Утилита для создания MitM-точек доступа:​ wifiphisher]]
 +  * [[http://​www.vesti.ru/​doc.html?​id=2006216|Shellshock оставил беззащитным Интернет]]
обеспечение_безопасности_unix_решений_2016.txt · Последние изменения: 2017/07/12 07:01 — val