LINUX.ORG.RU
ФорумAdmin

sshd - паранойя и логи

 ,


0

2

Что имеется:
1) FreeBSD, белый IP, домен
2) openssh-server
3) полностью отключена авторизация по паролям:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no
4) включена авторизация по ключам:
RSAAuthentication yes
PubkeyAuthentication yes
5) всем, кому надо предоставить доступ выданы ключи (как в интрасети так и в интернете), но с ними проблем, собственно, нет

Естественно, как и ожидалось, начали ломиться кулцхакеры и боты, преимущественно китайские. Я-то не переживаю, т.к. не имея ключа авторизация невозможна, однако в логах порой бывает срач.

На данный момент я зафиксировал 4 разных реакции на кулцхакеров:
1)

Oct 27 02:41:44 hostname sshd[80999]: Invalid user dasusr1 from 194.187.48.247
Oct 27 02:41:44 hostname sshd[80999]: input_userauth_request: invalid user dasusr1 [preauth]
Вместо dasusr1 может быть какая угодно чушь. С этими строками в общем-то всё предельно ясно (хотя непонятно почему sshd не отфутболивает сразу после обнаружения отсутствия ключа у клиента)

2)
Oct 27 16:36:06 hostname sshd[82688]: reverse mapping checking getaddrinfo for huzhou.ctc.mx.fund123.cn [122.225.97.82] failed - POSSIBLE BREAK-IN ATTEMPT! [preauth]
Oct 27 16:36:06 hostname sshd[82688]: reverse mapping checking getaddrinfo for huzhou.ctc.mx.fund123.cn [122.225.97.82] failed - POSSIBLE BREAK-IN ATTEMPT!
немного странное сообщение, но вроде всё в порядке

3)

Oct 27 18:17:09 hostname sshd[82855]: Disconnecting: Too many authentication failures for root [preauth]
Таких сообщений обычно десяток подряд идут. Смысл сообщения ясен, непонятно только почему не указан ip клиента, который попытался root authentication

4)

Oct 27 18:21:03 hostname sshd[82937]: fatal: Read from socket failed: Connection reset by peer [preauth]
А вот эта строка (точнее ихнее огромное количество в некоторые дни) меня заставила написать этот пост. Как это вообще интерпретировать? Гуглил - какие-то неоднозначные и разные/странные результаты, которые к моему случаю не относятся (там были различные предложения относительно РЕгенерации пар ключей, однако ключи у меня свежие, и всё работает)

Суть вопроса сей темы в том - стоит ли обращать внимание и что-то вообще делать? Или тупо забить на это (типа, «работает - ну и ладно»)?

P.S. О Fail2ban знаю, планирую настроить позже.

★★★★★

Вероятно, сканируют на наличие открытых портов и не завершают сессию корректно, либо обрывают, посылая RST

anonymous
()
Ответ на: комментарий от anonymous

сканируют на наличие открытых портов

наружу светит в первую очередь роутер, от сервера проброшены только 80 и 22, сканировать больше нечего. Да и результаты невменяемы - любое упоминание ОС и названия/версии софта (где это не вредит клиентам) я выпилил

не завершают сессию корректно

например как?

либо обрывают, посылая RST

но я так понимаю, что на это можно не обращать внимания, верно? отвалилось - ну и ладно

reprimand ★★★★★
() автор топика

хотя непонятно почему sshd не отфутболивает сразу после обнаружения отсутствия ключа у клиента

Русским же языком написано [preauth], до запроса ключа дело даже не доходит.

redgremlin ★★★★★
()
Ответ на: комментарий от reprimand

сканировать больше нечего

Попытайся убедить в этом ботов :)

например как?

Корректно - это послать FIN. Если, например, дело дойдет то таймаута, а трафика от пира нет, то сокет закроется.

но я так понимаю, что на это можно не обращать внимания, верно?

Ага

anonymous
()

Там в конфигах можно указать доступные к подключению подсети. Вырежи китайцев. Оставь только подсети своих клиентов...

menangen ★★★★★
()
Ответ на: комментарий от blind_oracle

к сожалению, людям с которыми приходится работать ничего не скажет фраза «подключение по порту 9876», они не в состоянии без моих указания ввести цифры в нужное поле/указать нужную опцию

reprimand ★★★★★
() автор топика
Ответ на: комментарий от menangen

Я так раньше делал когда не использовал ключи, а только пароли.
Геморно каждый раз добавлять/убирать подсети. Да и в том прелесть ключей, что я могу заходить любой точки мира с любого устройства имея ключ

reprimand ★★★★★
() автор топика
Ответ на: комментарий от reprimand

Т.е. порт указать не в состоянии, а в шелле работать могут? Или у них только SFTP? В любом случае это правильный способ, всё остальное - полумеры.

blind_oracle ★★★★★
()

стоит ли обращать внимание и что-то вообще делать ?

Если трафик и ресурсы сервера не жаль, можно забить. Если это VPS, на месте делжателя хост системы за «забил» я бы по ушам выдал... Как-то так. :-)

В BSD рейт-лимит на соединение никак настроить нельзя часом ? Что-то мне подсказывает, что там должно быть что-то, что позволит сделать аналог повидения линуксового iptables --recent.

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 2)

