We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.

Serwer dedykowany - bezpieczeństwo - pierwsze czynności administracyjne


sLoDkI
12-02-2009, 10:05
Cytat Napisał Promet
Jestem ciekaw jakie Wy macie doświadczenia i zalecenia dotyczące bezpieczeństwa...
Takie jedno małe - czynności początkowe to nie wszystko. Najważniejsze to czuwać nad serwerem, przeglądać czasami logi, aktualizować i zwracać uwagę na to co się instaluje. Nie ufać bezgranicznie wszystkim produktom bo później nawet najlepiej zabezpieczony serwer łatwo skompromitować np. przez dziurę w phpBB czy innym RoundCube :-)

Pozdrawiam.

grz3chu
11-02-2009, 21:35
Cytat Napisał Pietia
c> rozumiem ale kiedy dropne wszystkie icmp oprucz tych z ovh powstrzyma to ping of death ?
d> czyli ze jak chcialbym sie dostac do np phpmyadmin na swoim kompie to nie daloby rady tak ?
a to z hashem przyklad to np
iptables -m hashlimit -40 tak ? bo nie bardzo zrozumialem ...
c> jakieś małe ataki tak, ale bywały takie co blokowały całe routery więc jak ktoś się uprze to nic nie pomoże.

d> do phpmyadmin sie dostaniesz bo on bedzie działać na localhoscie.

wpisz sobie "iptables hashlimit" w google i znajdziesz przykłady. Ale tak, będzie to podobnie iptables -m hashlimit --hashlimit 40/s

Pietia
11-02-2009, 21:32
Cytat Napisał grz3chu
b ->
Kod:
iptables -m hashlimit -h
i sobie doczytać. (np. mniej więcej tak: -m hashlimit --hashlimit 40/s)

d -> Tu chodzi o to że niektóre usługi mogą słuchać tylko na lokalnym interfejsie, daje to Ci pewność, że nikt nie będzie z zewnątrz z nich korzystał. Np. jak używasz mysql tylko dla stron na tym samyk kompie to możesz dodać do my.cnf wpis skip-networking i wtedy baza działą tylko na localhoscie.

c -> możesz zablokować pakiety icmp czyli pingowanie. Ale dostaniesz maila od OVH, że masz awarie bo serwery są monitorowane właśnie po icmp. Puść serwer ovh, żeby mogł puszczać pingi, u mnie jest to 213.186.33.13.

Ogólnie poczytaj sobie o iptables.
c> rozumiem ale kiedy dropne wszystkie icmp oprucz tych z ovh powstrzyma to ping of death ?
d> czyli ze jak chcialbym sie dostac do np phpmyadmin na swoim kompie to nie daloby rady tak ?
a to z hashem przyklad to np
iptables -m hashlimit -40 tak ? bo nie bardzo zrozumialem ...

grz3chu
11-02-2009, 21:19
b ->
Kod:
iptables -m hashlimit -h
i sobie doczytać. (np. mniej więcej tak: -m hashlimit --hashlimit 40/s)

d -> Tu chodzi o to że niektóre usługi mogą słuchać tylko na lokalnym interfejsie, daje to Ci pewność, że nikt nie będzie z zewnątrz z nich korzystał. Np. jak używasz mysql tylko dla stron na tym samyk kompie to możesz dodać do my.cnf wpis skip-networking i wtedy baza działą tylko na localhoscie.

c -> możesz zablokować pakiety icmp czyli pingowanie. Ale dostaniesz maila od OVH, że masz awarie bo serwery są monitorowane właśnie po icmp. Puść serwer ovh, żeby mogł puszczać pingi, u mnie jest to 213.186.33.13.

Ogólnie poczytaj sobie o iptables.

Pietia
11-02-2009, 17:09
jak zrobic punkt b oraz d ? i koncowka c z tym ping of death ?:> skoro wiesz jak moglbys sie z nami tutaj podzielic :-)

mariano
15-10-2008, 10:35
Cytat Napisał Promet
Myślę, że jeżeli ktoś nie ma takiej możliwości to może warto ograniczyć chociaż możliwość bezpośredniego logowania się na konto root (a umożliwić to po uprzednim zalogowaniu na innego użytkownika i wydanie polecenia su).
Moj ulubiony wpis w sshd_config:

Kod:
PasswordAuthentication no

