Я новичок в системном администрировании и стараюсь поближе познакомиться с такими инструментами, как 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
Кто-нибудь может пролить свет на это? Я просто неправильно это понимаю?
Наиболее вероятное объяснение заключается в том, что вы видите исходящее соединение с вашего компьютера на порт HTTPS. Порт 44573 - это эфемерный порт что программа на вашем компьютере была дана, когда она сделала исходящий запрос HTTPS.
netstat
специально не показывает исходящий и входящий, но поскольку у вас нет программ, прослушивающих порт 44573, порт 44573 находится в диапазоне эфемерных портов, а порт удаленной машины (443) не входит в диапазон эфемерных портов (и - порт, используемый для общего серверного протокола), можно с достаточной уверенностью сказать, что это исходящее соединение.
Эван совершенно прав.
Кроме того, у вас есть:
Цепочка ВЫХОДА (политика ПРИНЯТЬ)
затем ряд правил ACCEPT в цепочке OUTPUT и никаких правил REJECT, так что, кроме учета, вывод полностью открыт.
Это нормально, если это то, что вы намереваетесь ... но я бы ожидал увидеть правило LOG, чтобы вы могли видеть «неожиданный, но все еще разрешенный трафик» в правилах OUTPUT и «неожиданный и запрещенный трафик» в правилах INPUT.
Кроме того, если вас не особо интересует учет пакетов ... вы можете просто использовать правило "--state RELATED, ESTABLISHED -j ACCEPT" в верхней части INPUT / OUTPUT