Предисловие. Любая система, а тем более с открытым кодом — подвержена к сетевым атакам и всякого рода взломам, поэтому самым первым и надежным сторожем в 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/?p=85


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

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

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

Add your comment now

You must be logged in to post a comment.