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

Исходное сообщение
"Firewall не блокирует порты - помогите разобраться :)"

Отправлено Free_Man , 26-Ноя-12 17:37 
Доброго времени суток! Стоит freebsd 7.2, firewall запущен как SIMPLE. В rc.firewall открыты (закрыты) нужные порты. Суть проблемы такова, умники пользователи подставляют в настройки ICQ произвольные порты, тем самым пользуясь icq. Порт 5190 закрыт, они ставят 557,558,559 и т.д Хотя в фаерволе не разрешений на 557,558,559 порты. Я думал, что по умолчанию ВСЕ порты закрыты в фаерволе, а нужные надо открывать. Объясните, растолкуйте пожалуйста! Еще интересует, есть ли в фаерволе  приоритет верхней строки? То есть закрытие всех портов в самом верху надо поставить???? А ниже открывать все что нужно? Хочу все порты закрыть оставить только рабочие.
${fwcmd} add deny all from any to any 1-65535
${fwcmd} add deny all fromany 1-65535 to any
Вот сделал только что так (закрыл все порты, а ниже открыл те что мне надо, завтра еду к серваку, потерял его:)))))

Мой конфиг:

oif="re0"
        onet="000.000.000.000"
        omask="255.255.255.0"
        oip="000.000.000.000"

        # set these to your inside interface network
        iif1="rl0"
        inet="192.168.8.0"
        imask="255.255.255.0"
        iip="192.168.8.1"

        iif2="vr1"
        inet="192.168.10.0"
        imask="255.255.255.0"
        iip="192.168.10.1"

        setup_loopback

        # Divert

        ${fwcmd} add fwd 127.0.0.1,3128 tcp from any to any 80,8080 in
        ${fwcmd} add divert natd all from any to any via ${oif}
        #${fwcmd} add divert natd all from any to any via ${PPPoE}
        ${fwcmd} add pass ICMP from any to any
        ${fwcmd} add deny icmp from any to any frag
        ${fwcmd} add pass all from any to any via lo0
        ${fwcmd} add pass all from any to any via ${iif1}
        ${fwcmd} add pass all from any to any via ${iif2}

     #HTTP

        ${fwcmd} add pass all from any to any 80
        ${fwcmd} add pass all from any 80 to any
        ${fwcmd} add pass all from any to any 8080
        ${fwcmd} add pass all from any 8080 to any

        #smtp
        ${fwcmd} add pass all from any to any 25
        ${fwcmd} add pass all from any 25 to any
        #pop
        ${fwcmd} add pass all from any to any 110
        ${fwcmd} add pass all from any 110 to any

        #ftp
        ${fwcmd} add allow all from any to any 20,21
        ${fwcmd} add allow all from any 20,21 to any

        #DNS
        ${fwcmd} add pass udp from any to any 53
        ${fwcmd} add pass udp from any 53 to any

        #Admin (SSH)
        ${fwcmd} add allow tcp from any 22 to any
        ${fwcmd} add allow tcp from any to any 22


Содержание

Сообщения в этом обсуждении
"Firewall не блокирует порты - помогите разобраться :)"
Отправлено КуКу , 26-Ноя-12 17:49 
Фаервол модулем или в ядре?
если в ядре, то скомпиленый с какой дефолт полиси?

и в выводи конфига нету запрещающих правил... лучше покажите вывод ipfw list


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено КуКу , 26-Ноя-12 17:53 
"закрыл все порты, а ниже открыл те что мне надо, завтра еду к серваку,"

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


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Free_Man , 26-Ноя-12 17:59 
> Фаервол модулем или в ядре?
> если в ядре, то скомпиленый с какой дефолт полиси?
> и в выводи конфига нету запрещающих правил... лучше покажите вывод ipfw list

Добавлено в ядро:
#IPFW
options        IPDIVERT  
options        DUMMYNET
options        IPFIREWALL
options        IPFIREWALL_VERBOSE
options        IPFIREWALL_VERBOSE_LIMIT="10"
options        IPFIREWALL_FORWARD
options        IPFIREWALL_DEFAULT_TO_ACCEPT
options        DEVICE_POLLING
options        HZ=1000
options        IPFIREWALL_NAT
options        LIBALIAS
options        ROUTETABLES=7

options        NETGRAPH
options        NETGRAPH_PPTPGRE
options        NETGRAPH_MPPC_ENCRYPTION
options        NETGRAPH_BPF
options        NETGRAPH_ETHER
options        NETGRAPH_SOCKET
options        NETGRAPH_TEE
#IPFILTER
options        IPFILTER
options        IPFILTER_LOG
options        SC_DISABLE_REBOOT
#IPSEC
options        IPSEC
options        IPSEC_FILTERTUNNEL
options        IPSEC_DEBUG
device        crypto
options        QUOTA
options        SUIDDIR

Фаервол отдельным файлом rc.firewall в rc.conf добавлено
firewall_enable="YES"
firewall_type="SIMPLE"
firewall_script="/etc/rc.firewall"


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено КуКу , 26-Ноя-12 18:02 
options        IPFIREWALL_DEFAULT_TO_ACCEPT

