Потенційний викрадений сеанс SSH та найкращі практики SSH


14

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

Востаннє, коли я ввійшов у систему, я помітив, що мій термінал був дуже млявим, тоді моє підключення до Інтернету впало. Коли я придбав його назад приблизно через 5 хв, я ввійшов назад на сервер і зробив "хто" і зрозумів, що увійшли два користувачі root. Я подумав би, що якби моє з'єднання припинило процес з останнього сеансу, було б зупинився на сервері?

Підключення закінчилося записом "Не вдалося записати: Зламана труба", коли я вперше відключився. Я вбив баш-сесію з іншим коренем. Я мало знаю про безпеку ssh, однак чи можна захопити сеанси? чи є спосіб перевірити це? Мені потрібно продовжувати вхід через ssh, які заходи безпеки слід вжити? Якби я якось перебирав проксі, щоб дістатися до мого сервера (як людина в середній атаці), чи могли б вони захопити мою ssh сесію?

Відповіді:


40

Кореневі логіни - це, ймовірно, звисаючі сеанси оболонки, якими ви колись були. Ваш сервер також, ймовірно, отримує dDOS'd з усіма спробами входу, які його забивають.

Блокування SSH. Не дозволяйте кореневого входу, і ті запити, які намагаються жорстоко змусити цю машину, будуть негайно відмовлені (забираючи набагато менше ресурсів). Увійдіть, як звичайний користувач, і підвищуйте дозволи через нього sudo, будь-коли це потрібно робити. Також обмежте вхід на SSH списком клієнтських IP-адрес, щоб недоброзичливі машини навіть не могли спробувати увійти.

Використовуйте SSH-ключі замість паролів для входу користувача. З ними легше впоратися, і вони можуть захиститися самим паролем, якщо випадково введіть приватний ключ у неправильне місце (дайте вам час замінити їх та визнати недійсним старий). Як зазначено в коментарях @EEAA, ви також повинні відключити автентифікацію на основі пароля, якщо ви хочете обмежити клієнтів використовувати лише ключі замість паролів та ключів.

Якщо монгольські клани продовжують обробляти вашу міську стіну, можливо, перенесіть SSH на інший високий порт (під 1024, як вказував @AustinBurke - щоб використовувати пільговий порт) замість 22. Це зменшить трафік на цьому порту, якщо це є проблемою для вас (і більшість ботів не дуже витончені, тому вони спробують лише 22). Це не зупинить спроби порту 22 або навіть сканування вашої машини, щоб побачити, який порт слухає на SSH, і в більшості випадків це непотрібне незручність. Але це може допомогти.

Інші, можливо, зможуть дати більше порад, але це досить загальні заходи безпеки для загальнодоступного SSH-сервера.


22
Використання клавіш недостатньо. Потрібно також відключити автентифікацію пароля.
EEAA

4
@marcelm Чи " величезна кількість заборонених IP-адрес у журналі " не натякає на те, що це може статися?
TripeHound

4
@tripehound Ні, це не так. Це нічого не говорить про відносні споживані ресурси.
marcelm

3
Але це натяк на цей ефект, @marcelm.
Гонки легкості з Монікою

4
Хоча це можливо в цьому Всесвіті, ssh досить чортово безпечно. Звичайно, ви можете захопити цей трафік під час польоту і зберігати його в його зашифрованому стані, але обмін ключами Diffie – Hellman використовується для встановлення зашифрованого каналу. Зламати це навіть неможливо, якщо у вас є приватний і відкритий ключ ssh, який використовувався для аутентифікації, оскільки ключ потоку ніколи не повідомлявся під час сеансу. До того моменту, коли хтось прорве цей потік, ми всі будемо мертві.
Спулер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.