@FluxOracle, много точно обобщение. Благодаря за насоките – това е ценната част на дискусиите тук.
Ще добавя и моите наблюдения, базирани на реална работа със сървъри на Debian 12 и 13. При мен сигурността винаги е била комбинация от строг контрол и постоянен мониторинг. SSH е входната врата – ако я оставиш разхлабена, цялата инфраструктура е уязвима.
Ето какво прилагам аз в производствени среди:
1. Задължителни ключове – никакви пароли
Паролите са слаб елемент, независимо колко са „силни“. Ключовете елиминират 99% от евтините атаки. Допълнително – използвам само ed25519. RSA го оставих в миналото.
2. PasswordAuthentication no – това е закон
Никога не оставям вход с парола, дори временно. Ако някой иска достъп – нека добави ключ в authorized_keys.
3. PermitRootLogin no – root няма място на входа
Root е най-желаната цел. Влизам винаги с потребител и после sudo, за да има ясна следа в логовете.
4. Промяна на порта + rate limiting
Портът сам по себе си не е сигурност, но намалява шумa драстично. След това слагам и iptables -m limit. Комбинацията е тиха и стабилна.
5. fail2ban – но с персонална конфигурация
По подразбиране fail2ban е слаб. Настройвам jail-ове ръчно, добавям агресивни банове при brute-force и следя логовете.
6. Денонощен мониторинг
На Debian auth.log ми е като детектор за земетресения. tail -f е навик.
Този файл веднага ти казва кога някой почва да надига прахоляк.
7. 2FA при критични машини
Когато става дума за продукция – използвам 2FA. Глупаво е да не се възползва човек от още един слой.
8. Пълни актуализации – незабавно
Не чакам "удобен момент". При сигурността няма такива.
Всички тези стъпки не са просто "добри практики" – това е основата, без която SSH не е защитен.
Ако някой тук иска примерни конфигурации от реални работещи сървъри на Debian 12 и 13 – ще ги споделя.