Terima pemberitahuan melalui email ketika seseorang mengakses sebagai root oleh SSH

Kita yang mengelola server harus menjaga kontrol seketat mungkin atas segala sesuatu yang terjadi di server, salah satu hal yang sering perlu kita ketahui adalah ketika pengguna terhubung melalui SSH (termasuk root), untuk ini dengan paket dan baris akan mencapai pemberitahuan email kami.

Dapatkah Anda membayangkan bahwa setiap kali seseorang terhubung melalui SSH dengan root, mereka mendapatkan email yang mengatakan?

Dengan kata lain, mereka akan menerima email yang berisi seperti ini:

[pelit] Peringatan: Akses Terminal Root pada: 2014/01/21 (200.55.51.151)

Itu adalah:

Peringatan [$ VPS_NAME]: Akses ke Terminal Root pada: $ DATE ($ IP_DE_WHO_S_CONNECT)

Untuk mencapai ini, mereka harus menginstal paket bernama mailx.

Dengan asumsi server Anda menggunakan Debian atau beberapa distro berdasarkan itu (saya hanya merekomendasikan Debian, bukan Ubuntu atau server serupa) itu akan menjadi:

apt-get install mailx

Catatan: Perintah sebelumnya dijalankan sebagai root langsung di server, karena ini adalah VPS, sudo tidak boleh digunakan kecuali sangat diperlukan.

Kemudian kita harus meletakkan baris berikut di root .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

Untuk mengedit /root/.bashrc gunakan beberapa editor terminal seperti nano:

nano /root/.bashrc

Ingatlah bahwa Anda harus mencantumkan email Anda di akhir baris, cukup ubah my@email.com ke email yang Anda inginkan untuk menerima pemberitahuan.

Setelah meletakkan (di mana saja di file) baris yang saya letakkan sebelumnya, kami menyimpan file dengan Ctrl + O (Atau beruang) dan kami meninggalkannya Ctrl + X

Siap, setiap kali seseorang memasuki terminal root, file .bashrc akan dimuat, yang merupakan sesuatu yang selalu dilakukan secara default, dan ketika file dimuat, baris yang mengirimkan email akan dieksekusi, meninggalkan sesuatu di kotak masuk kita. sebagai:

email-notification-ssh

