Как я могу подделать порт 22, когда заставил sshd слушать другой порт?

9

Вместо того, чтобы делать возможные хакеры из сканирования портов моего сервера, я хотел бы просто подделать, что sshd прослушивает порт 22 и регистрировать попытки. Будет ли смысл делать это? Если да, то какие активно разработанные инструменты / библиотеки доступны.

Юрген Пауль
источник
1
Но вам лучше помнить, что установка любого дополнительного программного обеспечения в любом случае увеличивает риск проникновения. Возможно, правда, что OpenSSH будет сильнее взломать, чем что-либо «фальшивое», например honeypot, например. Таким образом, это означает, что вам нужно будет усилить его установку таким образом.
13

Ответы:

9

Вы также можете просто регистрировать все попытки подключения к порту 22 с помощью iptables, даже если на этом порту ничего не прослушивается:

$ sudo iptables -A INPUT -p tcp  --dport 2222 -j LOG
$ nc localhost 2222
$ tail -n1 /var/log/syslog
Oct 26 13:35:07 localhost kernel: [325488.300080] IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=56580 DF PROTO=TCP SPT=35625 DPT=2222 WINDOW=43690 RES=0x00 SYN URGP=0 
Деннис Каарсемакер
источник
4

Чтобы ответить на вопрос "Будет ли это иметь смысл делать?" Я спрашиваю: «Вы исследователь безопасности?» Если вы ответите «да», тогда будет полезно запустить ssh honeypot.

Если вы просто запускаете производственную службу и вам не нужны неудачные проверки, просто запустите ваш sshd на другом порту с дополнительными механизмами аутентификации (например, только с открытым ключом или требующим Yubikey или подобное устройство) и отбросьте порт 22 трафик без регистрации.

Есть ssh-черви грубой силы, активно сканирующие Интернет, которые будут проверять ваш ssh-порт в течение всего дня, и если вы не собираетесь просматривать данные из журналов брандмауэра или honeypot, все, что вы делаете - это тратите место на диске.

Пол Гир
источник
3
Вопрос для меня не «Могу ли я сделать это?», А «Должен ли я сделать это?». Я вижу, как многие сисадмины или разработчики делают что-то, потому что они думают, что должны, или потому, что кто-то сказал им, что они должны, или потому что «все» это делают. Делать что-либо без четко определенных потребностей, целей и ожидаемых результатов - пустая трата времени, денег и энергии.
Joeqwerty