Promet
14-10-2008, 17:56
Witam - jestem tutaj nowy ale widziałem już wiele postów dotyczących bezpieczeństwa serwerów dedykowanych. Ponieważ sam parę dni temu takowy zakupiłem to chciałem się podzielić z Wami czynnościami, które wykonałem do tej pory w celu podniesienia bezpieczeństwa - zachęcając Was równocześnie do podzielenie się swoimi procedurami.

1. Zmiana hasła na konto root
Hasło, które otrzymaliśmy po instalacji systemu nie jest do końca bezpieczne dlatego lepiej je zmienić. Osobiście preferuję losowe hasło 8-12 znakowe (złożone z liter małych i wielkich oraz cyfr).

2. Aktualizacja bazowego systemu
Jako system do instalacji wybrałem openSuSE w wersji 11. Warto od razu po zainstalowaniu gołego systemu przeprowadzić zalecane aktualizacje (w suse jest mechanizm YOU - Yast Online Update). U mnie YOU wykrył kilka krytycznych poprawek!

3. Doinstalowanie ważnych pakietów
Trochę się zdziwiłem, że w systemie, który został zainstalowany nie było takich pakietów jak syslog czy cron. Zalecałbym ich doinstalowanie (pierwszy jest potrzebny, żebyśmy mogli sobie wygodnie czytać i przechowywać logi systemowe, drugi jest praktycznie niezbędny - wymagany przez wiele innych pakietów).

4. Wyłączenie niepotrzebnych usług
Wyłączamy lub odinstalowujemy usługi, których nie potrzebujemy (jak np. serwer cups itd...)

5. Firewall
Osobiście oparłem firewall na iptables - definiując skrypt z regułami (suse ma własny firewall, którego jednak nie lubię). Przyjąłem za domyślą politykę DROP (dla INPUT) oraz ACCEPT (dla OUTPUT). Od tej domyślnej polityki robię wyjątki. Tutaj uwaga: niektórzy robią odwrotnie - domyślnie ACCEPT, wymieniają co ma akceptować, a na koniec DROP pozostałych. Możliwości jest wiele - trzeba dużo poczytać o tym oprogramowaniu.
Moje reguły wprowadzając następujące wyjątki:
a) otwarcie portu SSH (22), dla konkretnego IP (lub kilku IP).
Mimo, że mam neostradę (a więc zmienne IP) to mam dostęp do serwerów ze stałym IP. Dlatego port 22 mam otwarty tylko dla konkretnych IP - tych, przez które się tuneluję.
Myślę, że jeżeli ktoś nie ma takiej możliwości to może warto ograniczyć chociaż możliwość bezpośredniego logowania się na konto root (a umożliwić to po uprzednim zalogowaniu na innego użytkownika i wydanie polecenia su). Warto też ograniczyć pewnie liczbę pakietów/sekundę.
b) otwarcie portów dla moich usług, ale z ograniczeniami
Na moim serwerze postawiony jest serwer HTTP tak więc musiałem otworzyć port 80. Starając się jednak ograniczyć możliwość ataku typu DoS na ten port wprowadziłem limity ilości 10 pakietów/sekundę z danego IP. W mojej konkretnej instalacji na razie to wystarcza - ale ten parametr trzeba dobrać indywidualnie. W iptables realizuje się to poprzez moduł hashlimit.
c) umożliwienie odpowiedzi na pingi
Ponieważ ovh wymaga tego żeby serwer odpowiadał na pingi (inaczej dostajemy maila, że jest awaria ) to trzeba to umożliwić. Tutaj też wprowadziłem ograniczenie (do 2 pakietów / sekundę z danego IP) aby ograniczyć ryzyko ataku typu Ping of Death.
d) wszystkie usługi, które nie powinny być dostępne z zewnątrz (a więc np. serwery baz danych) ustawiłem w plikach konfiguracyjnych tak aby słuchały wyłącznie na localhost. W iptables dałem regułę, żeby akceptował wszelki ruch na lo (loopback do localhosta).

6. Hasło dostępowe do panelu ovh oraz do swojego maila
Warto ustalić sobie dobre hasło do panelu oraz do swojej poczty. Ewentualne uzyskanie dostępu do poczty daje włamywaczowi prawie wszystko. Może on uruchomić serwer w trybie rescue i w zasadzie wszystkie nasze zabezpieczenia są nic nie warte . Chyba więc ten punkt należałoby zdecydowanie wdrożyć.

Jestem ciekaw jakie Wy macie doświadczenia i zalecenia dotyczące bezpieczeństwa...