Sectool — prosty audyt bezpieczeństwa

9 maja 2008, optimizationkit

Sectool jest narzędziem służącym do przeprowadzania prostych audytów systemu w poszukiwaniu nadużyć oraz niedociągnięć w jego konfiguracji. Oferuje prosty w obsłudze graficzny jak i tekstowy interfejs użytkownika.

Testy zostały podzielone na pięć różnych poziomów:

  • Naiwny
  • Desktop
  • Sieciowy
  • Serwer
  • Paranoidalny

Standardowo Sectool oferuje kilka mniej lub bardziej użytecznych testów:

  • bootloader sprawdza:
    • uprawnienia dostępu oraz kto jest właścicielem pliku /etc/grub.conf
    • czy GRUB jest zabezpieczony hasłem
  • integrity - analizuje integralność katalogów systemowych oraz poleceń
  • disc_usage - podaje informacje o partycjach, na których zaczyna brakować wolnego miejsca
  • group kontroluje poprawność informacji o grupach w systemie m.in.:
    • czy nazwa grupy nie jest pusta i składa się tylko ze znaków alfanumerycznych
    • linia z opisem grupy ma właściwą ilość pól
    • czy GID’y są poprawnymi liczbami z zakresu 0-60000
    • czy nie ma grup z takim samym GID’em lub nazwą etc.
  • passwd kontroluje:
    • czy plik /etc/passwd ma uprawnienia dostępu 644 a jego właścicielem jest root:root
    • czy plik /etc/shadow ma uprawnienia dostępu 400 a jego właścicielem jest root:root
    • czy wszyscy użytkownicy mają hasła
    • czy wszystkie hasła są zacienione (shadowed)
    • czy UID’y i GID’y są liczbami z zakresu 500-60000
    • czy jakiś użytkownik nie będący administratorem ma UID lub GID równy 0
    • czy jakiś użytkownik inny niż bin ma UID lub GID równy 1
    • czy nie ma użytkowników z takim samym UID lub nazwą
    • czy wszyscy użytkownicy mają poprawną powłokę (wymienioną w /etc/shells) etc.
  • test shadow kontroluje plik /etc/shadow w podobny sposób jak testy group i password
  • home_dirs:
    • kontroluje uprawnienia dostępu oraz właścicieli katalogów w /home/
    • odnajduje katalogi użytkowników, którzy zostali usunięci z systemu
    • ostrzega o użytkownikach, których katalogi domowe nie istnieją
    • odnajduje użytkowników, którzy mają ten sam katalog domowy
  • home_files sprawdza właściciela oraz uprawnienia dostępu do ważnych plików (np. .bashrc, ssh/id_dsa etc.) w katalogach domowych użytkowników
  • filesystem odnajduje:
    • pliki z nieznanym UID lub GID
    • pliki, które mogą być zapisywane przez każdego użytkownika systemu
    • pliki wykonywalne, których zawartość może być modyfikowana przez wszystkich użytkowników lub jakąś grupę
    • skrypty z SUID’em
    • pliki wykonywalne, które nie znajdują się w bazie RPM
    • linki wskazujące na nieistniejące pliki lub katalogi
  • path sprawdza:
    • czy wszystkie katalogi wymienione w zmiennej PATH istnieją
    • czy nie ma dziwnych ścieżek w stylu ./ lub /tmp
    • czy w $PATH nie znajdują się katalogi, których zawartość może być zmieniana przez jakąś grupę lub wszystkich użytkowników
  • firewall oferuje prostą analizę regułek zapory sieciowej
  • netserv sprawdza aktualnie uruchomione usługi sieciowe
  • openssh przeprowadza audyt pliku konfiguracyjnego OpenSSH
  • openvpn przeprowadza audyt pliku konfiguracyjnego OpenVPN
  • removedlibs kontroluje, czy znajdujące się w pamięci biblioteki odpowiadają tym, które znajdują się na dysku
  • xinetd przeprowadza audyt pliku konfiguracyjnego demona xinetd
  • suid – przy pierwszym uruchomieniu tworzy listę wszystkich plików w systemie z atrybutem SUID. Przy każdym następnym uruchomieniu wyświetla listę plików, którym dodano SUID.
  • logfiles sprawdza obecność, właściciela, grupę oraz uprawnienia dostępu do plików z logami
  • permissions sprawdza istnienie ważnych katalogów, kto jest ich właścicielem oraz uprawnienia dostępu do nich
  • selinux – czy SELinux jest włączony?
  • mount – kontroluje /etc/fstab w poszukiwaniu niebezpiecznych opcji montowania jak suid na pendrive etc.
  • aliases sprawdza aliasy basha w poszukiwaniu nieprawidłowości
  • cron kontroluje crontab:
    • czy podano ścieżki dostępu do poleceń
    • czy program jest „bezpieczny” – nie może być zmodyfikowany przez wszystkich użytkowników lub jakąś grupę oraz czy jego właścicielem jest root
  • vsftpd audytuje plik konfiguracyjny:
    • sprawdza konfigurację nasłuchiwania serwera
    • sprawdza zakres portów
    • odporność na atak DoS przez ascii mangling etc.
  • nfs audytuje konfiguracje NFS. Wyszukuje eksporty z dostępem RW.

