imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Программы и Операционные системы > Пингвинятник (ОС *NIX)
Опции темы
Старый 28.05.2003, 21:39     # 1
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
firewall на iptables

Посоветуйте стену которая на iptables работает. Тут уже пролетал некий shorewall, ещё вроде SUSE Firewall нефиговая весч говорят.... Короче, посоветуйте чего-нибудь ещё.... чтоб конфигурить полегче было.
MoHaX вне форума  
Старый 28.05.2003, 22:54     # 2
noname
Full Member
 
Аватар для noname
 
Регистрация: 06.03.2003
Адрес: Earth
Сообщения: 761

noname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собойnoname Имеются все основания чтобы гордиться собой
если спросить меня то ничего лучше фаерволла натроенного ручками нет .
хоть знаешь что и где .
__________________
Смерть фашистским оккупантам.
noname вне форума  
Старый 02.06.2003, 20:31     # 3
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
Межет и так... Но чего-то у меня не пашет... Ручки кривые наверное...
Вот пример: есть сервак (192.168.1.1) и хочу я, чтоб на нём были открыты только 80, 443, 25, 110 порты, пишу такие вот строчки:
iptables -F

iptables -A INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 0:65000 -j DROP
iptables -A INPUT -p UDP -s 0/0 -d 192.168.1.1 --dport 0:65000 -j DROP
iptables -I INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 53 -j ACCEPT
iptables -I INPUT -p UDP -s 0/0 -d 192.168.1.1 --dport 53 -j ACCEPT
iptables -I INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 80 -j ACCEPT
iptables -I INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 443 -j ACCEPT
iptables -I INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 25 -j ACCEPT
iptables -I INPUT -p TCP -s 0/0 -d 192.168.1.1 --dport 110 -j ACCEPT

Сканирую какой-то штукой (Shadow scaner или чего-то такое) и он показывает, что все порты открыты. В чём мой косяк?

Вообще если не лень может напишите пример стенового скрипта для случая:
есть сетка (например 80.91.123.0) есть сервак, в нём две сетевухи одна в локальной сетке (80.91.123.1), другая в инете (217.74.156.45), так вот надо, чтоб из инета в локальную сетку и из локалки в инет ходило всё а на серваке были открыты только 80, 443, 110, 25, 53, 22 порты, причём 22 порт был доступен только с 217.74.156.76). НАТ не используется. Вот такая вот задачка.
MoHaX вне форума  
Старый 04.06.2003, 09:46     # 4
Drakosha
Full Member
 
Аватар для Drakosha
 
Регистрация: 16.10.2002
Адрес: ArchLinux, Internet
Сообщения: 557

Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)Drakosha Реально крут(а)
есть "GuardDog" и много других...
Drakosha вне форума  
Старый 12.06.2003, 23:21     # 5
Gennadi
Member
 
Аватар для Gennadi
 
Регистрация: 26.08.2002
Адрес: Germany
Сообщения: 232

Gennadi МолодецGennadi МолодецGennadi Молодец
См. выше ....
__________________
Я - root, мне всё разрешено...
... и это тоже
echo "I am king" | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' &

Последний раз редактировалось Gennadi; 20.06.2003 в 21:10.
Gennadi вне форума  
Старый 27.06.2003, 22:26     # 6
Dimez
Guest
 
Сообщения: n/a

--cat-rc.firewall---
#!/bin/bash
IF_INT="eth1"
IF_EXT="eth0"
IPADDR=`ifconfig $IF_EXT|grep "inet addr"|awk -F" " -- '{print($2)}'|awk -F":" -- '{print($2)}'`
IPINT=`ifconfig $IF_INT|grep "inet addr"|awk -F" " -- '{print($2)}'|awk -F":" -- '{print($2)}'`
LOCALNET=$IPINT/24
ROUTER=`ifconfig|grep "inet addr"|awk -F" " -- '{print($2)}'|awk -F":" -- '{print($2)}'`
LOOPBACK=`ifconfig lo|grep "inet addr"|awk -F" " -- '{print($2)}'|awk -F":" -- '{print($2)}'`
IPT="/usr/sbin/iptables"
ECHO="/usr/bin/echo"
TRUSTED_HOSTS="192.168.x.2 192.168.x.3..."
MASQUERADE_HOSTS="192.168.x.4 192.168.x.5..."
# Open port for outside
IV_PORTS="25 110"
IV_ICMP="echo-request"
# Open port for external connection
PUBLIC_PORTS="22"
PUBLIC_ICMP="echo-request"

