Bądź na bieżąco - RSS

OpenVAS, GVM na Dockerze

1 lutego, 2022 | Brak Komentarzy | Kategoria: Linux, Porady
OpenVAS

OpenVAS należący do znanego projektu o nazwie GVM zalicza się do zestawu narzędzi typu trzeba mieć dla każdego współczesnego administratora, lub jak ktoś woli devopsa (prawda, że od razu brzmi lepiej?). Czy ktoś chce czy nie, temat cyberbezpieczeństwa stał się na tyle modny/istotny, że trzeba zawsze poważnie podchodzić do swoich zadań z tego zakresu. Aby zatem ustrzec się przed włamaniem najlepiej jest samemu sprawdzać swoje sieci, nawet za pomocą podstawowego zbioru wektorów, pod kątem podatności na ataki. Tak zwane testy penetracyjne (powszechnie określane jako pentesty) są tutaj bardzo pożądanym działaniem. I właśnie wspomniany na początku OpenVAS jest jednym z najlepszych środków dla zebzpieczenia się dzięki sprawdzeniu jake luki może posiadać sieć, którą się opiekujemy.

Istalacja OpenVAS od podstaw jest jak najbardziej możliwa, wymaga jednak umięjętnego poruszania się w środowisku Linuksa, oraz co najmniej średniego stopnia zaawansowania biorąc pod uwagę kompilacje kodu źródłowego. Aby w pełni uruchomić i dostroić pakiet trzeba skonfigurować poprawnie dużą liczbę zależności oraz dodatków, bez których aplikacja nie stanie się pełnowartościowym produktem.

Druga, nie mniej istotna sprawa to aktualizowanie definicji wektorów ataku, które przecież w dzisiejszych czasach zmieniają się dość gwałtownie. Jest to również proces, nad którym trzeba zapanować. Używanie do pentestów OpenVAS z niektualnymi zbiorami podatności mija się po prostu z celem.

Aby przyspieszyć proces wdrażania opisywanego narzędzia można skorzystać z kontenerów Docker. Jest to dobra wiadomość, w szczególności dla niezaawansowanych użytkowników. Niemniej próżno szukać oficjalnego źródła na portalach w rodzaju Docker Hub. Dlatego chciałem się podzielić konfiguracją, z kórej sam korzystam. Jest ona sprawdzona o tyle, że przekonałem się, iż jak na razie jest aktulizowana przez autora. Poza tym, aby pobrać najnowsze wektory wystarczy uruchomić ponownie kontener. W trakcie startu zostaną uruchomione skrypty, które zadbają o sprawdzenie stanu definicji i w przypadku konieczności zmiany wersji na nowszą wykonają to za nas.

Co zatem należy zrobić? Zakładając, że na przykład mamy już zainstalowany Docker wraz z docker-compose, oraz dla wygody środowisko graficzne do zarządzania kontenerami Portainer, przechodzimy do zakładki Stacks i budujemy nową konfigurację korzystając z poniższego kodu.

version: "3"
services:
openvas:
ports:
- "8080:9392"
environment:
- "PASSWORD=admin"
- "USERNAME=admin"
- "RELAYHOST=172.17.0.1"
- "SMTPPORT=25"
- "REDISDBS=512" # number of Redis DBs to use
- "QUIET=false" # dump feed sync noise to /dev/null
- "NEWDB=false" # only use this for creating a blank DB
- "SKIPSYNC=false" # Skips the feed sync on startup.
- "RESTORE=false" # This probably not be used from compose… see docs.
- "DEBUG=false" # This will cause the container to stop and not actually start gvmd
- "HTTPS=false" # wether to use HTTPS or not
volumes:
- "openvas:/data"
container_name: openvas
image: immauss/openvas
volumes:
openvas:

Więcej szczegółów można znaleźć na stronie https://github.com/immauss/openvas . Miłej zabawy.

MG

Tagi: , , ,

Apache Guacomole

31 sierpnia, 2021 | Brak Komentarzy | Kategoria: Porady
Apache Guacamole

Wakacje dobiegają końca. Będąc cały czas na urlopie zastanawiałem się czym mógłbym się podzielić. Zależało mi na czyś w miarę świeżym, ale jednocześnie lekkim do przyswojenia. Wybór padł na dwa tematy tj. platforma TP-Link Omada oraz bramka Apache Guacamole. Ten pierwszy jest dużym zagadnieniem, chociaż wielu użytkowników dowiaduje się o produkcie TP-Link przy okazji budowy zarządzanych centralnie sieci bezprzewodowych. Zapewniam jednak, że Omada to dużo więcej. Cóż, właśnie poznaję ten system, zatem dzisiaj parę, wakacyjnych jeszcze, zdań o bardzo przyjemnym wynalazku jakim jest Guacamole (nieco przewrotnie).

