Bezpieczeństwo SSH na serwerze www Linux
Kiedy zakładamy serwer www na systemie Linux, jednym z kluczowych aspektów jest zabezpieczenie połączeń SSH. SSH (Secure SHell) to protokół, który pozwala na bezpieczne połączenie z serwerem zdalnym, ale niestety jest także celem dla wielu ataków.
Instalacja nowego serwera
Gdy instalujemy nowy serwer, kluczowym jest utworzenie nowego użytkownika z uprawnieniami sudo oraz dezaktywowanie logowania dla użytkownika root. To ogranicza potencjalne zagrożenia.Copy code
adduser nowy_uzytkownik usermod -aG sudo nowy_uzytkownik
Następnie edytuj konfigurację SSH:
vim /etc/ssh/sshd_config
I zmień:
PermitRootLogin no
Aktualizacja oprogramowania
Przenosząc stronę na nowy serwer, warto najpierw zaktualizować system:
apt update && apt upgrade
Migracja danych
Do migracji danych przyda się rsync
, który pozwala na efektywne kopiowanie plików:
rsync -avP uzytkownik@stary-serwer:/sciezka/do/danych /sciezka/na/nowym/serwerze/
Instalacja usług serwerowych
- FTP: VsFTPd to popularny serwer FTP. Jednak warto ograniczyć użytkowników do ich katalogów domowych:
vim /etc/vsftpd.conf
Ustaw:
chroot_local_user=YES
- www (Apache lub Nginx):
- Apache: Ogranicz dostęp do katalogu
Directory
i wyłącz listowanie katalogów. - Nginx: W konfiguracji serwera, zaleca się wyłączenie informacji o wersji:
- Apache: Ogranicz dostęp do katalogu
server_tokens off;
- Bazy danych (MySQL/MariaDB): Upewnij się, że Twoja baza danych nasłuchuje tylko na lokalnym interfejsie, zmieniając
bind-address
na127.0.0.1
w/etc/mysql/my.cnf
. - PHP-FPM: Dla Nginx, ogranicz wykonywanie skryptów tylko do katalogu
location ~ \.php$
. - Redis i Memcached: Zaleca się ustawienie hasła i ograniczenie dostępu tylko do lokalnego hosta.
Problemy i rozwiązania:
- Wersja PHP:
- Problem: Niewłaściwa wersja PHP. Rozwiązanie: Użyj menedżera wersji PHP, jak
phpbrew
, aby łatwo przełączać wersje. - Problem: Nieaktualne rozszerzenia. Rozwiązanie: Uaktualnij rozszerzenia za pomocą
pecl install nazwa_rozszerzenia
. - Problem: Niewłaściwa konfiguracja. Rozwiązanie: Optymalizuj konfigurację w
/etc/php/7.x/fpm/php.ini
.
- Problem: Niewłaściwa wersja PHP. Rozwiązanie: Użyj menedżera wersji PHP, jak
- Wersja MariaDB:
- Problem: Niewłaściwa wersja MariaDB.
Rozwiązanie: Użyj oficjalnych repozytoriów MariaDB do instalacji odpowiedniej wersji. - Problem: Problemy z kodowaniem.
Rozwiązanie: Ustawcharacter-set-server
icollation-server
wmy.cnf
. - Problem: Zbyt wiele połączeń.
Rozwiązanie: Zwiększ wartośćmax_connections
wmy.cnf
.
- Problem: Niewłaściwa wersja MariaDB.
Monitorowanie serwera
Aby skrócić czas awarii, serwer powinien być stale monitorowany. Narzędzia takie jak Nagios
czy Zabbix
mogą pomóc w szybkim wykryciu problemów.
Kopie zapasowe
Zawsze pamiętaj o regularnych kopiach zapasowych za pomocą narzędzi takich jak tar
lub mysqldump
.
Podsumowanie
Bezpieczeństwo SSH i optymalizacja serwera Linux to klucze do sukcesu w utrzymaniu serwisów internetowych. Gdy napotkasz trudności, skonsultuj się z doświadczonym administratorem.