Podczas audytu /var/log/auth.logna jednym z moich publicznych serwerów znalazłem:
Jan 10 03:38:11 Bucksnort sshd[3571]: pam_unix(sshd:auth): authentication failure;
logname= uid=0 euid=0 tty=ssh ruser= rhost=61.19.255.53 user=bin
Jan 10 03:38:13 Bucksnort sshd[3571]: Failed password for bin from 61.19.255.53
port 50647 ssh2
Na pierwszy rzut oka wygląda to jak typowy sshspam logowania od losowych hakerów; jednak, gdy przyjrzałem się bliżej, zauważyłem coś innego. Większość nieudanych /var/log/auth.logwpisów mówi invalid userw nich, takich jak ten:
Jan 9 10:45:23 Bucksnort sshd[3006]: Failed password for invalid user sales
from 123.212.43.5 port 10552 ssh2
Niepokojące rzeczy na temat tej nieudanej wiadomości logowania na binto, że jest to ważny użytkownik w /etc/passwdtym nawet ma powłokę logowania:
[mpenning@Bucksnort ~]$ grep ^bin /etc/passwd
bin:x:2:2:bin:/bin:/bin/sh
Myślałem, że pokryła wszystkie domyślne nazwy użytkowników, które mogłyby się zalogować zdalnie kiedy wyłączony PermitRootLoginw /etc/ssh/sshd_config; odkrycie tego wpisu otworzyło nowe możliwości w moim paranoicznym umyśle. Jeśli usługi w jakiś sposób działały bin, to jest możliwe, że ktoś mógłby w jakiś sposób wstawić klucz ssh do katalogu binużytkownika z uruchomionej usługi na pudełku, więc chciałbym całkowicie wyłączyć logowanie dla binużytkownika, jeśli to możliwe.
pytania
Ten serwer jest zdalny i kosztowny do naprawienia (tj. Zapłacę za zdalne ręce, aby podłączyć KVM, a także wynajem KVM). Próbuję wymyślić, co mogę złamać, jeśli zmienię
/etc/passwdwpis,binaby wyglądał tak:bin:x:2:2:bin:/bin:/bin/falseUruchomiłem następujące polecenia, próbując dowiedzieć się, co
binjest potrzebne ... Jednak te polecenia wymyśliły brak plików i nie mogłem znaleźć żadnych procesów należących dobin. Co w ogóle robibinużytkownik?$ sudo find / -group bin$ sudo find / -user binCzy są jeszcze inni użytkownicy, dla których należy ustawić powłoki logowania
/bin/false? FYI, mam już/bin/falsenawww-data.Czy jestem zbyt paranoikiem?
Używam Debiana, jeśli to ma znaczenie.