Установлено соединение с заблокированным портом, что это значит?
Я довольно новичок в системном администрировании, и я пытался познакомиться с такими инструментами, как netsat. Если я бегу netstat -n
на моем сервере я вижу эту строку:
tcp 0 0 xxx.xxx.xxx.xxx:44573 xxx.xxx.xxx.xxx:443 ESTABLISHED
Тем не менее, я использую iptables с политикой по умолчанию DROP, и 44573 не является одним из портов, к которым я разрешаю трафик. Мои правила выглядят так в iptables:
Chain INPUT (policy DROP)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:pcsync-https state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:21022 state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:https state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:ftp state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpts:65500:65534
ACCEPT tcp -- anywhere anywhere tcp dpt:webcache state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:http state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:https state ESTABLISHED
ACCEPT icmp -- anywhere anywhere icmp echo-reply
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp spt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:smtp state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http limit: avg 25/min burst 100
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp spt:pcsync-https state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:21022 state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:http state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:https state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:ftp state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp spt:webcache state ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http state NEW,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:https state NEW,ESTABLISHED
ACCEPT icmp -- anywhere anywhere icmp echo-request
ACCEPT icmp -- anywhere anywhere icmp echo-reply
ACCEPT all -- anywhere anywhere
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp spt:smtp state ESTABLISHED
Кто-нибудь может пролить свет на это? Я просто неправильно это понимаю?
2 ответа
Наиболее вероятным объяснением является то, что вы видите исходящее соединение с вашей машины на порт HTTPS. Порт 44573 - это временный порт, который программа на вашем компьютере давала при отправке исходящего HTTPS-запроса.
netstat
специально не показывает исходящие и входящие, но поскольку у вас нет программ, прослушивающих порт 44573, порт 44573 находится в диапазоне эфемерных портов, а порт удаленной машины (443) не входит в диапазон эфемерных портов (и это порт, используемый для общего протокола сервера) можно с достаточной уверенностью сказать, что это исходящее соединение.
Эван совершенно прав.
Кроме того, у вас есть:
Цепной ВЫХОД (политика ПРИНЯТЬ)
затем ряд правил ПРИНЯТЬ в цепочке OUTPUT, и никаких правил REJECT, поэтому, кроме учета, вывод полностью открыт.
Это хорошо, если это именно то, что вы намереваетесь... но я ожидаю увидеть правило LOG, чтобы вы могли видеть "неожиданный, но все еще разрешенный трафик" в правилах OUTPUT и "неожиданный и запрещенный трафик" в правилах INPUT.
Кроме того, если вы не очень заинтересованы в учете пакетов, вы можете просто иметь общее правило "--state RELATED,ESTABLISHED -j ACCEPT" в верхней части INPUT/OUTPUT