(пропустите до конца, чтобы меньше информации)
У меня есть CentOS 6, в котором приняты некоторые меры безопасности - отключенный вход в систему с правами root, надежные пароли и белый список пользователей для FTP и SSH, а также установлен fail2ban. Я получаю «обычный» уровень попыток входа в систему для SSH, FTP и SMTP, с которыми fail2ban справляется удовлетворительно. К сожалению, я не могу изменить номер порта SSH или принудительно использовать ключи, хотя это в моем списке, когда это возможно.
Сегодня я заметил более серьезный приступ; то, чего я раньше не видел. Один и тот же IP-адрес неоднократно пытался войти в систему с правами root по SSH, но он попадал в случайные порты (максимум 3 попытки на каждом) и почему-то не был заблокирован fail2ban - я предположил, что это было из-за случайных номеров портов.
После некоторого расследования /var/log/secure
казалось, что было 22K попыток за считанные часы, поэтому я вручную добавил в iptables правило, чтобы удалить все с этого IP.
sshd: Failed password for invalid user root from x.x.x.x port 48811 ssh2
Я не знаю, что пытался здесь сделать злоумышленник - искал ли он открытые порты, пытался ли он использовать SSH или выбивал порт? Кроме того, что злоумышленник заблокировал вручную, я не знаю, что с этим делать и где искать дополнительную информацию.
TL; DR
Где в системе * nix искать доказательства атаки и как интерпретировать эту информацию, чтобы понять, что мне делать с ней?
Этот номер порта, который вы видите в своем сообщении, является его номером порта источника, а не портом назначения. В большинстве реализаций TCP, когда вы подключаетесь к любому серверу, номер порта источника - это какой-то случайный высокий порт. Это также причина, по которой он может все время менять это.
Если он достигает вашего SSH-сервера со своими подключениями, а ваш SSH-сервер прослушивает только порт 22, тогда вы можете быть уверены, что он подключается к порту 22 (это означает, что порт назначения установлен на 22).
Вот описание порта источника и порта назначения в TCP: http://en.wikipedia.org/wiki/Transmission_Control_Protocol
где мне искать доказательства атаки и как интерпретировать эту информацию, чтобы понять, что мне делать с ней?
Вы действительно собираетесь платить кому-то за круглосуточное наблюдение за вашими журналами? Этот вид атак очень распространен (как и сканирование открытых SMTP-реле и HTTP-прокси). Пока стук порта это простой способ защитить доступ по ssh, это не очень практичное решение для SMTP или HTTP.
Другой подход - использовать fail2ban - это реализует временный запрет iptables на неверные IP-адреса и поставляется с предварительно настроенным обнаружением атак.