Блокування ip адреси за допомогою iptables, база знань

Істотно полегшує життя використання fail2ban. Але іноді потрібно просто забанити якийсь ip-шник без всяких правил і до всього сервера.

Найпростіший і ефективний спосіб заблокувати ip:

Замість DROP можна поставити REJECT. Щодо доцільності використання того чи іншого можна почути діаметрально протилежні думки.

DROP - просто закриває з'єднання і не відправляє нічого у відповідь. З'єднання потім побивається з таймаут, час якого при бажанні можна скоротити. В результаті наступає через велику запитів ми не посилаємо нічого у відповідь. Однак при скануванні закритих портів, вони будуть позначатися як filtered, що говорить, що щось все-таки слухає порт.

REJECT - скидає з'єднання і відправляє у відповідь повідомлення, вказане в опції -reject-with. За замовчуванням відправляється host is unreachable. При безлічі запитів - безліч відповідей, але при скануванні порти будуть unreachable. Ресурсів сервера буде споживатися більше.

Подивитися всі правила можна командою:

На екрані отримаємо щось подібне:

Розблокувати рядок можна за номером правила:

або вказавши правило повністю:

Видалити всі правила:

Налаштовані блокування ip будуть діяти до наступного перезавантаження системи. Щоб вони відновлювалися при наступних завантаженнях системи, можна використовувати різні методи.
Один з найпростіших - встановити пакет iptables-persistent, за допомогою якого можна буде зберігати створювані правила в окремі конфігураційні файли, які в свою чергу будуть автоматично завантажуватися після перезавантаження системи.

Для збереження правил потрібно набрати:

Ще по темі Iptables - утиліта управління роботою брандмауера, Команди утиліти, Налаштування Linux Ubuntu, Налаштування Ubuntu для VDS / VPS