Penjelasan dari baris tersebut adalah sesuatu yang sangat sederhana:

  1. Melalui mailx saya mengirim email, dengan parameter -s «_____» Saya menentukan subjeknya, dan saya meneruskannya dengan echo «____» dan pipa isi tubuh.
  2. `hostname` dengan ini saya mendapatkan nama host atau nama host, yaitu nama VPS.
  3. `date + '% Y /% m /% d'` perintah tanggal menunjukkan tanggal sistem, sisa huruf lainnya hanya menunjukkan bagaimana saya ingin tanggal ditampilkan.
  4. siapa | grep -v localhost` Jika Anda menjalankan siapa di komputer Anda, itu akan menunjukkan kepada Anda pengguna aktif, dengan grep -v localhost saya memastikan bahwa itu hanya menunjukkan mereka yang telah terhubung dari lokasi yang berbeda ke server itu sendiri, yaitu, pada dasarnya SSH
  5. `siapa | grep -v localhost | awk {'print $ 5'} `Yang membedakan baris ini dari yang sebelumnya adalah awk, melalui awk dan pencetakan kolom ke-5 adalah saya mendapatkan IP dari tempat mereka terhubung ke SSH

Bagaimanapun, garisnya agak panjang dan mungkin tampak rumit untuk dipahami, namun ada banyak karakter aneh tetapi semuanya cukup sederhana 🙂

Seperti biasa, saya harap Anda menganggapnya menarik.

salam


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   manuelperezf.dll dijo

    Sebuah pertanyaan, dengan server email mana itu dikirim? Apakah Anda harus mengkonfigurasi akun pengiriman?

    1.    KZKG ^ Gaara dijo

      Anda harus menginstal paket mailx 😉
      Setelah ini selesai, itu dikirim tanpa perlu mengkonfigurasi hal lain di server.

      1.    manuelperezf.dll dijo

        Saya akan mencobanya, tetapi saya pikir email saya tidak akan menerima email dari sumber yang tidak diautentikasi ...

        1.    diri dijo

          Saya menggunakan exim4 dengan akun 'gmail' untuk mengirim email dan berfungsi dengan baik
          - Kecuali untuk tajuk FROM TO dan REPLY TO, yang mana gmail menempatkan apa yang diinginkannya tetapi tajuk tersebut tiba dengan baik -.
          Untuk mengkonfigurasi gmail dengan exim4 gunakan info ini:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ Gaara dijo

            Menarik, terima kasih banyak 🙂

      2.    Israel dijo

        Teman @ KZKG ^ Gaara Saya telah menginstal paket dan saya telah membuat manual langkah demi langkah, satu-satunya hal yang ketika saya mengirimkannya saya memiliki surat lokal, saya tidak pernah keluar, dapatkah Anda membantu saya ?? …… baik Saya benar-benar perlu mengonfigurasi tema ini di server saya, salu2s.

        1.    KZKG ^ Gaara dijo

          Dengan IP Anda, saya berasumsi bahwa Anda berasal dari negara yang sama 😉
          "Masalah" dengan jaringan kami jarang memiliki IP nyata, yaitu, kami disubnet di bawah jaringan proxy kementerian, atau semacamnya. Dengan kata lain, mungkin masalahnya adalah server web saja tidak bisa mendapatkan email dari jaringan atau semacamnya, mungkin Anda memerlukan ini: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   truko22 dijo

    menarik dan jika ditempatkan di "/ etc / profile" apakah akan memberikan peringatan ketika ada pengguna yang terhubung?

    1.    KZKG ^ Gaara dijo

      Akan perlu untuk mencoba, itu tidak terpikir olehku 😀

  3.   Nebukadnezar dijo

    Panggil saya paranoid, tetapi letakkan skrip yang disarankan orang asing kepada saya di bagian penting dari sistem saya di mana saya menyimpan kata sandi akun, data seperti akta kelahiran, dokumen pribadi dan dokumen kerja (dengan demikian mengekspos klien saya juga) dll, dll, dan itu menyiratkan juga mengekspos akun email saya (!!!)… yah, itu sesuatu yang berbahaya, menurut saya.

    1.    diri dijo

      Bahaya naskah yang disajikan berbanding terbalik dengan pemahamannya.

      Dan untuk paranoia, hentikan pemasangan repositori NON-FREE, karena ada kemungkinan seseorang memasukkan kode berbahaya yang mencuri keranjang belanja Anda.

    2.    KZKG ^ Gaara dijo

      Saya menjelaskan apa yang dilakukan setiap bagian dari baris perintah, namun jika Anda pikir saya menipu seseorang, skrip atau perintah ada di sana di pos, tidak ada kode tersembunyi atau rahasia, Anda dipersilakan untuk meninjau perintah secara menyeluruh seperti yang Anda inginkan yang berjalan, jika Anda menemukan sesuatu yang mencurigakan, beri komentar di sini 😉

  4.   Penjelajah dijo

    Hal ini dihargai.

  5.   nama ini salah dijo

    Sangat menarik.

    Mungkin file ~ / .bashrc atau / etc / profile bukan yang paling cocok jika kita mengakses oleh SSH dengan pengguna biasa dan menjalankan perintah tertentu sebagai root. Atau jika kita mengekspor X11 dari VPS jarak jauh kita, setiap kali kita membuka xterm kita akan mendapatkan email baru.

    Untuk peretasan mailx, saya pikir kita harus menggunakan file ~ / .ssh / rc (individu untuk setiap pengguna) atau / etc / ssh / sshrc

    PostData: _NEVER_ diakses oleh SSH sebagai pengguna root. _NEVER_ akses oleh SSH menggunakan kata sandi. _ALWAYS_ menggunakan kunci pribadi.

    1.    truko22 dijo

      menarik → ~ / .ssh / rc Saya akan menemukan informasi lebih lanjut tentang itu terima kasih 😀

  6.   chinoloco dijo

    Halo, guru yang sangat baik!
    Bisakah Anda membuatnya masuk melalui ssh dari ip manapun, di luar jaringan lokal?
    terima kasih!

  7.   vidagnu dijo

    Skrip ini berfungsi jika server email yang kami kirim tidak memverifikasi bahwa email sumber berasal dari server asli, dalam hal ini berasal dari root @ localhost, sebagian besar server akan menganggapnya sebagai spam.

    Yang saya lakukan adalah mengkonfigurasi sendmail sebagai MTA, dan kemudian menggunakan email yang ada di semua distro untuk mengirim email.

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

  8.   ganggang dijo

    Terima kasih atas tip yang akan saya berikan untuk mengujinya:]

  9.   panggul dijo

    terima kasih berguna

  10.   Israel dijo

    Terimakasih sejuta atas nasehatnya sobat @ KZKG ^ Gaara, saya akan melihat-lihat sendmail semoga bisa menyelesaikannya salu2s.

  11.   joskar dijo

    Bagus! Terima kasih atas masukannya!

  12.   Juan C dijo

    Dan yang terjadi, jika misalnya skrip mengirim terlalu banyak email, misalnya seseorang memasuki terminal root pada jam 8:00 pagi dan mengirim sekitar 40 email, kemudian seseorang masuk di lain waktu dan lebih dari 23 email dikirim dan kemudian seseorang datang di lain waktu dan lebih dari 150 email dikirim, apakah itu?