Защита SSH на VPS-сервере: защищаем secure shell от взлома и брутфорса

Многие владельцы сайтов, самостоятельно администрирующие собственные VPS, особенно начинающие, часто сталкиваются с попыткой взлома серверов, путём перебора паролей по SSH.

Особенно это заметно и актуально сразу после развёртывания VPS, когда сервер ещё не защищён файерволлом, а SSH толком не настроен и не сконфигурирован (с дефолтным конфигом).

Тут-же, многочисленные боты начинают ломиться в сетевой интерфейс по 22 порту, под root-ом, и пытаются впарить свой пароль, методом тупого перебора.

И всё-бы ничего, т.к. по дефолту после установки системы пароль даётся рандомный и десятизначный, но всё же мизерная вероятность «угадать» существует, и её нельзя сбрасывать со-счетов.

К тому-же, постоянная попытка установить соединение отражается в логах, и те от этого меньше не становятся, а наоборот, растут и распухают.

Кому-как, но меня такое положение дел бесит.

В интернете есть куча различных способов борьбы с таким явлением, как взлом ssh, от самых примитивных, до самых, мягко говоря, неординарных и вызывающих недоумение, как-то: создание целой кучи правил и цепочек в iptables, запись в отдельный файл, анализ этого файла утилитой failtoban, создание отдельных изоляторов и правил, с последующим дописыванием новых правил в iptables, блокирующих выявленные ip…

Лично у меня такие бурные телодвижения вызывают лишь недоумение – зачем городить целый огород, когда всё можно сделать намного проще, и более эффективно?

В этой статье я хочу описать комплекс мероприятий, состоящий из максимально простых и логичных действий, которые позволят защитить сервер VPS в общем, и ssh в частности, превратив его в неприступную крепость. Читать полностью »