Motta varsel via e-post når noen åpner som root av SSH

De av oss som administrerer servere, må ha strengest mulig kontroll over alt som skjer på serveren, noe av det vi ofte trenger å vite er når en bruker kobler seg til via SSH (root inkludert), for dette med en pakke og en linje når e-postvarslene våre.

Kan du forestille deg at hver gang noen kobler seg via SSH med root, får de en e-post som sier?

Med andre ord vil de motta en e-post som sier noe slikt:

[miserver] Alert: Root Terminal access on: 2014/01/21 (200.55.51.151)

Det er:

[$ NOMBRE_VPS] Alert: Tilgang til rotterminalen: $ DATE ($ IP_DE_WHO_S_CONNECT)

For å oppnå dette må de først installere en pakke som heter post x.

Forutsatt at serveren din bruker Debian eller noe distro basert på det (jeg anbefaler bare Debian, ikke Ubuntu eller lignende for servere), ville det være:

apt-get install mailx

Merk: Den forrige kommandoen utføres som root direkte på serveren, da det er en VPS, bør sudo ikke brukes med mindre det er strengt nødvendig.

Så må vi sette følgende linje i roten .bashrc:

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

For å redigere /root/.bashrc bruk noen terminalredaktører som nano:

nano /root/.bashrc

Husk at du må spesifisere e-postadressen din på slutten av linjen, bare endre my@email.com til e-posten du vil at varslene skal nå

Etter å ha satt (hvor som helst i filen) linjen som jeg la før, lagrer vi filen med Ctrl + O (Eller bjørn) og vi forlot det med Ctrl + X

Klar, hver gang noen kommer inn i rotterminalen, blir .bashrc-filen lastet inn, noe som alltid gjøres som standard, og når filen lastes inn, vil linjen som sender e-posten bli utført, og la noe være i innboksen vår. som:

e-postvarsling-ssh

