LINUX.ORG.RU
ФорумAdmin

nmap как он это делает?

 ,


1

1

Собственно есть машина в сети с настроенным iptables (использую для различных экспериментов) enp0s3 - 192.168.3.50 enp0s8 - 192.168.4.17

export IPT="iptables"
#Внешний интерфейс Интернет
export WAN=enp0s3
#Интерфейс к которому подключена локальная сеть
export LAN=enp0s8
#Очистка всех цепочек                                                                                                                                                                                                                                                               
$IPT -F INPUT                                                                                                                                                                                                                                                              
$IPT -F FORWARD                                                                                                                                                                                                                                                            
$IPT -F OUTPUT                                                                                                                                                                                                                                                             
$IPT -t nat -F PREROUTING                                                                                                                                                                                                                                                  
$IPT -t nat -F POSTROUTING                                                                                                                                                                                                                                                 
$IPT -t mangle -F
#Запрет любого трафика кроме кроме идущего через цепочку output
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP
#разрешаем все входящие пакеты на интрефейс замыкания на себя иначе ничего не работает 
$IPT -A INPUT -i lo -j ACCEPT
# разрешаем пинги на обе сетевухи
$IPT -A INPUT -i -p icmp --icmp-type echo-reply -j ACCEPT
$IPT -A INPUT -i -p icmp --icmp-type destination-unreachable -j ACCEPT
$IPT -A INPUT -i -p icmp --icmp-type time-exceeded -j ACCEPT
$IPT -A INPUT -i -p icmp --icmp-type echo-request -j ACCEPT

#РАЗРЕШЕНЫ ТОЛЬКО ВХОДЯЩИЕ СОЗДАННЫЕ НАШИМИ ИСХОДЯЩИМИ
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#Правила повышающие безопасность

#Блочим входящие tcp соединения не syn пакетом (либо ошибка либо атака)
$IPT -I INPUT -m conntrack --ctstate NEW -p tcp ! --syn -j DROP
$IPT -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT
# Отбрасывать все пакеты, которые не могут быть идентифицированы
# и поэтому не могут иметь определенного статуса.
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

#разрешаем ssh на внешнем интерфейсе 
$IPT -A INPUT -i enp0s3 -p tcp --dport 22  -j ACCEPT

#разрешаем доступ из локальной сети на порты 22(ssh),3128 прокси squid,80 - apache веб морды
$IPT -A INPUT -i enp0s8 -p tcp -m multiport --dport 22,80,53,3128 -j ACCEPT
#Разрешаем запросы на сервер времени из локалки 
$IPT -A INPUT -i enp0s8 -p udp --dport 123 -j ACCEPT
#подстройка mtu без этого правила компы ходящие мимо прокси не открывают некоторые сайты
$IPT -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS  --clamp-mss-to-pmtu 

#Разрешаем хождение через цепочку форвард пакетов идущих в ответ на пакеты с локльной сети enp0s8 

$IPT -A FORWARD -i enp0s3 -o enp0s8 -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -i enp0s8 -o enp0s3 -m state --state ESTABLISHED,RELATED -j ACCEPT
#Пробрасуем комп из сети в нет

#$IPT -A FORWARD -s 192.168.4.19 -o enp0s3 -j ACCEPT

#Маскарадим то что прошло через цепочку forward
$IPT -t nat -I POSTROUTING -s 192.168.4.0/24 -o enp0s3 -j MASQUERADE

Делаю nmap 192.168.3.50 другой машины в сети вижу 
PORT     STATE  SERVICE
22/tcp   open   ssh
53/tcp   closed domain
80/tcp   closed http
3128/tcp closed squid-http

Каким образом nmap увидел 53,80,3128 ведь доступ к ним открыт из локальной сети ?  
★★

Последнее исправление: drac753 (всего исправлений: 2)
Ответ на: комментарий от goingUp

Встречный вопрос если 22 DROP, подключится на него нельзя, nonmap видит

22/tcp   open   ssh

