Country ACL

Posted by pawel in NETWORK, SECURITY IT

NETASQ UTM (podobnie zresztą kwestia ta wygląda u innych producentów) nie posiada funkcjonalności filtrowania ruchu ze względu na kraj pochodzenia pakietu IP. Jest kilka przyczyn takiego stanu rzeczy choć prawdopodobnie najistotniejszą jest kwestia liczby podsieci jakie są przydzielane poszczególnym krajom, przykładowo Chiny mają obecnie przydzielone około 2200 podsieci. Wszystkie urządzenia UTM mają narzucone ograniczenia względem liczby zdefiniowanych obiektów tak aby zminimalizować wpływ liczby obiektów na ogólną wydajność urządzenia. Wydaje się mało prawdopodobne aby np. firma NETASQ wprowadziła taką funkcjonalność do swoich UTM, które są zaprojektowane do zaawansowanego filtrowania i analizowania treści. Dodatkowo, zakresy adresów przydzielanych danym krajom ulegają zmianom co powoduje konieczność zaimplementowania mechanizmów aktualizacji takich baz.

W sytuacji gdy udostępniamy jakieś zasoby na zewnątrz sieci np. prywatna chmura lub serwer poczty SMTP, zablokowanie ruchu przychodzącego do tych zasobów z niektórych części świata jest rozwiązaniem w istotny sposób poprawiającym poziom ochrony tych zasobów. Jeżeli nasza instytucja nie prowadzi współpracy np. z Chinami, Białorusią czy Rosją zablokowanie dostępu z tych krajów do naszych serwerów nie będzie uciążliwe dla użytkowników a liczba przychodzącego SPAM-u może zostać znacznie ograniczona. Możemy równocześnie chronić swoich użytkowników przed atakami prowadzonymi za pomocą zainfekowanych witryn internetowych. Możliwości praktycznego wykorzystania filtrowania ze względu na kraj, region, kontynent, etc. jest wiele.

Rozwiązań dających możliwość budowania prywatnych usług „chmury” jest dużo, jednym z nich jest Synology NAS. Synology NAS to pamięć sieciowa z możliwością instalacji aplikacji. Osobiście wykorzystuję Synology jako serwer poczty dla jednej z domen wykorzystywanych przez SerwiTECH oraz korzystam z usługi Synology Cloud, bardzo udanej, moim zdaniem, realizacji koncepcji prywatnej „chmury”. NAS jest chroniony NETASQ-kiem, jednak jako dodatkową ochronę postanowiłem zrealizować odcięcie dostępu urządzenia NAS z krajów które są na liście top-spamerów oraz tych z których dostęp nie ma praktycznie żadnego sensu (z puntu widzenia SerwiTECH).

Opisane rozwiązanie eksploatujemy z powodzeniem już od kilku miesięcy, analiza logów wskazuje, że próby połączeń z krajów blokowanych są zjawiskiem codziennym.

CountryBlock_pfSense

Filtrowanie z uwagi na kraj pochodzenia pakietu zostało zrealizowane przez pfSense. pfSense to bezpłatnie dostępny (GNU), nieźle udokumentowany, oparty o FreeBSD system firewallowy który posiada (możliwość doinstalowania) moduł Country ACL (pfBlocker). pfSense można zainstalować na różnych platformach sprzętowych. Wybrałem ALIX firmy PCEngine, głównie z uwagi na cenę, dostępność oraz małe zużycie energii. Płyta alix2d3 posiada trzy interfejsy 100 Mbps co idealnie wpasowuje się w przyjętą przeze mnie koncepcję. W dalszej części opisu dla urządzenia tego przyjąłem nazwę CountryBlock.

