0

iptables

Первичная настройка IPTables

Для начала порой есть смысл выполнить:

iptables -F

Сбрасывает правила фаерволла как таковые.

Можно не выполнять, если IPTables уже был кем-то настроен и Вы боитесь потерять сделанные настройки. К слову, при определенных правилах маршрутов может сделать сервер недоступным и придется обращаться к хостеру для отключения IPTables. В общем можно, но с осторожностью.

#блокирует нулевые пакеты

iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP

#сброс пакетов XMAS

iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP

#защита от syn-flood

iptables -A INPUT -p tcp ! --syn -m state --state NEW -j DROP

Базовая защита SSH (на этом примере можно защищать FTP и другие порты):

#разрешает доступ по SSH (при условии, что порт 22-ой) с ВАШ_IP, где ВАШ_IP – это IP-адрес с которого нужен доступ (строку можно повторять нужное число раз, перечисляя разные IP-шники).

-A INPUT -s ВАШ_IP -p tcp -m tcp --dport 22 -j ACCEPT

#запрещает доступ по SSH со всех IP, кроме указанных в строке выше.

-A INPUT -p tcp --dport 22 -j DROP

Разрешаем порты для нужных сервисов (на примере нескольких базовых):

#разрешает трафик на локальный интерфейс. localhost часто используется для размещения, например, базы данных, к которой подключаются веб-сайт и почтовый сервер, т.е таким образом, сервер имеет доступ к базе данных, но взломать её через интернет сложно.

iptables -A INPUT -i lo -j ACCEPT

#разрешает трафик на 80-ый и 443-ий порты, т.е веб-сервер, т.е http и https

iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT

Почта (если сервер не выступает как почтовый, то можно не разрешать):

#разрешает smtp-трафик

iptables -A INPUT -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 465 -j ACCEPT

#разрешает pop-трафик

iptables -A INPUT -p tcp -m tcp --dport 110 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 995 -j ACCEPT

#разрешает imap-трафик

iptables -A INPUT -p tcp -m tcp --dport 143 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 993 -j ACCEPT

Разрешаем исходящие соединения, в целях, например, использования ping и других внутренних приложений:

#если не собираетесь использовать, то можно не указывать, но тогда есть вероятность того, что не будут работать, скажем, обновления из интернета

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

По аналогии разрешите доступ ко всем нужным портам, в частности, со своего IP-адреса. Порты могут быть любыми, в частности, если на сервере есть панель, то не забудьте разрешить доступ к её порту, а то не попадете туда через веб-морду.

Проделав всё необходимое, собственно, остается лишь:

#закрываем остальные порты наглухо и разрешаем исходящие соединения c сервера

iptables -P OUTPUT ACCEPT
iptables -P INPUT DROP

#проверяем заданные правила, мало ли что-то забыли

iptables -L -n

#сохраняем изменения

iptables-save | sudo tee /etc/sysconfig/iptables

#перезагружаем iptables для принятия изменений

service iptables restart

Продолжение следует !

Облачная платформа

Свежие комментарии

Подписка

Лучшие статьи

Настройка iptables в Linux от Selectel

Рассмотрим использование наиболее популярного в дистрибутивах Linux межсетевого экрана iptables. Эта инструкция — часть курса «Введение в сетевую безопасность». Смотреть весь курс

Рубрики

Популярное

1

Firewalld в CentOS

Firewalld — утилита для управления встроенным в ядро Linux брандмауэром Netfilter. Несмотря на собственный синтаксис, имеет такой же принцип работы, как Iptables. Дополнительно про управление Netfilter
2

Настройка iptables

iptables для администраторов Фаервол в системе linux контролируется программой iptables (для ipv4) и ip6tables (для ipv6). В данной шпаргалке рассмотрены самые распространённые
Previous Story

Nextcloud: запуск в Docker Compose с SSL от Let’s Encrypt

Next Story

Настройка iptables

Latest from Blog

Проброс портов в роутере MikroTik 2

Проброс портов в роутере MikroTik (port forwarding) позволяет организовать удаленный доступ из интернета к какому-нибудь устройству внутри вашей локальной сети (к IP-камере, Web, FTP или игровому серверу). В данной статье мы рассмотрим пример, как

How to set up WireGuard Client on Debian?

WireGuard is an extremely simple yet fast and modern VPN. Setting up the WireGuard VPN client on Debian is straightforward. In this tutorial, we will set up WireGuard VPN client on Debian
Go toTop

Don't Miss

Настройка iptables в Linux от Selectel

Рассмотрим использование наиболее популярного в дистрибутивах Linux межсетевого экрана iptables.

Configure FirewallD on CentOS 9/8 and RHEL 9/8

Prerequisites Before you begin, ensure that you have: Step 1: