Książki / przewodniki dotyczące zabezpieczania serwera [zamknięte]

13

Mam pomysł na stronę internetową, którą chcę zbudować i uruchomić, i zastanawiam się nad tym, aby uzyskać mały serwer VPS, który będzie go obsługiwał (lubię Linode za ich cenę i wydaje się, że są one powszechnie zalecane). Jestem dość spłukany, więc nie stać mnie na zarządzany serwer.

Pobrałem Ubuntu Lucid Server i uruchomiłem go w VirtualBox, aby pomóc mi się uczyć i działać jako przybliżenie do ewentualnego serwera produkcyjnego. Jestem zaangażowany w naukę, ale obawiam się, że przegapię coś głupiego i pójdę na kompromis. Jako taki chciałbym wiedzieć o dobrych przewodnikach / książkach wyjaśniających główne punkty zabezpieczania serwera LAMP.

Przepracowałem podstawowe rzeczy w tutorialach Linode i Slicehost, ale chcę być jak najlepiej przygotowany. Witryna nie jest jeszcze napisana i prawdopodobnie wdrożę ją najpierw na hostie współdzielonym w ramach wersji próbnej, więc mam czas, aby nauczyć się przynajmniej podstaw.

Wiem, żeby wszystko aktualizować, konfigurować iptables, aby zezwalały tylko na potrzebne mi dziury (które wydają się być tylko portami TCP 22, dla ssh / scp / sftp - zmienię go z domyślnego portu dla (bardzo niewielkich) zabezpieczeń dzięki premii za zaciemnienie - i 80 za http) - chociaż jestem zdezorientowany niektórymi samouczkami, które mówią o blokowaniu ICMP, ponieważ nie wiem, dlaczego nie chciałbym odpowiadać na ping - i tylko instalować oprogramowanie, którego potrzebuję / usuwam. potrzebujesz.

AgentConundrum
źródło
1
Osobiście uważam, że to pytanie należy do błędu serwera. AMP w LAMP powinien być tutaj nieaktualny, IMO.
ksenoterrakid
@xenoterracide: W porządku, chociaż tak naprawdę nie szukałem pomocy z bitami AMP. Zauważysz, że tytuł pytania nie wspomina konkretnie o LAMP - zapytałem o zabezpieczenie serwera w ogóle, co wydawało mi się dość tematyczne. W pytaniu wspomniałem o całym stosie, ale dodałem go bardziej jako kontekst niż cokolwiek innego. Moim prawdziwym problemem jest to, że jestem nowicjuszem w Linuksie i myślałem, że Linux SE będzie miał odpowiednią wiedzę fachową, aby pomóc. BTW, wcześniej pytałem o to na SF, ale myślałem, że zwrócą tu więcej uwagi i pomyślałem, że dobrze byłoby mieć tutaj informacje o bezpieczeństwie.
AgentConundrum
cóż ... mój problem jest taki, jak powiedziałeś, to ogólnie pytanie o bezpieczeństwo serwera. Ale tak naprawdę to nie moje miejsce decyduje o tym, co jest tutaj Ontopic.
ksenoterrakid
IMHO Użyj Debiana zamiast Ubuntu, uruchom Nginx zamiast Apache. Reszta brzmi dobrze. Nie dotykaj współdzielonego hosta sondażem na barce.
Alex Chamberlain,

Odpowiedzi:

6

Ponieważ już korzystasz z Ubuntu, polecam ich Przewodnik po serwerze , który oferuje podstawowy przegląd wspólnego zestawu domyślnych usług.

Zobacz także Linux Server Security od O'Reilly. Właściwie, poszukaj w Amazon kilku ofert.

Lista kontrolna hartowania serwerów Googling wydaje się zwracać dobre, praktyczne sposoby szybkiego stwierdzenia, czy coś jest rażąco nie tak z twoją konfiguracją.

Na koniec przejdź do sekcji bezpieczeństwa serverfault i zapytaj.

Edycja: również ICMP powinien być blokowany na podstawie wiadomości. Aby uzyskać szczegółowe informacje, zobacz Filtrowanie pakietów ICMP .

Pedro Silva
źródło
Widziałem wcześniej książkę O'Reilly (właściwie za pomocą tego samego wyszukiwania, o której wspomniałeś), ale nieco ją zniechęciło data publikacji. Czy pięcioletnia książka jest nadal aktualna? Zajmę się również resztą twoich linków (cóż, z wyjątkiem tego, że zadałem SF pytanie już dawno temu, więc nie ma sensu powielać tego wysiłku). Dziękuję bardzo.
AgentConundrum,
1

Tylko częściowa odpowiedź, ale napisałem samouczek IPtables, który może ci się przydać. http://www.ellipsix.net/geninfo/firewall/index.html

Oprócz IPtables musisz skonfigurować SSH i Apache, ale te są dostarczane z domyślnymi konfiguracjami, które są już trochę bezpieczne, więc jest tylko kilka rzeczy, które prawdopodobnie będziesz musiał zmienić. Oczywiście, gdy dodasz więcej funkcji do swojej witryny, będziesz musiał odpowiednio aktualizować konfigurację. Ktoś inny może polecić do tego dobre referencje.

W rzeczywistości stworzę tę wiki społeczności, aby jeśli ktoś chciał dodać linki, mógł to zrobić.

David Z
źródło
Dzięki, sprawdzę twoją stronę. Nie zdawałem sobie sprawy, że Apache, a zwłaszcza SSH, zważywszy na to, co oznacza skrót S, od razu nie są pewne. Mam nadzieję, że ktoś inny może przyjść z przewodnikiem dla nich, jeśli go nie masz. Dzięki jeszcze raz!
AgentConundrum,
Cóż, „Bezpieczny” w SSH oznacza tylko, że wysyła dane w postaci zaszyfrowanej, aby ludzie nie mogli węszyć przy istniejącym połączeniu. Ale tworzenie bezpiecznej konfiguracji SSH polega przede wszystkim na upewnieniu się, że nikt nie będzie mógł się połączyć, chyba że jest do tego naprawdę upoważniony. Szyfrowanie przed tym nie chroni.
David Z