пересобирайте ядро с дефаулт_ту_денай, ну или в конец rc.firewal добавляйте deny from any to any


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Free_Man , 26-Ноя-12 18:22 
> options        IPFIREWALL_DEFAULT_TO_ACCEPT
> пересобирайте ядро с дефаулт_ту_денай, ну или в конец rc.firewal добавляйте deny from
> any to any

options        IPFIREWALL_DEFAULT_TO_ACCEPT есть уже такое :)


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено КуКу , 26-Ноя-12 18:30 
я показываю какую отпцию и на что изменить нужно, или альтернативное решение... а вообще нужно отправлять на фряшный хендбук, там все хорошо описано и разжевано

"Firewall не блокирует порты - помогите разобраться :)"
Отправлено user , 26-Ноя-12 22:18 
> я показываю какую отпцию и на что изменить нужно, или альтернативное решение...
> а вообще нужно отправлять на фряшный хендбук, там все хорошо описано
> и разжевано

Чаптер о ipfw нахрен устарел. Не описаны ни ядерный нат, ни слова о возможности  per-interface acl, и т.д и т.п.
Хороший пример как описывать возможность фаера - PF User's Guide: всегда актуально и понятно.


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено VolanD , 27-Ноя-12 06:36 
>[оверквотинг удален]
>         #DNS
>         ${fwcmd} add pass udp
> from any to any 53
>         ${fwcmd} add pass udp
> from any 53 to any
>         #Admin (SSH)
>         ${fwcmd} add allow tcp
> from any 22 to any
>         ${fwcmd} add allow tcp
> from any to any

Что умникам пользователям помешает поставить 8080 ?


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено daemon17 , 28-Ноя-12 12:16 
Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к которым коннектятся пользователи.

"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Free_Man , 28-Ноя-12 22:11 
> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
> которым коннектятся пользователи.

Будь добр! Напиши как это сделать в rc.firewall порты у меня закрыты так:
#ICQ
${fwcmd} add deny all from any to any 5190
${fwcmd} add deny all from any 5190 to any
А вот ip не знаю как.


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено VolanD , 29-Ноя-12 10:41 
> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
> которым коннектятся пользователи.

А если ип изменится?


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Free_Man , 29-Ноя-12 10:45 
>> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
>> которым коннектятся пользователи.
> А если ип изменится?

Есть диапазон ip icq. В инете есть список.

Еще раз подскажите как в rc.firewall заблокировать ip icq  диапазон.


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Serjant , 29-Ноя-12 12:11 
> Есть диапазон ip icq. В инете есть список.
> Еще раз подскажите как в rc.firewall заблокировать ip icq  диапазон.

Например так:

icq_ip="`sed '/ *#/d; /^ *$/d' /usr/local/etc/firewall/icq_ip`"
    for i in ${icq_ip}; do
    ipfw table 1 add ${i}
    done
${ipfw} add 500 deny all from any to table\(1\)

Пример файла icq_ip

178.162.182.119
85.214.90.95
97.74.126.141
80.245.33.225
85.17.189.161
85.17.93.10
202.143.0.0/16
216.108.0.0/16
62.75.0.0/16
80.237.0.0/16
81.169.0.0/16
87.230.0.0/16


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Free_Man , 03-Дек-12 20:21 
>> Есть диапазон ip icq. В инете есть список.
>> Еще раз подскажите как в rc.firewall заблокировать ip icq  диапазон.
> Например так:
> icq_ip="`sed '/ *#/d; /^ *$/d' /usr/local/etc/firewall/icq_ip`"
>     for i in ${icq_ip}; do
>     ipfw table 1 add ${i}
>     done
> ${ipfw} add 500 deny all from any to table\(1\)

Добаил в rc.firewall с моими правилами по портам итог:
        #ICQ
        ${fwcmd} add deny all from any to any 5190
        ${fwcmd} add deny all from any 5190 to any

icq_ip="`sed '/ *#/d; /^ *$/d' /etc/icq_ip`"
        for i in ${icq_ip}; do
        ipfw table 1 add ${i}
        done
${ipfw} add 500 deny all from any to table\(1\)

Создал файл в нем:
Пример файла icq_ip
173.194.47.151  ip google.ru (для пробы)

Перезапускаю правила и :
ipfw: setsockopt(IP_FW_TABLE_ADD): File exists
add: not found


"Firewall не блокирует порты - помогите разобраться :)"
Отправлено Serjant , 04-Дек-12 13:29 
Вы слишком прямолинейно всё воспринимаете. Я не привязывал свой скрипт к Вашему файерволу. Это просто пример.
Ошибки навскидку:
Вместо ${ipfw} надо использовать ${fwcmd}
Посмотреть не используется ли "table 1": ipfw table 1 list (если занята использовать table 2 например)
перед внесением новых даных старые надо очистить: ipfw table 1 flush