Як заблокувати небажані спроби входу SSH за допомогою PyFilter на Ubuntu 16.04


Захист від небажаних SSH-підключень за допомогою PyFilter на Ubuntu 16.04

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

Для посилення захисту від цих атак застосовується PyFilter – інструмент Python, що надає розширені можливості блокування небажаних входів, керуючись заданими правилами та тригерами. У цьому посібнику ми детально розглянемо процес налаштування та використання PyFilter для блокування несанкціонованих спроб підключення через SSH на сервері Ubuntu 16.04.

Передумови

Перед тим як приступити до встановлення та налаштування PyFilter, переконайтеся, що ваш сервер Ubuntu 16.04 відповідає наступним критеріям:

  • На сервері повинен бути активний та правильно налаштований SSH-сервер.
  • Необхідна наявність Python 3 або пізнішої версії.
  • Наявність менеджера пакетів pip для Python.
  • Потрібен обліковий запис користувача з правами sudo для адміністративних дій.

Процес встановлення PyFilter

Для встановлення PyFilter скористайтеся наступними командами:

  sudo apt-get update
  sudo apt-get install python3-pip
  sudo pip3 install pyfilter
  

Конфігурація PyFilter

Після успішної інсталяції PyFilter необхідно налаштувати конфігураційний файл для визначення правил блокування. За замовчуванням, файл конфігурації знаходиться за шляхом /etc/pyfilter/pyfilter.conf.

Відкрийте цей файл у вашому текстовому редакторі:

  sudo nano /etc/pyfilter/pyfilter.conf
  

Вставте наступні рядки у конфігураційний файл для налаштування потрібних параметрів:

  [global]
  enabled = true
  log_file = /var/log/pyfilter.log
  

Налаштування обмеження кількості спроб входу

  max_retries = 5
  

Встановлення часу блокування IP-адреси в секундах

  block_time = 300
  

Активація блокування IP-адрес з невідомими host keys

  block_unknown_host_keys = true
  

Налаштування сповіщень електронною поштою про блокування

  enable_email_notifications = false
  

Вкажіть електронну адресу для надсилання повідомлень

  email_address = [email protected]
  

Збережіть внесені зміни та закрийте файл конфігурації.

Запуск PyFilter

Для запуску PyFilter використовуйте наступну команду:

  sudo systemctl start pyfilter
  

Щоб PyFilter автоматично запускався при завантаженні системи, скористайтеся командою:

  sudo systemctl enable pyfilter
  

Тестування роботи PyFilter

Перевірте роботу PyFilter, здійснивши декілька спроб підключення через SSH з некоректними обліковими даними. Після перевищення ліміту невдалих спроб, PyFilter заблокує вашу IP-адресу.

Для перегляду заблокованих IP-адрес, перегляньте журнал PyFilter:

   sudo cat /var/log/pyfilter.log
   

Підсумки

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

Поширені запитання

1. Що таке атаки методом грубої сили та їх вплив на безпеку SSH-серверів?

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

2. Як саме PyFilter захищає від атак грубою силою?

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

3. Які параметри можна налаштувати в PyFilter?

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

4. Як перевірити, чи правильно працює PyFilter?

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

5. Хто є розробником PyFilter?

PyFilter було розроблено групою безпеки Google.

6. Які існують альтернативні методи захисту від атак грубою силою?

До альтернативних методів захисту належать використання двофакторної аутентифікації, налаштування міжмережевого екрану для блокування підключень з невідомих IP-адрес, а також застосування систем виявлення та запобігання вторгнень (IDS/IPS).

7. Чи є якісь обмеження у використанні PyFilter?

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

8. Як оновити PyFilter до останньої версії?

Для оновлення PyFilter скористайтеся командою:

   sudo pip3 install --upgrade pyfilter
   

9. Де можна отримати додаткову інформацію про PyFilter?

Детальнішу інформацію про PyFilter можна знайти на офіційному сайті проекту: https://github.com/google/pyfilter

10. Чи є PyFilter безкоштовним програмним забезпеченням?

Так, PyFilter – це безкоштовне програмне забезпечення з відкритим вихідним кодом, розповсюджуване під ліцензією Apache 2.0.