Na pewno każdy zajmujący się zagadnieniami sieciowymi czytelnik napotkał problem związany z uzyskaniem dostępu do zdalnych lokalizacji. Czy to będą sieci firmowe, czy też całkiem prywatne, zazwyczaj kończy się na uruchomieniu VPN. Wielokrotnie wspominałem, że najbardziej lubię tandem sprzętowo-programowy czyli router Mikrotika plus L2TP VPN. Główną przyczyną jest klient L2TP VPN, który został wbudowany w większość systemów operacyjnych, a Windows 10, po ostatnich aktualizacjach prowadzi wręcz za rękę jeśli chcemy z niego skorzystać.

Innym rozwiązaniem jest tzw. poor man’s VPN, czyli serwer SSH wraz z tunelowaniem i przekierowywaniem portów. Zalętą rozwiązania jest konieczność posiadania tylko jednego otwartego portu TCP na firewallu. Zaś wadą instalowanie użytkownikom klientów SSH, w tym najbardziej popularnego dla Windows PuTTY. Ich obsługa nie jest prosta dla przeciętnej osoby. Jak zauważyłem, mnogość opcji, która mnie osobiście przypadła do gustu stanowi problem dla innych. Jak dostać się do zdalnego pulpitu RDP w firmie za pomocą tunelu SSH, zdecydowanie nie należy do kwestii łatwych do wyjaśnienia.

Jeszcze inną kwestią pozostają klienty do obsługi wszelkich zdalnych dostępów, które muszą być bezpieczne i jednocześnie w prosty sposób dawać możliwość pracy ze zdalnymi zasobami. Czy można jednak pominąć jakiekolwiek instalacje i jednocześnie zabezpieczyć swój dostęp?

Okazuje się, że odpowiedzią na tak postawione pytanie jest bramka Apache Guacamole. Produkt ten cyt. jest aplikacją webową HTML5, która zapewnia dostęp do środowisk pulpitu za pomocą zdalnych protokołów (takich jak VNC lub RDP). Guacamole jest również projektem, który tworzy tę aplikację internetową i dostarcza API, które ją napędza. API może być używane do zasilania innych podobnych aplikacji lub usług. Tyle od autorów projektu.

Ponieważ wpis miał być wakacyjny, a to oznacza, że nie będę rozwodził się nad technikaliami, chciałbym natomiast zachęcić do wypróbowania. W tym miejscu zaoszczędzę Wam czasu i napiszę, że najprzyjemniejszą metodą instalacji Guacamole będzie kontener Dockera. Aby zrobiło się jeszcze łatwiej dodam, że można użyć platformy Portainer. Poniżej załączam plik dla docker-compose, co jak mam nadzieję spowoduje, że cała instalacja będzie trwała tylko parę minut (sekcja Stacks w Portainer). Resztę pozostawiam na letni wieczór, mamy końcówkę sierpnia, zatem ciemno robi się już dosyć wcześnie, a nic lepiej nie nastraja do zabawy z nowym oprogramowaniem.

version: "2"
services:
guacamole:
image: oznu/guacamole
container_name: guacamole
volumes:
- postgres:/config
ports:
- 8080:8080
volumes:
postgres:
driver: local

MG

Tagi: , ,

0x80004005 – błąd uruchomienia VirtualBox

2 grudnia, 2020 | Brak Komentarzy | Kategoria: MacOS, Porady
VirtualBox

Wirtualizacja jest obecnie jednym z najczęściej stosowanych rozwiązań zarówno na platformach serwerowych jaki i na komputerach osobistych. Pozwala przygotować środowisko testowe dla programisty. Pozwala uruchomić aplikacje napisane dla innych systemów operacyjnych niż ten, który jest naszym głównym. Zastosowań i pomysłów jest wiele. W szczególności jeśli jesteś właścicielem MacBooka Apple to prawie na pewno chociaż raz zastanawiałeś się jak uruchomić aplikację dla Windows. I nie piszę tu tylko o grach ale również o całkiem sporej rzeszy programów biurowych. Tego typu rozważania prowadzą wprost do produktów takich jak VMware Workstation lub VirtualBox – celowo pomijam programy płatne, takie rownież się znajdą dla macOS.

