IPTables правила для ntopng

Первым делом посмотрим текущие правила IPTables:

iptables -nvL

Чтобы открыть порт ntopng добавим правило:

sudo iptables -A INPUT -m tcp -p tcp --dport 3000 -j ACCEPT

Чтобы открыть порт ntopng только для конкретной сети или IP:

sudo iptables -A INPUT -m tcp -p tcp --dport 3000 -s 10.0.0.0/24 -j ACCEPT

Смотри также мои статьи:
Настройка IPTables
Установка и настройка ntopng

IPTables правила для nprobe

Первым делом посмотрим текущие правила IPTables:

iptables -nvL

Чтобы nprobe мог принимать NetFlow данные, откроем ему порт:

sudo iptables -A INPUT -p udp --dport 2055 -j ACCEPT

Чтобы nprobe мог принимать NetFlow данные только от конкретной сети или IP:

sudo iptables -A INPUT -s 10.0.0.0/24 -p udp --dport 2055 -j ACCEPT

Смотри также мои статьи:
Настройка IPTables
Установка и настройка nprobe

IPTables правила для MySQL

Если в iptables блокируются все входящие соединения (INPUT DROP) и чтобы открыть внешний доступ к MySQL необходимо добавить правила:

iptables -A INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:

iptables -A INPUT -s 10.0.0.0/24 -p tcp -m tcp --dport 3306 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

iptables -D INPUT -p tcp -m tcp --dport 3306 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Замечу, для того чтобы открыть внешний доступ, также нужно в конфигурационном файле my.cnf закомментировать строку «bind-address = 127.0.0.1».

Если по умолчанию INPUT ACCEPT, то сначала укажем с каких IP разрешен доступ, а только последним правилом заблокируем всем остальным:

/sbin/iptables -A INPUT -s 127.0.0.1 -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -A INPUT -s 192.168.1.5 -p tcp --destination-port 3306 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

Например используя nmap можно проверить локально и внешне фильтруется ли доступ:

nmap -p 3306 localhost
nmap -p 3306 192.168.1.5

Смотри также:
Настройка IPTables
Другие мои статьи о MySQL

IPTables правила для NTP и SNTP

Чтобы открыть доступ NTP клиенту и серверу в IPTables необходимо добавить правила:

sudo iptables -A OUTPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -m state --state NEW -p udp --dport 123 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 10.0.0.0/24:

sudo iptables -A OUTPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
sudo iptables -A INPUT -s 10.0.0.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D OUTPUT -p udp -m udp -m multiport --dports 123 -m state --state NEW -j ACCEPT
sudo iptables -D INPUT -m state --state NEW -p udp --dport 123 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Смотри также:
Настройка IPTables
Настройка NTP клиента и сервера в Linux

IPTables правила для FTP сервера

Чтобы открыть доступ к FTP серверу в IPTables необходимо добавить правила:

sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 1024:1030 -j ACCEPT

Чтобы открыть доступ только конкретной сети, например 192.168.1.0/24:

sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 21 -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -A INPUT -s 192.168.1.0/24 -p tcp --dport 1024:1030 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -p tcp --dport 21 -j ACCEPT
sudo iptables -D OUTPUT -p tcp --sport 20 -j ACCEPT
sudo iptables -D INPUT -p tcp --dport 1024:1030 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

1024-1030 — пример портов для пассивного режима, указываются в конфигурации FTP сервера, например для ProFTPd указываются в файле /etc/proftpd/proftpd.conf так:

PassivePorts 1024 1030

Смотри также мои статьи:
Настройка IPTables
Активный и пассивный режим работы FTP
Установка и настройка Pure-FTPd в Ubuntu
Установка и настройка ProFTPd в Ubuntu

IPTables правила для Asterisk

Чтобы разрешить подключение SIP в IPTables, добавим правила (первое для соединений, второе для голосового трафика):

sudo iptables -A INPUT -p udp -m udp --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

Чтобы разрешить подключения только с конкретного адреса, то вместо правил выше укажем (где 192.168.1.50 доверенный IP адрес):

sudo iptables -A INPUT -p udp -m udp -s 192.168.1.50 --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.50 --dport 10000:20000 -j ACCEPT

Аналогично укажем для каждого IP либо сразу для подсети, например:

sudo iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 5060 -j ACCEPT
sudo iptables -A INPUT -p udp -m udp -s 192.168.1.0/24 --dport 10000:20000 -j ACCEPT

Чтобы удалить правило укажем ту же команду, заменив -A на -D, например:

sudo iptables -D INPUT -p udp -m udp -s 192.168.1.0/24 --dport 5060 -j ACCEPT
sudo iptables -D INPUT -p udp -m udp -s 192.168.1.0/24 --dport 10000:20000 -j ACCEPT

Посмотреть список правил можно командой:

sudo iptables -nvL

Смотри также мои статьи:
IPTables правила для Asterisk AMI
Настройка IPTables

Скрипт быстрой настройки IPTables

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

Читать далее «Скрипт быстрой настройки IPTables»

Журналирование активности средствами IPTables

С помощью iptables можно записывать в лог-файл сетевую активность, то есть какие данные куда передаются и откуда приходят.
Пример команды:

sudo iptables -t filter -A FORWARD -s 192.168.1.0/24 -m tcp -p tcp --dport 80 -j LOG --log-prefix "iptables: "

Чтобы информация писалась не в rsyslog файл, а отдельно, создадим файл:

sudo nano /etc/rsyslog.d/10-iptables.conf

И добавим в него следующее:

:msg, contains, "iptables: " -/var/log/iptables.log
& ~

Чтобы применить изменения перезапустим rsyslog:

sudo /etc/init.d/rsyslog reload

Готово, указанная в первом правиле сетевая активность будет записываться в файл /var/log/iptables.log.

Также желательно настроить logrotate для удаления старых логов, для экономии места на диске.

Смотрите также:
Настройка logrotate для ротации логов
Настройка IPTables

Установка и использование Firewall Builder (fwbuilder)

Firewall Builder — утилита позволяющая легко подготовить правила для множества брандмауэров, например iptables, ipfw, acl для HP, Cisco и т.д.

Утилиту можно fwbuilder запускать как под Windows так и Linux, в Linux когда она установлена ее можно запускать из меню или набрав команду fwbuilder.

В Linux Ubuntu fwbuilder можно установить скачав его по ссылке http://sourceforge.net/projects/fwbuilder/files/Current_Packages/ и запустив скачанный файл либо через консоль, например командой:
dpkg -i fwbuilder_5.1.0.3599-ubuntu-precise-1_amd64.deb

Инструкцию по использованию fwbuilder для dd-wrt можно посмотреть на официальном сайте http://www.dd-wrt.com/wiki/index.php/Firewall_Builder