URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 3756
[ Назад ]

Исходное сообщение
"как защититься от взлома? "

Отправлено voffkamc , 18-Апр-08 15:33 
Доброго всем времени суток! Как запретить доступ извне с помощью iptables?
есть:
# Generated by iptables-save v1.3.5 on Mon Jul 30 09:48:57 2007
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A PREROUTING -s 192.168.62.0/255.255.255.0 -i eth0 -p tcp -m multiport --dports ssh,443,1080,3128,10000 -j ACCEPT
-A PREROUTING -p tcp -m tcp -m multiport --dports 80,8080 -j REDIRECT --to-port 3128
-A PREROUTING -s 192.168.62.29 -i eth0 -p tcp -m multiport --dports smtp,pop3,http,5190,1192,1193 -j ACCEPT
-A PREROUTING -s 192.168.62.252 -i eth0 -p tcp -m multiport --dports smtp,pop3 -j ACCEPT
-A PREROUTING -s 192.168.62.21 -i eth0 -p tcp -m multiport --dports smtp,pop3,http,5190,1192,1193 -j ACCEPT
smtp,pop3,http,5190,1192,1193 -j ACCEPT
-A PREROUTING -s 192.168.62.42 -i eth0 -p tcp -m multiport --dports http -j ACCEPT
-A PREROUTING -s 192.168.62.55 -i eth0 -p tcp -m multiport --dports http,pop3,5190 -j ACCEPT
-A PREROUTING -s 192.168.62.37 -i eth0 -p tcp -m multiport --dports smtp,pop3,443,5190,http -j ACCEPT
-A PREROUTING -s 192.168.62.50 -i eth0 -p tcp -m multiport --dports smtp,pop3,443,5190,http -j ACCEPT
-A PREROUTING -s 192.168.62.29 -i eth0 -p tcp -m multiport --dports smtp,pop3,443,5190,http  -j ACCEPT
-A PREROUTING -s 192.168.62.28 -i eth0 -p tcp -m multiport --dports smtp,pop3,http -j ACCEPT
-A PREROUTING -s 192.168.62.35 -i eth0 -p tcp -m multiport --dports smtp,pop3,http,8180,5190 -j ACCEPT
-A PREROUTING -s 192.168.62.0/255.255.255.0 -i eth0 -p tcp -m multiport --dports ssh,135,139,443,445,1080,3128,10000 -j ACCEPT
-A PREROUTING -s 192.168.62.0/255.255.255.0 -i eth0 -p tcp -j DROP
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Mon Jul 30 09:48:57 2007
# Generated by iptables-save v1.3.5 on Mon Jul 30 09:48:57 2007
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT
# Completed on Mon Jul 30 09:48:57 2007

но чувствую 5-й точкой, что извне все порты открыты. помогите сделать так, чтобы извне ко мне на шлюз не зашли.


Содержание

Сообщения в этом обсуждении
"как защититься от взлома? "
Отправлено Andrey Mitrofanov , 18-Апр-08 16:59 
>но чувствую 5-й точкой, что извне все порты открыты. помогите сделать так,
>чтобы извне ко мне на шлюз не зашли.

1) Поменять полилики в *filter на DROP.
2) Все "-j ACCEPT"-ы переместить в "-t filter -A FORWARD". 'Обвязать' их '-m state --state NEW\,ESTABLISHED' и парными правилами для пакетов в обратном направслении с '-m state --state ESTABLISHED'.
3) Чинить/добавлять %) то, что поломалось или чего стало не хватать после п.1.

Дидактический материал: https://www.opennet.ru/openforum/vsluhforumID1/79818.html#6
Да, особо ленивые пользуют генераторы-компиляторы правил iptables. Ж))
Да, там про SNAT, сам $) вижу -- это не суть...
Если тебе кажется, что там "сложно", то, уверяю тебя, можно и ещё сложнее "накрутить", там - так "примерчик" типа 2+2. Ж))))))))))
Да, в firehol explain "не видно" установки политик цепочек, ip_forward-а и пр. "мелочей". "Но они есть."(тм)

Успехов! ;*)


"как защититься от взлома? "
Отправлено voffkamc , 12-Май-08 15:18 
снова вернулся к проблеме... пишу:

# Generated by iptables-save v1.3.5 on Mon Jul 30 09:48:57 2007
*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -o eth0 -j MASQUERADE
COMMIT
# Completed on Mon Jul 30 09:48:57 2007
# Generated by iptables-save v1.3.5 on Mon Jul 30 09:48:57 2007
*filter
:INPUT DROP[0:0]
:FORWARD DROP[0:0]
:OUTPUT DROP[0:0]
-A FORWARD -s 192.168.62.0/255.255.255.224 -d 192.168.1.100 -p tcp -m multiport --dports ssh,443,1080,3128 -m state --state NEW\,ESTABLISHED -j ACCEPT
-A FORWARD -s -d 192.168.1.100 -d 192.168.62.0/255.255.255.224 -p tcp -m multiport --sports ssh,443,1080,3128 -m state --state ESTABLISHED -j ACCEPT

