/ linux

Zabezpieczanie systemu

Wstęp.

Zajmiemy się tutaj bezpieczeństwem naszego systemu. W sieci jak wiadomo czai się wiele niebezpieczeństw i ludzi czekających na to aby dostać się do twojego komputera... Co zrobić aby do tego nie dopuścić? Tym właśnie się zajmiemy. Nie będzie to super artykuł, bo nie jestem specem od zabezpieczeń ale to co wiem napiszę ;-) Zaczynamy.

Wybór dystrybucji.

Jeżeli już zdecydujemy się na linuxa (bardzo dobry wybór ;-p) należy się zastanowić na dystrybucją. Nie będę tutaj opisywał dystrybucji... Dużo tego jest w internecie. Powiem tylko, że nie zawsze prostota obsługi idzie w parze z bezpieczeństwem. Nigdy nie stawiałem serwera jak narazie i nie interesowałem się jaką dystrybucję do niego wybrać. Jeżeli nie na serwer to polecam Gentoo. Jednak nie jest to system dla początkujących... tak mi się wydaje ;-) Chociaż można i zacząć od Gentoo... Dla początkującym polecam np... hm, Aurox albo Mandrake ;-) A w ogóle sam(a) sobie wybierz system, albo zainstaluj wszystkie pokolei i wybierz ten, który Ci pasuje ;-D

Aktualizacje.

Aktualizacje to ważna rzecz. Powinniśmy ją przeprowadzić odrazu po instalacji systemu. Po co? Pytanie... Po to żeby właśnie ktoś nie wykrzystał takiej "dziury" w programie i nie włamał się do systemy czy coś w tym stylu ;-p Co jakiś czas (dosyć często...) są wypuszczane łatki do programów, uaktualnienia systemu itp. Powinno je się ściagać i instalować. (W Gentoo wydaje się polecenie np. emerge -UD world i wszystko się aktualizuje ;-p) Tak samo z programami typu apache, ftp...
Jeżeli jest nowa wersja to powinniśmy ją zainstalować. Ważną rzeczą jest także kernel. Jeżeli sam(a) nie kompilowałeś(aś) kernela to by się przydało to zrobić. Po raz drugi "Po co?" ;-) Po pierwsze w dystrybucjach, w których kernel sam instaluje się przy instalacji powłączane jest za dużo opcji. Większość z nich nie jest Ci potrzebna. Po kompilacji z odpowiednimi opcjami kernel powinien zmiejszyć swoją objętość, a także powinno to przyspieszyć działanie systemu.

Hasła.

Hasła też są bardzo ważną rzeczą. Czym bardziej skomplikowane tym trudniej je złamać. Nie ustawiaj zbyt krótkich haseł i prostych do zgadniecia jak imię, imię babaci, kota, rybki, ulubionego zespołu itp. Oczywiście nikomu nie podawaj hasła ! ;-D Szczególnie do konta roota, chyba, że masz do kogoś zaufanie ;-) Można także przeprowadzić parę zmian w pliku /etc/login.defs, a mianowicie defs PASS_MAX_DAYS 99999. Na początku jest taka liczba. Można to zmienić. Liczba ta oznacza ilość dni w ciągu jakich to hasło może być używane. W ciągu tych dni użytkownik musi zmienić hasło. Mi zmienianie tej opcji za bardzo się nie podoba ;-) Do przypominania o zmianie hasła służy opcja PASS_WARN_AGE. PASS_MIN_LEN 5 - Oznacza ile najmniej znaków może mieć hasło. Zmiana na 8 powinna już utrudnić złamanie hasła. LOGIN_RETRIES 3 - tutaj ustawia się liczbę prób logowania. Myślę, że 3 może być. LASTLOG_ENAB yes - dzięki tej opcji w pliku /var/log/lastlog zapisuje się informacje o ostatnich logowaniach użytkowników. Można je zobaczyć za pomocą komendy lastlog.

Plik /etc/shadow

Jest to plik z hasłami. Wydając komendę ls -l /etc/shadow można zobaczyć do kogo należy i jaki ma chmod ustawiony. Powinien mieć uprawnienia +0600 (-rw-------) dla root root. ;-)

Kontrola użytkowników.

Heh, grzebać w katalogach innych użytkowników... sami wiecie, że to nieładnie. Lecz nieraz można znaleźć exploity i inne programy tego typu, które napewno nie znalazły się tam przypadkowo ;-)

Zabranianie uruchamiania plików wykonywalnych.

Uważam, że nie jest do dobry pomysł ale napisze o nim. Jeżeli podmontujesz katalog /home z atrybutem noexec to użytkownicy nie będą mogli uruchamiać plików wykonywalnych.

Hasło na bios.

Można je założyć. Mimo, że hasło można "usunąć" pooprzez wyjęcie bateryjki ale zawsze jakieś zabiezpieczenie jest ;-)

Start z dysku twardego.

Ustaw w biosie aby system odrazu startował z dysku twardego. Dzięki temu nie będzie możliwe dostania się do systemu z dystrybucji uruchamianych odrazu z CD.

Zaplanuj usługi.

Zaplanuj jakie usługi powinien udostępniać twój system. Powyłączaj usługi, których nie potrzebujesz, a zostaw tylko te które są potrzebne. Zawsze mniejsze ryzyko włamiania ;-)

Osobne partycje.

Katalogi takie jak np. /home, /tmp, do których użytkownicy mają dostęp powinny być na osobnych partycjach. Można też ustawić quote. Dzięki temu nie będziesz miał(a) sytuacji gdy zapcha się / ;-)

Nie używaj roota!

Nie używaj konta root jeżeli to nie jest konieczne. Stwórz sobie użytkownika i z tego konta pracuj. Siedzenie cały czas na koncie roota jest niebezpieczne, można coś popsuć ;-)

Dostęp do roota.

Jeżeli masz Gentoo (w innych dystrybucjach też pewnie jest takie coś) ustaw tylko konto, które Ty używaszdo grupy whell. Co to da? A to, że tylko użytkownicy, którzy należa do grupy whell mogą poprzez komendę su zalogować się pod roota. Inni tego nie mogą ;-)

Sudo.

Jeżeli potrzeba użyj sudo. Jeżeli chcesz aby jakiś użytkownik miał możliwość wydawania komend, do których normalnie nie ma dostępu użyj sudo. Pozwala to właśnie dać danemu użytkownikowi dostęp do tej komendy...

Hasło w bootloaderze.

Ustaw hasło w Lilo/Grubie. Zapobiegnie to uruchomieniu linuxa w trybie jednego użytkownika, przez co można zmienić hasło ;-S

Zakończenie.

Jeżeli mi się coś przypomni i będę miał chęć/czas napisać to dopiszę ;-)