Forklaringen på linjen er noe veldig enkelt:

  1. Gjennom mailx sender jeg posten, med parameteren -s «_____» spesifiserer jeg emnet, og jeg sender den med ekko «____» og et rør innholdet i kroppen.
  2. "vertsnavn" med dette får jeg vertsnavnet eller vertsnavnet, det vil si navnet på VPS.
  3. `date + '% Y /% m /% d'`datokommandoen viser meg systemdatoen, resten av bokstavene angir ganske enkelt hvordan jeg vil at datoen skal vises.
  4. hvem | grep -v localhost` Hvis du kjører hvem på datamaskinen din, vil det vise deg de aktive brukerne, med en grep -v localhost sørger jeg for at den bare viser de som har koblet seg fra et annet sted til selve serveren, det vil si i utgangspunktet SSH
  5. `hvem | grep -v localhost | awk {'print $ 5'} `Det som skiller denne linjen fra den forrige er awk, gjennom awk og utskrift av 5. kolonne er at jeg får IP-adressen der de koblet til SSH

Uansett, linjen er noe lang og kan virke kompleks å forstå, men det er mange rare karakterer, men alt er ganske enkelt 🙂

Som alltid håper jeg du har funnet det interessant.

Hilsen


22 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   manuelperez sa

    Et spørsmål, med hvilken e-postserver sendes den? Må du konfigurere en fraktkonto?

    1.    KZKG ^ Gaara sa

      Du må ha mailx-pakken installert 😉
      Når dette er gjort, sendes det uten å måtte konfigurere noe annet på serveren.

      1.    manuelperez sa

        Jeg vil prøve det, men jeg tror at e-posten min ikke godtar å motta e-post fra en uautentisert kilde ...

        1.    meg selv sa

          Jeg bruker exim4 med en 'gmail'-konto for å sende e-post, og det fungerer bra
          - Med unntak av FRA TIL og SVAR TIL overskrifter, som gmail setter det den vil, men de kommer godt -.
          For å konfigurere gmail med exim4, bruk denne informasjonen:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ Gaara sa

            Interessant, tusen takk 🙂

      2.    Israel sa

        Friend @ KZKG ^ Gaara Jeg har installert pakken, og jeg har laget manualen trinn for trinn, det eneste at når jeg sender den, har jeg lokal post, jeg kom aldri ut, kan du hjelpe meg med det ?? …… vel Jeg trenger virkelig ha dette temaet konfigurert på serverne mine, salu2s.

        1.    KZKG ^ Gaara sa

          Etter din IP antar jeg at du er fra mitt land 😉
          "Problemet" med nettverkene våre har sjelden ekte IP-er som sådan, det vil si at vi er subnett under et departementets proxy-nettverk, eller noe sånt. Med andre ord, muligens er problemet at webserveren alene ikke kan få en e-post fra nettverket eller noe sånt, kanskje du trenger dette: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   truko22 sa

    interessant, og hvis den plasseres i «/ etc / profile», vil den gi advarselen når noen brukere kobler seg til?

    1.    KZKG ^ Gaara sa

      Det ville være nødvendig å prøve, det hadde ikke falt meg inn 😀

  3.   Nebukadnesar sa

    Kall meg paranoid, men legg et skript som en fremmed foreslår meg i en viktig del av systemet mitt der jeg oppbevarer passord, data som fødselsattester, personlige dokumenter og arbeidsdokumenter (og dermed også eksponerer mine klienter) osv. innebærer også å utsette e-postkontoen min (!!!) ... vel, det er noe farlig, tror jeg.

    1.    meg selv sa

      Faren ved det presenterte skriptet er omvendt proporsjonal med forståelsen av det.

      Og for paranoia, stopp med å installere IKKE-GRATIS arkiver, da det er mulig at noen introduserer skadelig kode som stjeler handlekurven din.

    2.    KZKG ^ Gaara sa

      Jeg forklarte hva hver del av kommandolinjen gjør, men hvis du tror jeg lurer noen, skriptet eller kommandoene er der i innlegget, har det ingen skjult eller hemmelig kode, er du velkommen til å se gjennom kommandoene så grundig som du vil at går, hvis du finner noe mistenkelig, kan du kommentere det her here

  4.   browsons sa

    Det blir satt pris på.

  5.   dette navnet er falskt sa

    Veldig interessant.

    Kanskje ~ / .bashrc- eller / etc / profilfilene ikke er de mest egnede i tilfelle vi får tilgang til SSH med en vanlig bruker og utfører en bestemt kommando som root. Eller hvis vi eksporterer X11 fra den eksterne VPS-en vår, hver gang vi åpner en xterm, vil vi ha en ny e-post.

    For mailx-hackingen, tror jeg vi bør bruke filene ~ / .ssh / rc (individuelt for hver bruker) eller / etc / ssh / sshrc

    PostData: _NEVER_ tilgang av SSH som rotbruker. _NEVER_ tilgang med SSH ved hjelp av passord. _ALWAYS_ bruker private nøkler.

    1.    truko22 sa

      interessant → ~ / .ssh / rc Jeg vil finne mer informasjon om det takk 😀

  6.   chinoloco sa

    Hei, veldig god veileder!
    Kan du få en til å gå inn via ssh fra hvilken som helst ip, utenfor det lokale nettverket?
    Takk!!

  7.   vidagnu sa

    Dette skriptet fungerer hvis e-postserveren vi sender til ikke bekrefter at kildeposten kommer fra en autentisk server, i dette tilfellet vil det være fra root @ localhost, de fleste servere tar det som spam.

    Det jeg gjør er å konfigurere sendmail som en MTA, og deretter bruke e-posten som kommer i alle distribusjoner til å sende e-post.

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

  8.   Algave sa

    Takk for tipset, jeg får det til å teste det:]

  9.   Kuk sa

    veldig nyttig takk

  10.   Israel sa

    Takk en million for rådvenninnen @ KZKG ^ Gaara, jeg skal ta en titt på sendmail, jeg håper å løse, salu2s.

  11.   joskar sa

    Flott! Takk for innspillene!

  12.   Juan C sa

    Og hva skjer, hvis for eksempel skriptet sender for mange e-poster, for eksempel kommer noen inn i rotterminalen klokken 8:00 og sendte omtrent 40 e-poster, så kom noen inn på et annet tidspunkt, og mer enn 23 e-poster ble sendt, og så kommer noen inn på et annet tidspunkt og mer enn 150 e-poster ble sendt, hva kan det være?