Skip to content

Archive for Lipiec 7th, 2007

7
lip

HOWTO Shorewall – dla zielonych

Oj dawno temu obiecałem Wam już to miniHOWTO z Shorewalla dla zupełnie zielonych. Tak więc dzisiaj postanowiłem spełnić tę obiecankę :-)

Trochę teorii.

Zapora ogniowa (firewall) ma służyć zabezpieczeniu jednego komputera lub też całej sieci komputerów, przed negatywnymi oddziaływaniami z sieci zewnętrznej, minimalnie przy tym upierdliwiając pracę z zabezpieczanym komputerem. Heh, ale mi ciekawe zdanie wyszło.

Bez firewalla:

Bez firewalla

Proszę się nie śmiać z rysunku! Wiecie jak ciężko coś narysować za pomocą trackmana?? :) O co chodzi na tych bohomazach? No, to chyba jasne. Czerwona strzałka to wszelkiego rodzaju nieautoryzowany dostęp do naszego komputera (to pod monitorem to nie są zęby, ino klawiatura ;-)) Niebieska strzałka symbolizuje naszą aktywność w Sieci. To wszystkie żądania połączeń z serwerami www, ssh, ftp, bittorrent itd. jakie rozsyłamy w sieci podczas codziennej pracy i zabawy z komputerem podłączonym do Internetu. Zielonym kolorem oznaczyłem autoryzowane połączenia z naszą maszyną. Czyli wszelkiego rodzaju odpowiedzi serwerów z Sieci na nasze wcześniejsze żądania czy też połączenia znajomych z naszym komputerem. Oczywiście jest to rysunek wysoce uproszczony i taki miał być.

Za firewallem:

Zabezpieczenie firewallem

Widać tutaj wyraźnie, że firewall (na rysunku jako zewnętrzny komputer) ucina czerwoną strzałkę nie dopuszczając jej do naszych cennych zasobów. I znowu, tak jak poprzednio uprasza się o nie śmianie się z rysunku, tak, pod monitorem to klawiatura a nie zęby. Oczywiście rysunek, tak jak poprzednio wysoce schematyczny i należy go brać z lekkim przymrużeniem oka ;-)

Kilka dalszych wyjaśnień.

Firewallem może być Nasz komputer, wcale nie musi to być oddzielna maszyna. Funkcję ogniomurka może też spełniać jakiś router. Oczywiście Nasz komputer może być zastąpiony przez całą sieć komputerową chronioną przez jeden firewall. No i proszę nie mylić firewalla z antywirusem! To nie jest to samo – szczególnie jak na Naszym komputerze mamy zainstalowanego Windows(tm). Ten wpis nie jest jednak dla miłośników tego systemu operacyjnego gdyż skupię się w 100% na firewallu Linuksowym.

Część właściwa – Shorewall.

Tak więc mając już za sobą ten przerysowany i zbyt rozwlekły wstęp przejdźmy wreszcie do gwoździa programu. Panie i panowie, Ladies und gentleman…

Shorewall instalacja:

Jako, że używam już od dłuższego czasu różnych klonów i mutacji Ubuntu, tak też i tutaj zaprezentuję jak to działa pod Ubuntu. Sądzę, że nie będzie większych różnic w działaniu także pod innymi dystrybucjami, ale proces instalacji na pewno się będzie odrobinę różnił.

sudo apt-get install shorewall

Coś tam nam pomięli, pościąga z sieci i powie, że już. Nie wypada się nam tym interesować, bo jak w tytule wpisu zaznaczałem, jest to HOWTO dla zielonych, a zieloni się tym nie interesują – jeszcze.
No więc po udanym dociągnięciu wszelkich zależności i paczek oraz po zainstalowaniu mamy w systemie Shorewalla.
No i co dalej?
Zaczynamy!

/etc/shorewall/zones

To plik, w którym definiujemy aliasy dla interfejsów (brrr jakie ohydne słowo) oraz ich typ. U mnie wygląda to tak:

fw firewall

net ipv4

loc ipv4

Czyli w dalszej części konfiguracji jeśli napiszę fw to rozumiem, że chodzi o firewalla czyli o ten komputer, na którym mam zainstalowanego Shorewalla. net oznacza Internet a loc oznacza sieć lokalną.
Wszystko się wyklaruje w dalszej części, zobaczycie :-)

/etc/shorewall/interfaces

net eth0 detect dhcp,tcpflags,norfc1918,routefilter,nosmurfs,logmartians

loc eth1 detect tcpflags,detectnets,nosmurfs

Tutaj jak widać zdefiniowaliśmy sobie dodatkowe opcje dla poszczególnych interfejsów sieciowych, w moim przypadku na kompie z Shorewallem mam dwie karty sieciowe: eth0 i eth1. eth0 łączy się z Internetem a eth1 z siecią lokalną, w której mam jak na razie jeden komputer. Pod Ubuntu wszystkie te opcje są dokładnie opisane w komentarzach do tego pliku, więc nie będę tego tutaj wyjaśniał.

/etc/shorewall/policy


loc net ACCEPT
loc fw REJECT info
loc all REJECT info

fw net REJECT info
fw loc REJECT info
fw all REJECT info

net fw DROP info
net loc DROP info
net all DROP info

all all REJECT info

