Strona używa cookies (ciasteczek). Dowiedz się więcej o celu ich używania i zmianach ustawień. Korzystając ze strony wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.    X

Bezprzewodowy router na Debianie - wersja kompletna cz. II

W części pierwszej napisałem jak uruchomić bezprzewodowy punkt dostępowy oparty na Debianie. Część druga jest o tym jak go trochę zabezpieczyć.

Paranoid

Ludzie korzystający z systemu OpenBSD to najczęściej osoby cierpiące na paranoję związaną z bezpieczeństwem komputerowym. Jeśli ktoś przeczytał część pierwszą (i moje wcześniejsze wpisy) to już wie, że bardzo lubię OpenBSD więc nie mogę pominąć tego tematu.

Mój dom, moja twierdza

Podstawowym środkiem bezpieczeństwa każdego routera jest firewall. Poniżej nie będę starał się opisać zasady konfiguracji iptables bo to temat zbyt obszerny a jedynie przedstawię szkic skryptu filtra pakietów odpowiedni moim zdaniem dla routera.
Na początek tworzymy tworzymy plik zawierający regułki dla IPv4 czyli to czego używamy na codzień:nano /usr/local/bin/firewallDlaczego akurat w tym miejscu? Ponieważ w systemach uniksowych, folder /usr/local/ jest właściwym miejscem na programy spoza systemu bazowego o czym niestety twórcy "Linuksów" zapomnieli.
Ponieważ lista reguł iptables jest dosyć długa, dla wygody Twojej i mojej zamieściłem ją w tym pliku.
Następnie zmieniamy prawa dostępu do skryptu:chown root:root /usr/local/bin/firewalli dajemy prawo do uruchamiania:chmod u+x /usr/local/bin/firewallSkrypt wczytamy wydając polecenie:firewallJeśli okaże się, że firewall zablokował Ci dostęp do routera, wystarczy go zresetować aby przywrócić do niego dostęp. Jeśli wszystko jest w porządku, kopiujemy go do folderu z którego będzie automatycznie uruchamiany podczas startu systemu.cp /usr/local/bin/firewall /etc/network/if-pre-up.d/firewallWszystkie skrypty znajdujące się w tym folderze zostaną wykonane PRZED uruchomieniem sieci co w przypadku firewalla jest zdecydowanie dobrym pomysłem.
Mało kto pamięta o przygotowaniu firewalla dla IPv6, ponieważ jest jeszcze bardzo rzadko używany, mimo to wiele demonów uruchamianych w systemach unixowych nasłuchuje na adresach IPv4 oraz IPv6. Przezorny zawsze zabezpieczony więc i my się przygotujmy. Podobnie jak wcześniej, tworzymy plik:nano /etc/network/if-pre-up.d/ip6firewallWklejamy zawartość (pod warunkiem, że naprawdę nie korzystamy z IPv6):#!/bin/shIPTABLES=/sbin/ip6tables# kasowanie starych zasad i ustawianie domyślnych reguł w łańcuchach jako DROPecho "[+] Kasowanie starych reguł..."$IPTABLES -F$IPTABLES -X$IPTABLES -P INPUT DROP$IPTABLES -P OUTPUT DROP$IPTABLES -P FORWARD DROP$IPTABLES -t mangle -P PREROUTING DROP$IPTABLES -t mangle -P POSTROUTING DROPI nadajemy odpowiednie prawa:chown root:root /etc/network/if-pre-up.d/ip6firewallchmod u+x /etc/network/if-pre-up.d/ip6firewallFirewall gotowy, to teraz zajmiemy się pozostałymi usługami działającymi na naszym routerze.
Na początek serwer SSH. Domyślnie uruchamiany jest w Debianie z prawem do logowania się roota co jest wysoce niewskazane. Otwieramy plik /etc/ssh/sshd_config i linijkęPermitRootLogin yespoprawiamy naPermitRootLogin no/etc/init.d/ssh restartLogowanie się za pomocą kluczy dramatycznie zwiększa bezpieczeństwo serwera SSH. Jak to zrobić opisałem tutaj.

Przystawmy szklankę do ściany...

Domyślnie Debian uruchamia kilka usług. Są to serwery ssh,exim4, portmap i rpc.bind. Żeby dowiedzieć się jakie usługi nasłuchują w sieci, wydajemy polecenie:netstat -untapSSHD jest raczej niezbędny. Exim nasłuchuje na pętli zwrotnej lo więc jest nieszkodliwy. Reszta do niczego nam się nie przyda a do tego pod względem bezpieczeństwa cieszy się raczej wątpliwą sławą. Wobec tego wyłączymy im automatyczny start razem z systemem.update-rc.d nfs-common removeupdate-rc.d rpc.statd removeupdate-rc.d portmap remove

Jeszcze tylko zmieniamy klika ustawień jądra dopisując do pliku /etc/sysctl.d/local.conf kilka linijek:net.ipv4.conf.default.rp_filter=1net.ipv4.conf.all.rp_filter=1net.ipv4.conf.all.send_redirects = 0net.ipv4.conf.all.accept_source_route = 0net.ipv6.conf.all.accept_source_route = 0Wydajemy polecenie:sysctl -p /etc/sysctl.d/local.confRouter powinien działać i być jako tako zabezpieczony.