-A FORWARD -s 192.168.62.2 -d 192.168.1.100 -p tcp -m multiport --dports smtp,pop3,http,5190,1192,1193 -m state --state NEW\,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.1.100 -d 192.168.62.2 -p tcp -m multiport --sports smtp,pop3,http,5190,1192,1193 -m state --state ESTABLISHED -j ACCEPT

-A FORWARD -s 192.168.62.11 -d 192.168.1.100 -p tcp -m multiport --dports smtp,pop3,http,5190,1192,1193 -m state --state NEW\,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.1.100 -d 192.168.62.11 -p tcp -m multiport --sports smtp,pop3,http,5190,1192,1193 -m state --state ESTABLISHED -j ACCEPT

......
......

-A FORWARD -s 192.168.62.5 -d 192.168.1.100 -p tcp -m multiport --dports smtp,pop3,http,5190,1192,1193 -m state --state NEW\,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.1.100 -d 192.168.62.5 -p tcp -m multiport --sports smtp,pop3,http,5190,1192,1193 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Jul 30 09:48:57 2007


В итоге получается:
[root@localhost sysconfig]# /etc/rc.d/init.d/iptables restart
Применяются правила файервола iptables:
/etc/rc.d/init.d/iptables: line 80: 16311 Done                    grep -v "^[[:space:]]*#" $IPTABLES_CONFIG
     16312                       | grep -v '^[[:space:]]*$'
     16313 Ошибка сегментирования  | /sbin/iptables-restore -c
                                                                [ СБОЙ ]

Где моя ошибка?


"бесплатные образцы!"
Отправлено Andrey Mitrofanov , 16-Май-08 21:52 
>[оверквотинг удален]
>          
> grep -v "^[[:space:]]*#" $IPTABLES_CONFIG
>     16312      
>          
>     | grep -v '^[[:space:]]*$'
>     16313 Ошибка сегментирования  | /sbin/iptables-restore -c
>
>        [ СБОЙ ]
>
>Где моя ошибка?

Конкретно здесь - наверное, в том, что не надо править _руками_ сохранённую iptables-save-ом конфигурацию. Я думаю, надо добавлять/удалять правила "обычными" командами iptables, а когда заработает - *-save-ом сохранить [новую версию] конфигурации.

---
Ещё раз посмотрел на твой первый конфиг: кроме единственного DROP-а - _всё_, то есть совсем всё ACCEPT-уется. Действительно открыто всё. Если (что скорее всего) запущены сервисы, которые слушают на всех интервейсах - они доступны из боьшого плохого интернета.

PS: Ещё про firehol :) - примеры конфигураций http://firehol.sourceforge.net/overview.html + http://firehol.cvs.sourceforge.net/firehol/firehol/examples/

PPS: %)) - бесплатные образцы! Твой конфиг - [[с политиками DROP]] для firehol:

version 5
        LOC="192.168.62"
        LAN="$LOC.0/24"

        transparent_proxy "80 8080" 3128 squid inface eth0 src "$LAN"

        server_icq_ports="tcp/5190"
        client_icq_ports="default"

        server_dunno_ports="tcp/1192 tcp/1193"
        client_dunno_ports="default"

        server_web1_ports="tcp/8180"
        client_web1_ports="default"

interface any fromme
        client all accept

router users inface "eth0" outface ppp+ src "$LAN"
        masquerade
        client "ssh https socks squid webmin samba" accept

        client "smtp pop3 http icq dunno" accept src "$LOC.29 $LOC.21"
        client "smtp pop3" accept src "$LOC.252"
        client "http" accept src "$LOC.42"
        client "http pop3 icq" accept src "$LOC.55"
        client "smtp pop3 https icq http" accept src "$LOC.37 $LOG.50 $LOC.29"
        client "smtp pop3 http" accept src "$LOC.28"
        client "smtp pop3 http web1 icq" accept src "$LOC.35"

PPPS: Найди лишний (в твоём конфиге - тоже) "https"... $)


"бесплатные образцы!"
Отправлено reader , 19-Май-08 11:27 
все нормально, правь руками и понимание придет быстрей

-A FORWARD -s -d 192.168.1.100 -d 192.168.62.0/255.255.255.224 -p tcp -m multiport --sports
^^^^^^^^^^^^^^^^^^^^^^^
ssh,443,1080,3128 -m state --state ESTABLISHED -j ACCEPT