Доброго времени суток! Стоит 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
Фаервол модулем или в ядре?
если в ядре, то скомпиленый с какой дефолт полиси?и в выводи конфига нету запрещающих правил... лучше покажите вывод ipfw list
"закрыл все порты, а ниже открыл те что мне надо, завтра еду к серваку,"правильно, истино русский подход, сначала пробывать, а потом читать и спрашивать.... кстате, знаете а говорят у цианида вкус мигдаля
> Фаервол модулем или в ядре?
> если в ядре, то скомпиленый с какой дефолт полиси?
> и в выводи конфига нету запрещающих правил... лучше покажите вывод 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=7options 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"
options IPFIREWALL_DEFAULT_TO_ACCEPTпересобирайте ядро с дефаулт_ту_денай, ну или в конец rc.firewal добавляйте deny from any to any
> options IPFIREWALL_DEFAULT_TO_ACCEPT
> пересобирайте ядро с дефаулт_ту_денай, ну или в конец rc.firewal добавляйте deny from
> any to anyoptions IPFIREWALL_DEFAULT_TO_ACCEPT есть уже такое :)
я показываю какую отпцию и на что изменить нужно, или альтернативное решение... а вообще нужно отправлять на фряшный хендбук, там все хорошо описано и разжевано
> я показываю какую отпцию и на что изменить нужно, или альтернативное решение...
> а вообще нужно отправлять на фряшный хендбук, там все хорошо описано
> и разжеваноЧаптер о ipfw нахрен устарел. Не описаны ни ядерный нат, ни слова о возможности per-interface acl, и т.д и т.п.
Хороший пример как описывать возможность фаера - PF User's Guide: всегда актуально и понятно.
>[оверквотинг удален]
> #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 ?
Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к которым коннектятся пользователи.
> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
> которым коннектятся пользователи.Будь добр! Напиши как это сделать в rc.firewall порты у меня закрыты так:
#ICQ
${fwcmd} add deny all from any to any 5190
${fwcmd} add deny all from any 5190 to any
А вот ip не знаю как.
> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
> которым коннектятся пользователи.А если ип изменится?
>> Закрой не исходящие порты на сервере, а входящие адреса ICQ серверов к
>> которым коннектятся пользователи.
> А если ип изменится?Есть диапазон ip icq. В инете есть список.
Еще раз подскажите как в rc.firewall заблокировать ip icq диапазон.
> Есть диапазон 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
>> Есть диапазон 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 anyicq_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
Вы слишком прямолинейно всё воспринимаете. Я не привязывал свой скрипт к Вашему файерволу. Это просто пример.
Ошибки навскидку:
Вместо ${ipfw} надо использовать ${fwcmd}
Посмотреть не используется ли "table 1": ipfw table 1 list (если занята использовать table 2 например)
перед внесением новых даных старые надо очистить: ipfw table 1 flush