Zaletą Sectool jest możliwość napisania w prosty sposób własnych testów. Stworzenie nowego testu zaczynamy od utworzenia pliku z jego opisem np. 01_nasztest.dsc

[HEADER]
NAME="nasztest"
FILE_NAME="nasztest.sh"
DESCRIPTION="Sprawdza czy system nie został zaatakowany \
przez wielkiego crax00ra ;)"
NEED_DATA_DIR=0
LEVELS="1 2 3 4 5"
GROUPS="nasztest"
DEPS=""

Następnie tworzymy plik nasztest.sh

#!/usr/bin/env sh 

. "${INCL_DIR}/bash_defs.sh" 

report "INFO" "Sprawdzanie systemu" 

if [ -d /home/great_hax00r ]; then
    report "WARNING" "Nasz system zaatakował wielki crax00r!"
    report "HINT" "Przeinstaluj system!"
else
    report "INFO" "Ufff... system wygląda na czysty"
fi

Sectool jest bardzo przydatnym narzędziem. Standardowy zestaw testów jest dostosowany do systemów CentOS/Fedora/RHEL, jednak różnice pomiędzy dystrybucjami nie są kolosalne i bardzo szybko można go dostosować do użycia w każdej dystrybucji.

Narzędzie można pobrać przy użyciu git z fedorahosted.org

git clone git://git.fedorahosted.org/git/sectool.git/ sectool

Więcej o SecTool przeczytacie na oficjalnej stronie projektu.


Komentarze (RSS)

Liczba komentarzy: 5

zwiń wątek pioruns  12 maja 2008 o godz. 1:42 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: +1 [Pokaż komentarz]

Oficjalna strona projektu ma jakieś problemy ze swoim certyfikatem. Zapomnieli wystawić drugiego certfikatu pod inną adres chyba;)
Nie można strony otworzyć pod FF 3b5 używając https.

————–
Nie udało się nawiązać bezpiecznego połączenia
hosted.fedoraproject.org używa nieprawidłowego certyfikatu bezpieczeństwa.
Ten certyfikat jest prawidłowy tylko dla fedorahosted.org.
(Kod błędu: ssl_error_bad_cert_domain)

zwiń wątek optimizationkit  12 maja 2008 o godz. 11:08 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: +1 [Pokaż komentarz]

“Nie można strony otworzyć pod FF 3b5 używając https.”

Wygląda na to, że FF3 podchodzi paranoidalnie do kwestii bezpieczeństwa.

 
 
zwiń wątek pioruns  12 maja 2008 o godz. 12:34 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: 0 [Pokaż komentarz]

Nie tylko FF3.
Pod Epiphany jest to samo:

Secure Connection Failed
hosted.fedoraproject.org uses an invalid security certificate.
The certificate is only valid for fedorahosted.org.
(Error code: ssl_error_bad_cert_domain)

Wiesz co, zmień w artykule link na http zamiast https i będzie po problemie. Widać autorzy skryptu nie zauważyli, że ich certyfikat wydany dla fedorahosted.org nie będzie pasować na hosted.fedoraproject.org :) Tak mi się wydaje, nie znam się.

zwiń wątek optimizationkit  12 maja 2008 o godz. 12:58 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: 0 [Pokaż komentarz]

Zmieniłem link - powinno działać.

 
 
zwiń wątek pioruns  13 maja 2008 o godz. 1:40 # Zwiększ karmę Zmniejsz karmę Cofnij swój głos Zgłoś komentarz do usunięcia KARMA: 0 [Pokaż komentarz]

Autorzy strony poprawili błąd. Po naciśnięciu linku z artykuły (bez https) następuje automatyczny redirect do https://fedorahosted.org. A ta strona swój certyfikat ma poprawny.

 
Identyfikator (wymagane)
Adres e-mail (wymagany - nie pokażemy go publicznie)
Adres URI
Rozmiar pola: zmniejsz rozmiar | zwiększ rozmiar

Literówki najlepiej zgłaszać jabberem: michuk@jakilinux.org lub kocio@jabber.org!

W komentarzach możesz używać prostych znaczników HTML. Przykłady:
  • Link: <a href="jaklinux.org">Linux dla każdego</a>,
  • Wytłuszczenie: <strong>tekst pogrubiony</strong>,
  • Kursywa: <em>tekst pochylony</em>,
  • Przekreślenie: <strike>tekst przekreślony</strike>,
  • Kod: <code>printf("blok kodu");</code>,
  • Cytat: <blockquote>cytat</blockquote>
Uwaga: jeśli dodasz nieznany znacznik, będzie on niewidoczny, gdyż system filtruje takie znaczniki.

RSS

Możesz śledzić komentarze do tego artykułu poprzez specjalny kanał; RSS 2.0 .

Konkurs!!!

Napisz lub przetłumacz artykuł i wygraj dysk USB 4GB z Mandrivą Flash! Konkurs trwa tylko do końca maja! Szczegóły na blogu.

Inne z kategorii Administracja

 więcej »

Najpopularniejsze

Porównaj dystrybucje!

vs

Oferty pracy JL

Butik JL

jakilinux butik
Obejrzyj więcej produktów i wybierz coś dla siebie.

Reklama

To jest miejsce na Twoją reklamę! Więcej informacji: Reklama w jakilinux.org