EXCLUDE_HOST="192.168.x.5 192.168.x.6"
EXCLUDE_PORT="15515 15516"

case "$1" in
'stop')
# Clear all chains/tables
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F
$IPT -X TCP_FLAGS
$IPT -X ACCT
$IPT -X $IF_EXT
$IPT -P INPUT ACCEPT
$IPT -P FORWARD ACCEPT
$IPT -P OUTPUT ACCEPT
;;
'start')
# Calculating all traffic
$IPT -N ACCT
$IPT -A ACCT -j RETURN
$IPT -A ACCT -j RETURN
$IPT -A INPUT -i $IF_EXT -j ACCT
$IPT -A OUTPUT -o $IF_EXT -j ACCT
$IPT -P INPUT DROP ## Рули по умолчанию
$IPT -P FORWARD DROP ## Рули по умолчанию
$IPT -P OUTPUT ACCEPT ## Рули по умолчанию

# All for himself, but througth loopback
for host in $ROUTER
do
$IPT -A INPUT -s $host -i lo -j ACCEPT
done
# Trusted hosts allow all
for host in $TRUSTED_HOSTS
do
$IPT -A FORWARD -d $host -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -t nat -A POSTROUTING -s $host -o $IF_EXT -j SNAT --to $IPADDR
$IPT -A FORWARD -s $host -j ACCEPT
done
# Accept only right packets
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
for host in $MASQUERADE_HOSTS
do
$IPT -t nat -A POSTROUTING -p icmp -s $host -o $IF_EXT -j SNAT --to $IPADDR
$IPT -A FORWARD -d $host -m state --state ESTABLISHED,RELATED -j ACCEPT
for port in $IV_PORTS
do
for proto in tcp udp
do
$IPT -t nat -A POSTROUTING -p $proto -s $host -o $IF_EXT --dport $port -j SNAT --to $IPADDR
done
done
$IPT -A FORWARD -s $host -j ACCEPT
done
#Exclude hosts:
for host in $EXCLUDE_HOST
do
for port in $EXCLUDE_PORT
do
for proto in tcp udp
do
$IPT -t nat -A POSTROUTING -p $proto -s $host -o $IF_EXT --dport $port -j SNAT
--to $IPADDR
done
done
done
# $IPT -A INPUT -i $IF_EXT -s ! $LOCALNET -p icmp -j REJECT - раскомментировать, если не хотите, чтобы сервер снаружи откликался на пинги
# "паранойя" )
$IPT -N TCP_FLAGS
$IPT -F TCP_FLAGS
$IPT -A TCP_FLAGS -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP
$IPT -A TCP_FLAGS -p tcp --tcp-flags SYN,RST SYN,RST -j DROP
$IPT -A TCP_FLAGS -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP
$IPT -A TCP_FLAGS -p tcp --tcp-option 64 -j DROP
$IPT -A TCP_FLAGS -p tcp --tcp-option 128 -j DROP
$IPT -A INPUT -i $IF_EXT -p tcp -j TCP_FLAGS
# Rules for outside
for port in $PUBLIC_PORTS
do
for proto in tcp udp
do
$IPT -A INPUT -p $proto --dport $port -m state --state NEW -j ACCEPT
done
done
for type in $PUBLIC_ICMP
do
$IPT -A INPUT -p icmp --icmp-type $type -j ACCEPT
done
# Rules for inside
$IPT -A INPUT -s $LOCALNET -j ACCEPT
$IPT -N $IF_EXT
$IPT -A $IF_EXT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A $IF_EXT -m state --state NEW -i ! $IF_EXT -j ACCEPT
# $IPT -A $IF_EXT -i $IF_EXT -m limit -j LOG --log-prefix "Bad packet from $IF_EXT:"
# $IPT -A $IF_EXT -i ! $IF_EXT -m limit -j LOG --log-prefix "Bad packet not from $IF_EXT:"
$IPT -A INPUT -j $IF_EXT
$IPT -A FORWARD -j $IF_EXT
;;
'restart')
$0 stop && $0 start
;;
*)
echo "usage $0 start|stop|restart"
;;
esac
---end-of-cat-rc.firewall
IF_INT - внутренний интерфейс
IF_EXT - внешний
TRUSTED_HOSTS - доверенные хосты(которым порты не режутся)
MASQ_HOSTS - все остальные, которым можно ходить по портам, опиманным в IV_PORTS
PUBLIC_PORTS - порты, которые будут видны снаружи
EXCLUDE_HOST - хосты из локалки, которым нужны дополнительные порты(EXCLUDE_PORT - например, какие-нть банковские системы)