Z powodu przyzwyczajenia od lat korzystam z VirtualBoxa. Nie jest być może najbardziej wydajny, jak również nie zapewnia pełnego wsparcia sprzętowego, ale jako dobrze znany ma dużą społeczność użytkowników, więc można liczyć prawie zawsze na pomoc. Poza tym jego instalacja dla macOS jest banalnie prosta, a w sieci można znaleźć gotowe do użytku obrazy z Windows. Można również skorzystać z poradników typu jak przygotować sobie Windowsy bez ponoszenia kosztów i pozostać legalnym użytkownikiem – tak przynajmniej twierdzą ich autorzy.

Niestety tak jak często w życiu bywa nawet najbardziej doskonałe rozwiązania potrafią zawodzić. Tak właśnie się stało z moim VirtualBoxem po aktualizacji MacBooka do systemu macOS Big Sur wersja 11. Niby wszystko działało poprawnie i VirtualBox uruchomił się bez zarzutu, ale żadna z maszyn wirtualnych nie chciała już wystartować. Na ekranie pojawiał się komunikat: „The virtual machine 'XXX’ has terminated unexpectedly during startup with exit code 1 (0x1).” Szczegóły błędu są mało czytelne, szczególnie w kontekście wyszukania i dopasowania informacji w Inetrnecie:

Result Code: NS_ERROR_FAILURE (0x80004005)
Component: MachineWrap

Rzecz jasna jeśli zaczniemy przeglądać różne fora – również te poświęcone systemom od Apple – to spostrzeżemy, że porad jak zapobiegać takim wyjątkom jest cała masa. Ja zaś tradycyjnie chciałbym się skupić na na kilku prostych krokach, które przywracają pełną funkcjonalność VirtualBox. Przynajmnie do czasu kiedy ukaże się kolejna wersja tego oprogramowania.

Po pierwsze należy uruchomić MacBooka w trybie Recovery – przy starcie wybieramy kombinację klawiszy cmd+R. Ten krok może trwać dość długo jeżeli konieczne będzie pobranie obrazu systemu z serwerów Apple. Gdy znajdziemy się już w trybie awryjnym to wystarczy uruchomić terminal i wydać dwa polecenia:

csrutil clear
reboot

Po ponownym uruchomieniu komputera działamy dalej. Po pierwsze pobieramy ze strony producenta najnowszą wersję VirtualBoxa oraz pakiet VirtualBox Extension Pack. Po drugie po zamontowaniu obrazu instalacyjnego najpierw usuwamy aktualną wersję za pomocą skryptu VirtualBox_Uninstall.tool. Ostatecznie zaś instalujemy ponownie aplikację oraz pakiet rozszerzeń.

Mam nadzieję, że pomogłem. 🙂

MG

Tagi: , ,

Problem wyciekania danych

27 września, 2020 | Brak Komentarzy | Kategoria: Porady
Pi-hole czyli rozwiązanie na problem wyciekania danych

Problem wyciekania danych z naszych komputerów jest jednym z najczęściej omawianych zagadnień przez ostatnie miesiące a nawet lata. Skądinąd wiadomo, że wszyscy wielcy gracze na rynku ogólnie pojętych usług internetowych starają się pozyskiwać wszelkie możliwe informacje niezależnie od tego czy wyrażamy na to zgodę czy nie. A ponieważ nawet Ci, którzy dotychczas nie korzystali z usług rozporoszonych, na przykład w architekturze klient-serwer, opracowali nowe wersje swoich produktów, które po prostu wymagają Internetu pod pozorem chociażby aktualizacji, to praktycznie każdy chce stosować telemetrię. Jest to oczywiście dość łagodne określenie dla ciągłej obserwacji użytkownika, uczenia się jego nawyków itp.

Żeby walczyć z podobnymi praktykami można zastosować kilka różnych podejść. Pierwszym, które wydaje się być dosyć oczywiste jest zainstalowanie odpowiedniej aplikacji. Często funkcje nadzorowania połączeń wychodzących z komputera mają wszelkiej maści programy antywirusowe. Ale uwaga – bywa, że same lubią nas podglądać. Poza tym wiele aplikacji potrafi wykryć działanie tychże i na przykład prosić użytkownika o wyłączenie zapory pod pozorem odmowy świadczenia dalej usługi.

