Best practies po instalacji systemu

Postaram się zebrać tutaj wszystkie najważniejsze konfiguracje, które należy wykonać na świeżo zainstalowanym systemie.

Stworzenie konta użytkownika i zablokowanie dostępu do roota przez SSHa przy użyciu hasła

Warto założyć konto zwykłego użytkownika, do którego będziemy się logować przed podniesieniem uprawnień do poziomu roota. Konto użytkownika zakładamy oczywiście poprzez adduser.
Po założeniu konta modyfikujemy konfigurację serwera SSH. W tym celu edytujemy /etc/ssh/sshd_config i zmieniamy wartość PermitRootLogin

PermitRootLogin without-password

Takie ustawienie chroni nas przed atakami bruteforce na konto roota. Dostęp do niego będzie możliwy jedynie przy użyciu klucza. Jest to wygodne rozwiązanie w przypadku, gdy chcemy uzyskiwać zdalny dostęp do serwera bezpośrednio na konto roota (np. przy użyciu skryptu backupującego).
Można również ustawić wartość no – wtedy dostęp do konta roota z poziomu SSHa nie będzie w ogóle możliwy.

Ograniczenie dostępu do su dla użytkowników z określonej grupy

Jeśli mamy większą liczbę użytkowników, którzy posiadają dostęp do SSH naszego serwera warto ustawić w PAMie, żeby su mogli wywoływać użytkownicy tylko jednej grupy (w Debianie jest to domyślnie grupa root).
Żeby to zrobić proponuję najpierw dodać naszą nazwę użytkownika do grupy root

usermod -a -G root solitary

oczywiście zamiast „solitary” podajemy swoją nazwę użytkownika. Teraz edytujemy plik /etc/pam.d/su i odkomentujemy (lub dodajemy) linię:

auth       required   pam_wheel.so group=root

Od tej chwili dostęp do su mają jedynie użytkownicy z grupy root. Proponuję otworzyć nowe połączenie SSH (nie zamykając starego!), zalogować się na swoje konto i sprawdzić czy możemy poprawnie podnieść uprawnienia przy pomocy su (aby uniknąć sytuacji w której tracimy zdalną kontrolę nad maszyną).