Последний раз редактировалось Dimez; 27.06.2003 в 22:37.
 
Старый 28.06.2003, 23:58     # 7
Gennadi
Member
 
Аватар для Gennadi
 
Регистрация: 26.08.2002
Адрес: Germany
Сообщения: 232

Gennadi МолодецGennadi МолодецGennadi Молодец
---- дополнение -----
Этот скрипт будет работать на дистрибутивах (например SuSE...), где ifconfig выглядит так:

Link encap:Ethernet HWaddr 00:85:AF:02:F1:7D
inet addr :192.168.x.x Bcast:192.168.x.x Mask:255.255.255.x..
.....................и т.д.

Если это ( например - Mandrake), где ifconfig выглядит так:
Protokoll:Ethernet Hardware Adresse 00:85:AF:02:F1:7D
inet Adresse :192.168.x.x Bcast:192.168.x.x Mask:255.255.255.x..
.....................и т.д.

то в этом скрипте нужно внести соответствующие изменения:
inet addr заменить на inet Adresse

PS:На других дистрибутивах посмотрите ifconfig.
__________________
Я - root, мне всё разрешено...
... и это тоже
echo "I am king" | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' &

Последний раз редактировалось Gennadi; 01.07.2003 в 01:30.
Gennadi вне форума  
Старый 30.06.2003, 19:25     # 8
Dimez
Guest
 
Сообщения: n/a

Это если локаль взведена для рута
У меня такого нет...
 
Старый 28.07.2003, 05:29     # 9
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Doku po iptables prochitat nado nawernoe ;-))).
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 28.07.2003, 08:25     # 10
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
helldomain А перечитал их уже....
Чего-то всё равно я гоню... Пишу напрмер:
iptables -A INPUT -p UDP -d 192.168.1.1 --dport 0:1024 - j REJECT
Сканирую на порты, а там нифига не изменилось, т.е. всё открыто... Чего я неправильно делаю?
MoHaX вне форума  
Старый 29.07.2003, 18:40     # 11
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
A kto policy prohoda po chainam delat budet ;-))).
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 30.07.2003, 08:35     # 12
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
helldomain
А они все ACCEPT. Т.е. #iptables -P INPUT ACCEPT
#iptables -P FORWARD DENY
#iptables -P OUTPUT ACCEPT

А то чего нельзя я пытался вышеупомянутой строчкой запретить, а оно не канает, почему?
MoHaX вне форума  
Старый 31.07.2003, 20:41     # 13
Gennadi
Member
 
Аватар для Gennadi
 
Регистрация: 26.08.2002
Адрес: Germany
Сообщения: 232

Gennadi МолодецGennadi МолодецGennadi Молодец
MoHaX

Я же тебе давал рабочий скрипт firewall'a, почему ты ещё мучаешься?

http://imho.ws/showthread.php?s=&threadid=32071


Если есть вопросы или нужны разъяснения - пиши.

Подкорректирую.
__________________
Я - root, мне всё разрешено...
... и это тоже
echo "I am king" | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' &

