जब कोई SSH द्वारा रूट के रूप में एक्सेस करता है, तो ईमेल द्वारा सूचना प्राप्त करें

हम में से जो सर्वर का प्रबंधन करते हैं, उन्हें सर्वर पर होने वाली हर चीज पर सबसे अधिक संभव नियंत्रण रखना चाहिए, उनमें से एक चीज जो हमें अक्सर जानने की जरूरत होती है, जब एक उपयोगकर्ता SSH (रूट शामिल) के माध्यम से जोड़ता है, इसके लिए पैकेज और एक पंक्ति के साथ। हमारे ईमेल सूचना तक पहुँच जाएगा।

क्या आप सोच सकते हैं कि हर बार जब कोई एसएसएच से जुड़ता है, तो उसे एक ईमेल मिलता है जो कहता है?

दूसरे शब्दों में, उन्हें एक ईमेल प्राप्त होगा जो कुछ इस तरह कहेगा:

[कंजूस] चेतावनी: रूट टर्मिनल एक्सेस पर: 2014/01/21 (200.55.51.151)

अर्थात्:

[$ NOMBRE_VPS] चेतावनी: रूट टर्मिनल तक पहुँच: $ DATE ($ IP_DE_WHO_S_CONNECT)

इसे प्राप्त करने के लिए उन्हें पहले एक पैकेज स्थापित करना होगा जिसे कहा जाता है mailx.

मान लिया जाए कि आपका सर्वर डेबियन या इसके आधार पर कुछ डिस्ट्रो का उपयोग करता है (मैं केवल डेबियन की सलाह देता हूं, न कि उबंटू या सर्वर के समान):

apt-get install mailx

ध्यान दें: पिछले कमांड को सर्वर पर सीधे रूट के रूप में निष्पादित किया जाता है, क्योंकि यह एक VPS है, sudo का उपयोग तब तक नहीं किया जाना चाहिए जब तक कि यह कड़ाई से आवश्यक न हो।

तो हमें निम्नलिखित लाइन को रूट में रखना होगा।

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 को संपादित करने के लिए टर्मिनल जैसे नैनो में कुछ संपादक का उपयोग करें:

nano /root/.bashrc

याद रखें कि आपको अपना ईमेल लाइन के अंत में निर्दिष्ट करना होगा, बस my@email.com को उस ईमेल में बदल दें, जिस पर आप सूचनाएं पहुंचना चाहते हैं

डालने के बाद (फ़ाइल में कहीं भी) जो लाइन मैंने पहले डाली थी, हम फ़ाइल को उसके साथ सहेजते हैं कंट्रोल + O (या भालू) और हमने इसे छोड़ दिया कंट्रोल + X

तैयार है, हर बार जब कोई रूट टर्मिनल में प्रवेश करता है।। जैसा:

ईमेल-सूचना-ssh

