Настройка Iptables в Unix/Linux

Настройка Iptables в Unix/Linux

У меня есть установленный веб-сервер Apache на CentOS. Как настроить брандмауэр, используя IPTables, разрешить или запретить доступ к веб-серверу под CentOS? В уроке я покажу вам, как я это делаю.

Что такое Iptables?

Iptables является  приложением, что позволяет системному администратору настраивать таблицы в
брандмауэре ядра Linux (реализовано в виде различных Netfilter модулей) и цепей и правил. Различные модули и программы ядра в настоящее время используются для различных протоколов; Iptables относится к IPv4, ip6tables на IPv6, arptables к ARP и Ebtables для Ethernet.

Настройка IPTables

В большинстве дистрибутивов Linux, включая RedHat / CentOS Linux уже сразу с IPTables по умолчанию. Вы можете использовать следующую процедуру для проверки того, что Iptables был уже установлен. Откройте терминал и введите следующую команду:

# iptables -V

Пример вывода:

Iptables v1.3.5

Вы можете использовать следующую команду, чтобы просмотреть состояние команды Iptables, для этого выполните:

# yum info iptables

Если команда что выше не появляется, то введите следующую команду, чтобы установить ИПтейблес

# yum install iptables -y

Конфигурация Iptables для веб-сервера

Конфигурация Iptables по умолчанию на CentOS не разрешает доступ к HTTP (TCP порт 80) и HTTPS (TCP ПОРТ 443 )которые использует веб-сервер (например Apache).

Шаг 1: Flush или удалите все IPTABLES правила

# iptables -F
# iptables -X
# iptables -t nat -F
# iptables -t nat -X
# iptables -t mangle -F
# iptables -t mangle -X

Шаг 2: Установите правила по дефолту

# iptables -P INPUT DROP
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT

Шаг 3: Разрешить доступ к HTTP для 80 порта и HTTPS для 443 порта

# iptables -A INPUT -i lo -j ACCEPT 
# iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT 
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
# iptables -A INPUT -p icmp -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
# iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

Добавить iptables в автозагурзку ОС

Введите следующие две команды, чтобы включить брандмауэр:

# chkconfig iptables on

Сохранить правила.

# service iptables save

Старт\Спот\Рестарт службы

# service iptables start

# service iptables stop

# service iptables restart

Анти synflood с Iptables

Нужно отредактировать  /etc/sysctl.conf, чтобы защититься от некоторых видов атак и добавить или обновить можно добавив эти строки в файл:

net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.netfilter.ip_conntrack_max = 1048576

И введите следующие команды

# iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 --syn -m recent --set --name CHECK --rsource 
# iptables -A PREROUTING -i eth0 -p tcp -m tcp --dport 80 --syn -m recent --update --seconds 5 --hitcount 15 --rttl --name CHECK --rsource -j DROP

21 пример использования iptables для администраторов

Защита от DDoS с iptables, готовый скрипт

Как заблокировать IP адрес с помощью iptables на Linux

Настройка IPtables для web сервера на RedHat/CentOS/Fedora

ВСЕ! Тема «Как настроить Iptables в CentOS» завершена, надеюсь что все понятно изложено.

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.