Лабораторная работа посвящена инсталляции и конфигурированию программ обнаружения сканирования портов scanlogd и portsentry, и противодействию сканирования с помощью настройки фильтра пакетов.
Проинсталлировать программу portsentry и настроить её так чтобы она фиксировала попытки просканировать порты хоста
Каким образом это делается
Инсталляция программы.
Проинсталлируйте программу portsentry принятым в операционной системе способом.
Таблица 6.2. Ключи программы portsentry
Ключ | Описание |
---|---|
| обычный режим работы. Portsentry прослушивает все неиспользуемые TCP-порты ниже PORTS_TCP |
| обычный режим работы. Portsentry прослушивает все неиспользуемые UDP-порты ниже PORTS_UDP |
| обычный режим + обнаружение stelth-сканирования для TCP |
| обычный режим + обнаружение stelth-сканирования для UDP |
| Portsentry прослушивает все неиспользуемые TCP-порты ниже ADVANCED_PORTS_TCP |
| Portsentry прослушивает все неиспользуемые UDP-порты ниже ADVANCED_PORTS_UDP |
Проинсталлировать программу scanlogd и настроить её так чтобы она фиксировала попытки просканировать порты хоста
Инсталляция программы.
Выключение portsentry
Выключите программу portsentry (или другой детектор сканирования), если она используется.
# /etc/init.d/portsentry stop
Stopping anti portscan daemon: portsentry.
Инсталляция scanlogd
Проинсталлируйте программу scanlogd принятым в операционной системе способом.
# apt-cache search scanlogd # apt-get install scanlogd Reading Package Lists... Done Building Dependency Tree... Done The following NEW packages will be installed: scanlogd 0 upgraded, 1 newly installed, 0 to remove and 462 not upgraded. ... Adding new user `scanlogd' (112) with group `nogroup'.
Добавление пользователя и группы scanlogd.
Добавьте в систему учётную запись пользователя и группы, от имени которых будет работать scanlogd, если они не были добавлены автоматически.
# pw groupadd scanlogd # pw useradd scanlogd -d /nonexistent -g scanlogd -s /sbin/nologin -c scanlogd
Запуск scanlogd.
Если scanlogd не был запущен автоматически, запустите его вручную:
# /etc/init.d/scanlogd start
Starting scanlogd: scanlogd.
Проверка
Просканируйте порты хоста с какого-либо другого хоста сети, и убедитесь, что scanlogd зафиксировал сканирование.
# tail -f /var/log/syslog ... Oct 20 13:51:51 s_all@linux3 scanlogd: 192.168.15.21:62025 to 192.168.15.3 ports 80, 22, 3389, 113, 636, 21, 554, ..., f??pauxy, TOS 00 @16:51:51 Oct 20 13:52:12 s_all@linux3 scanlogd: 192.168.15.21:41170 to 192.168.15.3 ports 3389, 389, 443, 23, 22, 256, 1723, 113, ..., Fsrpauxy, TOS 00 @13:52:12 Oct 20 13:52:24 s_all@linux3 scanlogd: 192.168.15.21:51641 to 192.168.15.3 ports 53, 22, 80, 25, 3389, 1723, 554, 256, ..., Fsrpauxy, TOS 00 @13:52:24 Oct 20 13:52:58 s_all@linux3 scanlogd: 192.168.15.21:44756 to 192.168.15.3 ports 256, 554, 53, 22, 389, 3389, 21, ..., FsrPaUxy, TOS 00 @13:52:58
Сообщения могут попасть и в другой файл-журнал ,
в зависимости от настроек вашего демона системных сообщений.
Сообщения отправляются от источника daemon
с приоритетом info
:
daemon.info
Decoy-сканирование
При использовании почти всех распространённых методов сканировния (кроме метода connect) можно выполнить так называемое decoy-сканирование: сканирование с неверным обратным адресом. В этом случае использование детекторов сканирования оказывается неэффективным. Они фиксируют множество адресов-источников сканирования, из которых большинство неверно. В некоторых случаях настоящий адрес выполнявшего сканирования может вообще не попасть в журналы системы. Также decoy-сканирование может быть использовано для инициирования работы системы предотвращения сканирования. Если, например, на каком-то хосте трафик с адреса, с которого зафиксировано сканирование, автоматически блокируется, применяя decoy-сканирование, можно заблокировать доступ с этого хоста к важным хостам сети.
В программе nmap decoy-сканирование включается с помощью ключа -D
.
Аргументом ключа является список, разделённых запятыми, IP-адресов.
Эти адреса будут использоваться при сканировании
в качестве обратных. Реальный адрес хоста, выполняющего сканирование,
может быть указан в этом списке с помощью ключевого слова me
.
Если такое ключевое слово в списке отсутствует, адрес будет добавлен последним.
При использовании такой команды будет выолпняться SYN-сканирование хоста m01, который зафиксирует сканирование с трёх адресов: нашего, адреса 1.2.3.4 и адреса 5.6.7.8:
# nmap -sS -D 1.2.3.4,me,5.6.7.8 m01
Обратные адреса можно генерировать случайным образом
# nmap -sS -D \
> `perl 'for (1..24) { print int(rand(255)),($_%4?".":","); }'`\
> me\
> `perl 'for (1..32) { print int(rand(255)),($_%4?".":","); }'` m01
Команда nmap получит список из 8 адресов, четвёртым в котором будет стоять наш адрес, а остальные семь будут случайными.
Настройте фильтр пакетов на вашем хосте так,
чтобы невозможно было определить,
какие порты на нём открыты не только с помощью
простейших методов сканирования,
таких как connect
и SYN
,
но и всех остальных, которыми располагает nmap
.
Используйте динамическую фильтрацию трафика.
Настройте фильтр таким образом, чтобы сканирование можно было зафиксировать средствами самого фильтра.
© 2002-2005 Игорь Чубин |
Учебный центр Сетевые Технологии, ug-ids, 2006-06-25 |
Слушатель отсутствует, ДЕМО-ВЕРСИЯ |