Jak mogę zabezpieczyć instalację VPS?

16

Jakie są podstawowe kroki w celu zabezpieczenia instalacji VPS, na której planuję zainstalować Webmin do hostowania moich blogów i osobistych projektów?

JFW
źródło
Pomoże to, jeśli podasz szczegóły systemu operacyjnego.
Tim Post
Instalacja systemu Linux - najprawdopodobniej będzie to Ubuntu lub CentOS.
JFW

Odpowiedzi:

13

Odpowiedź danlefree na to podobne pytanie jest dość istotna tutaj: jak trudne jest niezarządzane VPS?

Zabezpieczenie serwera to coś więcej niż jednorazowe zadanie.

Początkowe jednorazowe zadania obejmują:

  • Hartowanie sshd (istnieje szereg wskazówek i samouczków tam dla tego, to był pierwszy dobry poszukuje jednego, które pojawiły się od wyszukiwania.
  • Upewnij się, że niepotrzebne usługi są wyłączone (lub lepiej, odinstalowane).
  • Upewnij się, że usługi, które nie muszą być publicznie dostępne, nie są. Na przykład skonfiguruj serwer bazy danych, aby nasłuchiwał tylko na lokalnych interfejsach i / lub dodawał reguły zapory, aby blokować próby połączeń zewnętrznych.
  • Upewniając się, że niezależnie od użytkownika (procesów) twoich procesów serwera (i innych usług) są uruchomione, ponieważ nie mają dostępu do odczytu nieistotnych dla nich plików / katalogów i nie zapisują do niczego innego, chyba że potrzebują dostępu do zapisu do wybranych plików / katalogów (na przykład, aby zaakceptować przesłane zdjęcia).
  • Skonfiguruj dobrą automatyczną procedurę tworzenia kopii zapasowych, aby zachować kopie zapasowe online (najlepiej na innym serwerze lub w domu), aby zawartość była kopiowana w inne miejsce, abyś mógł ją odzyskać w razie najgorszego zdarzenia na serwerze (całkowity niemożliwy do odzyskania wypadek lub włamanie)
  • Dowiedz się o wszystkich narzędziach, które zainstalowałeś na swoim serwerze (przeczytaj dokumentację, być może zainstaluj je w środowisku testowym, powiedz lokalną maszynę wirtualną pod virtualbox, aby wypróbować różne konfiguracje i zepsuć je + naprawić), abyś miał szansę być w stanie naprawić problemy, jeśli wystąpią (lub przynajmniej odpowiednio zdiagnozuj takie problemy, aby pomóc komuś innemu rozwiązać problem). Podziękujesz sobie za czas poświęcony na to w pewnym momencie w przyszłości!

Do bieżących zadań należą:

  • Upewnienie się, że aktualizacje zabezpieczeń dla podstawowego systemu operacyjnego są stosowane na czas. Narzędzia takie jak apticron mogą służyć do informowania Cię o aktualizacjach, które należy zastosować. Unikałbym konfiguracji, które automatycznie stosują aktualizacje - chcesz sprawdzić, co się zmieni przed uruchomieniem (w przypadku debian / ubuntu) aptitude safe-upgrade, abyś wiedział, co ma być zrobione na twoim serwerze.
  • Upewnij się, że aktualizacje wszystkich bibliotek / aplikacji / skryptów instalowanych ręcznie (tj. Nie z twoich standardowych dystrybucji repozytoriów korzystających z wbudowanego zarządzania pakietami) są również instalowane na czas. Takie biblioteki / aplikacje / skrypty mogą mieć własne listy mailingowe do ogłaszania aktualizacji, lub możesz po prostu regularnie monitorować ich strony internetowe, aby być na bieżąco informowanym.
  • Informowanie o problemach związanych z bezpieczeństwem, które należy naprawić za pomocą zmian konfiguracji, a nie poprawionych pakietów lub które należy obejść do momentu utworzenia + przetestowania + wydania poprawionego pakietu. Subskrybuj wszelkie listy mailingowe związane z bezpieczeństwem prowadzone przez osoby, które utrzymują Twoją dystrybucję, i miej oko na witryny technologiczne, które również mogą zgłaszać takie problemy.
  • Zarządzanie jakąś formą kopii zapasowej offline dla dodatkowej paranoi. Jeśli wykonujesz kopię zapasową serwera na komputerze domowym, regularnie zapisuj kopię na dysku CD / DVD / pamięci USB.
  • Od czasu do czasu testuj swoje kopie zapasowe, aby wiedzieć, że działają poprawnie. Nieprzetestowana kopia zapasowa nie jest dobrą kopią zapasową. Nie chcesz, aby serwer zginął, a następnie dowiedz się, że twoja kopia zapasowa danych nie była prawidłowo tworzona przez kilka miesięcy.

Wszystkie dobre dystrybucje Linuksa instalują się w dość bezpiecznym stanie od razu po wyjęciu z pudełka (przynajmniej po pierwszym zestawie aktualizacji po pobraniu łatek bezpieczeństwa, które zostały wydane od czasu naciśnięcia / wydania płyty CD / obrazu instalacyjnego), więc praca nie jest trudna, ale zajmie więcej czasu, niż można się spodziewać.

David Spillett
źródło
4

Wspaniałą rzeczą w Linuksie VPS jest to, że są one całkowicie bezpieczne po wyjęciu z pudełka. Jednak moim pierwszym zaleceniem jest porozmawianie z gospodarzem i sprawdzenie, czy zaostrzą lub zoptymalizują dla ciebie bezpieczeństwo. Większość VPS z panelem sterowania (webmin, cpanel itp.) Jest „zarządzanych” i wiele dla ciebie zrobią. Moim zdaniem, zwłaszcza jeśli nie jesteś pewien, co robisz, to najlepszy wybór.

Jeśli jesteś sam, najpierw spójrz na zaporę ogniową, taką jak APF (Advanced Policy Firewall?) Lub CSF (ConfigServer Firewall). CSF ma opcję wykrywania nieudanego logowania, a jeśli spróbujesz się zalogować i nie powiedzie się zbyt wiele razy, automatycznie zablokuje twój adres IP. Nie jestem pewien, czy są one „konieczne”, ponieważ Linux nie reaguje na portach, na których i tak nie nasłuchuje ruchu, ale z pewnością oferują pewien spokój. A jeśli masz wiele portów otwartych dla różnych rodzajów ruchu, może tak, potrzebujesz zapory ogniowej.

Prawdopodobnie ważniejsze jest upewnienie się, że instalowane aplikacje są aktualne. Więcej witryn zostaje zaatakowanych przez exploit Wordpress (na przykład) niż przez exploit w systemie operacyjnym serwera. Jeśli jesteś niestandardowym skryptem kodującym, pamiętaj również o bezpieczeństwie, ponieważ nie chcesz niechcący zostawić otwartych drzwi przez coś głupiego, jak formularz kontaktowy.

elconejito
źródło
3

Zabezpieczanie dowolnej maszyny, w tym VPS, nie jest dokładnym przepisem, ale możesz zacząć od samouczków dwóch głównych dostawców VPS: Linode Library i Slicehost

intlect
źródło
2
  • Usuń niechciane usługi ( netstat jest twoim przyjacielem)

  • Wyłącz reklamę usługi (ujawnianie numerów wersji jest świetne dla Scriptkiddies )

  • Zmień numery portów administracyjnych (niepublicznych) na coś niejasnego (SSH na 22 będzie po prostu stale skanowane)

  • Praca na swoich kwot i limitów: cgroups , limits.conf , QoS itp - i aktywnie monitorować je - jeśli kod developerzy lub DDoS atak powala swoim miejscu i sprawia, że pole nieosiągalny będzie za późno, aby naprawić

  • Niektóre dystrybucje mają profile SELinux / AppArmor / etc dla aplikacji sieciowych, używaj ich

Pierwsze trzy można wykonać za pomocą WebMin (w pewien sposób). Możesz jednak poszukać w tym ServerFault .

Metalshark
źródło
1

Tylko kilka punktów. - Zmień port SSH. - wyłącza wyświetlanie listy plików. - usuń podpis serwera, tokeny. - zainstaluj zaporę ogniową

jest o wiele więcej rzeczy… Właśnie powiedziałem rzeczy, które przyszły mi teraz…

Vamsi Krishna B.
źródło