Kolejnym jest zainstalowanie w przeglądarce internetowej odpowiednich dodatków. Dotyczy to oczywiście korzystania z samej przeglądarki i nie zabezpiecza przed innym rodzajem użytkowania. Nie mniej wtyczki takie jak AdBlock czy Ghostery są bardzo popularne. Ponadto producenci samych przeglądarek dodają w ich najnowszych wersjach blokowanie reklam itd. Z drugiej strony czy można im wierzyć do końca? To pytanie retoryczne. Jedno jest pewne – ta metoda również ma wiele wad.

Trzecim rozwiązaniem będzie skorzystanie z połączenia VPN z funkcją blokowania dla wycieku danych z naszych komputerów. Wymaga to najczęściej zastosowania dodatkowej aplikacji, która będzie w stanie wygenerować wspomniane połączenie VPN, za co nierzadko trzeba zapłacić. Tutaj prym wiedzie usługa o nazwie Internet Private Access. Posiada bardzo szerokie możliwości konfiguracji oraz aplikacje w wersji instalacyjnej dla niemalże każdego systemu operacyjnego. Do równie ciekawych rozwiązań, które zdążyły już zdobyć pewną sławę w kręgach deweloperów należy ProtonVPN. Lista dostawców jest naprawdę długa i nietrudno jest wyszukać odpowiedniego dla siebie.

Na sam koniec zostawiłem rozwiązanie, które moim zdaniem jest najlepsze. Jest ono lekkie bo nie wymaga instalowania żadnego dodatkowego oprogramowania. Ciężko jest je wykryć (mam na myśli aplikacje czy systemy korzystające z telemetrii) bo ingeruje w jeden z podstawowych protokółów sieciowych jakim jest DNS. Jest w stanie zmienić zachowanie absolutnie każdego programu, który tylko będzie chciał nawiązać komunikację przez sieć Internet. Co więcej, całkiem prawdopodobne, że przyspieszy oraz poprawi funkcjonowanie naszych końcówek sieciowych, bo znacznie ograniczy niepotrzebny ruch. Mowa oczywiście o serwerze DNS, który będzie miał odpowiednio skonfigurowane reguły rozwiązywania nazw, tak aby po prostu zablokować wszystkie podejrzane odwołania.

W wersji dla leniwych można po prostu skorzystać z bezpłatnego (będzie miał wyłączone niektóre funkcje ale na początek powinno wystarczyć) gotowca. Jest nim na przykład serwis OpenDNS. Przyznam, że korzystałem z niego przez wiele lat z dużym powodzeniem. Po zarejestrowaniu konta użytkownika oraz skonfigurowaniu serwerów DNS, czyli podaniu poniższych wartości w ustawieniach karty sieciowej system startował bez zarzutu.

208.67.222.222
208.67.220.220

W wersji dla zuchwałych trzeba samemu lokalnie przygotować serwer DSN, który będzie mógł obsługiwać ruch sieciowy. Bardzo dobrym rozwiązaniem jest w tym przypadku Pi-hole. Społeczność użytkowników i programistów przygotowała kompletny system, gotowy do użycia „po wypakowaniu z pudełka”. Można go zastosować na mikrokomputerze Raspberry Pi – jest to jeszcze jedno jego doskonałe zastosowanie. Można również, do czego zachęcam, skorzystać z kontenerów Docker i w zasadzie jednym poleceniem postawić cały serwer.

docker-compose up --detach

Szczegółowy opis jak zainstalować całość jest dostępny na GitHubie – https://github.com/pi-hole/docker-pi-hole.

Na zakończenie warto zadać ponownie pytanie – problem wyciekania danych, czy można skutecznie przeciwdziałać? Odpowiedzią niech będzie prosty raport z dnia dzisiejszego dla mojej domowej sieci.

Pi-hole raport - problem wyciekania danych został zniwelowany

MG

Tagi: , ,

Zewnętrzny numer IP?

31 maja, 2020 | Możliwość komentowania Zewnętrzny numer IP? została wyłączona | Kategoria: Linux, Porady, Windows
Numer IP? Jak uzyskać informacje na ten temat?

Numer IP – bardzo często bywa tak, że z jakichś powodów chcielibyśmy uzyskać informację na ten temat (zwłaszcza jeśli chodzi o zewnętrzny numer IP). Jak zauważyłem problem ten dotyczy nie tylko sytuacji, w której po prostu sprawdzamy czy operator przydzielił nam właściwy adres IP, ale również coraz częściej jeśli chcemy np. sprawdzić czy zadziałało połączenie prywatne VPN. Zauważyłem, że powoli stają się one standardem (i bardzo dobrze), warto zatem czasami upewnić się, że nasz ruch przechodzi przez odpowiedni router.

