Kenny
newbie
- Регистрация
- 17 Авг 2006
- Сообщения
- 492
- Реакции
- 174
- Автор темы
- #1
Статья будет полезна тем, кто использует хостинг панели на серверах или на виртуальном пространстве, но кому не хочется копаться в настройках фаервола.
Дано:
1. 3 сетевых интерфейса (на одном висят сайты, второй нужен для ДНС, третий - локальный)
2. Панель - IPSManager Lite
3. iptables
4. Фтп принудительно использует порты 49152:65535
Навеяно темой
Дано:
1. 3 сетевых интерфейса (на одном висят сайты, второй нужен для ДНС, третий - локальный)
2. Панель - IPSManager Lite
3. iptables
4. Фтп принудительно использует порты 49152:65535
Код:
#!/bin/sh
FW="/sbin/iptables"
#
$FW -F # Сбрасываем все правила iptables
$FW -X # Сбрасываем все правила iptables, кроме дефолтных
# ---Firewall---
# Переменные
FTPCON="20:21" # Команды FTP
FTPDATA="49152:65535" # Данные FTP
# IP аддреса
HOME="ip_address" # Admin's Home
ALIASWEB="ip_address" # IP аддрес интерфейса, на котором будут висеть сайты
ALIASDNS="ip_address" # 2-ой IP аддрес, чтобы нормально работал DNS
ALIASLAN="ip_address" # IP в локалке (если есть)
ALIASLOOP="127.0.0.1" # IP LoopBack (замыкание на себя)
# Интерфейсы
INTWEB="" # Название интерфейса, на котором будут висеть сайты
INTDNS="" # Интефейс для DNS2
INTLAN="" # Интерфейс локальной сети (если есть)
# Применительно к самому серверу (дропаем форвардинг, чтобы никто не юзал сервак, как шлюз)
$FW -P INPUT DROP
$FW -P FORWARD DROP
# (разрешаем все для себя)
$FW -A INPUT -s $ALIASLOOP -d $ALIASLOOP -j ACCEPT
$FW -A INPUT -s $ALIASWEB -d $ALIASWEB -j ACCEPT
$FW -A INPUT -s $ALIASLAN -d $ALIASLAN -j ACCEPT
$FW -A INPUT -s $ALIASDNS -d $ALIASDNS -j ACCEPT
#
$FW -A INPUT -p icmp --icmp-type 8 -m limit --limit 10/s --limit-burst 20 -j ACCEPT # ICMP
$FW -A INPUT -p icmp --icmp-type 11 -m limit --limit 10/s --limit-burst 20 -j ACCEPT # ICMP
# ---Доступ к сервисам---
# SSH
$FW -A INPUT -i $INTWEB -s $HOME -d $ALIASWEB -p tcp --dport 22 -j ACCEPT # Admin's Home
# FTP
$FW -A INPUT -i $INTWEB -p tcp --dport $FTPDATA -j ACCEPT # Разрешаем FTP Data
$FW -A INPUT -i $INTWEB -p tcp --dport $FTPCON -j ACCEPT # Разрешаем FTP
# HTTP
$FW -A INPUT -i $INTWEB -p tcp --dport 80 -j ACCEPT # Разрешаем http
# P2P
$FW -A INPUT -i $INTWEB -p tcp --dport 411 -j ACCEPT # Разрешаем p2p (если есть)
# ispmanager
$FW -A INPUT -i $INTWEB -p tcp --dport 443 -j ACCEPT # Разрешаем ISP Manager
# DNS
$FW -A INPUT -i $INTWEB -p udp --dport 53 -j ACCEPT # Разрешаем DNS для двух айпишнегов
$FW -A INPUT -i $INTDNS -p udp --dport 53 -j ACCEPT #
# POP
$FW -A INPUT -i $INTWEB -p tcp --dport 110 -j ACCEPT # Разрешаем POP3
# SMTP
$FW -A INPUT -i $INTWEB -p tcp --dport 25 -j ACCEPT # Разрешаем SMTP
#
$FW -A INPUT -p ALL -m state --state ESTABLISHED,RELATED -j ACCEPT # Дропаем битые пакеты, которые идут на вшнешний мир, если когда-нить NAT будет
$FW -A INPUT -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT
Навеяно темой
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.