English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Простое руководство по конфигурации iptables на сервере CentOS

iptables является важным инструментом网络安全ной защиты для серверов Linux класса, учитывая, что большинство серверов обслуживаются специальными командами, администраторы серверов в большинстве времени могут управлять сервером удаленно через SSH, в случае разрешения безопасности, необходимо обеспечить законное соединение SSH, для чего необходимо выполнить следующую конфигурацию.

iptables -P INPUT ACCEPT
iptables -F
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -L -v

  这样能够保证SSH的22端口得到合法的通行,最后执行service iptables save,将刚才的配置保存。

  Таким образом, можно обеспечить законное прохождение SSH порта 22, а затем выполнить команду service iptables save, чтобы сохранить предыдущие настройки.

  Чтобы увидеть информацию о файле конфигурации iptables, использовать команду: cat /etc/sysconfig/iptables. В будущем можно будет напрямую редактировать этот файл, добавлять и удалять конфигурационные строки.

Просмотреть команды правил iptables, выполняющиеся в настоящее время: lsmod | grep ip_tables или iptables -L.

#!/bin/sh
Добавляеться один момент: защита от простых атак iptables политик
IPTABLES=/sbin/iptables
$IPTABLES -F
# очистка
# если тип пакета разрешен, то принимать
# Если количество соединений на порту 80 одновременно превышает 10, то сбросьте этот ip
netstat -an | grep :80 | awk -F: '{ print $8 }' | sort | uniq -c | awk -F\  '$1>10 && $2!="" { print $2 }' >> /etc/fw.list
less /etc/fw.list | sort | uniq -c | awk -F\  '$2!="" { print $2 }' > /etc/fw.list2
less /etc/fw.list2 > /etc/fw.list
while read line
    do
    t=`echo "$line"`
    $IPTABLES -A INPUT -p tcp -s $t -j DROP
done < /etc/fw.list2
# IP переадресация
$IPTABLES -A INPUT -p tcp --dport 20002 -j ACCEPT
$IPTABLES -A INPUT -d 172.16.204.7 -p tcp -m tcp --dport 20002 -i eth0 -j ACCEPT
$IPTABLES -t nat -A PREROUTING -d 211.100.39.44 -p tcp -m tcp --dport 20002 -j DNAT --to-destination 172.16.204.7:20002
$IPTABLES -t nat -A ПОСЛЕРОУТОВОДЧАЯ ПЕРЕДАЧА -d 172.16.204.7 -p tcp -m tcp --дport 20002 -j SNAT --to-source 10.6.39.44
# если пакет посещает порт 80,7710, то принять
$IPTABLES -A ВХОД -p tcp --дport 80 -j ПРИНЯТЬ
$IPTABLES -A ВХОД -p tcp --дport 8080 -j ПРИНЯТЬ
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A ВХОД -p tcp --дport 873 -j ПРИНЯТЬ
# $IPTABLES -A ВХОД -i eth0 -m ограничение --limit 1/sec --limit-burst 5 -j ПРИНЯТЬ
$IPTABLES -A ВХОД -p tcp --tcp-flags SYN,ACK,FIN,RST SYN -m ограничение --limit 30/m --limit-burst 2 -j ПРИНЯТЬ
$IPTABLES -A ПЕРЕДАЧА -p tcp --syn -m ограничение --limit 10/s -j ПРИНЯТЬ
$IPTABLES -A ПЕРЕДАЧА -f -m ограничение --limit 100/s --limit-burst 100 -j ПРИНЯТЬ
# если пакет из разрешенного IP, то принять
$IPTABLES -A ВХОД -p tcp -s 127.0.0.1  -j ПРИНЯТЬ
# если пакет не выше, то отклонить
$IPTABLES -A INPUT -p tcp --syn -j DROP
Следующие результаты тестирования брандмауэра более точны и могут выполнять определенную функцию защиты от атак
#!/bin/sh
IPTABLES="/sbin/iptables"
echo "1" > /proc/sys/net/ipv4/ip_forward
$IPTABLES -P ВХОД ОТКЛОНЯТЬ
$IPTABLES -P ПЕРЕДАЧА ОТКЛОНЯТЬ
$IPTABLES -P ВЫХОД ОТКЛОНЯТЬ
$IPTABLES -F
$IPTABLES -X
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 --tcp-flags SYN,ACK,FIN,RST SYN -m limit --limit 30/m --limit-burst 2 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -s 192.168.1.102 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 127.0.0.1 -j ACCEPT
$IPTABLES -A OUTPUT -p udp -s 192.168.1.102 -j ACCEPT
$IPTABLES -A INPUT -p tcp --syn -j DROP

Это все содержимое статьи, надеюсь, что это поможет вам в изучении, также希望大家多多支持呐喊教程。

Объявление: данное содержимое предоставлено из Интернета, авторские права принадлежат соответствующему автору, содержимое предоставлено пользователями Интернета, сайт не обладает правами собственности, не было обработано вручную, также не несет ответственности за связанные с этим юридические вопросы. Если вы обнаружите содержимое,涉嫌侵犯版权, пожалуйста, отправьте письмо по адресу: notice#oldtoolbag.com (во время отправки письма, пожалуйста, замените # на @) для сообщения о нарушении, и предоставьте соответствующие доказательства. При подтверждении, сайт немедленно удалит涉嫌侵权的内容。

Тебе может понравиться