Предисловие. Любая система, а тем более с открытым кодом — подвержена к сетевым атакам и всякого рода взломам, поэтому самым первым и надежным сторожем в Unix системах — это грамотно настроенный Firewall.

Во всем мире считается, что лучший Firewall — этот тот, у которого по умолчанию все закрыто, и открыто лишь только необходимое. И это действительно так, но настроить такую систему без подсказок или громаднейшего опыта в данной сфере очень тяжело. Поэтому я постараюсь помочь новичкам в этом. (Вспоминая себя, когда был молодым в данном деле и на какие наступал грабли)

Самым первым делом, нужно пересобрать ядро с включенной функцией firewall и прочих дополнений, хотя можно конечно и просто добавить модулем ядра в /boot/loader.conf, но как по мне — правильнее вкомпилить эту функцию в ядро. На разных версиях систем (я начинал еще с 4.2), немного по разному пишутся строки, а в более поздних версиях и во все кое-что пропало.
Поэтому я приведу пример строк для нескольких веток.. Сейчас гляну что у меня есть в распоряжении, среди мне доступных серверов.. Так, где ж тут железяка по старее :), ооо.. Вот: Раритет:
zhmyak# dmesg | grep CPU
CPU: Pentium/P55C (200.46-MHz 586-class CPU)
zhmyak# uname -a
FreeBSD zhmyak.domain.com 5.5-RELEASE FreeBSD 5.5-RELEASE
zhmyak# uptime
2:23PM up 125 days, 2:10, 1 user, load averages: 0.01, 0.03, 0.00
ОГО %), сам того не ожидал 🙂

Короче, подходит:
zhmyak# cat /sys/i386/conf/zhmyak | less
Описываю только то что добавлено мной.

machine i386
ident zhmyak
maxusers 0

#IP security
options IPSEC
options IPSEC_ESP
options IPSEC_DEBUG
options QUOTA
options BRIDGE

#//Вот секция которая касается Firewalla
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
#End_Firewall
#//В этой секции, можно включить ipfilter
#options IPFILTER
#options IPFILTER_LOG

options TCP_DROP_SYNFIN
options NETGRAPH
options NETGRAPH_IFACE
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_BPF
options NETGRAPH_VJC
options NETGRAPH_PPTPGRE
options NETGRAPH_KSOCKET
options NETGRAPH_ETHER
options NETGRAPH_BRIDGE
options NETGRAPH_MPPC_ENCRYPTION
options NETGRAPH_SOCKET
options NETGRAPH_TEE
options NETGRAPH_RFC1490

После чего пересобирается ядро, здесь я сейчас описывать не буду, так как это тема для другой статьи 😉

А вот на более современном железе:
pumb# uname -a
FreeBSD pumb.domain.com 7.2-RELEASE-p4 FreeBSD 7.2-RELEASE-p4 #

pumb# cat /sys/i386/conf/pumb | less
Аналогично описываю только то что добавлено мной:

ident pumb

options DEVICE_POLLING
options HZ=1000
#options IPFILTER
#options IPFILTER_LOG
#//Тут уже ясно, что это секция Firewall
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=200
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options DUMMYNET
options IPDIVERT
###End_Firewall
options QUOTA
###########NETGRAPH#####
options NETGRAPH
options NETGRAPH_PPP
options NETGRAPH_PPPOE
options NETGRAPH_PPTPGRE
options NETGRAPH_BPF
options NETGRAPH_ETHER
options NETGRAPH_IFACE
options NETGRAPH_VJC
options NETGRAPH_SOCKET
options NETGRAPH_KSOCKET
options NETGRAPH_TEE
options NETGRAPH_RFC1490
options NETGRAPH_MPPC_ENCRYPTION

Соответственно, потом нужно пересобрать ядро и ребутнуться..
Обратите внимание!
Не смотря на то что я говорил, что хороший firewall — это тот у которого по умолчанию все закрыто, а сам добавил строку:
options IPFIREWALL_DEFAULT_TO_ACCEPT
Это для того, что бы когда будет необходимость перезагрузить или точнее очистить правила firewalla, что бы не произошел disconnect от нашего сервера, потому без этой строчки при наборе:
ipfw -q flush — получим правило вида:
ipfw 65535 0 0 deny ip from any to any
А с этой строкой:
ipfw 65535 0 0 allow ip from any to any

Закроемся мы в нашем скрипте-файле ;), так что это ничего страшного.

О том как создать подобный скрипт, можно прочитать в следующей части статьи.

Напоминаю всем копирующим мой контент о существовании закона "Об авторском праве".
В связи с этим, прошу во избежании конфликтов при копировании данного материала, ставить на него ссылку:

http://noted.org.ua/85


Также, вы можете отблагодарить меня переслав любую сумму на любой кошелек WebMoney, для поддержания данного ресурса. Или просто админу на пиво ;)

Кошельки для получения благодарности:
R386985788805
U234140473141
Z147712360455

На данной странице нет комментариев, возможно они закрыты. Если Вы хотите оставить свой комментарий, перейдите на специально созданный раздел

Add your comment now

Please note: JavaScript is required to post comments.