Podsumowanie

Jeśli postępowałeś krok po kroku, wszystko powinno działać jak należy. Jeśli nie działa to albo Ty coś zrobiłeś źle albo ja coś pokręciłem. W razie czego dajcie znać.

Do naszego routera można dołożyć jeszcze filtrowanie treści WWW. Może w wolnej chwili opiszę jak to zrobić jeśli zainteresowanie tematem będzie odpowiednio duże ;-) 

linux bezpieczeństwo

Komentarze

0 nowych
alucosoftware   7 #1 16.03.2013 15:53

Ok :)

okokok   12 #2 16.03.2013 18:18

Fajnie i treściwie napisane :)

przemor25   14 #3 16.03.2013 19:01

Dużego zainteresowania się tym tematem nie spodziewaj się, ale myślę, że warto to kontynuować dla potomnych :)

okokok   12 #4 16.03.2013 19:16

@przemor25, ja jestem bardzo zainteresowany :)

parranoya   8 #5 16.03.2013 20:06

@przemor25
Ja wiem, że na tym portalu wiekszą popularnością cieszą się wpisy o tym jak ''Banan znęca sie nad...'' (bez urazy Banan) :-) ale mam nadzieje, że za pośrednictwem Google trafią tu także zainteresowani takimi tematami.

Banan   10 #6 16.03.2013 20:50

@parranoya

Spoko, nie ma sprawy. Na pewno jak będziesz kontynuował to znajdą się czytelnicy. Właśnie dzięki Google niektóre wpisy są wyświetlane i komentowane długo po opublikowaniu. Portal jest bardzo duży co tylko ułatwia sprawę wyciągając bloga wysoko w wynikach, powodzenia =)

  #7 17.03.2013 11:09

@parranoya
jeśli interesuje cię bezpieczeństwo pod Linuksem zainteresuj się grsecurity

parranoya   8 #8 17.03.2013 17:41

@Anonim
"jeśli interesuje cię bezpieczeństwo pod Linuksem zainteresuj się grsecurity"
Grsecurity = kompilacja jądra, a co myślę o kompilacji kernela napisałem w tekście. Odpada...

hosti   3 #9 18.03.2013 10:25

Wielkie dzięki @parranoya za ten i poprzedni wpis. Właśnie przeprowadziłem się do nowego mieszkania i mam zamiar zrobić sobie mały serwer właśnie z obsługą sieci (+ z protokołem uwierzytelniania).
Szukam dystrybucji pod moje "widzi mi sie" i debian będzie chyba najlepszy :) bo chcę wrzucić jeszcze xbmc :)

parranoya   8 #10 18.03.2013 10:28

@hosti
A proszę bardzo, polecam się na przyszłość ;-)

  #11 18.03.2013 16:16

Nie wiem, czy to kiedyś zrozumiem. Dlaczego sportowiec najlepszy w swojej dyscyplinie jest zwany mistrzem? Dlaczego fotografik robiący doskonałe zdjęcia jest zwany artystą? Dlaczego glazurnik podchodzący do swojej pracy bardzo sumiennie i dokładnie jest zwany najlepszym fachowcem w okolicy? Nawet zwykły obywatel ratujący komuś życie z narażeniem swojego nie jest nazywany niespełna rozumu szaleńcem lecz bohaterem. To dlaczego admin dbający o bezpieczeństwo, profesjonalnie i poważnie podchodzący do swoich obowiązków jest zwany paranoikiem, czyli osobą chorą psychicznie? Zamykanie wszystkich okien i drzwi wychodząc z domu to też paranoja? Ja dodatkowo mam czujnik czadu i dymu w domu - czy to znaczy że powinienem zacząć się leczyć?

whanamingo   2 #12 18.03.2013 22:23

Bardzo dobry artykuł - mam gorącą nadzieję że kolejna część powstanie...
Czy możliwe byłoby opisanie jak dołożyć do tego filtr antywirusowy (Clamwin) do kompletu - aby mieć poczucie pełnego bezpieczeństwa?

Jakiego urządzenia konkretnie używasz do tego celu?

parranoya   8 #13 18.03.2013 22:42

@nons
Ja też zastanawiałem się nad czujnikiem dymu do domu :-)
@whanamingo
Nigdy nie używałem clamav do tego celu. Po pierwsze ma za niską skuteczność a po drugie bardzo obciąża procesor co przy wielu uzytkowniach znacznie spowalnia łącze.
W pliku configuracyjnym dansguardian dla Debiana jest gotowy konfig, który wystarczy odhaszować.

  #14 18.03.2013 23:40

Wpis przyda sie jak nie teraz to pozniej skorzystam. Prosze rozwijac temat.

  #15 19.03.2013 10:43

spodobało "mnie się". Zachęcam do napisania jak filtrować sieci www.

  #16 17.09.2013 12:43

Filtr treści również poproszę - blog jak dla mnie, początkującego żółtodzioba rewelacja.