Skip to content

Artykuły oznaczone jako: iptables

Apache2: Moduł evasive, ipset i iptables (anty DOS/DDOS)

Apache2 ma kilka ciekawych modułów, które mogą uchronić nasz serwer www przed atakami DOS i DDOS. Jednym z nich jest moduł evasive . Nie jest on jednak oficjalnym modułem i brak o nim jakiejkolwiek wzmianki w oficjalnej dokumentacji na stronie Apache2. Niemniej jednak, jest to bardzo prosty moduł składający się dosłownie z kilku dyrektyw, które są w stanie zablokować zapytania o zasoby serwera w przypadku, gdy zostanie przekroczony pewien ustalony przez nas limit. Dodatkowo, ten moduł może współgrać z filtrem iptables oraz ipset , dając nam możliwość wygodnego blokowania uporczywych klientów na poziomie pakietów sieciowych.

Czytaj cały wpis

nf_conntrack: automatic helper assignment is deprecated

Jeśli ktoś uważnie śledzi logi systemowe, to od czasu do czasu można w nich znaleźć komunikat, którzy brzmi mniej więcej tak: nf_conntrack: automatic helper assignment is deprecated and it will be removed soon. Use the iptables CT target to attach helpers instead . Ta wiadomość odnosi się do jednego z modułów linux'owego filtra pakietów iptables . Moduł, o którym mowa to nf_conntrack , który odpowiada za śledzenie połączeń nawiązywanych przez system. Sam komunikat zaś dotyczy mechanizmów pomocniczych, których sposób aktywacji jest już nieco przestarzały i zostanie wkrótce usunięty. Co to oznacza dla przeciętnego użytkownika linux'a i czym są w istocie te mechanizmy pomocnicze, które znajdują zastosowane na zaporze sieciowej?

Czytaj cały wpis

Jak wyczyścić tablicę conntrack'a w debianie

Sporo użytkowników lunux'a, zwłaszcza dystrybucji debian, korzysta z własnych skryptów firewall'a aplikujących reguły iptables . Tego typu rozwiązanie ma jednak swoje wady i zalety. Niewątpliwie do zalet można zaliczyć brak dodatkowego oprogramowania obsługującego zaporę sieciową. Jeśli chodzi zaś o wady, to niestety cały skrypt trzeba sobie dobrze przemyśleć przed zaaplikowaniem. Ludzie często zapominają tutaj o śledzeniu połączeń przez kernel. To właśnie na podstawie wpisów w /proc/net/ip_conntrack lub /proc/net/nf_conntrack system wie, które pakiety należy na zaporze przepuścić, a które zablokować. Jeśli teraz dodajemy reguły do filtra iptables , to nowa polityka zapory nie będzie odnosić się do tych nawiązanych już połączeń, które są określone w tablicy conntrack'a. By się upewnić, że tego typu scenariusz nigdy nas nie spotka, musimy tę tablicę opróżnić.

Czytaj cały wpis

Równoważenie ruchu łącz kilku ISP (load balancing)

Podłączenie pojedynczego komputera do sieci raczej nie stanowi żadnego problemu dla przeciętnego użytkownika linux'a. Wystarczy jedynie skonfigurować kilka parametrów i możemy oglądać swoje ulubione serwisy www. Co jednak w przypadku, gdy mamy do dyspozycji kilka łącz internetowych? Jedną z opcji jest używanie łącza tego ISP, które jest lepsze gabarytowo, a pozostałe łącza trzymać na wypadek awarii tego pierwszego. Nie jest to zbytnio satysfakcjonujące rozwiązanie, zwłaszcza w przypadku, gdy tym providerom płacimy za świadczone nam usługi. W taki sposób płacimy, np. za dwa łącza, a korzystamy z jednego w danej chwili. W linux'ie obsługa wielu łącz różnych ISP jest dość skomplikowana. By taki mechanizm zaimplementować sobie, trzeba stworzyć kilka tablic routingu. Następnie ruch sieciowy musi zostać oznaczony w iptables i przekierowany do tych tablic przez kernel. Przy odrobienie wysiłku jesteśmy jednak w stanie zaprojektować sobie load balancer, który będzie równoważył obciążenie łącza między kilku ISP. Dodatkowo, jeśli jedno z łączy nam nawali, to automatycznie zostaniemy przełączeni na drugie łącze (failover). W tym artykule postaramy się zaprojektować taki właśnie mechanizm.

Czytaj cały wpis

Quality of Service (QoS) w OpenWRT

Wszyscy spotkaliśmy się z sytuacją, w której z bliżej nieokreślonego powodu nie mogliśmy przeglądać stron w internecie. Niby połączenie jest, mamy też dobrej klasy ISP ale net nam muli. W olbrzymiej części przypadków winą można obarczyć sieć Peer to Peer (P2P). Przy nieodpowiedniej konfiguracji klientów tej sieci może dojść do nawiązywania całej masy połączeń w ułamku chwili. W ten sposób nawet jeśli nic aktualnie nie wysyłamy lub nie pobieramy, to i tak te połączenia same w sobie zapychają łącze, no bo przecież nawet puste pakiety w protokołach TCP/UDP zawierają nagłówki, a te już swoje ważą. Gdy sami korzystamy z łącza, to taka sytuacja nie stanowi większego problemu, bo wystarczy odpalić klienta torrent'a w wolnym czasie. Natomiast w przypadku, gdy zachodzi potrzeba wejścia na jakiś serwis www, to możemy zwyczajnie tego klienta wyłączyć. Nie jest to jednak wygodne. Jak zatem wyeliminować problemy związane z siecią P2P? Jeśli na routerze mamy wgrany firmware OpenWRT, to możemy zaimplementować na nim mechanizm QoS (Qality of Service). W ten sposób możemy nadać usługom priorytety. W niniejszym wpisie postaramy się wdrożyć takie rozwiązanie w oparciu o narzędzia iptables oraz tc .