Tutaj można ustawić naszą podstawową zasadę bezpieczeństwa. Ja wycinam w zasadzie wszystko już na starcie. Wyznaję (na razie) zasadę, że lepiej wszystko wyciąć przy samej dupie i dopuszczać tylko to, co się chce, niż na początku dopuszczać wszystko a wycinać tylko niechciane. Ale są różne szkoły ;)

Nie przejmujcie się, że teraz wygląda to tak, jakbyśmy się odcięli od sieci zostawiając tylko lokalny komputer z dostępem do netu w zasadzie bez firewalla. Może to i wygląda nielogicznie ale działa całkiem dobrze ;) To są takie podstawowe policy rules czyli zasady bezpieczeństwa, ale na najwyższym poziomie „abstrakcji” hehe.
Lecim dalej!

/etc/shorewall/rules

No! To dotarliśmy do najważniejszego pliku :) Tutaj już możemy sobie ustawiać dokładnie co i jak chcemy mieć wycinane a co dopuszczane.
Żeby było łatwiej Shorewall ma gotowy zestaw makr w plikach /usr/share/shorewall/macro.*. Makra te ułatwiają konfigurację poszczególnych usług, takich jak ssh, ping, http i innych. Jak to wygląda w przykładowym pliku?

Proszę bardzo:
DNS/ACCEPT fw net
DNS/ACCEPT loc fw

DNS/ACCPET oznacza, że Shorewall ma poszukać makra makro.DNS, które to makro wygląda tak:
PARAM - - udp 53
PARAM - - tcp 53

Dalej możemy umieścić taki oto wpis:
SSH/ACCEPT loc fw
SSH/ACCEPT net:XXX.XXX.XXX.XXX fw #Igore
SSH/ACCEPT fw loc

Tutaj akceptujemy wszystkie połączenia ssh z komputera lokalnego do firewalla oraz odwrotnie a także połączenie z internetu z danego adresu IP opisanego dodatkowo jako #Igore – znajomy informatyk z Czech ;). Czyli jeśli ktoś z innego adresu IP będzie chciał się z nami połączyć via ssh to nie da rady. Proste, prawda? Nie zapomnijcie tylko o _dwukropku_ przed adresem IP.

Ping/ACCEPT loc fw
Akceptujemy pingi z lokalnej do firewalla.
Jeśli natomiast nie lubimy kiedy ktoś chce pingować nas to w ten sposób mu to uniemożliwimy:

Ping/REJECT net fw

No i to by było na tyle w zasadzie. Pamiętać jeszcze należy o restarcie Shorewalla:

sudo /etc/init.d/shorewall restart

zawsze kiedy dokonamy jakiś zmian w plikach konfiguracyjnych i chcielibyśmy aby zmiany te weszły w życie.

Pozostaje mi więc już tylko życzyć wszystkim „zielonym” miłej zabawy z tym fajnym narzędziem jakim jest Shorewall :)

7
lip

Jak się wali to wszystko i na amen

 Kilka dni temu padły mi w robocie dwa dyski podpięte do kompa. Najgorzej, że jeden z nich to był mój prywatny *Western Digital* 40 GiB… Fatalnie się zdenerwowałem bo następnego dnia musiałem jechać na kilka dni na delegację… Wrrr a tyle było spraw do załatwienia tego dnia jak te dyski padły. Oczywiście z większością z nich się nie wyrobiłem. Później reinstall systemu bo oczywiście wszystko poszło się je….ć. Nowemu naszemu koledze nie mogłem zostawić nieskonfigurowanego przynajmniej w minimum komputera. Cokolwiek chociaż musiałem tam zainstalować.

 Swoją drogą to dziwna sprawa, że dwa dyski padły nieodwołalnie w tym samym czasie. Szkoda mi tej mojej _czterdziestki_. Mam nauczkę, żeby nie przynosić do pracy własnego sprzętu, nawet jeśli by to miało przyspieszyć działanie komputera, na którym pracuję po 11h dziennie.

Ale weź tu człowieku i nie przynieś jakiejś kości RAM czy twardziela, kiedy wiadomo, że przyspieszy to pracę a firma na pewno nie da kasy, żeby można było to zrobić za firmową kasę…

Przez pad tych dysków straciłem kilka godzin na sprawdzanie wszystkiego i później na ponowną konfigurację systemu… Gdyby nie to, że planuję odejście z tej firmy, to zastanowiłbym się nad jakimś własnym LiveCD, który po zainstalowaniu byłby już optymalnie skonfigurowany i dopieszczony.
Hmmm w sumie to i tak się nad czymś takim zastanowię. Wczoraj bawiłem się „Ubuntu Customization Kit(UCK)”:http://uck.sourceforge.net/. W pracy mi to działało w domu nie chce. Nie może się podmontować przy tworzeniu obrazu… Ale dojdę jeszcze co i jak ;-)

***
Wiem, długo się rozkręcam po tej przerwie w pisaniu. Jeszcze pewnie minie trochę czasu zanim wrócę do dawnego stanu. Mam nadzieję, że będzie mi to wybaczone, gdyż nie zamierzam jednak rezygnować z blogaska tego.

7
lip

Ostatnie albumy

Jako, że ostatnio się trochę działo (o czym wspomniałem wpis wcześniej) nie było czasu pochwalić się kolejnymi zdjęciami jakie trafiły na Picase. Tak więc chwalę się teraz ;-)

Powązki
Jasienica-weselicho
Spacerek po lasku
stat4u