I. Wstęp
Cześć! Żyjemy w czasach, w których urządzenia elektroniczne są nieodłączną częścią naszego życia. O ile nie spersonalizowałeś ustawień powiadomień -- otrzymujesz dziesiątki powiadomień na godzinę. W jednym powiadomieniu ktoś napisał prywatną wiadomość, w innym dostałem dzisiejszą prognozę pogody, w kolejnym powiadomieniu informacja o nowym mailu, a w jeszcze innym, że właśnie wyszedł nowy sezon Stranger Things.
Zgodnie z punktem 6.1.5 regulaminu świadczenia usług VPS:
Użytkownik jest zobowiązany: [...] zapewnienia bezpieczeństwa systemu;
Z jednej strony zabezpieczenie usługi SSH za pomocą kluczy RSA oraz zmiana domyślnego portu, na którym działa usługa powinny zapewnić wystarczające bezpieczeństwo. Z drugiej strony usługa SSH sama Ci nie powie, że ktoś szpera po Twoim serwerze. Nie nie nie, z pewnością Ci nie powie. Ktoś może siedzieć na Twoim serwerze tygodniami, a Ty nawet nie będziesz o tym wiedział!
Dlaczego więc nie wykorzystać wspaniałomyślności dzisiejszej technologii i nie stworzyć alertu, który informowałby o nowym logowaniu na serwer? Tym się dzisiaj zajmiemy!
II. Przygotowania
⚠️ Poradnik z góry zakłada, że używasz systemu Ubuntu w wersji 22.04 LTS (kernel: 5.15.0-33-generic)
Będziesz potrzebować:
- serwera
- konta z uprawnieniami administratora (sudo)
- od 5 do 10 minut wolnego czasu
Weź proszę pod uwagę, że jeżeli używasz innej dystrybucji Linuxa -- poradnik może nie działać, bądź różnić się w zależności od wybranego systemu operacyjnego.
III. Tworzenie webhooka na Discordzie
Zacznijmy od stworzenia nowego webhooka
Kliknij ikonkę zębatki, aby otworzyć ustawienia kanału:
Kliknij "Integracje":
Kliknij "Stwórz webhook":
Uzupełnij nazwę, dodaj jakiś awatar, według uznania.
Następnie skopiuj adres URL webhooka i zachowaj go:
III. Magia w systemie
Zacznijmy od zaktualizowania repozytoriów i zainstalowania paczki pam.d, która odpowiada za wykonywanie zadań (tasków) przy określonych sytuacjach uwierzytelniania w systemie.
apt update && apt upgrade && apt-get install pam.d
Po pomyślnej instalacji, w lokalizacji /usr/sbin/
utwórz nowy plik. Wklej do niego niżej podany kod i nadaj mu uprawnienia wykonywalności.
Wklej kod i dodaj swój adres URL webhooka.
Zapisz plik i wyjdź z edytora.
#!/bin/bash
if [ "$PAM_TYPE" != "close_session" ]; then
webhook=""
message="Wykryto logowanie z adresu IP $PAM_RHOST na uzytkownika $PAM_USER"
curl --silent -v \
-H "Content-Type: application/json" \
-X POST \
-d "{\"content\":\"$message\"}" \
$webhook > /dev/null 2>&1
fi
exit
Teraz, nadamy uprawnienia wykonywania.
Jeżeli nie otrzymałeś żadnego błędu -- operacja powiodła się :slight_smile:
Teraz wystarczy dodać nowy task do PAM:
echo "session optional pam_exec.so seteuid /usr/sbin/sshdiscord" >> /etc/pam.d/sshd
Komenda ta dopisze na koniec pliku /etc/pam.d/sshd
linijkę session optional pam_exec.so seteuid /usr/sbin/sshdiscord
.
Gotowe!
IV. Testowanie
Jeżeli wszystko zostało skonfigurowane poprawnie -- powinniśmy uzyskać następujący rezulat:
V. Sponsorzy dzisiejszego odcinka
Poradnik został zasponsorowany przeze mnie :cebula:
VI. Zakończenie
Dziękuję za kilka minut Twojej uwagi.
Jeżeli poradnik spodobał Ci się, zostaw taktyczne ❤️ serducho. Jeżeli nie spodobał Ci się, zauważyłeś błąd -- poinformuj mnie :D