Я отметил эту запись в auth.log
Принятый открытый ключ для myuser от
ip_address
порт 51 150 ssh2
Та запись соответствует моему событию входа в систему ssh-key-based. SSH слушает порт по умолчанию - 22.
Что является ролью зарегистрированного порта 51150 и делает это означает, что я не могу использовать строгие iptables настройки, которые блокируют весь трафик поступающий к портам кроме, которые я ранее указал (как 20 21 25 80 443 143...)
Номер порта, показанный на рисунке, является эфемерным со стороны клиента номером порта, соответствующим порту источника , как видит SSH-сервер. Со стороны сервера, все соединения ssh на порт 22.
Вот я ssh
вхожу в свой сервер colo'ed и подтверждаю порт, указанный в соответствующем файле syslog
:
odessa% ssh www.teaparty.net
[...]
[me@lory ~]$ tail -2 /var/log/facility/authpriv
Dec 9 12:36:26 lory sshd[16793]: Accepted publickey for me from 78.46.204.154 port 58212 ssh2
Dec 9 12:36:27 lory sshd[16793]: pam_unix(sshd:session): session opened for user me by (uid=0)
И вот выход из клиента, показывающий соединение:
odessa% netstat -an|grep 22|grep 58212
tcp 0 0 78.46.204.154:58212 178.18.123.145:22 ESTABLISHED
Как вы можете видеть, номер порта со стороны сервера - 22, как и ожидалось. Это клиент-номер порта со стороны 58212. Милошио, так как большинство правил iptables
для разрешения доступа к сервисам выглядят как
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
, на них не влияет изменение номера порта источника с клиента на клиента, так как они заботятся только о номере порта destination. Только если вы напишете правило вроде
iptables -A INPUT -p tcp --dport 22 --sport 58212 -j ACCEPT
, его нужно будет менять для каждого нового клиента - вот почему вы должны быть сумасшедшими, чтобы сделать это, и никто этого не делает.
.