Конфигуриране на iptables в CentOS 7

Всички операционни системи, базирани на ядрото на Linux, имат вградена защитна стена, която следи и филтрира входящия и изходящия трафик въз основа на правилата, зададени от потребителя или платформата. В разпределението CentOS 7 по подразбиране тази функция се изпълнява от iptables помощната програма, взаимодействаща с вградената защитна стена на netfilter. Понякога системният администратор или мрежовият мениджър трябва да персонализира работата на този компонент, като напише съответните правила. В днешната статия бихме искали да говорим за основите на iptables конфигурацията в гореспоменатата ОС.

Конфигурираме iptables в CentOS 7

Самият инструмент е на разположение за работа веднага след завършване на инсталацията на CentOS 7, но освен това ще трябва да инсталирате някои услуги, които ще обсъдим по-късно. В тази платформа има друг вграден инструмент, който изпълнява функцията на защитна стена, наречена FirewallD. За да избегнете конфликти при по-нататъшна работа, препоръчваме ви да деактивирате този компонент. За подробни указания по тази тема вижте други наши материали на следния линк.

Още подробности: Деактивирайте firewallD в CentOS 7

Както знаете, системата може да използва IPv4 и IPv6. Днес ще се съсредоточим върху примера на IPv4, но ако искате да конфигурирате друг протокол, ще трябва да използвате ip6tables вместо командата iptables в конзолата.

Инсталиране на iptables услуги

На първо място, добавете допълнителни компоненти на полезността, разглеждана днес в системата. Те ще помогнат при създаването на правила и други параметри. Зареждането се извършва от официалното хранилище, така че не отнема много време.

  1. Всички по-нататъшни действия ще се извършват в класическата конзола, така че я стартирайте с всеки удобен метод.
  2. Стартиране на терминал за конфигуриране на помощната програма iptables в CentOS 7

  3. Командата sudo yum install iptables-services отговаря за инсталирането на sudo yum install iptables-services . Въведете го и натиснете клавиша Enter .
  4. Инсталиране на услуги за стартиране на помощната програма iptables в CentOS 7

  5. Потвърдете сметката на суперпотребителя с парола. Обърнете внимание, че при запитване за sudo символите, въведени в низа, никога не се показват.
  6. Въвеждане на парола за инсталиране на iptables услуги в CentOS 7 през терминала

  7. Ще бъдете подканени да добавите един пакет към системата, потвърдете това действие, като изберете опцията y .
  8. Потвърждение за добавяне на нови пакети за iptables към CentOS 7

  9. След завършване на инсталацията, проверете текущата версия на инструмента: sudo iptables --version .
  10. Проверете версията на помощната програма iptables в CentOS 7 чрез терминала

  11. Резултатът ще се появи в нов ред.
  12. Показване на текущата версия на помощната програма iptables в CentOS 7 през терминала

Сега операционната система е напълно готова за по-нататъшно конфигуриране на защитната стена чрез помощната програма iptables . Предлагаме да се запознаем с конфигурацията на артикулите, като започнем с управлението на услугите.

Спиране и стартиране на услугите на iptables

Управлението на режима на работа с iptables се изисква в случаите, когато трябва да проверите ефекта на определени правила или просто да рестартирате компонента. Това се прави с помощта на вградените команди.

  1. Напишете sudo service iptables stop и натиснете клавиша Enter, за да спрете услугите.
  2. Спрете iptables комуналните услуги на CentOS 7 чрез терминал

  3. За да потвърдите тази процедура, въведете паролата на суперпотребителя.
  4. Въвеждане на парола, за да спрете iptables помощните услуги на CentOS 7

  5. Ако процесът е успешен, ще се появи нов ред, показващ промени в конфигурационния файл.
  6. Уведомление за спиране на комунални услуги iptables в CentOS 7

  7. Стартирането на услугите се извършва почти по същия начин, само линията поема появата на sudo service iptables start .
  8. Стартирайте iptables комунални услуги на CentOS 7 в терминала

Такова рестартиране, стартиране или спиране на помощната програма е на разположение по всяко време, не забравяйте да върнете само връщаната стойност, когато тя е в търсенето.

Преглед и изтриване на правила

Както вече споменахме, защитната стена се управлява ръчно или автоматично добавяне на правила. Например, някои допълнителни приложения могат да имат достъп до инструмента, като променят определени правила. Въпреки това, повечето от тези действия все още се извършват ръчно. Списък с всички текущи правила е достъпен чрез командата sudo iptables -L .

Показване на списък с всички текущи правила за помощната програма на iptables в CentOS 7

В показания резултат ще има информация за три вериги: “INPUT” , “OUTPUT” и “FORWARD” - съответно входящ, изходящ и преден трафик.

Преглед на всички правила за полезност на iptables в CentOS 7

Можете да определите състоянието на всички вериги, като напишете sudo iptables -S .

Показване на списъка на iptables веригите за помощ в CentOS 7

Ако правилата, които виждате, не ви подхождат, те просто се премахват. Целият списък се изчиства по следния начин: sudo iptables -F . След активирането, правилата ще бъдат изтрити абсолютно за всичките три вериги.

Изчистете списъка с всички правила на iptables в CentOS 7

Когато е необходимо да се засягат само политики от една верига, към реда се добавя допълнителен аргумент:

sudo iptables -F INPUT
sudo iptables -F OUTPUT
sudo iptables -F FORWARD

Изчистете списъка с правила за определена верига iptables в CentOS 7