Do tej pory można to było zrobić na kilka, mniej lub bardziej eleganckich sposobów. Dla mniej wprawnych zawsze pozostaje np. serwis https://www.whatismyip.com. Ta metoda wymaga jednak posiadania interfejsu graficznego czyli GUI. A jak zrobić to samo na serwerze, który posiada tylko czystą konsolę tekstową?

Tutaj również mamy do dyspozycji wiele metod. Szczególnie jeżeli używamy mojego ulubionego rozwiązania czyli Linuxa. Od lat korzystałem w tym celu z dobrze znanego polecenia wget, które pozwala na sparsowanie wyjścia i tą nieco pokrętną metodą uzyskanie odpowiedzi na pytanie postawione w tytule artykułu:

/usr/local/bin/wget -qO - http://ipinfo.io/ip

Świat idzie jednak do przodu (i bardzo dobrze). wget powoli jest zastępowany przez nowe polecenie (a w zasadzie rozbudowane narzędzie) czyli curl. W takim wydaniu uzyskanie informacji jaki jest zewnętrzny numer IP jest jeszcze prostsze:

curl http://icanhazip.com

I o to przecież wszystkim chodzi 🙂

MG

Tagi: , , ,

ESXi – dostrajamy xsibackup

29 marca, 2020 | Brak Komentarzy | Kategoria: Porady
ESXi - narzędzia

WMware ESXi jest naprawdę bardzo przydatnym rozwiązaniem dla wirtualizacji całych systemów. Ponad rok temu pisałem o narzędziu xsibackup, które w wersji nieodpłatnej pozwala wykonywać kopie zapasowe maszyn wirtualnych. Zrobienie kopii to jedna sprawa, czym innym jest przywrócenie z niej systemu. Oczywiście wersja bezpłatna nie ma takiej opcji. Jak sprawdziłem plik z kopią bardzo dobrze nadaje się do wykorzystania przez inne narzędzie,
VMware vCenter Converter Standalone. W ten sposób można cieszyć się całkiem sprawnym systemem zapisywania i odtwarzania maszyn wirtualnych w przypadku awarii. Nawet totalnej katastrofy. Wielu administratorom zapewnia to spokojny sen.

Skoro już mowa o tym czego brakuje w wolnej wersji xsibackup, to tydzień temu natrafiłem na jeszcze jedno ograniczenie. Przy wykonywaniu kopii zapasowych potrzebne jest miejsce nie tylko na samą kopie ale także na operacje związane z buforowaniem i danymi tymczasowymi tworzonymi podczas całego procesu.

Korzystając z przykładu – kupiłem 2 dyski dodatkowe dyski do serwera, tego samego rozmiaru. Pomijając przyczynę nie mogłem dodać ich do macierzy RAID. Postanowiłem na pierwszym utworzyć maszynę wirtualną a na drugi zrzucać codziennie pełną kopię/duplikat tejże. Oczywiście zostawiłem nieco miejsca na pierwszym dysku. Jak się okazało było go zdecydowanie za mało na drugim (tam gdzie docelowo miała być kopia). Zaraz, zaraz możecie zapytać, coś się tutaj nie zgadza. I rzeczywiście za pierwszym razem xsibackup tworzył pierwszą kopię. Jednak zdecydowanie nie chciał wykonać jej po raz drugi jeżeli w tym miejscu znajdowała się kopia z poprzedniego dnia. Niby sprawa jest prosta bo przecież nasuwa się od razu rozwiązanie. Polega ono na usuwaniu za każdym razem istniejącej kopii przed wykonaniem kolejnej. Przecież każdy program do backupów ma coś takiego. Niestety xsibackup w wersji darmowej nie ma!

W tym momencie rozpoczęła się przygoda z ESXi. Usunięcie danych z katalogu w systemie Linux to nic trudnego:

