Перше відкриття SSH-сервера в Інтернет, що перевірити


9

Я працюю на декількох серверах порівняно тривалий час, але завжди орендував їх, тому не маю особливого досвіду забезпечення власного сервера (на відміну від програми, на якій я працюю).

Тепер я відчуваю, що відкриваю свій маленький домашній SSH-сервер до Інтернету.

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

Які ще, що я маю зробити, щоб їх захистити?

Дякую!

Відповіді:


22

Переконайтесь, що кореневі реєстрації вимкнено PermitRootLogin no. Я також розглядаю можливість відключення паролів PasswordAuthentication noі використовувати відкриті ключі PubkeyAuthentication yes.


+1 побив мене до цього ...
gravyface

1
Якщо ви будете використовувати паролі, ви можете спробувати заглянути в двофакторну систему аутентифікації. Якщо ні, я рекомендую не вводити свій пароль у випадковій системі Інтернет-кафе / бібліотеки.
Марк Вагнер

4
Якщо ви дозволите автентифікацію паролів, подумайте про встановлення fail2ban для запобігання жорстоких атак та використання надійних паролів для будь-якого облікового запису, до якого можна ввійти через ssh
uSlackr

@embobo - чому це? Паролі, надіслані по дроту , шифруються в ssh. Так, ключ автентифікації набагато перевершує багато в чому, але якщо паролі достатньо надійні і ви переконалися, що ніхто не займається плечовим серфінгом, то це не велика справа.
ЄЕАА

3
@Erika Я думаю, що embobo натякає на загальну недовіру до будь-якої іноземної системи. Незважаючи на те, що SSH зашифрований, іноземна машина все ще може сказати, записувати свої натискання клавіш. Таким чином, пароль = порушений.
rthomson

9

Переконайтеся, що дозволено лише SSH-2 (оскільки SSH-1 в минулому викликав деякі проблеми безпеки ):

Protocol 2

Вкажіть, які єдині користувачі можуть входити через SSH:

AllowUsers bob, john

Для підвищення безпеки забороніть автентифікацію пароля та використовуйте аутентифікацію з відкритим ключем:

PasswordAuthentication no
PubkeyAuthentication yes

Примітка. Цей підручник містить інструкції зі створення ключів та налаштування автентифікації відкритих ключів.


5

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

Як приклад: мені довелося виправити одну мережу, де попередній адміністратор встановив nagios на всіх своїх системах з джерела, і створив користувача nagios, не маючи пароля, або пароля "nagios", а потім перейшов до отримання трьох різних машин скомпрометований.


4

Ви можете подивитися якийсь інструмент чорного списку IP, наприклад http://denyhosts.sourceforge.net/ . Він блокує будь-які IP-адреси, які намагаються увійти в систему занадто багато разів, і дуже настроюється.


Можливо, марна трата часу, якщо у вас відключені кореневі входи. З мого досвіду (2 роки роботи SSH-сервера в Інтернеті), лише пара навіть колись отримала моє (очевидно) ім'я користувача. Боти просто перевіряють очевидні паролі для загальних імен користувачів (99% помилкових входів на моєму сервері призначені для root, що, звичайно, відключено).
Брендан Лонг

4
Однозначно не марна трата часу - але подивіться на fail2ban
симбій

+1 для fail2ban.
ДжеймсБарнетт

1
root - не єдиний очевидний обліковий запис, на який перевіряють боти, див. нагіо, як згадувалося вище. Також є облікові записи бази даних, такі як mysql та postgres. Плюс будь-які інші облікові записи додатків.
ДжеймсБарнетт

Так, я фактично мав свою мережу з SSH-машиною, яку перейняв бот, вгадуючи некореневий пароль, так що, безумовно, не марна трата часу. Крім того, з огляду на такий чорний список, дивлячись на журнали, дуже малий відсоток спроб насправді є root.
Lynden Shields

3

Я пропоную вам встановити Fail2ban! http://www.fail2ban.org

Він забороняє IP-адресу після невдалої спроби x протягом декількох хвилин, що допомагає контролювати scriptkiddies;)


0

Повторні огляди журналу у відповідних частинах / компонентах вашої системи (залежно від її фактичної / конкретної конфігурації) ...

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.