1. Измените свой sshd
порт прослушивания
Как бы просто это ни звучало, изменить порт по умолчанию 22
к пользовательскому значению (например, 2200
) на общедоступном IP-адресе может сократить количество сканирований портов с тысяч в день до нескольких десятков. Учебник см. здесь.
При этом, хотя это и уменьшает раздражение от сканирования портов, НЕ обеспечить реальную безопасность. «Безопасность по неизвестности» — это миф и не более того.
2. Используйте вход с открытым ключом и отключите вход с паролем
Боты могут правильно угадать пароль, но они никогда собирается угадать закрытый ключ правильно. При условии, что вы используете современные алгоритмы и случайно не утечете свой ключ. Учебник см. здесь.
Обратите внимание, что это означает, что вы больше не сможете войти в систему с любой случайной машины, если вы не носите с собой ключ (который вам нужно защитить каким-либо другим способом).
3. Используйте fail2ban
Если они потерпят неудачу 5 раз, запретите им пытаться снова на день или что-то в этом роде. Это покажет им. Очень эффективен против попыток грубой силы. Учебник см. здесь.
Недостатком является то, что вы можете заблокировать себя, если однажды у вас будут дрожать пальцы (пьяный или что-то в этом роде, я не знаю).
4. Предварительно забанить список IP-адресов, известных злоупотреблением
Источники, такие как ЗлоупотреблениеIPDB вести большие списки известных вредоносных IP-адресов, доступных через API. Для его использования вам понадобится ключ API, но вы можете достаточно легко зарегистрировать бесплатную учетную запись. Вытяните список и используйте что-то вроде iptables
для массового запрета этих известных IP-адресов. Настройте задание cron, чтобы периодически автоматизировать его для достижения наилучшего эффекта. Вот очень простой скрипт я написал (и я лично использую), чтобы сделать именно это. Не стесняйтесь использовать его как ссылку, но НЕ ИСПОЛЬЗУЙТЕ ЭТО В ПРОИЗВОДСТВЕ.
По моему личному опыту, этот метод столь же эффективен (если не более), как и метод №3.
Лично я использую все 4 метода, перечисленные выше, и мой VPS может получить одну или две злонамеренные попытки входа в мой журнал безопасности самое большее, в плохой месяц. Вот история перехвата iptables
по способу №4:
$ абип-хист
Сеть abip-ban (1 ссылка)
pkts bytes target prot opt in out source target
362 14480 УДАЛИТЬ все -- * * 45.143.200.6 0.0.0.0/0
307 12280 УДАЛИТЬ все -- * * 185.156.73.104 0.0.0.0/0
288 12672 УДАЛИТЬ все -- * * 212.133.164.75 0.0.0.0/0
277 19911 УДАЛИТЬ все -- * * 146.88.240.4 0.0.0.0/0
250 11000 УДАЛИТЬ все -- * * 212.133.164.14 0.0.0.0/0
230 9200 УДАЛИТЬ все -- * * 45.146.164.213 0.0.0.0/0
215 8600 УДАЛИТЬ все -- * * 185.156.73.67 0.0.0.0/0
214 8560 УДАЛИТЬ все -- * * 5.188.206.18 0.0.0.0/0
202 8080 УДАЛИТЬ все -- * * 193.27.228.63 0.0.0.0/0
201 8040 УДАЛИТЬ все -- * * 193.27.228.64 0.0.0.0/0
199 7960 УДАЛИТЬ все -- * * 193.27.228.59 0.0.0.0/0
197 7880 УДАЛИТЬ все -- * * 193.27.228.65 0.0.0.0/0
197 7880 УДАЛИТЬ все -- * * 193.27.228.61 0.0.0.0/0
196 7840 УДАЛИТЬ все -- * * 45.135.232.119 0.0.0.0/0
196 7840 УДАЛИТЬ все -- * * 193.27.228.60 0.0.0.0/0
196 7840 УДАЛИТЬ все -- * * 193.27.228.58 0.0.0.0/0
189 7560 УДАЛИТЬ все -- * * 45.146.165.149 0.0.0.0/0
184 7360 УДАЛИТЬ все -- * * 45.155.205.247 0.0.0.0/0
184 7360 УДАЛИТЬ все -- * * 195.54.160.228 0.0.0.0/0
182 7280 УДАЛИТЬ все -- * * 45.143.203.12 0.0.0.0/0
181 7240 УДАЛИТЬ все -- * * 45.141.84.57 0.0.0.0/0
180 7200 УДАЛИТЬ все -- * * 45.135.232.85 0.0.0.0/0
176 7040 УДАЛИТЬ все -- * * 45.146.165.148 0.0.0.0/0
...
это продолжается 1700 строк...
$ время безотказной работы
06:36:49 до 16 дней, 15:24