NFsec Logo

Hardening RedHata z Bastille Linux

02/08/2004 w Bezpieczeństwo Brak komentarzy.  (artykuł nr 6, ilość słów: 726)

O

becnie system możemy zabezpieczyć na dwa sposoby: 1). Ręcznie – poprzez poprawę wszystkich “niedociągnięć” (jednak wymagana jest tu dogłębna wiedza na temat platformy systemowej), lub 2). Automatycznie – przy użyciu zestawu odpowiednich skryptów (tutaj wymagana jest tylko powierzchowna znajomość własnego systemu). Projekt “uszczelniania” systemu RedHat Linux został zapoczątkowany przez Jona Lassera oraz Bena Woodarda. Bastille Linux został napisany w języku Perl, w założeniu ma poprawić bezpieczeństwo systemu “Czerwonego Kapelusza”.

System ten był raczej ignorowany przez administratorów ze względu na znaczną liczbę błędów oraz niedociągnięć. Skrypt powstał na podstawie pracy Jay’a Beale’a, który napisał skrypt dla Solarisa, później dołączono do niego informacje zawarte w “Securing Linux Step by Step” (wydawnictwa SANS), książce Kurta Seifrieda “Linux Administrators Security Guide”, “Security HOWTO”, “Unix Security Handbook”, “Solaris Security FAQ”, oraz różnych artykułach z gazet LinuxWorld i SunWorld.

     Bastille Linux jest to zestaw skryptów i programów realizujących funkcje hardeningu (czyli przeprowadzający czynności mające na celu wzmocnienie systemu). Korzystanie z tego pakietu ma w zasadzie sens od wersji 1.1, gdyż wprowadzono do niej kilka bardzo istotnych zmian. Przede wszystkim Bastille może być uruchomiony na systemie, który był wcześniej już używany. Po drugie – dzięki trybowi “Impotent” można zobaczyć jakie zmiany zostałyby wprowadzone w ramach procesu hardeningu. I po trzecie – istnieje możliwość cofnięcia wprowadzonych zmian. Posługiwanie się Bastille Linux jest banalnie proste. Po zalogowaniu się jako administrator (root) i rozpakowaniu pobranego archiwum z pakietem, wystarczy zmienić tryb pracy systemu w tryb single poprzez polecenie: init 1 – następnie przejść do katalogu gdzie znajduje się skrypt: cd /root/bastille-linux/ – i uruchomić go poleceniem: ./InteractiveBastille.pl (w tym celu należy posiadać zainstalowany pakiet Perl obsługujący ten język programowania). Pozostała część procesu jest już automatyczna. Teraz Bastille zada nam serię pytań, na które w większości odpowiadamy: tak lub nie. Po zakończeniu pracy skryptu należy uruchomić program BackEnd.pl. Proces można jeszcze bardziej uprościć i uruchomić skrypt AutomatedBastille.pl. W takim przypadku uruchamianie skryptu BackEnd.pl jest już zbędne. Jednak przez cały proces należy uważać, aby za bardzo nie naruszyć integralności systemu (np. prawa dostępu). Bastille oferuje wiele opcji, zaczynając od skonfigurowania ipchains, poprzez uaktualnienie systemu za pomocą mechanizmu RPM, modyfikacji listy plików SUID, aż po wyłączenie niebezpiecznych serwisów sieciowych i poprawę bezpieczeństwa haseł. Każdy kto instalował Linuksa i musiał zabezpieczać go przed atakami fizycznymi doskonale zdaje sobie sprawę z niezbyt udanej fabrycznej konfiguracji LILO. Bastille Linux pozwala zlikwidować tę wadę oraz dodać ochronę za pomocą hasła trybu singel user.

Dodatkowo pozwala na włączenie bardziej rozbudowanego logowania zdarzeń, ochronę konsol, wyłączenie kompilatora (szczególnie cenne w przypadku systemów mających pracować jako bastion host). Mamy też możliwość wyłączenia poszczególnych demonów. Dla użytkowników pakietu Sendmail cenną opcją będzie możliwość wyłączenia poleceń EXPN i VRFY – oba te polecenia pozwalają na zdalne zdobycie informacji dotyczących użytkowników. Dla osób, które nie znoszą instalowania czegokolwiek lub mają z tym problemy opcja: “Download and install SSH” jest wymarzona. Zdecydowanie należy z niej skorzystać i zainstalować ten pakiet, chyba że nie zakładamy żadnej możliwości zdalnej administracji. Jeśli w systemie zainstalowany jest serwer WWW – Apache, Bastille znów daje nam do ręki kilka opcji. Między innymi możemy wyłączyć skrypty CGI. Warto zwrócić uwagę, że same skrypty nigdy nie uczynią systemu bezpiecznym. Bezpieczeństwo zaczyna się na wiedzy i poprawnych praktykach administracyjnych. Natomiast Bastille działa według dwóch zasad: rozwiązanie ma być proste, jak to możliwe, a czego nie potrzebujemy lub nie wiemy jak działa, należy się pozbyć. Po zakończeniu hardeningu należy jeszcze sprawdzić system i zmiany, jakie zostały do niego wprowadzone. Jeśli skorzystaliśmy z opcji konfiguracji ipchains, to przetestowanie jej możliwe za pomocą skryptu: bastille-firewall start. Skrypt ten jest umieszczany w katalogu /etc/rc.d/init.d. Warto również skorzystać z jakiegoś skanera zabezpieczeń potwierdzającego dobre działanie skryptu. Bastille Linux siłą rzeczy próbuje narzucić minimalistyczną (bo taka jest najbezpieczniejsza) konfigurację. Jeśli jednak zrezygnujemy z wyłączenia pewnych serwisów sieciowych, to być może nasz system nadal będzie podatny na różne ataki. Bastille Linux zwraca również uwagę na szybkie patchowanie systemu – to bardzo ważne dla utrzymania stałego poziomu bezpieczeństwa. Przejście przez cały etap konfiguracji i hardeningu systemu za pomocą Bastille wymaga cierpliwości. Dla tych, którzy pracują na systemie Red Hat i Mandrake i są ciekawi, jak wygląda spora część tego procesu, a zarazem na jej zasadzie chcą się czegoś nauczyć to właśnie ten skrypt jest jak najbardziej odpowiedni. Warto wspomnieć, że Bastille aktualnie obsługuje również dystrybucje: Debian, SuSE oraz TurboLinux.

Więcej informacji: Bastille Linux, Kurt Seifried Information Security

Kategorie K a t e g o r i e : Bezpieczeństwo

Tagi T a g i : , ,

Komentowanie tego wpisu jest zablokowane.