rm -R /scieka_do_katalogu/*

Ponieważ WMware ESXi to tak naprawdę Linux (no może to nie całkiem prawda), można zatem skorzystać właśnie z tej komendy. Należałoby dopisać ją do crona systemowego, tuż przed wykonywaniem kopii zapasowej xsibackup, która już się tam znajduje. I właśnie dostrajanie po swojemu ESXi na tym poziomie jest delikatnie mówiąc kłopotliwe. Dlatego wpadłem na pomysł, żeby zastosować pewną sztuczkę.

xsibackup ma już gotowy zestaw skryptów pozwalający na dodawanie zadań systemowych wg z góry zdefiniowanego harmonogramu. Zadania są umieszczane w jego katalogu instalacyjnym zgodnie z narzuconą konwencją. Pierwsze zadanie znajduje się w pliku:

../xsibackup/jobs/001

Drugie będzie miało nazwę 002 itd. Dlaczego zatem nie dodać w tym miejscu wspomnianej wcześniej komendy – właśnie jako kolejnego zadania? Czyli zawartość pliku 002 powinna wyglądać jak nasza komenda:

„rm -R /sciezka_do_katalogu/*”

Teraz należ jeszcze pamiętać o dodaniu zadanie do crona. Robimy to tak jak w typowym systemie linuksowym, z tym że tutaj edytujemy plik:

../xsibackup/conf/root-crontab

Aby ostatecznie zatwierdzić wszystkie zmiany wywołujemy polecenie

./xsibackup —update-cron

Jeśli nie zostaliśmy ostrzeżeni komunikatami o błędach to znaczy, że udało się. Teraz wystarczy poczekać dzień, dwa aby przekonać się czy nasz backup zadziała poprawnie.

MG

Tagi: ,

Eksport i import LDAP

23 lutego, 2020 | Brak Komentarzy | Kategoria: Linux, Porady
LDAP, LDIF

Przez ostanich parę lat serwery poczty e-mail przeszły niemałą rewolucję. Jak dobrze pamiętam, kiedyś postawienie własnego MXa wiązało się z konkretną pracą. Mówiąc precyzyjniej zabezpieczeniem takiego serwera tak, aby nie był open-relayem, włączeniem wszystkich autoryzacji i np. przygotowaniem skrzynek z obsługą IMAP, LDAP itp. Obecnie można w miarę łatwo osiągnąć ten cel stosując dopracowane i wygodne w użyciu platformy, jak chociażby iRedMail. Jest to prawdą w odniesieniu do standardowych konfiguracji. Nie po to jednak mamy Linuxa aby zostawić rzeczy samym sobie i nie próbować zmieniać czy poprawiać konfiguracji, czytaj – dostosowywać do swoich potrzeb.

Przy rozbudowanych systemach, z obsługą dużej liczby skrzynek pocztowych, wygodną metodą jest przechowywanie konfiguracji w bazie danych. Osobiście preferuję w tym celu usługi katalogowe LDAP. Moim zdaniem są szybkie i niezawodne, a odpowiednio skonfigurowane bezpieczne. Wspomniany iRedMail pozwala na organizowanie warstwy logiki serwera pocztowego za pomocą LDAPa.

Świat nie stoi w miejscu i nawet jeżeli jako administratorzy mamy względny spokój, bo nikt od nas nie wymaga przenoszenia usługi pocztowej do nowego dostawcy lub na nowe serwery, to zawsze może się zdarzyć, że sami zostaniemy do tego zmuszeni, bo np. chcemy wymienić sprzęt (lub fizycznie nawet cały serwer). Oczywiście w najprostszym scenariuszu będzie się to wiązało z wykonaniem kopii zapasowej bazy LDAP a potem odtworzeniem jej na nowym węźle. No właśnie – w najprostszym, co się jednak stanie jeżeli musimy zmienić co nieco w naszej usłudze katalogowej.

Przykładem takiej ingerencji może być wymuszenie zmiany atrybutu Distinguished Name – DN. Dzieje się tak, gdy przenosimy jedną z obsługiwanych domen emailowych do całkowicie nowej struktury LDAP. W tym miejscu okazuje się jak wygodny i zarazem niewygodny potrafi być LDAP. Otóż dla jego doświadczonego użytkownika sprawa jest prosta i realizowana w 3 krokach:

  • wyeksportuj starą bazę LDAP do pliku LDIF (format tekstowy, bez kompresji)
  • wyedytuj dowolnym edytorem plik LDIF i wprowadź potrzebne zmiany
  • zaimportuj plik LDIF do nowej bazy LDAP

I wszystko byłoby dobrze gdyby nie fakt, że w trakcie eksportu każdy wiersz pliku LDIF jest obcinany do 76 znaków a część nadmiarowa przenoszona ze spacją do nowej linii. Bardzo to utrudnia zastosowanie popularnej metody edycji Search and Replace, ponieważ wzorzec wyszukiwania nie jest jednoznaczny. Należy po prostu inteligentnie usunąć wszystkie miejsca łamiania wiersza.

Jeżeli dysponujemy Linuxem z jego wszelkiemi udogodnieniami i narzędziami to przepis jak to zrobić będzie prosty:

awk 'NR>1 && !sub(/^ /,""){print s; s=""} \ 
{s = s $0} END{print s}' stary.ldif > nowy.ldif

Potem pozostaje już tylko import atrybutów z wartościami do nowej bazy LDAP.

MG

Tagi: , , ,

DNSBL i Postfix

26 stycznia, 2020 | Brak Komentarzy | Kategoria: Linux, Porady
DNSBL, Postfix, spam

RBL, DNSBL o co w tym chodzi? Chociaż czasami poczta elektroniczna nie jest łatwa w konfiguracji to do tej pory, przynajmniej moim zdaniem, nie wymyślono lepszego zamiennika. Szczególnie jeśli mowa np. o korespondencji firmowej, oficjalnej itp. Będąc administratorem firmowego serwera pocztowego na pewno nie unikniemy walki ze spamem i temu chciałbym poświęcić ten wpis.

Wydawać by się mogło, że temat jest ponad miarę wyeksploatowany i w zasadzie nie ma nad czym się rozwodzić. Dlatego nie chcę się skupiać na instalacji i zabezpieczeniu serwera w całości. W końcu można do tego użyć chociażby pakietu iRedMail, który naprawdę polecam. Tym razem chcę pokazać jak ubić spam na wejściu, czyli na poziomie Postfixa, a jeszcze precyzyjniej na poziomie demona systemowego nierozerwalnie z nim związanego – mowa o Postscreen. Zwróćmy od razu uwagę, że taka konfiguracja nie wymaga instalacji np. Amavis i Spamassasin, co bywa pewnym wyzwaniem, zwłaszcza dla początkujących użtkowników.

Podstawą dla przytaczanego tutaj rozwiązania jest DNSBL, czyli czarna lista tworzona z pomocą DNS. Nie musimy tworzyć jej sami, możemy wykorzystać ogólnodostępne serwisy, które robią to dla nas. Z Postfixem bardzo dobrze komponują się dwa z nich – Spamhaus oraz BarracudaCentral. W tym miejscu należy wspomnieć, że Spamhaus ma ograniczenie do 100.000 połączeń na dzień. Zakładam jednak, że mówimy o normalnym serwerze pocztowym dla średniej firmy, więc raczej nie powinniśmy przekroczyć 100.000 maili przychodzących z zewnątrz dziennie.

Ostatecznie uzbrojenie w powyższą wiedzę możemy przystąpić do konfiguracji Postfixa, która jak zwykla jest dosyć prosta. 🙂

Skonfigurowanie obsługi DNSBL wymaga wyedytowania pliku /etc/postfix/main.cf i dodaniu parametrów do opcji postscreen_dnsbl_sites:

postscreen_dnsbl_sites =
zen.spamhaus.org*2
b.barracudacentral.org*2

Liczba na końcu parametru jest wagą, która powoduje podbicie punktacji.

Sugerowaną konfiguracją jest również korzystanie z lokalnego serwera cache DNS. Może to być dowolny pakiet. Przy dużym natężeniu ruchu przychodzącego zdecydowanie przyspiesza działanie usługi pocztowej:

postscreen_dnsbl_sites =
zen.spamhaus.org=127.0.0.[2..11]*2
b.barracudacentral.org=127.0.0.2*2

Ostanim parametrem, którego wartość warto rozważyć jest postscreen_dnsbl_action. Zazwyczaj jest ona ustawiona na enforce, co oznacza przekazanie do dalszego przetwarzania. Czasami jednak warto jest ubić wszystkie niechciane połączenia:

postscreen_dnsbl_action = drop

Po zapisaniu nowej konfiguracji Postfixa, musimy ponwnie uruchomić serwis.

MG

Tagi: , , ,

Mikrotik – problemy z L2TP

27 października, 2019 | Brak Komentarzy | Kategoria: Porady, Windows
Mikrotik

Routery Mikrotik na przestrzeni 20 lat zdobyły ogromną popularność. Sam byłem bardzo zaskoczony gdy dowiedziałem się, że ta litewska firma zatrudnia ponad setkę pracowników i jest notowana wśród 20 największych biznesów w swojej ojczyźnie. Można powiedzieć, że jest to przykład dużego sukcesu w dziedzinie, która dla wielu z nas nie istnieje ze względu na aktualną modę na serverless business oraz rozwiązania chmurowe.

Jedną z cech urządzeń Mikrotik, które mnie osobiście przekonała najbardziej jest możliwość szybkiego i łatwego skonfigurowania zestawu serwerów VPN, od najprostszego PPTP począwszy po OpenVPN czy L2TP. Nie ukrywam, że od wielu lat, z różnych względów moim faworytem jest właśnie ten ostatni protokół. W artykule nie chciałbym jednak skupiać się na opisie jego budowy za pomocą MikrotikOS, a bardziej na kliencie VPN L2TP.

Wspomniany klient jest zazwyczaj dostarczany w postaci natywnej razem z systemem operacyjnym. Jak go skonfigurować można dowiedzieć się bezpośrednio pod linkiem https://tinyurl.com/m8ytljr. Powinien działać od razu. Jednak po kolejnych aktualizacjach systemu Windows 10 pojawiły się problemy ze stabilnością połączeń L2TP. Przez dłuższy czas użytkownicy odwoływali się do różnych trików. Jedne były bardziej a inne mniej pomocne i skuteczne. Tymczasem ostatnio pojawiło rozwiązanie potwierdzone jednoznacznie przez Microsoft TechNet.

Aby zapewnić sobie prawidłową konfigurację połączeń L2TP VPN w windows 10 należy skorzystać z edytora rejestrów systemowych i znaleźć klucz:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PolicyAgent

Następnie tworzymy nową zmienną typu DWORD (32-bit) Value oraz nazywamy ją AssumeUDPEncapsulationContextOnSendRule. Aby zastosować omawianą łatkę należy jej nadać wartość 2. Ostatnią czynością będzie nieśmiertelny restart systemu Windows w celu załadowania nowych, poprawnych ustawień. Ta prosta czynność ułatwi nam nieprzerwaną pracę w sieci opartej o VPN typu L2TP.

MG

Tagi: ,

OpenVAS – testy penetracyjne

29 września, 2019 | Brak Komentarzy | Kategoria: Linux, Porady
OpenVAS

W dzisiejszych czasach wykonywanie testów penetracyjnych jest, lub przynajmniej powinno być, elementarzem każdego administratora, który zarządza siecią z serwerami obsługiwanymi przez innych użytkowników. Doświadczenie uczy, że pomysłowość ludzka polegająca m. in. na pozostawianiu niezabezpieczonych usług, skonfigurowanych niepoprawnie aplikacji itp. jest praktycznie nieograniczona. Niestety sieć jest tak bezpieczna jak jej nasłabszy punkt. Dlatego chciałem napisać parę słów o dosyć popularnym i prostym w obsłudze narzędziu jakim jest OpenVAS.

Większość popularnych dystrybucji Linuxa posiada gotowe paczki do instalacji. W Debianie 10 Buster (jak do tej pory ostatnim) nie trzeba nawet wspomagać się dodatkowymi bibliotekami, wystarczy wydać polecenie:

apt-get install openvas -y

Po kilku lub kilkunastu minutach, w zależności od stanu łacza internetowego, cały pakiet zostanie zainstalowany i można przejść do jego konfiguracji:

openvas setup

Aplikacja rozpocznie pobieranie aktualizacji z 3 źródeł – NVT, Cert Data i SCAP Data, tak abyśmy mieli dostęp to świeżego zestawu testów, czyli tak naprawdę np. najnowszych definicji dotyczących exploitów, opisanych zagrożeń itp. Całość trochę potrwa i na koniec zostaniemy poinformowani o sukcesie (mam nadzieję) oraz co najważniejsze wyświetlone zostanie hasło dla administratora usługi. Hasło w zasadzie jest jednorazowe i należy je zmienić od razu po pierwszym zalogowaniu, tym bardziej, że nie jest wygodne do zapamiętania.

OpenVAS jest obsługiwany za pomocą przeglądarki internetowej. Domyślnie skonfigurowany jest tylko dostęp lokalny. Może to stanowić pewne utrudnienie, szczególnie w sytuacji gdy korzystamy z serwera bez środowiska graficznego. Dlatego powinniśmy sprawdzić adres IP swojego serwera:

ip a

Następnie trzeba wedytować 2 pliki konfiguracyjne:

/lib/systemd/system/greenbone-security-assistant.service
/lib/systemd/system/openvas-manager.service

i zmienić adres '127.0.0.1′ na uzyskany adres naszego serwera – w każdym miejscu, w którym występuje.

Na koniec pozostaje uruchomić ponownie usługę OpenVAS:

systemctl daemon-reload 
openvas-stop
openvas-start

Od tej chwili możemy cieszyć się w pełni funkcjonalnym skanerem sieci do celów testów penetracyjnych. Otwieramy przeglądarkę i podajemy adres:

https://adres_ip_serwera:9392

MG

Tagi: , , , ,