Powiedzmy, że mam nową instalację Ubuntu, jakie kroki powinienem podjąć, aby zabezpieczyć ją przed użyciem jako serwera aplikacji Rails?
linux
ubuntu
security
application-server
Codebeef
źródło
źródło
Odpowiedzi:
Nie mogę wymyślić żadnych poprawek specyficznych dla Ubuntu, ale oto kilka, które dotyczą wszystkich dystrybucji:
Oczywiście ta lista nie jest kompletna i nigdy nie będziesz całkowicie bezpieczny, ale obejmuje wszystkie exploity , które widziałem w prawdziwym życiu.
Ponadto exploity, które widziałem, były prawie zawsze związane z niezabezpieczonym kodem użytkownika, a nie z niezabezpieczoną konfiguracją. Domyślne konfiguracje w minimalnej dystrybucji serwerów są zazwyczaj dość bezpieczne.
źródło
Jedną szybką rzeczą, którą robię wcześnie, jest instalacja DenyHosts . Będzie regularnie przeglądał / var / log / secure, szukając nieudanych logowania, a po kilku błędach zablokuje adres IP. Ustawiłem go tak, aby blokował się po pierwszym braku takiego użytkownika, po drugiej próbie rootowania i po kilku próbach dla prawdziwych użytkowników (na wypadek, gdybyś się bałaganił, ale do logowania powinien być używany klucz publiczny SSH).
źródło
Ubuntu opiera się na Debianie i uważam, że Podręcznik Zabezpieczania Debiana jest bardzo przydatny w dystrybucjach opartych na Debianie, całkowicie przeprowadzając cię przez system i sprawdzając każdą część. Jest to w zasadzie naprawdę bardzo wyczerpująca odpowiedź na twoje pytanie.
źródło
Zwykle instaluję RKHunter, który skanuje w poszukiwaniu rootkitów i sprawdza integralność różnych ważnych plików binarnych systemu. Jest w standardowym repozytorium i będzie działał codziennie z crona. Nie jest doskonały, jeśli chodzi o bezpieczeństwo, ale można go dodawać bez wysiłku i zapewnia ochronę.
źródło
Zainstaluj dziennik, ale popraw, aby nigdy nie otrzymywać wiadomości z regularnych wydarzeń, w przeciwnym razie będziesz miał zwyczaj ignorowania wiadomości e-mail.
Sprawdź, które procesy nasłuchują za pomocą netstat, i upewnij się, że nic nie działa, co nie wymaga uruchomienia. Wiele demonów można skonfigurować tylko do nasłuchiwania na wewnętrznym IP (lub localhost) zamiast na wszystkich interfejsach.
źródło
Rób, co sugeruje Can ...
Nmap hosta i wyłącz wszystkie nieistotne usługi. W razie potrzeby użyj iptables.
źródło
Jeśli korzystasz z serwera w pobliżu Internetu, zainstaluj system wykrywania włamań, np. Snort.
źródło
Użyj osobnych partycji dla różnych katalogów, takich jak
/tmp
lub,/var
i zamontuj jenosuid
,nodev
inoexec
jeśli to możliwe.źródło
Kilka sugestii zapory ogniowej.
Naucz się korzystać z zapory i koncepcji prawidłowego blokowania skrzynki. Zmiana domyślnych portów jest w dużej mierze bezużyteczna; ważniejsza jest odpowiednia konfiguracja aplikacji i zapory ogniowej.
Oba są w repozytoriach Ubuntu:
FireHOL
ma świetną dokumentację i bardzo łatwą do nauczenia się składnię. Byłem w stanie skonfigurować bramę / firewall w ciągu dwudziestu minut. Jedynym powodem, dla którego odeszłam od tego, jest to, że wydaje się, że nie jest utrzymywane (ostatnie wydanie 2 lata temu). To nie znaczy, że to nie działa, ale ...
Ferm
jest inny. Więcej składni podobnej do iptables, ale ta sama koncepcja. Więcej społeczności utrzymywanych niż FireHOL, ale odbiór trwa dłużej.
Shorewall
obecnie używam. Jego dokumentacja jest obszerna, a format konfiguracji tabelaryczny. Około półtorej godziny zajęło mi zrozumienie wszystkich potrzebnych plików (6), aby uruchomić działającą konfigurację zapory / bramy. Jest dość potężny. WSKAZÓWKA: Strony podręcznika dla różnych plików konfiguracyjnych są NAPRAWDĘ pomocne!
Wszystkie te ładują konfiguracje zapory z pliku konfiguracyjnego. Bardzo skuteczny, łatwiejszy w obsłudze niż iptables od razu i (moim zdaniem) łatwiejszy w użyciu i zarządzaniu niż ufw.
Inny:
Popieram zalecenia dotyczące użycia klucza SSH.
Skonfiguruj IDS.
Dowiedz się więcej o AppArmor. Ogranicza dostęp do plików wykonywalnych tylko do określonych katalogów i plików, których potrzebuje. Podobne do SELinux w świecie RHEL. Jest zainstalowany i włączony ze wstępnie skonfigurowanymi „profilami” dla wielu dobrze używanych programów.
źródło
Oprócz innych sugestii tutaj wymienię trzy, które są oczywiste, ale być może warte wspomnienia dla kompletności:
źródło