Każde zabezpieczenie utrudniające włamanie na serwer jest dobre, nawet, jeśli tylko spowalnia atakującego przed uzyskaniem dostępu do naszych cennych danych. Systemy oparte o architekturę Linuksa pozwalają na stopniowanie uprawnień, w związku z czym wspomagają tego typu działania. W dzisiejszym wpisie chciałbym pokazać, w jaki sposób zablokować bezpośrednie logowanie użytkownika root do serwera, dzięki czemu postawimy dodatkową barierę przed potencjalnym napastnikiem.

Fotografia: bluviolin, CC-BY-SA.

Linux: Blokowanie bezpośredniego logowania roota na serwerze.

Zanim przejdziemy do dalszej części artykułu, należy upewnić się, że istnieje inny użytkownik, przez którego będziemy mogli dostać się na serwer. Nie ma to jak zablokować logowanie roota bez pozostawienia sobie jakiejś alternatywy. ;]

Dobrze będzie też dopisać go np. do /etc/sudoers z linijką [przykład dla użytkownika o loginie username]:

username ALL=(ALL) ALL

Oczywiście możemy [a jeśli chcemy traktować treść dzisiejszego wpisu jako dodatkową warstwę zabezpieczeń nawet musimy] ustawić nieco mniejsze uprawnienia, także potraktujmy powyższy listing jako przykład .

Przejdźmy teraz do właściwej części wpisu, czyli blokowania logowania roota. Cały trik polega na tym, żeby w odpowiedni sposób skonfigurować demona SSH na naszym serwerze. Za pomocą preferowanego edytora tekstu otwórzmy z uprawnieniami roota plik  /etc/ssh/sshd_config. W tym pliku należy odszukać linijkę zawierającą ustawienie PermitRootLogin, która najprawdopodobniej będzie wyglądała następująco:

PermitRootLogin yes

Zmieniamy wartość “yes” na “no”:

PermitRootLogin no

i zapisujemy plik. Teraz wystarczy zrestartować demona usługi SSH poleceniem:

/etc/init.d/ssh restart

i po wszystkim. Wylogowujemy się z SSH i podczas próby logowania jako root powinniśmy dostać komunikat “invalid password”. Logujemy się wtedy jako “inny użytkownik” i cieszymy dodatkową warstwą zabezpieczeń. ;]