# Сканирование сетей. Лабораторная работа №4 (HW) ## Ход работы 1. Заблокируем порт `21/tcp` на машине `ubuntu` с помощью iptables по политике REJECT. ```bash sudo iptables -A INPUT -p tcp --dport 21 -j REJECT ``` ![alt text](img/image01.png) 2. Просканируем заблокированный в пункте 1 порт типами сканирования TCP SYN Scan, TCP Connect Scan, UDP Scan, TCP FIN Scan, TCP NULL Scan, TCP Xmas Scan и TCP ACK Scan. ```bash nmap 192.168.103.100 -p 21 -sS nmap 192.168.103.100 -p 21 -sT nmap 192.168.103.100 -p 21 -sU nmap 192.168.103.100 -p 21 -sF nmap 192.168.103.100 -p 21 -sN nmap 192.168.103.100 -p 21 -sX nmap 192.168.103.100 -p 21 -sA ``` ![alt text](img/image02.png) В целом результаты довольно ожидаемые, все методы кроме TCP Connect Scan и UDP Scan определили, что порт фильтруется. UDP закрыт, так как на данном порту действительно нет службы, а TCP Connect считается открытым, если открылось соединение. 3. Заменим политику с `REJECT` на `DROP` `sudo iptables -R INPUT 1 -p tcp --dport 21 -j DROP` ![alt text](img/image03.png) 4. Повторим п.2 ![alt text](img/image04.png) Можно заметить, что точность определения открытости портов сильно уменьшилась, связано это с тем, что при политике `DROP` устройство не посылает сообщение о том, что пакет был отброшен, в результате чего сканер не может вынести однозначный вердикт о доступности порта. ## Выводы Мы рассмотрели работу утилиты `nmap` в случае, когда на целевом хосте применяются правила `iptables` для ограничения доступа к хосту. Можно заметить, что `iptables` это очень легковесный инструмент, который позволяет неплохо защитить устройство от незаметного сканирования, в следствие чего его стоит использовать, если нет возможности защищать устройство с помощью межсетевых экранов и/или IPS. **Выполнил:** Харитонов Марат Русланович, студенческий билет М235314.