Primite obavijest putem e-pošte kada neko pristupi kao root od strane SSH

Oni od nas koji administriramo servere moramo imati najstrožu moguću kontrolu nad svime što se događa na serveru, jedna od stvari koju često moramo znati je kada se korisnik poveže putem SSH-a (uključujući root), za to s paketom i linija bi stigla do naših obavijesti putem e-pošte.

Možete li zamisliti da svaki put kad se neko poveže putem SSH-a s root-om, dobije e-poruku koja kaže?

Drugim riječima, dobili bi e-poštu koja bi glasila otprilike ovako:

[miserver] Upozorenje: Pristup root terminala dana: 2014 (01)

To je:

[$ VPS_NAME] Upozorenje: Pristup root terminalu: $ DATE ($ IP_DE_WHO_S_CONNECT)

Da bi to postigli prvo moraju instalirati paket tzv mailx.

Pod pretpostavkom da vaš poslužitelj koristi Debian ili neki distro na njemu (preporučujem samo Debian, a ne Ubuntu ili slično za servere), to bi bilo:

apt-get install mailx

Napomena: Prethodna se naredba izvršava kao root direktno na serveru, jer je to VPS, sudo se ne smije koristiti ako to nije nužno potrebno.

Tada u korijen .bashrc moramo staviti sljedeći redak:

echo 'ALERTA - Acceso a Terminal de Root en:' `hostname` 'el:' `date +'%Y/%m/%d'` `who | grep -v localhost` | mail -s "[ `hostname` ] Alerta: Acceso a Terminal de Root el: `date +'%Y/%m/%d'` `who | grep -v localhost | awk {'print $5'}`" mi@email.com

Za uređivanje /root/.bashrc koristite neki uređivač terminala poput nano:

nano /root/.bashrc

Imajte na umu da na kraju retka morate navesti svoju adresu e-pošte, jednostavno promijenite my@email.com u adresu e-pošte na koju želite da stignu obavijesti

Nakon stavljanja (bilo gdje u datoteku) retka koji sam prethodno stavio, spremamo datoteku sa Ctrl + O (Ili medvjed) i mi smo to ostavili Ctrl + X

Spremni, svaki put kada netko uđe u root terminal, .bashrc datoteka će se učitati, što je nešto što se uvijek radi po defaultu, a kada se datoteka učita, linija koja šalje e-poštu će se izvršiti, ostavljajući nam u našoj pristigloj pošti nešto kao:

email-obavijest-ssh