Липсата на всички правила означава, че вече няма настройки за филтриране на трафика към никоя от страните. След това системният администратор вече задава нови параметри, като използва същата конзола, команда и различни аргументи.

Получаване и отпадане на трафик в вериги

Всяка верига е конфигурирана отделно за получаване или блокиране на трафика. Като зададете определена стойност, можете да се уверите, че входящият трафик ще бъде блокиран. За да направите това, командата трябва да бъде sudo iptables --policy INPUT DROP , където INPUT е името на веригата, а DROP е стойността за нулиране.

Възстановете входящите заявки в помощната програма iptables на CentOS 7

Точно същите параметри са зададени за други схеми, например, sudo iptables --policy OUTPUT DROP . Ако трябва да зададете стойността за получаване на трафик, тогава DROP се променя на ACCEPT и sudo iptables --policy INPUT ACCEPT .

Разрешаване и блокиране на портове

Както знаете, всички мрежови приложения и процеси работят чрез конкретен порт. Чрез блокиране или разрешаване на определени адреси можете да контролирате достъпа до всички мрежови цели. Нека да анализираме пренасочването на портове, използвайки пример 80 . В "Терминал" ще бъде достатъчно да въведете командата sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT , където -A е добавянето на ново правило, INPUT е индикация на верига, -P е дефиниция на протокол, в този случай TCP, и -dport е пристанището на местоназначението.

Правилото за отваряне на порт 80 в помощната програма iptables в CentOS 7

Същата команда се прилага за порт 22 , който се използва от SSH услугата: sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT .

Правилото за отваряне на порт 22 в помощната програма iptables в CentOS 7

За да блокирате посочения порт, се използва низ от точно същия тип, само в края ACCEPT се променя на DROP . Резултатът е например sudo iptables -A INPUT -p tcp --dport 2450 -j DROP .

Правилото за забрана на порта в помощната програма iptables на CentOS 7

Всички тези правила се съхраняват в конфигурационния файл и можете да ги прегледате по всяко време. Не забравяйте, че това се прави чрез sudo iptables -L . Ако IP адресът на мрежата трябва да бъде разрешен заедно с пристанището, линията е леко променена - след като са добавени TPC , -s и самия адрес. sudo iptables -A INPUT -p tcp -s 12.12.12.12/32 --dport 22 -j ACCEPT , където 12.12.12.12/32 е необходимия IP адрес.

Правилото за приемане на IP адрес и порт в iptables в CentOS 7

Блокирането се осъществява на същия принцип, като накрая се променя стойността на ACCEPT на DROP . Тогава се оказва, например, sudo iptables -A INPUT -p tcp -s 12.12.12.0/24 --dport 22 -j DROP .

Правилото за блокиране на IP адреса и порта в iptables в CentOS 7

ICMP блокиране

ICMP (Internet Control Message Protocol) е протокол, който е част от TCP / IP и се използва за изпращане на съобщения за грешки и аварийни ситуации при работа с трафик. Например, когато исканият сървър е недостъпен, този инструмент изпълнява сервизни функции. Помощната програма iptables ви позволява да я блокирате чрез защитна стена и можете да направите това с командата sudo iptables -A OUTPUT -p icmp --icmp-type 8 -j DROP . Тя ще блокира заявките от твоя и към твоя сървър.

Първото правило за блокиране на iptables в CentOS 7

Входящите заявки са блокирани малко по-различно. След това трябва да въведете sudo iptables -I INPUT -p icmp --icmp-type 8 -j DROP . След активирането на тези правила сървърът няма да отговори на пинг заявки.

Второто правило за блокиране на pinging в iptables в CentOS 7

Предотвратете неоторизирани действия на сървъра

Понякога сървърите са обект на DDoS атаки или други неупълномощени действия от нарушители. Правилната конфигурация на защитната стена ще ви позволи да се предпазите от този вид хакове. Като начало препоръчваме да зададете такива правила:

  1. Регистрирайте се в конзолата iptables -A INPUT -p tcp --dport 80 -m limit --limit 20/minute --limit-burst 100 -j ACCEPT , където - лимит 20 / минута е границата на честотата на положителните резултати. Можете сами да зададете единица за измерване, например /second, /minute, /hour, /day . - номер на ограничението - ограничение за броя на пакетите, които трябва да се предават. Всички стойности се задават индивидуално според предпочитанията на администратора.
  2. Правилото за сигурност от DDoS в iptables в CentOS 7

  3. След това можете да забраните сканирането на отворени портове, за да премахнете една от възможните причини за хакване. Въведете първата команда sudo iptables -N block-scan .
  4. Първото правило, което забранява iptables за сканиране на портове в CentOS 7

  5. След това посочете sudo iptables -A block-scan -p tcp —tcp-flags SYN,ACK,FIN,RST -m limit —limit 1/s -j RETURN .
  6. Второто правило за забрана на iptables за сканиране на портове в CentOS 7

  7. Последната трета команда е: sudo iptables -A block-scan -j DROP . В тези случаи изразът block-scan е името на използваната схема.
  8. Третото правило за блокиране на iptables сканиране на портове в CentOS 7

Показаните днес настройки са само основата на работата в инструмента за управление на защитната стена. В официалната документация на помощната програма ще намерите описание на всички налични аргументи и опции и ще можете да конфигурирате защитната стена специално за вашите заявки. По-горе бяха разгледани стандартните правила за безопасност, които се използват най-често и в повечето случаи са необходими.