Після встановлення чистого сервера Debian 13 одним із перших кроків має бути налаштування мережевої безпеки. Якщо доступ до сервера здійснюється виключно через SSH з використанням ключів, доцільно повністю закрити всі вхідні порти та залишити відкритим лише порт 22 для SSH.
У Debian 13 стандартним інструментом для фільтрації мережевого трафіку є nftables. Він входить до складу сучасних версій Linux і дозволяє гнучко налаштовувати правила фаєрвола.
Встановлення nftables
Оновіть список пакетів та встановіть nftables:
apt update
apt install nftables -y
Створення конфігурації фаєрвола
Відкрийте файл конфігурації:
nano /etc/nftables.conf
Вставте наступний вміст:
#!/usr/sbin/nft -f
flush ruleset
table inet filter {
chain input {
type filter hook input priority 0;
policy drop;
# localhost
iif lo accept
# вже встановлені з'єднання
ct state established,related accept
# SSH
tcp dport 22 accept
# ping (необов'язково)
ip protocol icmp accept
ip6 nexthdr icmpv6 accept
}
chain forward {
type filter hook forward priority 0;
policy drop;
}
chain output {
type filter hook output priority 0;
policy accept;
}
}
Перевірка конфігурації
Перед застосуванням правил необхідно переконатися, що конфігурація не містить помилок:
nft -c -f /etc/nftables.conf
Якщо помилок не виявлено, можна активувати фаєрвол.
Запуск та автозавантаження
systemctl enable nftables
systemctl restart nftables
Перевірити завантажені правила можна командою:
nft list ruleset
Що роблять ці правила
- Блокують усі вхідні підключення за замовчуванням.
- Дозволяють локальний трафік через інтерфейс localhost.
- Дозволяють вже встановлені та пов’язані з’єднання.
- Відкривають лише порт 22 для SSH.
- Дозволяють вихідні з’єднання сервера.
- Блокують пересилання пакетів (forward).
Перевірка відкритих портів
Після налаштування фаєрвола рекомендується перевірити сервер з іншого пристрою:
nmap -Pn IP_СЕРВЕРА
У результаті повинен залишитися доступним лише SSH-порт:
22/tcp open ssh
Додатковий захист SSH
Якщо ви підключаєтесь до сервера лише з однієї статичної IP-адреси, можна дозволити доступ до SSH тільки з неї.
Замість правила:
tcp dport 22 accept
використовуйте:
ip saddr 203.0.113.55 tcp dport 22 accept
де 203.0.113.55 необхідно замінити на власну IP-адресу.
У такому випадку SSH буде доступний виключно з вказаної адреси, а всі інші спроби підключення будуть автоматично блокуватися.
Важливе застереження
Перед застосуванням нових правил рекомендується відкрити другу SSH-сесію та не закривати її до завершення перевірки. Це дозволить уникнути втрати доступу до сервера у випадку помилки в конфігурації фаєрвола.
