Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Настройки файрвола. 
V
    Опции темы
Хоббит
Дата 28.3.2010, 18:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1263
Регистрация: 6.11.2005

Репутация: нет
Всего: 1



Первый раз настраивал файрвол.
Задача такая.
Компьютер в локальной сети. Надо все закрыть кроме.
1. Использование пользователями из локальной сети сервисов http, mysql, svn, samba, ssh на этом компьютере
2. Использование с этого компьютера ssh, smtp, dns, http

Вот такой получился конфиг. Что можно добавить? Или может, что лишнее? 
Учился по статье на opennet.

Код

#!/bin/sh

IPT=/sbin/iptables

LAN_IFACE=eth0

LAN_IP=192.168.0.0/24

UNPRIPORTS=1024:65535

$IPT -F
$IPT -X

$IPT -P INPUT DROP
$IPT -P OUTPUT DROP
$IPT -P FORWARD DROP

$IPT -A INPUT -i lo -j ACCEPT
$IPT -A OUTPUT -o lo -j ACCEPT

$IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP

# Drop invalid
$IPT -A INPUT -m state --state INVALID -j DROP
$IPT -A FORWARD -m state --state INVALID -j DROP

# Accept established and related
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Drop new without syn
$IPT -A INPUT -p tcp ! --tcp-flags SYN,ACK,FIN SYN -m state --state NEW -j DROP
$IPT -A OUTPUT -p tcp ! --tcp-flags SYN,ACK,FIN SYN -m state --state NEW -j DROP

# Drop icmp fragment
$IPT -A INPUT --fragment -p ICMP -j DROP
$IPT -A OUTPUT --fragment -p ICMP -j DROP

# Accept icmp info
$IPT -A INPUT -p icmp -m icmp -i $LAN_IFACE --icmp-type source-quench -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $LAN_IFACE --icmp-type source-quench -j ACCEPT

# Accept outcomming ping
$IPT -A INPUT -p icmp -m icmp -i $LAN_IFACE --icmp-type echo-reply -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $LAN_IFACE --icmp-type echo-request -j ACCEPT

# Accept incomming ping
$IPT -A INPUT -p icmp -m icmp -i $LAN_IFACE --icmp-type echo-request -j ACCEPT
$IPT -A OUTPUT -p icmp -m icmp -o $LAN_IFACE --icmp-type echo-reply -j ACCEPT


## Outcomming

# Accept outcomming dns
$IPT -A OUTPUT -p tcp -m tcp -o $LAN_IFACE --sport $UNPRIPORTS --dport 53 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --sport 53 --dport $UNPRIPORTS -j ACCEPT

$IPT -A OUTPUT -p udp -m udp -o $LAN_IFACE --sport $UNPRIPORTS --dport 53 -j ACCEPT
$IPT -A INPUT -p udp -m udp -i $LAN_IFACE --sport 53 --dport $UNPRIPORTS -j ACCEPT

# Accept outcomming ssh
$IPT -A OUTPUT -p tcp -m tcp -o $LAN_IFACE --sport $UNPRIPORTS --dport 22 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --sport 22 --dport $UNPRIPORTS -j ACCEPT

# Accept outcomming http
$IPT -A OUTPUT -p tcp -m tcp -o $LAN_IFACE --sport $UNPRIPORTS --dport 80 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --sport 80 --dport $UNPRIPORTS -j ACCEPT

# Accept outcomming smtp
$IPT -A OUTPUT -p tcp -m tcp -o $LAN_IFACE --sport $UNPRIPORTS --dport 25 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp -i $LAN_IFACE --sport 25 --dport $UNPRIPORTS -j ACCEPT

## Incomming

# Accept incomming ssh
$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 22 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 22 --dport $UNPRIPORTS -j ACCEPT

# Accept incomming http
$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 80 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 80 --dport $UNPRIPORTS -j ACCEPT

# Accept incomming mysql
$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 3306 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 3306 --dport $UNPRIPORTS -j ACCEPT

# Accept incomming svn
$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 3690 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 3690 --dport $UNPRIPORTS -j ACCEPT

# Accept incomming samba
$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 137:139 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 137:139 --dport $UNPRIPORTS -j ACCEPT

$IPT -A INPUT -p udp -m udp -s $LAN_IP --sport $UNPRIPORTS --dport 137:139 -j ACCEPT
$IPT -A OUTPUT -p udp -m udp -d $LAN_IP --sport 3690 --dport $UNPRIPORTS -j ACCEPT

$IPT -A INPUT -p tcp -m tcp -s $LAN_IP --sport $UNPRIPORTS --dport 445 -j ACCEPT
$IPT -A OUTPUT -p tcp -m tcp -d $LAN_IP --sport 445 --dport $UNPRIPORTS -j ACCEPT

$IPT -A INPUT -p udp -m udp -s $LAN_IP --sport $UNPRIPORTS --dport 445 -j ACCEPT
$IPT -A OUTPUT -p udp -m udp -d $LAN_IP --sport 445 --dport $UNPRIPORTS -j ACCEPT

echo 1 > /proc/sys/net/ipv4/ip_forward


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Администрирование Web серверов и Web служб | Следующая тема »


 




[ Время генерации скрипта: 0.0480 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.