Czytaj cały wpis

Target MARK w iptables (sumowanie oznaczeń)

Pakiety i połączenia można oznaczać w iptables za pomocą target MARK oraz CONNMARK . Ta właściwość tego filtra jest znana chyba większość użytkowników linux'a. Z reguły nie interesujemy się zbytnio szczegółami oznaczania pakietów/połączeń, bo zwykle jest ono przeprowadzane prawidłowo. Niemniej jednak, są przypadki, w których markery nie będą ustawiane poprawnie. Chodzi o sytuacje, gdzie mamy do czynienia z kilkoma mechanizmami oznaczającymi pakiety. Dla przykładu weźmy sobie kształtowanie ruchu za pomocą narzędzia tc oraz failover czy load balancing łącza w oparciu o różne tablice routingu. W obu tych mechanizmach zwykle używa się markowania pakietów w iptables . Co się jednak dzieje z takim pakietem, gdy przechodzi przez reguły zarówno pierwszego jak i drugiego mechanizmu? To właśnie spróbujemy ustalić w tym wpisie.

Czytaj cały wpis

Debugowanie reguł iptables via target TRACE

Linux'owy firewall w postaci iptables może czasami mieć zdefiniowanych sporo reguł. W takim gąszczu jest czasem ciężko się odnaleźć. Bywa zwykle tak, że dodając kolejną regułę chcemy przyblokować szereg pakietów, a mimo to przechodzą one przez zaporę jak gdyby nigdy nic. W takim przypadku zaczyna się mozolne przeszukiwanie reguł w iptables i próba ustalenia, którą z nich zaakceptowała interesujący nas pakiet. Nie musimy jednak głowić się aż tak, by w miarę szybko dociec jak te reguły przez filtr przechodzą i jak są przetwarzane. Możemy skorzystać z mechanizmu śledzenia reguł, który jest wbudowany bezpośrednio w iptables . Mowa oczywiście o target TRACE . W tym artykule zobaczymy jak przy pomocy TRACE ustalić, przez które reguły i łańcuchy przechodzi pakiet.

Czytaj cały wpis

Jak zablokować Facebook i YouTube w OpenWRT

Serwisy społecznościowe takie jak Facebook, Twitter czy YouTube coraz bardziej dają się we znaki przedsiębiorcom, który muszą cały czas pilnować, by ich pracownicy nie siedzieli ciągle w internecie, przynajmniej w czasie pracy. Problem nagminnego przebywania w tych w/w portalach można bardzo łatwo rozwiązać przez... porozmawianie z pracownikami. No może nie zawsze ale co nam szkodzi spróbować? W przypadku, gdy upomnienia nie są w stanie zmusić ludzi w naszej firmie do pracy, a nie możemy przy tym ich zwolnić, to możemy pójść o krok dalej i spróbować im założyć blokadę na te powyższe serwisy. Oczywiście blokada szeregu adresów IP nie wchodzi w rachubę. Korporacje typu Facebook czy Google mają wiele adresów IP na których świadczą swoje usługi. Nie wszystkie z nich są uwzględniane na różnego rodzaju listach. Niemniej jednak, tak na dobrą sprawę to nie musimy nawet znać tych adresów. Jedyne czego nam potrzeba to nazwa domeny oraz kilka pakietów standardowo dostępnych w repozytorium OpenWRT. Mowa o iptables , dnsmasq oraz ipset . W OpenWRT, przy pomocy tych narzędzi możemy zaprojektować filtr, który może zablokować ludziom z naszej sieci dostęp do praktycznie każdego serwisu www. W tym artykule zobaczymy jak taki filtr skonstruować.

Czytaj cały wpis

Filtr pakietów sieciowych w OpenWRT (firewall)

Router wyposażony w firmware OpenWRT posiada wbudowany firewall, który ma za zadnie stać na straży bezpieczeństwa naszej sieci domowej. Standardowo ta zapora przepuszcza cały ruch sieciowy z obszaru LAN do WAN, czyli z sieci lokalnej do sieci naszego ISP. W ten sposób komputery znajdujące się w naszej sieci mają dostęp do internetu i mogą z niego korzystać bez przeszkód. Niemniej jednak, ten mechanizm nie działa tak samo w drugą stronę, czyli z WAN do LAN. Tutaj są już blokowane wszystkie próby nawiązania nowych połączeń (za wyjątkiem żądań ping) ale nic nie stoi na przeszkodzie, by zastosować przekierowanie portów. Dzięki takiemu rozwiązaniu możemy przekierować ruch, który jest kierowany na dany port w routerze, do określonego hosta w sieci lokalnej. Wszystkie te zadania realizowane są przez iptables i w tym wpisie postaramy się ogarnąć to narzędzie.

Czytaj cały wpis

NAT Reflection oraz NAT Loopback w OpenWRT

Mechanizm NAT Loopback nazywany też NAT Reflection lub NAT Hairpinning często jest pomijany przy omawianiu tematyki firewall'a. Chodzi generalnie o możliwość uzyskiwania dostępu do zasobów w sieci lokalnej po adresie, który jest na zewnętrznym interfejsie sieciowym routera. W taki sposób mając dwa hosty w sieci lokalnej, jeden z nich jest w stanie uzyskać dostęp do usług znajdujących się na drugim hoście przez wykorzystanie zewnętrznego często też publicznego adresu IP. W tym wpisie przybliżymy sobie zasadę działania tego mechanizmu.

Czytaj cały wpis

Strona 1 z 3123