Щоб налаштувати захист від неавторизованого доступу до серверу, найчастіше використовують мережевий екран – iptables.
Ми розглянемо один з прикладів налаштування iptables на щойно встановленому сервері з операційною системою Centos 7.
Після встановлення оперційної системи, рекомендовано спочатку виконати оновлення пакетів:
#yum update
Спочатку, потрібно відключити файрволл та видалити його с автозавантаження:
# systemctl stop firewalld
# systemctl disable firewalld
Встановлюємо пакет з утілітами iptables та додаємо до автозавантаження:
# yum install iptables-services
# systemctl enable iptables.service
# systemctl start iptables.service
У подальшому, зручно використовувати команди iptables-save та iptables-restore для роботи з правилами iptables.
Нижче приведено приклад, як додати правило надання доступу через SSH та 22 порт для конретного IP (та заборона для всіх інших IP), бажано додавати декілька IP. Якщо ви не впевнені у тому, що робите – краще зверніться до кваліфікованого системного адміністратора. Неправильні налаштування правил iptables можуть призвести до втрати доступу до серверу.
У якості прикладу, ми надамо доступ для нашої статичної ip адресу: 191.131.86.16 до 22 порту серверу де відбувається налаштування.
Виконуємо збереженя поточних правил ip iptables у файл за допомогою команди iptables-save:
# iptables-save > iptables
Відкриваємо отриманий файл у редакторі nano (встановити nano: # yum install -y nano):
# nano iptables
Має з’явитися приблизно такий перелік правил, за замовчуванням:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [574:33674]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
Видаляємо строку -A INPUT -p tcp -m state –state NEW -m tcp –dport 22 -j ACCEPT
Замість неї додаємо:
-A INPUT -s 191.131.86.16/32 -p tcp -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j DROP
Маємо отримати такий вміст:
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [574:33674]
-A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -s 191.131.86.16/32 -p tcp -m tcp –dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp –dport 22 -j DROP
-A INPUT -j REJECT –reject-with icmp-host-prohibited
-A FORWARD -j REJECT –reject-with icmp-host-prohibited
COMMIT
Якщо ви використовуєте редактор nono, для збереження інформаціі у файлі використовуйте комбінацію клавіш CTRL+O, Enter . Для виходу з редактору nano: CTRL+X
Для завантаження модифікованих правил у iptables використовуйте:
# iptables-restore < iptables
Для перегляду поточних правил iptables використовуйте команду:
# iptables -S
Для збереження правил після перезавантаження серверу виконайте команду:
# iptables-save > /etc/sysconfig/iptables