Таким образом, мой сервер блокируется тысячами попыток входа в систему по SSH. Fail2ban вылавливает и блокирует их, но мой почтовый ящик меня беспокоит, и он заполняет почтовый ящик предупреждениями. Вот пример того, что я вижу:
May 28 15:26:09 sshd[4908]: input_userauth_request: invalid user test [preauth]
May 28 15:26:09 sshd[4908]: pam_unix(sshd:auth): check pass; user unknown
May 28 15:26:09 sshd[4908]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=<<SNIPIP>>
May 28 15:26:11 sshd[4908]: Failed password for invalid user test from <<SNIPIP>> port 41344 ssh2
May 28 15:26:11 sshd[4908]: Received disconnect from <<SNIPIP>> port 41344:11: Bye Bye [preauth]
May 28 15:26:11 sshd[4908]: Disconnected from <<SNIPIP>> port 41344 [preauth]
Что интересно, когда я пытаюсь подключиться, используя что-то вроде:
ssh test@myserverip -p 41344
моя попытка подключения в конечном итоге истекает, и я не вижу записи в auth.log - этого я и ожидал, учитывая, что я заблокировал брандмауэр машины через UFW: (примечание: я уже запускаю ssh на нестандартном порту )
ufw status verbose
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
Anywhere DENY IN 144.202.55.196
Anywhere DENY IN 188.53.140.190
Anywhere DENY IN 185.50.197.159
Anywhere DENY IN 206.189.197.133
Anywhere DENY IN 61.175.121.73
Anywhere DENY IN 8.30.124.149
Anywhere DENY IN 193.105.134.45
Anywhere DENY IN 139.129.14.230
Anywhere DENY IN 37.247.96.111
22 DENY IN Anywhere
2200/tcp ALLOW IN Anywhere
25/tcp ALLOW IN Anywhere
80,443/tcp (Nginx Full) ALLOW IN Anywhere
2246 ALLOW IN Anywhere
2812 ALLOW IN Anywhere
2247/tcp ALLOW IN Anywhere
19999/tcp ALLOW IN Anywhere
82/tcp ALLOW IN Anywhere
22 (v6) DENY IN Anywhere (v6)
2200/tcp (v6) ALLOW IN Anywhere (v6)
25/tcp (v6) ALLOW IN Anywhere (v6)
80,443/tcp (Nginx Full (v6)) ALLOW IN Anywhere (v6)
2246 (v6) ALLOW IN Anywhere (v6)
2812 (v6) ALLOW IN Anywhere (v6)
2247/tcp (v6) ALLOW IN Anywhere (v6)
19999/tcp (v6) ALLOW IN Anywhere (v6)
82/tcp (v6) ALLOW IN Anywhere (v6)
Итак, мой главный вопрос: как это возможно, что у кого-то даже есть шанс попытаться войти в систему через порт 41344, когда я не могу?
Это исходный порт подключения на удаленном конце. Подключение выполняется к порту 22 на вашей стороне (или к тому, что ваш демон SSH прослушивает).
Каждый сетевой сокет состоит из адреса источника и порта, а также адреса назначения и порта. Исходный порт выбирается исходной ОС случайным образом.