Dostałem 3 Linux-y, 1 frontem z apache i jeszcze 2, które, o ile wiem, nie robią nic strasznego. Wszystko działa na Redhat.
Pytanie jest proste: skąd mam wiedzieć, co tak naprawdę robi serwer? Dokumentacja zerowa jest dostępna od twórcy.
Dostałem 3 Linux-y, 1 frontem z apache i jeszcze 2, które, o ile wiem, nie robią nic strasznego. Wszystko działa na Redhat.
Pytanie jest proste: skąd mam wiedzieć, co tak naprawdę robi serwer? Dokumentacja zerowa jest dostępna od twórcy.
Odpowiedzi:
Odłącz kabel Ethernet i zobacz, kto się denerwuje.
Poważnie, jednak takie tajemnicze maszyny powodują ogromne obciążenie umysłowe dla zespołu i często nie zapewniają absolutnie żadnej wartości biznesowej. Porozmawiaj ze swoim szefem, jeśli nikt nie wie, co robi, może nikt nie dba o to, co robi.
To dość szerokie pytanie dotyczące formatu Serverfault, ale oto dobry początek:
Nie wspomniałeś o wersji, więc pominąłem specyfikę.
Jest kilka rzeczy, które możesz zrobić, aby sprawdzić, co działa w twoim systemie.
Możesz sprawdzić, na których portach nasłuchuje serwer, aby dowiedzieć się, co tam jest. Dobrym poleceniem do użycia byłoby:
[root@server ~]# netstat -tulpn
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address Stat e PID/Program name
tcp 0 0 0.0.0.0:139 0.0.0.0:* LIST EN 1880/smbd
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LIST EN 1911/nrpe
tcp 0 0 0.0.0.0:22 0.0.0.0:* LIST EN 1759/sshd
Jak widać z powyższego przykładu, przedstawia on wersję protokołu (tcp lub udp), adres, na którym nasłuchuje, port, który jest otwarty, i program, który nasłuchuje.
W powyższym skróconym przykładzie (serwer) widać, że porty TCP 139, 5666 i 22 nasłuchują. Rozwiązania te dotyczą odpowiednio samby, nrpe (agenta Nagios) i ssh i są potwierdzane po sprawdzeniu programu nasłuchującego na tym porcie.
Dodatkowo możesz sprawdzić listę demonów skonfigurowanych do uruchamiania przy starcie, w tym celu uruchom:
chkconfig --list | grep "3:on"
Przykład:
[root@server ~]# chkconfig --list | grep "3:on"
NetworkManager 0:off 1:off 2:on 3:on 4:on 5:on 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
udev-post 0:off 1:on 2:on 3:on 4:on 5:on 6:off
vncserver 0:off 1:off 2:on 3:on 4:on 5:on 6:off
webmin 0:off 1:off 2:on 3:on 4:off 5:on 6:off
x2gocleansessions 0:off 1:off 2:on 3:on 4:on 5:on 6:off
.
.
.
lub:
service --status-all
netstat -plunt
łatwiejsze do zapamiętania.
tcpdump
mogą być przydatne do ustalenia, kto jest rzeczywiście przy każdej usługi.
Inna metoda polega na sprawdzeniu /etc
katalogu i sprawdzeniu dat modyfikacji. Po nowej instalacji wszystkie pliki w tym katalogu powinny mieć mniej więcej tę samą datę / godzinę. A ponieważ instalacja zwykle instaluje wiele rzeczy, których ludzie zwykle nie używają, tylko pliki, które mają późniejszą datę modyfikacji, odzwierciedlają rzeczywisty cel serwera . Jeśli jest to ext4, powinieneś być w stanie wyodrębnić datę urodzenia katalogów, więc zadanie może być dość łatwe.
Jeszcze inna metoda wymagałaby sprawdzenia .bash_history
plików, aby zobaczyć, co porabiają administratorzy. Ten plik może zapewnić bogactwo wiedzy.
Jednej odpowiedzi jeszcze nie widziałem: sprawdź ostatnio zmodyfikowane pliki. Dzienniki, pliki bazy danych, inne pliki wyjściowe itp. Mogą zostać zapisane w bazie danych, co może dostarczyć wskazówek:
find . -mtime -3
To znalazłoby zmodyfikowane pliki w bieżącym katalogu i głębiej, zmienione w ciągu ostatnich 3 dni. Zwiększ liczbę 3 do zgadywanki, aż uzyskasz wyniki, które możesz zbadać.
Nie jest to głupie, ponieważ skrzynki mogą po prostu przetwarzać niektóre połączenia z serwisem WWW, zwracając niektóre dane bez zapisywania czegokolwiek. Ale dodany do wspaniałego miksu wspomnianego powyżej, może po prostu dać pewne wskazówki.