происходит из-за правила 
$IPT -I INPUT -m conntrack --ctstate NEW,INVALID -p tcp --tcp-flags SYN,ACK SYN,ACK -j REJECT
drac753 ★★
() автор топика
Последнее исправление: drac753 (всего исправлений: 2)
Ответ на: комментарий от drac753

Нет, это из-за правил

#разрешаем ssh на внешнем интерфейсе 
$IPT -A INPUT -i enp0s3 -p tcp --dport 22  -j ACCEPT

#разрешаем доступ из локальной сети на порты 22(ssh),3128 прокси squid,80 - apache веб морды
$IPT -A INPUT -i enp0s8 -p tcp -m multiport --dport 22,80,53,3128 -j ACCEPT

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

К примеру рассмотрим такую ситуацию - есть прокси сервер для локальной сети с белым ip (на котором 22 порт закрыт ) на одном интерфейсе и обычным ip типа 192.168.. на другой сетевухе на котором 22 порт открыт nmap при сканировании белого ip увидит 22 порт открытым?

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

nmap при сканировании белого ip увидит 22 порт открытым?

Нет.

Но у тебя 22 порт открыт на обоих интерфейсах.

goingUp ★★★★★
()
Ответ на: комментарий от goingUp

закрываю 22 порт везде запускаю вижу

53/tcp closed domain
80/tcp closed http


открываю 22 порт на интерфейсе enp0s8 который смотрит в локальную сети на 
Открываю правилом добавив 22
$IPT -A INPUT -i enp0s8 -p tcp -m multiport --dport 22,80,53,3128 -j ACCEPT
получаю
22/tcp   open   ssh
53/tcp   closed domain
80/tcp   closed http
3128/tcp closed squid-http
MAC Address: 08:00:27:08:47:76 (Oracle VirtualBox virtual NIC)


Получается что nmap определят открыт или закрыт ssh при открытом 22 порту на любом из интерфейсов enp0s8  enp0s3
drac753 ★★
() автор топика
Последнее исправление: drac753 (всего исправлений: 1)
Ответ на: комментарий от mogwai

DROP вы классифицируете результаты на «соединение установлено» и «время ожидания истекло».

То есть таким образом DROP не дает соединения , но дает возможность nmap получить информацию ?

drac753 ★★
() автор топика
Ответ на: комментарий от drac753

Получается что nmap определят открыт или закрыт ssh при открытом 22 порту на любом из интерфейсов

У тебя там большой конфиг, подсказать какая из строчек дает такой эффект не могу.

goingUp ★★★★★
()
Ответ на: комментарий от drac753

есть прокси сервер для локальной сети с белым ip (на котором 22 порт закрыт ) на одном интерфейсе и обычным ip типа 192.168.. на другой сетевухе на котором 22 порт открыт nmap при сканировании белого ip увидит 22 порт открытым?

Смотря как закрывать будете. Linux принимает пакеты на любой из IP адресов, пришедшие по любому сетевому интерфейсу. Если вы при блокировании ориентируетесь на интерфейсы (-i eth0), тогда запрос пришедший из мира на любой IP будет заблокирован, а запросы из локальной сети (тоже на любой IP) будут разрешены. Если блокировать с указанием IP - -d x.x.x.x, тогда из обеих сетей запросы на заблокированный IP будут блокироваться, а на не заблокированный будут работать.

Именно поэтому более правильным вариантом будет блокировка ориентированная на входящий сетевой интерфейс.

Если хотите, чтоб из локальной сети работал только локальный IP, - так и укажите:

iptables -A INPUT -i enp0s8 ! -d 192.168.4.17 -j DROP
spirit ★★★★★
()
Ответ на: комментарий от drac753

Насколько я понимаю правильнее будет использовать вместо DROP REJECT ?

При большом трафике правило REJECT создает дополнительную нагрузку на сеть (за счет отправки ICMP-пакетов), но в Вашем случае это скорее всего имеет лишь теоретическое значение, на практике разницы не увидите.

Serge10 ★★★★★
()
Ответ на: комментарий от drac753

Что такое «даёт возможность nmap получить информацию?».

Что происходит при -j reject, чро происходит при -j drop?

mogwai ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.