я себе еще пинги внешней сетевой отключал и порт на нестандартный менял, но после отключения пингов хацкеры в логах пропали. так что iptables

CHIPOK ★★★
()
Ответ на: комментарий от blind_oracle

да, отчасти могут - набирая mc и жмакая клавишу ввода
Но SFTP у них тоже есть

В любом случае это правильный способ, всё остальное - полумеры.

согласен. К сожалению, сейчас пока ничего не сделать

reprimand ★★★★★
() автор топика
Ответ на: комментарий от AS

Если трафик и ресурсы сервера не жаль, можно забить. Если это VPS, на месте делжателя хост системы за «забил» я бы по ушам выдал... Как-то так. :-)

сервер стоит в шкафу, т.е. не VPS, канал достаточно широкий

В BSD рейт-лимит на соединение никак настроить нельзя часом ? Что-то мне подсказывает, что там должно быть что-то, что позволит сделать аналог повидения линуксового iptables --recent.

асортимент доступных firewall-ов для freebsd достаточно широкий, думаю, как минимум в одном из них есть такая фича
Но его роль пока играет роутер, может, там настрою.

Спасибо за информацию, очень интересная фича :)

reprimand ★★★★★
() автор топика
Ответ на: комментарий от CHIPOK

но после отключения пингов

Кстати, иной раз хочется дать по ушам тому, кто придумал делать это в глобальных масштабах. Windows там, или изобретатели файрволов... Ладно, если сам отключил, сам включил, а если фраза icmp echo вводит в ступор ? Убрали удобное средство для проверки состояния канала до клиента. Теперь либо выезд, либо техподдержка объясняет пол-часа, где надо галочку тыкнуть...

AS ★★★★★
()
Ответ на: комментарий от AS

Теперь либо выезд, либо техподдержка объясняет пол-часа, где надо галочку тыкнуть...

netcat тебе в помощь

reprimand ★★★★★
() автор топика
Ответ на: комментарий от reprimand

netcat тебе в помощь

Ага. Теперь получи от клиента обратную связь. Чтобы netcat-ом воспользоваться, надо наличие чего-нибудь у клиента, что ответит.

AS ★★★★★
()
Ответ на: комментарий от AS
$ nc 127.0.0.1 80
blabvasldaslblablalbla
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>501 Not Implemented</title>
</head><body>
<h1>Not Implemented</h1>
<p>asdasd to /index.html not supported.<br />
</p>
</body></html>
$ nc 127.0.0.1 22
SSH-2.0-OpenSSH_6.4_hpn13v11 20140920
^C

портов не так много, а если у клиента ничего не поднято, то скорее всего и повода для выезда нет или ты об этом предупрежден
в любом случае даже сканирование всех портов в диапазоне 1-9999 будет быстрее выезда на место. У меня где-то даже скрипт валялся, который делал это ради «проверки» наличия открытых портов в много потоков, ибо nmap не устраивал скоростью работы

reprimand ★★★★★
() автор топика
Последнее исправление: reprimand (всего исправлений: 1)
Ответ на: комментарий от AS

для техподдержки существует заббикс и прочие аналоги, на кой тебе пинг? кстать snmp еще тоже не отменяли, так что зря паникуешь.

CHIPOK ★★★
()
Ответ на: комментарий от reprimand

ну вот, было бы желание а способов всегда можно найти минимум 2

CHIPOK ★★★
()
Ответ на: комментарий от reprimand

портов не так много, а если у клиента ничего не поднято

Ты не понимаешь. Вот, к примеру, есть клиент. Он звонит и говорит: «у меня хрень, всё тормозит, не качается». Первое, что следует сделать, это проверить канал под нагрузкой. Несколько процессов ping -f -s <какой-нибудь размер> вполне в состоянии сделать приемлимую, для оценки состояния канала, нагрузку.

Сделай это посредством netcat, если клиент не умеет ничего.

AS ★★★★★
()
Ответ на: комментарий от CHIPOK

на кой тебе пинг ?

Канал забить на 100%, или оценить процент прохождения пакетов больших размеров. И всё это, что принципиально, без участия клиена и без установки дополнительного ПО на его стороне.

AS ★★★★★
()
Ответ на: комментарий от anonymous

У клиента антивирус же заверещит от этого, и потом объяснять ему еще придется.

Если клиент сам, сначала, обратился, то ему вполне хватит «занимаемся вашей проблемой, это - разультат проверок». А что, какие-то умеют пищать ? :-)

AS ★★★★★
()
Ответ на: комментарий от CHIPOK

zabbix

Как ? Как он забьёт канал ? В сторону клиента забить не вопрос, вопрос узнать, сколько пакетов долетело до клиента. Плюс надо аналогично в обратную сторону. ping, хотябы, даёт представление о качестве «туда-обратно» с поправкой на особенности хоста на стороне клиента.

AS ★★★★★
()
Ответ на: комментарий от AS

Пищал или не пищал - не знаю (динамиков не было :-), но 6-й каспер выводил сообщение о сетевой атаке и блокировал все с этого удаленного адреса на какой-то там срок.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.