Legenda do schematu topologii
  1. Interfejs administracyjny urządzenia CountryBlock (LAN), adres IP interfejsu należy do sieci lokalnej
  2. Interfejs zewnętrzny urządzenia CountryBlock (OUT), interfejs bezadresowy podłączony bezpośrednio do portu NETASQ-a
  3. Interfejs wewnętrzny urządzenia CountryBlock (IN), interfejs bezadresowy podłączony bezpośrednio do portu Synology NAS, interfejs ten jest zmostkowany z interfejsem OUT
  4. Interfejs NETASQ-a dla LAN
  5. Interfejs NETASQ-a dla DMZ, interfejs ten jest zmostkowany z interfejsem zewnętrznym NETASQ-a
  6. Interfejs zewnętrzny NETASQ-a podłączony do modemu dostawcy Internetu

Włączenie urządzenia CountryBlock jest przeźroczyste dla współpracujących urządzeń, można byłoby włączyć to urządzenie (IN, OUT) pomiędzy interfejs zewnętrzy NETASQ-a (6) a modem dostawcy Internetu, jednak z uwagi na nie wykonanie, jak dotychczas, testów wydajnościowych urządzenia CountryBlock zachodziła obawa o jego wpływ na wydajność łącza.

Za ogólne filtrowanie ruchu odpowiedzialny jest NETASQ zatem reguły na CountryBlock ograniczają się jedynie do filtrowania z uwagi na kraj pochodzenia pakietu.

Konfiguracja zapory

pfb_lan

W mojej konfiguracji dostęp do urządzenia CountryBlock jest możliwy z każdego hosta z sieci Lan. Oczywiście można ograniczyć dostęp do pojedynczego hosta lub grupy hostów.

(przedstawiony interfejs graficzny jest interfejsem który zmodyfikowałem) 

pfb_out

Przy analizie reguł należy pamiętać, że reguły są przetwarzane od góry do dołu. Domyślna polityka to Block (czyli jeżeli nie ma reguły dopuszczającej to ruch jest z definicji blokowany)

  1. blokuj wszystkie połączenia które pochodzą z kraju zdefiniowanego przez alias pfBlockerTopSpammers
  2. zezwalaj na usługę pop3 jeżeli połączenie pochodzi z serwera VPS (jeden z naszych serwerów VPS)
  3. zezwalaj na ping jeżeli połączenie pochodzi z kraju zdefiniowanego przez alias pfBlockerEurope (jak zostanie przedstawione w kolejnej części opisu alias ten opisuje aktualnie tylko IP z Polski)
  4. zezwalaj na usługę imap jeżeli połączenie pochodzi z kraju zdefiniowanego przez alias pfBlockerEurope
  5. zezwalaj na usługę imaps jeżeli połączenie pochodzi z kraju zdefiniowanego przez alias pfBlockerEurope
  6. zezwalaj na dowolne połączenia jeżeli pochodzą z sieci lokalnej
  7. zezwalaj na dowolne połączenia na smtp (regułą 1 zablokowała już top spamerów)
  8. zezwalaj na usługę smtps jeżeli połączenie pochodzi z kraju zdefiniowanego przez alias pfBlockerEurope
  9. zezwalaj na usługę https z dowolnego źródła – webmail (regułą 1 zablokowała już top spamerów)
  10. zezwalaj na usługę Synology Cloud jeżeli połączenie pochodzi z kraju zdefiniowanego przez alias pfBlockerEurope

pfb_in

Konfiguracja interfejsów CountryBlock
Konfiguracja modułu pfBlocker

pfBlocker pozwala na użycie innych, niż zdefiniowane domyślnie, listy adresów IP krajów. Warto skorzystać z serwisu https://www.iblocklist.com 

alix-miniwall2c3+antredrear

Mimo, że nie zajmujemy się sprzedażą rozwiązań ALIX naszym klientom jesteśmy w stanie pomóc w zakupie sprzętu i konfiguracji opisanego rozwiązania.

- Paweł Grzelewski

14 Kwi 2014


Najnowszy firmware SNS: 3.8.1 (Release Note)
Najnowszy firmware SNSv2: 2.13 (Release Note)