लाइन की व्याख्या कुछ सरल है:

  1. Mailx के माध्यम से मैं मेल भेजता हूँ, पैरामीटर -s के साथ «_____» मैं विषय निर्दिष्ट करता हूं, और मैं इसे गूंज «____» और शरीर की एक पाइप के साथ पास करता हूं।
  2. `hostname` इसके साथ मुझे hostname या hostname मिलता है, यानी VPS का नाम।
  3. `दिनांक + '% Y /% m /% d'` दिनांक आदेश मुझे सिस्टम दिनांक दिखाता है, शेष अक्षर केवल यह दर्शाते हैं कि मैं कैसे दिनांक प्रदर्शित करना चाहता हूं।
  4. कौन | grep -v localhost` यदि आप अपने कंप्यूटर पर चलाते हैं, तो यह आपको सक्रिय उपयोगकर्ता दिखाएगा, एक grep -v लोकलहोस्ट के साथ मैं यह सुनिश्चित करता हूं कि यह केवल उन लोगों को दिखाता है जो एक अलग स्थान से सर्वर से ही जुड़े हैं, अर्थात्, मूल रूप से एसएसएच
  5. `कौन | grep -v लोकलहोस्ट | awk {'प्रिंट $ 5'} `पिछले एक से इस लाइन को क्या अलग करता है, awk के माध्यम से और 5 वें कॉलम की प्रिंटिंग है कि मुझे वह IP मिलती है जहां से वे SSH से जुड़े हैं

वैसे भी, रेखा कुछ लंबी है और समझने में जटिल लग सकती है, हालांकि कई अजीब चरित्र हैं लेकिन सब कुछ काफी सरल है somewhat

हमेशा की तरह, मुझे उम्मीद है कि आपको यह दिलचस्प लगा होगा।

सादर


22 टिप्पणियाँ, तुम्हारा छोड़ दो

अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।

  1.   Manuelperezf कहा

    एक प्रश्न, यह किस मेल सर्वर के साथ भेजा जाता है? क्या आपको शिपिंग खाता कॉन्फ़िगर करना है?

    1.    KZKG ^ गारा कहा

      आपके पास मेल पैकेज स्थापित होना चाहिए x
      एक बार ऐसा करने के बाद, इसे सर्वर पर कुछ और कॉन्फ़िगर करने की आवश्यकता के बिना भेजा जाता है।

      1.    Manuelperezf कहा

        मैं इसे आज़माऊंगा, लेकिन मुझे लगता है कि मेरा ईमेल किसी अप्रमाणित स्रोत से ईमेल प्राप्त करना स्वीकार नहीं करेगा ...

        1.    yomismo कहा

          मैं ईमेल भेजने के लिए 'gmail' खाते के साथ exim4 का उपयोग करता हूं और यह ठीक काम करता है
          - FROM TO और REPLY TO शीर्षकों को छोड़कर, जो जीमेल डालता है, जो वह चाहता है, लेकिन वे अच्छी तरह से आते हैं -।
          Exim4 के साथ जीमेल कॉन्फ़िगर करने के लिए इस जानकारी का उपयोग करें:
          http://dajul.com/2009/06/08/configurar-exim4-con-gmail-o-google-apps/

          1.    KZKG ^ गारा कहा

            दिलचस्प है, बहुत बहुत धन्यवाद much

      2.    इजराइल कहा

        मित्र @ KZKG ^ Gaara मैंने पैकेज स्थापित किया है और मैंने मैन्युअल स्टेप बाय स्टेप बनाया है, केवल एक चीज है कि जब मैं इसे भेजता हूं तो मेरे पास स्थानीय मेल होता है, मैं कभी बाहर नहीं निकला, क्या आप मेरी मदद कर सकते हैं ?? ... अच्छी तरह से? मुझे वास्तव में इस विषय को अपने सर्वर, salu2s पर कॉन्फ़िगर करना होगा।

        1.    KZKG ^ गारा कहा

          आपके आईपी द्वारा मैं मान लेता हूं कि आप मेरे देश से हैं that
          हमारे नेटवर्क के साथ "समस्या" में शायद ही कभी वास्तविक आईपी होते हैं जैसे कि, हम एक मंत्रालय प्रॉक्सी नेटवर्क के तहत सबनेटेड हैं, या उसके बाद कुछ। दूसरे शब्दों में, संभवतः समस्या यह है कि वेब सर्वर को नेटवर्क से ईमेल या ऐसा कुछ नहीं मिल सकता है, शायद आपको इसकी आवश्यकता है: https://blog.desdelinux.net/enviar-emails-por-consola-con-sendmail/

  2.   ट्रूको२२ कहा

    दिलचस्प है और अगर इसे «/ etc / प्रोफाइल» में रखा जाता है तो क्या यह चेतावनी तब देगा जब कोई उपयोगकर्ता कनेक्ट होता है?

    1.    KZKG ^ गारा कहा

      यह कोशिश करना आवश्यक होगा, यह मेरे लिए नहीं हुआ था try

  3.   नबूकदनेस्सर कहा

    मुझे पागल मत कहो, लेकिन एक स्क्रिप्ट रखो कि एक अजनबी मुझे अपने सिस्टम के एक महत्वपूर्ण हिस्से में सुझाव देता है जहां मैं खाता पासवर्ड, जन्म प्रमाण पत्र, व्यक्तिगत दस्तावेज और काम के दस्तावेज (जैसे मेरे ग्राहकों को भी उजागर करना) आदि, और वह भी रखता हूं मेरा मतलब है कि मेरा ईमेल खाता (!!!) ... अच्छी तरह से, यह कुछ खतरनाक है, मुझे लगता है।

    1.    yomismo कहा

      प्रस्तुत स्क्रिप्ट का खतरा इसके बारे में समझने के लिए आनुपातिक है।

      और व्यामोह के लिए, एनओएन-फ्री रिपॉजिटरी स्थापित करना बंद करें, क्योंकि यह संभव है कि कोई व्यक्ति एक दुर्भावनापूर्ण कोड दर्ज करता है जो आपकी खरीदारी की टोकरी चुराता है।

    2.    KZKG ^ गारा कहा

      मैंने समझाया कि कमांड लाइन का प्रत्येक भाग क्या करता है, हालांकि अगर आपको लगता है कि मैं किसी को धोखा दे रहा हूं, तो स्क्रिप्ट या कमांड पोस्ट में वहीं हैं, इसमें कोई छिपा हुआ या गुप्त कोड नहीं है, आप कमांड का पूरी तरह से समीक्षा करने के लिए स्वागत करते हैं। जैसा कि आप चाहते हैं कि रन, अगर आपको कुछ संदिग्ध लगता है तो कृपया इसे यहीं टिप्पणी करें,

  4.   ब्राउजंस कहा

    सराहना की है.

  5.   यह नाम कहा

    बहुत ही रोचक।

    शायद ~ / .bashrc या / etc / प्रोफाइल फाइलें उस घटना में सबसे उपयुक्त नहीं हैं जिसे हम सामान्य उपयोगकर्ता के साथ SSH द्वारा एक्सेस करते हैं और रूट के रूप में एक विशिष्ट कमांड निष्पादित करते हैं। या यदि हम अपने दूरस्थ VPS से X11 निर्यात करते हैं, तो हर बार जब हम एक xterm खोलते हैं तो हमारे पास एक नया ईमेल होगा।

    मेल हैक के लिए, मुझे लगता है कि हमें ~ / .sh / rc (प्रत्येक उपयोगकर्ता के लिए व्यक्तिगत) या / etc / ssh / sshrc फ़ाइलों का उपयोग करना चाहिए

    PostData: रूट उपयोगकर्ता के रूप में SSH के माध्यम से _NEVER_ का उपयोग। पासवर्ड का उपयोग करके SSH द्वारा _NEVER_ का उपयोग। _ALWAYS_ निजी कुंजियों का उपयोग करें।

    1.    ट्रूको२२ कहा

      दिलचस्प → ~ / .ssh / rc मुझे इसके बारे में अधिक जानकारी मिलेगी धन्यवाद /

  6.   चिनोलोको कहा

    हैलो, बहुत अच्छा ट्यूटर!
    क्या आप स्थानीय नेटवर्क के बाहर किसी भी आईपी से ssh के माध्यम से प्रवेश कर सकते हैं?
    धन्यवाद!

  7.   Vidagnu कहा

    यह स्क्रिप्ट काम करती है यदि हम जो मेल सर्वर भेजते हैं वह यह सत्यापित नहीं करता है कि स्रोत मेल एक प्रामाणिक सर्वर से आता है, इस मामले में यह रूट @ लोकलहोस्ट से होगा, अधिकांश सर्वर इसे स्पैम के रूप में लेंगे।

    मैं क्या करता हूँ Sendmail को MTA के रूप में कॉन्फ़िगर किया जाता है, और फिर उस मेल का उपयोग करें जो ईमेल भेजने के लिए सभी विकृतियों में आता है।

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

  8.   अल्गाबे कहा

    टिप के लिए धन्यवाद मैं इसे परीक्षण करने के लिए इसमें होगा:]

  9.   Kuk कहा

    उपयोगी धन्यवाद

  10.   इजराइल कहा

    सलाह मित्र @ KZKG ^ Gaara के लिए एक लाख धन्यवाद, मैं Sendmail पर एक नज़र डालने जा रहा हूं, मुझे हल करने की उम्मीद है, salu2s।

  11.   जोस्कर कहा

    महान! इनपुट के लिए धन्यवाद!

  12.   जुआन सी कहा

    और क्या होता है, उदाहरण के लिए यदि स्क्रिप्ट बहुत सारे ईमेल भेज रही है, उदाहरण के लिए कोई व्यक्ति सुबह 8:00 बजे रूट टर्मिनल में प्रवेश करता है और लगभग 40 ईमेल भेजे जाते हैं, तो कोई अन्य समय में प्रवेश करता है और 23 से अधिक ईमेल भेजे जाते हैं और फिर कोई आता है एक और समय में और 150 से अधिक ईमेल भेजे गए, यह क्या हो सकता है?