Objašnjenje linije je nešto zaista jednostavno:

  1. Kroz mailx šaljem poštu, s parametrom -s «_____» odredim temu i prosljeđujem jekom «____» i cijevi sadržajem tijela.
  2. `hostname` s ovim dobivam ime hosta ili ime hosta, odnosno ime VPS-a.
  3. `datum + '% Y /% m /% d'` naredba datum pokazuje mi sistemski datum, ostatak slova jednostavno označava kako želim da se datum prikaže.
  4. ko | grep -v localhost` Ako pokrenete ko će na vašem računaru prikazati vam aktivne korisnike, uz grep -v localhost osiguravam da prikazuje samo one koji su se povezali s drugog mjesta na sam server, odnosno u osnovi SSH
  5. `tko | grep -v localhost | awk {'print $ 5'} `Ono što ovu liniju razlikuje od prethodne je awk, kroz awk, a ispis pete kolone je taj što IP dobivam odakle su se povezali na SSH

U svakom slučaju, redak je donekle dugačak i može se činiti složenim za razumijevanje, međutim ima mnogo čudnih likova, ali sve je prilično jednostavno 🙂

Kao i uvijek, nadam se da vam je bilo zanimljivo.

Saludos


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

22 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   manuelperezf rekao je

    Pitanje s kojim serverom pošte se šalje? Morate li konfigurirati račun za otpremu?

    1.    KZKG ^ Gaara rekao je

      Morate imati instaliran paket mailx 😉
      Jednom kada se to učini, šalje se bez potrebe za konfiguriranjem bilo čega drugog na serveru.

      1.    manuelperezf rekao je

        Pokušat ću, ali mislim da moja e-pošta neće prihvatiti primanje pošte iz neovlaštenog izvora ...

        1.    sebe rekao je

          Koristim exim4 s 'gmail' računom za slanje e-pošte i to dobro funkcionira
          - Osim zaglavlja FROM TO i REPLY TO, koji gmail stavlja ono što želi, ali dobro stižu -.
          Da biste konfigurirali gmail s exim4, koristite ove informacije:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ Gaara rekao je

            Zanimljivo, puno hvala 🙂

      2.    Izrael rekao je

        Prijatelj @ KZKG ^ Gaara Instalirao sam paket i napravio korak po korak priručnik, jedino što kad ga pošaljem imam lokalnu poštu, nikad nisam izašao, možete li mi pomoći oko toga ?? ... pa stvarno mi treba imam ovu temu konfiguriranu na mojim serverima, salu2s.

        1.    KZKG ^ Gaara rekao je

          Prema vašoj IP pretpostavljam da ste iz moje zemlje 😉
          "Problem" u našim mrežama rijetko imaju stvarne IP adrese kao takve, odnosno podmrežni smo pod mrežom proxy ministarstva ili slično. Drugim riječima, problem je možda u tome što sam web server ne može dobiti e-poštu s mreže ili slično, možda vam treba ovo: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   truko22 rekao je

    zanimljivo i ako se stavi u "/ etc / profile", hoće li dati upozorenje kada se bilo koji korisnik poveže?

    1.    KZKG ^ Gaara rekao je

      Bilo bi potrebno pokušati, nije mi palo na pamet 😀

  3.   Nabukodonozor rekao je

    Nazovite me paranoičnim, ali stavite skriptu koju mi ​​neznanac predloži u važan dio mog sistema gdje čuvam lozinke računa, podatke kao što su izvodi iz matične knjige rođenih, lični dokumenti i radni dokumenti (otkrivajući tako i svoje klijente) itd, itd, a to podrazumijeva i izlaganje mog računa e-pošte (!!!) ... pa, mislim da je to nešto opasno.

    1.    sebe rekao je

      Opasnost od predstavljenog scenarija obrnuto je proporcionalna njegovom razumijevanju.

      A za paranoju, prestanite instalirati BESPLATNA spremišta, jer je moguće da neko unese zlonamjeran kôd koji vam ukrade košaricu.

    2.    KZKG ^ Gaara rekao je

      Objasnio sam što čini svaki dio naredbenog retka, međutim ako mislite da nekoga varam, skripta ili naredbe su upravo tamo u postu, nema skriveni ili tajni kôd, dobrodošli ste da pregledate naredbe koliko god želite koja se pokreće, ako nađete nešto sumnjivo, komentirajte to ovdje 😉

  4.   Browsons rekao je

    Cijenjeno je.

  5.   thisnameisfalse rekao je

    Vrlo zanimljivo.

    Možda datoteke ~ / .bashrc ili / etc / profile nisu najprikladnije u slučaju da SSH pristupamo sa normalnim korisnikom i izvršavamo određenu naredbu kao root. Ili ako izvozimo X11 s udaljenog VPS-a, svaki put kada otvorimo xterm, dobili bismo novu e-poštu.

    Za hack mailx-a mislim da bismo trebali koristiti datoteke ~ / .ssh / rc (pojedinačno za svakog korisnika) ili / etc / ssh / sshrc

    PostData: _NIKADA pristup SSH kao root korisnik. _NIKADA_ pristup SSH-om koristeći lozinku. _ALWAYS_ koristi privatne ključeve.

    1.    truko22 rekao je

      zanimljivo → ~ / .ssh / rc Potražit ću više informacija o tome zahvaljujući gracias

  6.   chinoloco rekao je

    Pozdrav, vrlo dobar učitelj!
    Možete li napraviti jedan za ulazak putem ssh-a s bilo kojeg ip-a, izvan lokalne mreže?
    hvala !!

  7.   vidagnu rekao je

    Ova skripta radi ako poslužitelj pošte na koji šaljemo ne potvrdi da izvorna pošta dolazi s autentičnog poslužitelja, u ovom slučaju to bi bio root @ localhost, većina poslužitelja će to shvatiti kao neželjenu poštu.

    Ono što ja radim je da konfigurišem sendmail kao MTA, a zatim koristim poštu koja dolazi u svim distro-ovima za slanje e-pošte.

    http://vidagnu.blogspot.com/2009/02/configurar-sendmail-como-cliente-de.html

  8.   Algabe rekao je

    Zahvaljujem na savjetu za testiranje:]

  9.   kuk rekao je

    vrlo korisno hvala

  10.   Izrael rekao je

    Hvala milion za savjet za prijateljstvo @ KZKG ^ Gaara, pogledaću sendmail, nadam se da ću ga riješiti, salu2s.

  11.   Joskar rekao je

    Super! Hvala na unosu!

  12.   Juan C rekao je

    I što se događa, ako na primjer skripta šalje previše e-mailova, na primjer netko uđe u root terminal u 8:00 sati i pošalje oko 40 e-mailova, a zatim je netko ušao u drugo vrijeme i poslano je više od 23 e-maila, a zatim neko dođe u drugo vrijeme i poslano je više od 150 e-poruka, što bi to moglo biti?