Последний раз редактировалось Gennadi; 31.07.2003 в 23:25.
Gennadi вне форума  
Старый 01.08.2003, 09:17     # 14
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
Gennadi
Да, норамальный скрипт, спасибо. А мучаюсь я потому сам их делать хочу, а не готовыми пользоваться...
Вот конкретный вопрос: есть комп (Линукс РедХат 7.3) на нём два eth (eth1 - внешний (реальный айпи 213.25.34.45), eth0 внутренний (реальный айпи (213.25.34.129 и "серый" айпи 192.168.1.1), есть соответсвенно две сетки 213.25.34.128 (все адреса реальные) и 192.168.1.0 (уходят через нат).

Как я его закрыл:
iptables - P INPUT ACCEPT
iptbales - A INPUT -p TCP -d 213.25.34.45 -j REJECT
iptbales - A INPUT -p TCP -d 213.25.34.129 -j REJECT
iptbales - I INPUT -p TCP -d 213.25.34.45 --dport 80 -j ACCEPT
iptbales - I INPUT -p TCP -d 213.25.34.45 --dport 443 -j ACCEPT
iptbales - I INPUT -p TCP -d 213.25.34.45 --dport 22 -j ACCEPT
iptbales - I INPUT -p UDP -d 213.25.34.45 --dport 53 -j ACCEPT

Сканирую 213.25.34.45 и лицезрею кучу открытых портов, почему?
MoHaX вне форума  
Старый 01.08.2003, 15:35     # 15
Gennadi
Member
 
Аватар для Gennadi
 
Регистрация: 26.08.2002
Адрес: Germany
Сообщения: 232

Gennadi МолодецGennadi МолодецGennadi Молодец
MoHaX

В начале скрипта обычно пишут такие правила:

1. Этим сначала удаляются все правила iptables.

iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -X
iptables -t nat -X
iptables -t mangle -X

2. Этим закрываются все порты.

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

3. Потом пишут правила, которыми открывают нужтые порты или NAT и так далее.....
__________________
Я - root, мне всё разрешено...
... и это тоже
echo "I am king" | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see' &
Gennadi вне форума  
Старый 01.08.2003, 16:38     # 16
helldomain
Administrator
 
Аватар для helldomain
 
Регистрация: 13.05.2002
Сообщения: 11 227

helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
helldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиургhelldomain Демиург
Ugu. I eto praalno.
__________________
Осколки прошлого, как снег, закрутит ураган времён,
В ушедший день для нас навек, обрушив мост,
Оставив в наших душах след, тьма уплывёт за горизонт,
И в чистом небе вспыхнет свет, свет новых звёзд.
helldomain вне форума  
Старый 03.11.2003, 09:05     # 17
MoHaX
Member
 
Аватар для MoHaX
 
Регистрация: 18.11.2002
Адрес: Россия, Красноярск
Пол: Male
Сообщения: 310

MoHaX Известность не заставит себя ждать
Ещё один вопрос. Ситуация такая есть один реальный айпишник, есть серая сетка которая под него маскарадится.
Я пропускаю весь траффик без флага SYN на внешнем интерфейсе вот этаким способом /sbin/iptables -I INPUT -i eth1 -p TCP -d 80.233.120.2 ! --syn -j ACCEPT
Всё работает кроме ФТП. В чём проблема?

Может я чего не так делаю, но мысля была пропускать всё чего идёт в ответ на запрос из моей сетки и не пропускать то чего хочет соеденится.
MoHaX вне форума  
Старый 03.11.2003, 17:54     # 18
Centauras
Junior Member
 
Регистрация: 19.08.2002
Сообщения: 67

Centauras Путь к славе только начался
Попробуй очень прелестнaя штукаFirewall Builder.
__________________
Don't worry, be happy
And Remember:
Everyone seems normal until you get to know them.
Centauras вне форума  
Старый 03.11.2003, 19:06     # 19
Crio
Newbie
 
Регистрация: 04.08.2003
Сообщения: 17

Crio Путь к славе только начался
Если запретить входящие соединения, то фтп работать не будет. В соответсвии с протоколом данные передаются от сервера к клиенту по отдельному соединению которое устанавливается со стороны сервера после того как клиент перед этим передает свои параметры (ип, порт). Можно включить "пассивный" режим (PASV , passive mode) в настройках фтп клиента. По идее у тебя и irc yt будет работать (DCC). Если соединения разрешишь принимать, не забудь посмотреть чтобы был загружен модули ip_conntrack и ip_conntrack_ftp
Crio вне форума  
Старый 03.11.2003, 22:50     # 20
V0iD
Junior Member
 
Аватар для V0iD
 
Регистрация: 01.06.2003
Адрес: Msk
Пол: Male
Сообщения: 138

V0iD Путь к славе только начался
Чтобы правильно работал ftp, надо разрешить related и established коннекты.
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
__________________
Завтра будет.
Лучше.
V0iD вне форума  


Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 18:17.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.