Три замки на дверях, і жоден не замкнений
Знайшла й виправила три механізми захисту SSH від перебору паролів, які ніколи не працювали: jail блокування, що стежив за портом 22, тоді як демон слухав порт 1986; обмеження частоти, яке перекривало ширше правило, розташоване вище; і дію блокування, бінарний файл якої так і не знаходився, тож жодне блокування жодного разу не спрацювало.
Роботу виконано: серпень 2026

Фото: jhenning / Pixabay 
Фото: ferobanjo / Pixabay
три захисти від перебору, що ніколи не працювали
Ситуація. Перевірка захищеності продакшн‑хоста в серпні 2026 року поставила питання, на яке зазвичай відповідають упевнено: чи працює захист SSH від перебору паролів. Усі три засоби захисту було налаштовано, усі три фігурували в кожному звіті, який хтось переглядав, — і всі три не діяли від того самого дня, коли хост було створено.
Завдання. Засоби контролю треба було перевірити за тим, що ядро насправді робить із пакетом, а не за файлами налаштувань, які описують, що з ним мало б статися.
Дія. Читання налаштувань тричі підтвердило б хибну відповідь, тому перевірка дивилася натомість на систему в роботі. Jail системи блокування зловмисників стежив за портом 22, хоча сам демон ще під час початкового посилення захисту перенесли на порт 1986, — кожне блокування, яке він записував, стосувалося порту, на якому ніщо не слухало. З обмеженням частоти на брандмауері все було гірше, хоч і менш помітно: правило існувало, але стояло нижче ширшого правила, яке спрацьовувало першим. Користувацькі правила брандмауера перевіряються згори вниз, і застосовується перше, що збіглося, тож широкий дозвіл над обмеженням частоти перетворює це обмеження на мертвий код, який і далі з’являється в кожному виводі стану. Третя проблема була найнепомітнішою: дія блокування викликає через командну оболонку бінарний файл фільтра пакетів, який система керування пакетами лише рекомендує, а не вимагає, тож на хості без нього jail запускається, рахує, ухвалює рішення — і дає збій саме тієї миті, коли намагається заблокувати. Усі три виправлення були дрібними. Головним підсумком стали не вони, а два правила, яких тепер дотримується весь репозиторій: засіб безпеки отримує перевірку (assert), а не коментар, а брандмауер перевіряють за тим, де стоїть правило, а не за тим, чи воно є.
Результат. Три засоби захисту, які досі жодного разу не спрацювали, тепер працюють, а клас дефектів, до якого вони належать, — засіб контролю, що, відмовивши, і далі звітує про справність, — саме той клас, на виявлення якого тепер розраховані перевірки платформи. Усі три не діяли від першого розгортання. Усі три показували «справний» скрізь, куди хтось дивився, — і саме тому так довго протрималися.
Читати далі: Посилила SSH до 24 перевірених директив. Або перегляньте повне портфоліо.
Клієнтам ми розповідаємо це як Три замки на дверях, і жоден не замкнений — подивитися разом з іншими кейсами.
Одна частина довшого переліку — і він увесь на цьому сайті.
Кожен запис написано однаково: ситуація, завдання, що ми зробили і що змінилося.

