Birisi SSH ile root olarak eriştiğinde e-posta ile bildirim alın

Sunucuları yönetenlerimiz, sunucuda meydana gelen her şey üzerinde mümkün olan en katı kontrolü ellerinde tutmalıyız, genellikle bilmemiz gereken şeylerden biri, bir kullanıcının SSH (kök dahil) aracılığıyla bunun için bir paket ve bir hat ile bağlandığı zamandır. e-posta bildirimlerimize ulaşacaktı.

Birinin SSH üzerinden root ile her bağlandığında, yazan bir e-posta aldığını hayal edebiliyor musunuz?

Başka bir deyişle, şöyle bir şey söyleyen bir e-posta alacaklardı:

[miserver] Uyarı: Kök Terminal erişimi: 2014/01/21 (200.55.51.151)

Yani:

[$ NOMBRE_VPS] Uyarı: Kök Terminale Erişim: $ DATE ($ IP_DE_WHO_S_CONNECT)

Bunu başarmak için önce adı verilen bir paketi kurmaları gerekir. mailx.

Sunucunuzun Debian veya ona dayalı bir dağıtım kullandığını varsayarsak (sunucular için Ubuntu veya benzerini değil, yalnızca Debian'ı öneririm):

apt-get install mailx

Not: Önceki komut, bir VPS olduğu için doğrudan sunucuda root olarak yürütülür, sudo kesinlikle gerekli olmadıkça kullanılmamalıdır.

Daha sonra .bashrc köküne aşağıdaki satırı koymalıyız:

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

/Root/.bashrc dosyasını düzenlemek için nano gibi bazı terminal düzenleyicilerini kullanın:

nano /root/.bashrc

E-postanızı satırın sonunda belirtmeniz gerektiğini unutmayın, sadece my@email.com'u bildirimlerin ulaşmasını istediğiniz e-postayla değiştirin

Daha önce koyduğum satırı (dosyanın herhangi bir yerine) koyduktan sonra, dosyayı Ctrl + O (Veya ayı) ve biz onu bıraktık Ctrl + X

Hazır, birisi kök terminale her girdiğinde, .bashrc dosyası yüklenecek, bu her zaman varsayılan olarak yapılır ve dosya yüklendiğinde, e-postayı gönderen satır çalıştırılacak ve gelen kutumuzda bir şeyler bırakılacaktır. . as:

e-posta bildirimi ssh

Çizginin açıklaması gerçekten basit bir şey:

  1. Mailx aracılığıyla postayı -s «_____» parametresiyle gönderiyorum ve konuyu eko «____» ile iletiyorum ve gövde içeriğini bir boru ile iletiyorum.
  2. `hostname` bununla birlikte hostname veya hostname yani VPS'nin ismini alıyorum.
  3. `tarih + '% Y /% m /% d'` tarih komutu bana sistem tarihini gösterir, geri kalan harfler sadece tarihin nasıl görüntülenmesini istediğimi gösterir.
  4. kim | grep -v localhost` Bilgisayarınızda kimi çalıştırırsanız, size aktif kullanıcıları gösterir, bir grep -v localhost ile yalnızca sunucunun kendisine farklı bir yerden bağlananları gösterdiğinden emin olurum, yani temelde SSH
  5. `kim | grep -v localhost | awk {'print $ 5'} `` Bu satırı öncekinden ayıran şey awk, awk ve 5. sütunun basılması, IP'yi SSH'ye bağlandıkları yerden almam.

Her neyse, çizgi biraz uzun ve anlaşılması karmaşık görünebilir, ancak birçok garip karakter var ama her şey oldukça basit 🙂

Her zaman olduğu gibi, umarım ilginizi çekmiştir.

selamlar


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   manuelperez dijo

    Bir soru, hangi posta sunucusuyla gönderiliyor? Bir gönderi hesabı yapılandırmanız gerekiyor mu?

    1.    KZKG ^ Gaara dijo

      Mailx paketinin kurulu olması gerekir 😉
      Bu yapıldıktan sonra, sunucudaki herhangi bir şeyi yapılandırmaya gerek kalmadan gönderilir.

      1.    manuelperez dijo

        Deneyeceğim, ancak e-postamın kimliği doğrulanmamış bir kaynaktan e-posta almayı kabul etmeyeceğini düşünüyorum ...

        1.    kendim dijo

          E-posta göndermek için bir 'gmail' hesabıyla exim4 kullanıyorum ve sorunsuz çalışıyor
          - FROM TO ve REPLY TO başlıkları dışında, gmail istediğini koyar, ancak iyi gelir -.
          Gmail'i exim4 ile yapılandırmak için şu bilgiyi kullanın:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ Gaara dijo

            İlginç, çok teşekkür ederim 🙂

      2.    Israil dijo

        Friend @ KZKG ^ Gaara Paketi kurdum ve kılavuzu adım adım hazırladım, gönderirken yerel postayı aldığım tek şey, asla dışarı çıkmadım, bana yardım edebilir misin ?? …… peki Bu temanın sunucularımda, salu2s'de yapılandırılmasına gerçekten ihtiyacım var.

        1.    KZKG ^ Gaara dijo

          IP adresinize göre aynı ülkeden olduğunuzu varsayıyorum 😉
          Ağlarımızdaki "sorun" nadiren gerçek IP'lere sahiptir, yani bir bakanlık vekil ağının altında alt ağlara bağlıyız veya buna benzer bir şey. Başka bir deyişle, muhtemelen sorun, web sunucusunun tek başına ağdan veya buna benzer bir e-posta alamamasıdır, belki buna ihtiyacınız vardır: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   Truko22 dijo

    ilginç ve eğer «/ etc / profile» yerleştirilirse herhangi bir kullanıcı bağlandığında uyarı verir mi?

    1.    KZKG ^ Gaara dijo

      Denemek gerekirdi, aklıma gelmemişti 😀

  3.   Nebuchadnezzar dijo

    Bana paranoyak deyin, ancak hesap şifrelerini, doğum belgeleri gibi verileri, kişisel belgeleri ve çalışma belgelerini (böylece müşterilerimi de açığa çıkaran) vb. Sakladığım sistemimin önemli bir bölümünde bir yabancının önerdiği bir komut dosyası koyun ve e-posta hesabımı (!!!) ifşa ettiğimi de ima ediyor… bu tehlikeli bir şey, bence.

    1.    kendim dijo

      Sunulan metnin tehlikesi, onu anlamakla ters orantılıdır.

      Ve paranoya için, ÜCRETSİZ OLMAYAN depolar yüklemeyi bırakın, çünkü birileri alışveriş sepetinizi çalan kötü amaçlı kodlar sunabilir.

    2.    KZKG ^ Gaara dijo

      Komut satırının her bir kısmının ne yaptığını açıkladım, ancak eğer birini aldattığımı düşünüyorsanız, komut dosyası veya komutlar tam oradaysa, herhangi bir gizli veya gizli kodu yok, komutları tamamen gözden geçirebilirsiniz. Çalışmasını istediğiniz gibi, şüpheli bir şey bulursanız lütfen buraya yorum yapın 😉

  4.   Kaşlar dijo

    Takdir edildi.

  5.   bu isim yanlış dijo

    Çok ilginç.

    SSH ile normal bir kullanıcı ile erişmemiz ve root olarak belirli bir komutu yürütmemiz durumunda ~ / .bashrc veya / etc / profile dosyaları en uygun dosyalar olmayabilir. Veya X11'i uzaktaki VPS'mizden dışa aktarırsak, her xterm'i açtığımızda yeni bir e-postaya sahip oluruz.

    Mailx hack için ~ / .ssh / rc (her kullanıcı için ayrı) veya / etc / ssh / sshrc dosyalarını kullanmamız gerektiğini düşünüyorum.

    PostData: SSH tarafından kök kullanıcı olarak _NEVER_ erişim. _NEVER_ şifre kullanarak SSH ile erişim. _ALWAYS_ özel anahtarlar kullanır.

    1.    Truko22 dijo

      ilginç → ~ / .ssh / rc Bununla ilgili daha fazla bilgi bulacağım teşekkürler 😀

  6.   Chinoloco dijo

    Merhaba, çok iyi öğretmen!
    Yerel ağın dışındaki herhangi bir ipten ssh yoluyla girebilir misiniz?
    gracias !!

  7.   Vidagnu dijo

    Bu komut dosyası, gönderdiğimiz posta sunucusu, kaynak postanın gerçek bir sunucudan geldiğini doğrulamazsa çalışır; bu durumda, root @ localhost'tan olacaktır, çoğu sunucu bunu spam olarak kabul edecektir.

    Yaptığım şey sendmail'i bir MTA olarak yapılandırmak ve ardından e-posta göndermek için tüm dağıtımlarda gelen postayı kullanmak.

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

  8.   yosun dijo

    Test etmek için alacağım ipucu için teşekkürler:]

  9.   pişirmek dijo

    çok faydalı teşekkürler

  10.   Israil dijo

    Arkadaş @ KZKG ^ Gaara tavsiyesi için bir milyon teşekkürler, sendmail'e bir göz atacağım, çözmeyi umuyorum, salu2s.

  11.   joskar dijo

    Harika! Giriş için teşekkürler!

  12.   Juan C dijo

    Ve ne olur, örneğin komut dosyası çok fazla e-posta gönderiyorsa, örneğin birisi kök terminale sabah 8: 00'de girip yaklaşık 40 e-posta gönderirse, o zaman birisi başka bir zamanda girdi ve 23'ten fazla e-posta gönderildi ve sonra birisi geliyor başka bir zamanda ve 150'den fazla e-posta gönderilmişse, bu ne olabilir?