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

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

Вступ

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

Щоб захистити систему від атак методом грубої сили, можна використовувати PyFilter. 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

Установіть limit на кількість спроб входу, після перевищення якої система блокуватиме IP-адресу порушника.

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-адреси, блокування спроб входу з невідомих host keys та надсилання повідомлень електронної пошти з повідомленнями про події блокування.

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.