Настройка Iptables для CentOS

И так приступим к настройке  ( не мало важного аспекта ) — это безопасность . Так как интернет сейчас это достаточно агресивная среда , и к примеру ваш сервер могут не взломать , а скажем подобрать пароль и логин к одному из пользователей и ночью заварачивать целые направления через вас ( через взломанный аккаунт ) и тем самым за ваш счет делать звонки :
Немного информации относительно безопасности описано тут  — советую ознакомиться .

После такого вступления , вот пример скрипта для настройки Iptables CentOS :

#!/bin/sh

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT — [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -i eth0 -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp —icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -m state —state ESTABLISHED,RELATED -j ACCEPT

# VoIP Global-Telecom
-A RH-Firewall-1-INPUT -s 82.XXXXXXX -j ACCEPT
# SSH for NET+ networks

-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 22 -s 10.XXXXXXX/32 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 22 -s 78.XXXXXXX/32 -j ACCEPT

#HTTT for NET+
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 80 -s XXXXXXXXXX/32 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 80 -s XXXXXXXXXX/23 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp —dport 80 -s XXXXXXXXXX/32 -j ACCEPT

# VoIP clients
-A RH-Firewall-1-INPUT -s XXXXXXXXXX/255.255.255.255 -p udp -m udp —dport 5060 -j ACCEPT

-A RH-Firewall-1-INPUT -s XXXXXXXXXX/255.255.255.255 -p udp -m udp —dport 6000:40000 -j ACCEPT

-A RH-Firewall-1-INPUT -s XXXXXXXXXX/255.255.255.255 -p udp -m udp —dport 4000:4999 -j ACCEPT

Вот так можно сделать безопасным наш сервер VoIP , иначе будут сканировать и пеерберать пароли или пробовать через вас позвонить , если удастся .. … то  будут умельцы пускать скажем ночью (что б без палева) пускать весь трафик исходящий через вас — им это не будет стоить ни чего , а вам……..

 

Далее если мы хотим (а мы конечно же хотим) что б наш iptables был в автозагрузке через службу , выполняем след. :

chkconfig --level 35 iptables on

chkconfig --list iptables

chkconfig --add iptables

chkconfig --del iptables

Помните одно хорошее правило что any to any  — это дыра в безопасности

И это часть общей безопасности , данная статья постоянно обновляется ….

Как правило есть включить log iptables  все сообщения будут сыпаться в  файл messege для того что б все сообщения сыпались в отдельный файл (что упрощает отладку) необходимо выполнить след:

#vi /etc/syslog.conf

#kern.warning /var/log/iptables.log

 После чего надо выполнить

#/etc/init.d/syslog restart

И на последок что б iptables логировал в конец правил добавляем

#iptables -A OUTPUT -p tcp -m tcp —dport 22 -j LOG —log-prefix «outgoing ssh:»

Плюс ко всему можно все это добро — я имею ввиду файл (который можт сильно заполняться) добавить в ротацию
vi /etc/logrotate.d/syslog
add /var/log/firewall.log to list of filenames