Установка і приклад налаштування фаєрвола CSF на Ubuntu

CSF – програмне забезпечення для автоматичного захисту сервера. У разі підозрілої активності програма блокує IP адреса з якого ця активність надходить.

Для роботи з CSF необхідний Perl і бібліотека Time/HiRes. Якщо вони не встановлені – виконуємо команду:

sudo apt install libwww-perl

Далі встановлюємо csf. Завантажуємо архів:

wget  https://download.configserver.com/csf.tgz

Разпакуйте архів і перейдіть в папку з дистрибутивом:

tar -xzf csf.tgz 
cd csf

Виконаємо установку:

sh install.sh

Установка завершена. CSF запущений в тестовому режимі, тобто, програма очищає правила кожні кілька хвилин (за замовчуванням кожні 5 хвилин).
Далі потрібно відредагувати конфігураційний файл:

nano /etc/csf/csf.conf

Вимкніть тестовий режим. Замініть «1» на «0» в рядку:

#lfd will not start while this is enabled 
TESTING = "1"

У наступному рядку Вам потрібно перерахувати TCP-порти, які використовуються для вхідних з’єднань. Наприклад, якщо сервер використовує SSH – вкажіть порт 22 і т.д .:

TCP_IN = "20,21,22,25,53,80,110,143,443,465,587,993,995"

Аналогічно перераховуємо TCP-порти для вихідні підключення.

TCP_OUT = "20,21,22,25,53,80,110,113,443,587,993,995"

Так само, дозволяємо вхідні\вихідні підключення на UDP-порти:

UDP_IN = "20,21,53"  
UDP_OUT = "20,21,53,113,123"

Якщо потрібно обмежити доступ до налаштувань через призначений для користувача інтерфейс (cPanel, Webmin …), використовуємо параметр:

RESTRICT_UI = "1"

Наступний параметр встановлює кількість заблокованих IP-адрес, які відстежує CSF.

DENY_IP_LIMIT = "200"

Кількість заблокованих IP-адрес, які відстежує CSF для тимчасового блокування:

DENY_TEMP_IP_LIMIT = "100"

Дозволити до 10 нових одночасних з’єднань на 22 порт і 30 одночасних з’єднань на 80 порт.

CONNLIMIT = "22; 10,80; 30"

Вказуємо E-mail, на який будуть відправлятися повідомлення від lfd-служби:

LF_ALERT_TO = <your@email></your@email>

Після 3-х невдалих спроб аутентифікації по SSH блокування на годину:

LF_SSHD = "3"  
LF_SSHD_PERM = "3600"

Де, LF_SSHD – кількість спроб аутентифікації. LF_SSHD_PERM – час в секундах на яке блокує IP. Якщо потрібно заблокувати назавжди – замість секунд потрібно прописати «1».

Аналогічна захист працює на FTP:

LF_FTPD = "3"  
LF_FTPD_PERM = "3600"

І на SMTP-аутентифікації:

LF_SMTPAUTH = "3"  
LF_SMTPAUTH_PERM = "3600"

і т.д.

Зазначаємо, щоб lfd-служба перевіряла наявність підозрілих файлів кожні 500 секунд:

LF_DIRWATCH = "300"

Всі параметри можна змінити за Вашим вимогам.

 

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

csf -s

Щоб перезапустити csf з новими конфігураційними налаштуваннями виконуємо:

csf -r

Якщо необхідно запускати CSF при завантаженні системи – допишіть команду csf -s в кінець файлу /etc/rc.local

Крім конфігураційного файлу CSF є ще файли для роботи з IP-адресами:

csf.allow – «білий» список IP. У цей файл варто додавати адреси з робітників і домашніх пристроїв, так як вони не будуть блокуватися навіть при підозрілої активності.

csf.deny – «чорний» список IP. У цьому зберігаються заблоковані адреси. За умовчанням вони видаляються через деякий час файерволом – щоб вони не віддалялися потрібно в рядку з IP-адресою вказати коментар # do not delete:

123.123.123.123 # do not delete

csf.ignore – список IP, які будуть ігноруватися і перевірятися не будуть, якщо тільки вони не прописані в csf.deny.

Щоб перевірити чи не заблоковано IP використовуйте команду:

csf -g 123.123.123.123

Щоб прибрати IP з «чорного» списку, виконайте:

csf -dr 123.123.123.123

Заблокувати IP-адреса на 1 день:

csf -td 123.123.123.123 1 d

Заблокувати IP-адреса на 30 хвилин:

csf -td 123.123.123.123 1800

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

csf -tr 123.123.123.123

Додати IP-адреса в білий список на 2 години:

csf -ta 123.123.123.123 7200

Заблокувати IP-адреса на 1 годину для порту 80:

csf -td 123.123.123.123 3600 -p 80

Перевірити наявність оновлень csf, але не встановлювати:

csf -c

Перевірити наявність оновлень csf і встановити якщо вони є:

csf -u

Видалити і розблокувати всі записи з файлу /etc/csf/csf.deny:

csf -df

Видалити IP-адреси із білого і чорного списку:

csf -tr

Переглянути список тимчасово заблокованих IP-адрес:

csf -t

Відключити/деактивувати csf і lfd:

csf -x

Включити/активувати csf і lfd:

csf -e

Щоб переглянути довідку щодо csf, використовуємо команду:

csf -h

Goodhoster.NET
Додати коментар