Rzadko zdarza się by jedna linijka skryptu umieszczona w katalogu /etc/profile.d, w wykonywalnym pliku o dowolnej nazwie potrafiła wpłynąć tak uspokajająco na administratora. Oto ona:
echo $(who i am) | mail -s 'Na serwerze XXX nastąpiło uruchomienie sesji terminalowej SSH!' mymail@mydomain.pl
Powyższe rada ma zastosowanie do wszystkich wywołań przez kogokolwiek sesji terminalowej, także przez skrypty umieszczone przez nas w cronie. Może nam na tym nie zależeć więc wystarczy powyższy ciąg komend dodać do pliku .bashrc katalogu domowego interesującego nas konta.
Jest też możliwość uzyskania informacji o logowaniu do systemu poprzez zastosowanie usługi pod nazwą DenyHost. Jest to program napisany w Pytonie przez Phila Shwartza, który analizuje logi w poszukiwaniu błędnych prób dostępu opartych o ataki słownikowe lub siłowe by zablokować wyłuskany numer IP umieszczając go automatycznie w /etc/hosts.deny. Instalacja aplikacji sprowadza się do:
yum --enablerepo=epel install denyhosts
Natomiast konfiguracja sprowadza się do:
umieszczenia w pliku /etc/hosts.allow numerów IP, które nigdy nie mogą być zbanowane w postaci SSHD: xxx.xxx.xxx.xxx yyy.yyyy.yyyy.yyyy zzz.zzz.zzz.zzz lub w pliku samej aplikacji var/lib/denyhosts/allowed-hosts w takiej postaci by każdy numeru IP był sam w wierszu. Proszę nie zapomnieć o ENTERZE na końcu ostatniego wiersza!
modyfikacji pliku konfiguracyjnego /etc/denyhosts.conf ,np. ADMIN_EMAIL nadajemy wartość naszego adresu e-mail (kilka adresów oddzielamy przecinkami od siebie)
Dodajemy usługę do listy demonów automatycznie uruchamianych przy starcie oraz uruchamiamy ją z ręki od razu nie czekając na ponowne uruchomienie serwera:
chkconfig denyhosts on
service denyhosts start
Gdybyśmy potrzebowali usunąć z jakiś względów zbanowane numery IP to:
zatrzymujemy działanie usługi
service denyhosts stop
modyfikujemy następujące pliki usuwając zablokowane IP:
vi /etc/hosts.deny
vi /var/lib/denyhosts/hosts
vi /var/lib/denyhosts/hosts-restricted
vi /var/lib/denyhosts/hosts-root
vi /var/lib/denyhosts/hosts-valid
vi /var/lib/denyhosts/users-hosts
uruchamiamy usługę
service denyhosts start
Opracowanie własne na podstawie artykułu czasopisma LINUX Magazine oraz https://stackoverflow.com/questions/12788199/perform-action-when-user-logs-in-via-ssh-from-a-particular-host