Instaluję serwer Debian, który jest podłączony bezpośrednio do Internetu. Oczywiście chcę uczynić to tak bezpiecznym, jak to możliwe. Chciałbym, abyście dodali swoje pomysły, aby je zabezpieczyć i jakich programów do tego używacie.
Chcę, aby część tego pytania dotyczyła tego, czego używasz jako zapory ogniowej? Wystarczy ręcznie skonfigurowany iptables, czy korzystasz z jakiegoś oprogramowania, które Ci pomoże? Jaki jest najlepszy sposób? Zablokować wszystko i pozwolić tylko na to, co jest potrzebne? Czy mogą być dobre samouczki dla początkujących na ten temat?
Czy zmieniasz port SSH? Czy używasz oprogramowania takiego jak Fail2Ban, aby zapobiegać atakom typu bruteforce?
Odpowiedzi:
Obowiązkowy:
W zależności od poziomu paranoi dodatkowo:
integrit
do sprawdzania, czy niektóre części systemu plików nie zostały zmodyfikowane [z sumą kontrolną przechowywaną poza maszyną], na przykład Tripwire/etc/passwd
dodawania nowych użytkowników jest nieco trudniejszy-m state --satete ESTABLISHED
dbasz o przepływ pakietów, o ile korzystasz z jednej sesji SSH]Rzeczy, których sam nie robię, ale mają sens:
źródło
Tylko uwaga na temat zapory ogniowej twojego komputera ...
amap
inmap
jest-A
rozwiązaniem. Powiedziawszy to, możesz (i prawdopodobnie powinieneś się martwić) zmodyfikować swoje usługi, aby ukryć się przed wścibskimi oczami, na przykład następujące informacje dadzą atakującemu dokładną wersjęOpenSSH
uruchomionej aplikacji, a następnie będą mogli szukać exploitów dla ta dokładna wersja. Jeśli ukryjesz takie rzeczy, utrudnisz im to.Najważniejsze jest to, że nigdy nie uda ci się uczynić niczego w 100% bezpiecznym - to po prostu niemożliwe - więc celem jest uczynienie go tak bezpiecznym, jak to możliwe - jeśli po prostu zbyt duży wysiłek włamuje się do twojego systemu, jest wystarczająco dobry i najbardziej opóźniony Skrypciarze przejdą do następnego systemu.
iptables
jest sposobem na skorzystanie z dowolnego systemu Linux - ale skonfiguruj go sam.Nigdy nie używaj żadnego „oprogramowania zabezpieczającego”, które nie jest oparte na otwartych standardach - są skazane na słabą pisownię i zostaną zhakowane (nie chodzi o to „jeśli”, ale „kiedy”). Otwarte źródła i otwarte protokoły są otwarte dla publicznej kontroli i stają się dojrzałym i niezawodnym produktem; oprogramowanie zamknięte źródło opiera się głównie na autorów pewności siebie, jak wielką / bezpiecznego-a produktem oni , że to jest - czyli małej liczbie oczu vs na ziemi pełne oczu.
Mam nadzieję, że to pomoże :)
źródło
użyj denyhosts (lub podobnego)
napisz własny skrypt iptbles (więc dokładnie kontrolujesz, na co zezwalać i możesz upuścić wszystko inne)
wymusić użycie bezpiecznej komunikacji SSL / TLS i upewnić się, że ma ważne, nie wygasłe i podpisane certyfikaty
źródło
Zacznij tutaj:
http://www.debian.org/doc/manuals/securing-debian-howto/
źródło
Jako ogólny punkt wyjścia kieruję się testem porównawczym / przewodnikami Centrum Bezpieczeństwa Internetowego , które są kompleksowymi kompilacjami najlepszych praktyk bezpieczeństwa. Nie wygląda na to, że ich test Debiana został zaktualizowany od jakiegoś czasu, ale ogólny przegląd tych kroków jest następujący:
Istnieje wiele zasobów dotyczących wszystkich tych różnych ustawień, w tym konkretnych poleceń i plików konfiguracyjnych do wdrożenia w systemie w testach porównawczych CISecurity.
źródło
Sugeruję, aby nie podłączać komputera bezpośrednio do Internetu. Umieść zaporę ogniową między maszyną a Internetem. Pozwala to na monitorowanie bezpieczeństwa i sieci bez większego obciążenia serwera. Osobiście uważam, że segmentacja sieci i funkcji często upraszcza rozwiązywanie problemów z siecią, chociaż czasami dodatkowa złożoność utrudnia analizę.
Najbezpieczniejszym, ale najbardziej irytującym w zarządzaniu, zaporą ogniową jest odrzucanie wszystkich i jawne dopuszczanie tylko ruchu, na który musisz zezwolić. Jest to denerwujące, ponieważ często trzeba aktualizować zasady zapory sieciowej, gdy zmienia się sieć.
Sugerowałbym również użycie pewnego rodzaju zapory ogniowej interfejsu na serwerze - kluczem jest głęboka ochrona. Używanie niestandardowych portów do usług związanych z administracją nie szkodzi. fail2ban jest w porządku. Odpowiedz na bardziej szczegółowe pytania dotyczące aplikacji bezpieczeństwa w usłudze Serverfault, aby znaleźć więcej pomysłów.
Bezpieczeństwo jest jak żart o dwóch wędrowcach i niedźwiedzie - chociaż nigdy nie można osiągnąć doskonałego bezpieczeństwa, pomocne jest bycie trudniejszym celem niż pozostali faceci.
źródło
Niektórzy wskazywali na Podręcznik Zabezpieczania Debiana . Powinno to być całkowicie odpowiednie do wszystkiego oprócz wymagań wojskowych.
Wiele osób uważa, że bycie śmiesznie paranoikiem jest fajne, profesjonalne lub coś w tym rodzaju. To nie jest po prostu denerwujące dla innych administratorów i wręcz represyjne dla użytkowników. Większość rzeczy, które zobaczysz polecane, to po prostu fałszywa praca, aby czuć się przydatna dla paranoicznego administratora, ale w rzeczywistości nie jest pomocna, ponieważ prawdziwe naruszenie bezpieczeństwa może być spowodowane niewystarczająco zaktualizowanym systemem i / lub ze źródła wewnętrznego.
To powiedziawszy, uważam to za jeden z moich założeń, aby nie ufać niczego w sieci lokalnej bardziej niż cokolwiek z Internetu. Dlatego wszystko konfiguruję tak, aby wymagało uwierzytelnienia nawet w sieci lokalnej. Szyfruję i uwierzytelniam cały ruch między każdym komputerem za pomocą protokołu IPsec.
Jestem w trakcie konwersji na szyfrowanie całego dysku dla wszystkich moich serwerów.
Instaluję tylko usługi, z których korzystam. Nie mam zapory ogniowej; Konfiguruję usługi, które muszę wymagać uwierzytelnienia, lub ograniczam je (poprzez własną konfigurację programu lub przez opakowania TCP) do określonych adresów IP. Jedyną rzeczą, którą kiedykolwiek potrzebowałem zablokować za pomocą iptables, było to
memcached
, że nie miał on pliku konfiguracyjnego i nie używał opakowań TCP.Korzystam z dobrych, losowo generowanych haseł do moich kont i ufam mojemu serwerowi SSH (i wszystkim innym usługom), aby powstrzymać tych, którzy nie znają hasła.
fail2ban
jest tylko dla tych, którzy mają ograniczone miejsce na pliki dziennika, IMO. (Powinieneś mieć wystarczająco dobre hasła, aby móc im zaufać).źródło
Przejrzyj ten fajny poradnik na stronie www.debian.org/doc/manuals/securing-debian-howto/
Osobiście zmieniam port ssh i używam fail2ban + denyhosts. I blokuję wszystko, co nie jest potrzebne. Im więcej blokujesz, tym mniej musisz się martwić.
źródło