Як я можу відслідковувати невдалі спроби входу в SSH?


134

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

Відповіді:


150

Усі спроби входу входять у систему /var/log/auth.log.

1. Фільтр для інтерактивних входів SSH

Відкрийте термінал і введіть нижче; якщо це більше 1 сторінки, ви зможете прокручувати вгору та вниз; введіть qдля виходу:

grep sshd.\*Failed /var/log/auth.log | less
  • Ось справжній приклад одного з моїх VPS:

    18 серпня 11:00:57 izxvps sshd [5657]: невдалий пароль для root з порту 95.58.255.62 38980 ssh2
    18 серпня 23:08:26 izxvps sshd [5768]: невдалий пароль для root з 91.205.189.15 порт 38156 ssh2
    18 серпня 23:08:30 izxvps sshd [5770]: невдалий пароль для нікого з порту 91.205.189.15 38556 ssh2
    18 серпня 23:08:34 izxvps sshd [5772]: невдалий пароль для недійсної зірочки користувача від 91.205.189.15 порт 38864 ssh2
    18 серпня 23:08:38 izxvps sshd [5774]: невдалий пароль для недійсного користувача sjobeck від порту 91.205.189.15 39157 ssh2
    18 серпня 23:08:42 izxvps sshd [5776]: невдалий пароль для root з 91.205.189.15 порту 39467 ssh2
    

2. Шукайте невдалі з'єднання (тобто не було спроби входу, може бути сканер порту тощо):

Використовуйте цю команду:

grep sshd.*Did /var/log/auth.log | less
  • Приклад:

    5 серпня 22:19:10 izxvps sshd [7748]: Не отримано ідентифікаційний рядок від 70.91.222.121
    10 серпня 19:39:49 izxvps sshd [1919]: Не отримано ідентифікаційний рядок від 50.57.168.154
    13 серпня 23:08:04 izxvps sshd [3562]: Не отримано ідентифікаційний рядок від 87.216.241.19
    17 серпня 15:49:07 izxvps sshd [5350]: Не отримано ідентифікаційний рядок від 211.22.67.238
    19 серпня 06:28:43 izxvps sshd [5838]: Не отримано ідентифікаційний рядок від 59.151.37.10
    

Як зменшити невдалі спроби входу

  • Спробуйте переключити ваш SSH на нестандартний порт із стандартних 22
  • Або встановіть сценарій автоматичної заборони, такий як fail2banВстановити fail2ban .

4
Скільки ви отримуєте безпеки при перемиканні порту SSH (вони не можуть просто сканувати вас все одно, як ви згадуєте) і чи варто того незначного зручності використання для законних користувачів?
Нік Т

8
@NickT, виявляється, достатньо, щоб значно зменшити спроби входу. Де я міг би отримати тисячі спроб за тиждень / день, поки що в мене не було жодного останнього місяця, просто перемикаючи порт.
AntoineG

2
Я думаю, що заборона входу з паролем може також допомогти.
Люк М

2
я знаю, що це ubuntu, просто хотів зазначити, що в деяких системах, таких як centos, шлях до файлу/var/log/secure
lfender6445,

Деякі системи отримують доступ до журналу зsystemctl -eu sshd
alecdwm

72

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

Якщо у вас є загальнодоступний сервер SSH, вам потрібно рішення, яке починається  задовго, перш ніж ви зможете зламатись.

Я б настійно рекомендував fail2ban. Їх вікі говорить, що це робить краще, ніж я можу.

Fail2ban сканує файли журналів (наприклад /var/log/apache/error_log) та забороняє IP-адреси, які показують шкідливі ознаки - занадто багато збоїв у паролі, шукають подвиги тощо. Зазвичай Fail2Ban потім використовується для оновлення правил брандмауера для відхилення IP-адрес протягом певного часу, хоча будь-який довільна інша дія (наприклад, надсилання електронної пошти чи виймання лотка для компакт-дисків) також може бути налаштована. Fail2Ban поставляється з фільтрами для різних сервісів (apache, кур'єр, ssh тощо).

Отримати захист від нього так само просто sudo apt-get install fail2ban.

За замовчуванням, як тільки хтось має три невдалі спроби, їх IP отримує п'ятихвилинну заборону. Така затримка, по суті, зупиняє спробу грубої сили SSH, але це не зіпсує ваш день, якщо ви забудете свій пароль (але ви все одно повинні використовувати клавіші!)


6
Чому це називається неспроможним заборонити?
Pacerier

9
@Pacerier Добре з деякою аналогією, відмова входу призводить до (2) заборони.
Себі

2
Bwahaha ви зробили мій день @Pacerier Я ніколи не вважав це буквальним "невдалою забороною".
adelriosantiago

1
Я думаю, що це слід відредагувати, щоб "особливо" зняти з першого речення. Це тільки проблема , якщо у вас слабкий пароль. Сильні паролі ні за яких обставин не можуть бути вимушеними, і єдиною причиною, яка не дозволяє людям намагатися, є зменшення завантаження сервера.
Abhi Beckert

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