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ą).

Szybkie i wydajne przesyłanie danych między serwerami

Zwykle korzystałem z pipelingu i ssh. Jednak czasami niepotrzebne jest nam szyfrowanie przesyłanych danych (gdy, wykonujemy to w zaufanej sieci) a chcemy szybko przesłać dane bez zbędnej utraty prędkości i obciążania maszyn.

W takiej sytuacji najpierw odpalamy na serwerze, który będzie odbierał socketa:

socket -q -r -s 9999 > plik_do_ktorego_ma_zostac_zapisane

lub też od razu pipelingiem do tara, aby rozpakować dane:

socket -q -r -s 9999 | tar -xvf -

Po stronie serwera nadającego wykonujemy:

cat twoj_plik | socket -q zdalny.komputer.pl 9999

lub bezpośrednio z tara:

tar -cf - katalog_do_przeslania | socket -q zdalny.komputer.pl 9999

Wada – nie ma paska postępu.