रूट में लॉग इन करने वाले का IP पता कैसे निर्धारित करें?


15

एक विशेष वीएम I के प्रभारी के रूट एक्सेस वाले कई लोग हैं। मैं यह पता लगाना चाहूंगा कि रूट में लॉग करने के लिए किस आईपी पते का उपयोग किया गया था।


1
आप यह देखने के लिए लॉग का उपयोग कर सकते हैं कि पहले क्या कमांड किया गया था: sudo less /root/.bash_historyमैं अभी भी इस पर शोध करने की कोशिश कर रहा हूं, एक बहुत अच्छा सवाल लगता है :)
ryekayo


6
यदि कोई व्यक्ति रूट के रूप में लॉग इन करता है, तो वे बहुत अधिक कर सकते हैं जो भी वे किसी भी लॉग को निकालना चाहते हैं, जिसकी उन्हें जरूरत है ...
कॉमिंटर

4
एक साइड नोट के रूप में, आपको रूट डायरेक्ट लॉग इन को अस्वीकार करना चाहिए। यह एक बड़ा सुरक्षा मुद्दा है।
फेडोरक्वि

जवाबों:


15

lastयह जानकारी प्राप्त करने के लिए आप कमांड का उपयोग कर सकते हैं

# last|head
phemmer  ssh          192.168.0.24     Wed Aug 20 21:08 - 21:08  (00:00)
phemmer  pts/13       192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          192.168.0.2      Wed Aug 20 14:00 - 18:43  (04:43)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:08 - 23:08  (00:00)
phemmer  ssh          ::1              Wed Aug 13 23:07 - 23:07  (00:00)
phemmer  pts/15       192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  ssh          192.168.0.20     Thu Aug  7 19:00 - 19:00  (00:00)
phemmer  :0                            Wed Jul 30 20:06   still logged in
reboot   system boot  3.13.2-gentoo    Wed Jul 30 20:05   still running

जैसा कि आप कोई संदेह नहीं देख सकते हैं, तीसरा कॉलम एसएसएच लॉगिन की स्थिति में दूरस्थ आईपी पते को दिखाएगा।

last/var/log/wtmpफ़ाइल का उपयोग करता है , इसलिए यह विधि G-Man के उत्तर के समान है (बस थोड़ा सरल है क्योंकि आपको फ़ाइल का पथ निर्दिष्ट नहीं करना है)।


14

यह आपके वितरण या OS पर निर्भर करता है। sshdप्रत्येक लॉगिन को कहीं लॉग करेगा, और लॉगिन में संबंधित आईपी पते को इस तरह से प्रारूप में शामिल करेगा:

Aug 20 15:56:53 machine sshd[2728]: Accepted publickey for root from 192.168.1.2 port 49297

वह हिस्सा सुसंगत है, लेकिन आप वहां कैसे पहुंच सकते हैं, यह अलग-अलग हो सकता है। सिस्टम के आधार पर systemd, उपयोग journalctl:

journalctl /usr/bin/sshd

sshdनिष्पादन योग्य से सभी लॉग संदेशों को सूचीबद्ध करने के लिए । आप रूट लॉगिन या अन्य मानदंडों के लिए इसे बाहर निकाल सकते हैं, और इसे तारीख तक सीमित कर सकते हैं --sinceऔर --until(देखें man journalctl)।

वैकल्पिक रूप से और ऐतिहासिक रूप से, संदेश कहीं (आमतौर पर) में लॉग इन किया जाएगा /var/log। आम तौर पर sshdसंदेश जाते हैं /var/log/auth.log, लेकिन सटीक फ़ाइल काफी हद तक भिन्न हो सकती है। चाहे वह कोई भी हो:

grep sshd /var/log/auth.log

आपको मोटे तौर पर journalctlसंस्करण के बराबर आउटपुट देगा ।



7

यदि आप रूट के रूप में लॉग इन करना चाहते हैं, तो आपको लोगों को sshसीधे रूट (रूट पासवर्ड या एक प्रमाणपत्र का उपयोग करके) में लॉग इन करके उपयोग करने की अनुमति नहीं देनी चाहिए /root/.ssh/authorized_keys। इसके बजाय, प्रत्येक व्यक्ति के लिए एक खाते का उपयोग करें और उन्हें sudoरूट अनुमतियाँ प्राप्त करने के लिए उपयोग करने दें । इस तरह आप उपयुक्त लॉग में पाएंगे (लॉग फ़ाइल की स्थिति इस बात पर निर्भर करती है कि आपके पास कौन सा वितरण है, आप संदेश को किसी अन्य मशीन पर भेजने के लिए लॉग डेमॉन को भी कॉन्फ़िगर कर सकते हैं) संदेश user john ran the command 'sudo rm -rf /'। ठीक है, हो सकता है कि आपको लॉग में एक कमांड हालांकि आसानी से न मिले।


2
सबसे पहले, यह सवाल का जवाब नहीं है। दूसरा, आपके पास सिस्टम को बचाने के लिए हमेशा एक तरीका होना चाहिए। जब आप LDAP प्रमाणीकरण का उपयोग कर रहे होते हैं, और आपका LDAP सर्वर मर जाता है तो क्या होता है? आप बॉक्स में लॉग इन कैसे करेंगे?
पैट्रिक

4
@Patrick सबसे पहले, यह सवाल "एक विशेष वीएम के रूट एक्सेस वाले कई लोग हैं" के साथ शुरू होता है, इसलिए यह सुझाव देने के लिए समझ में आता है कि सही दृष्टिकोण आईपी ऑडिट नहीं कर रहा है, बल्कि उपयोगकर्ताओं का ऑडिट कर रहा है। दूसरा, आपके द्वारा जारी किया गया मुद्दा असंबंधित है: यदि कोई व्यक्ति LDAP की आपात स्थिति में मशीन का उपयोग करने वाला है, तो वह काम नहीं करता है, उसका अपना स्थानीय खाता होना चाहिए, और यदि उसे प्रशासन से काम करना चाहिए तो ऐसी आपात स्थिति में स्थानीय खाता होना चाहिए। sudoशक्ति। दो लोगों के बीच खाता साझा करने का कोई वास्तविक कारण नहीं है, लेकिन जरूरत पड़ने पर एक व्यक्ति के पास दो खाते हो सकते हैं।
pqnet

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

@ पैट्रिक जो भी हो। आप अपने खुद के सर्वर का प्रबंधन करते हैं, मैं मेरा प्रबंधन करता हूं। आपने अपनी बात रखी, लोग आपकी टिप्पणी को पढ़ेंगे और निर्णय लेंगे।
pqnet

1
@ पैट्रिक में क्या सुधार हुआ? अलग-अलग लोगों के लिए अलग-अलग उपयोगकर्ता खाते होने से निश्चित रूप से कई लोगों के एकल rootखाते को साझा करने में सुधार होता है ।
jw013

0

आपके द्वारा प्रदान किए गए संक्षिप्त विवरण से ऐसा लगता है कि यदि आप लॉग मॉनिटरिंग सिस्टम सेट करते हैं तो यह बेहतर होगा। यह आपको लॉगिन की निगरानी करने, अलर्ट बनाने, कई दिनों के डेटा की तुलना करने और हां-सभी के लिए निश्चित रूप से ग्राफ़ की मदद करने में मदद करेगा।

लेकिन अगर आपको इसे अस्थायी रूप से मॉनिटर करने की आवश्यकता है , तो आप lastकमांड का उपयोग कर सकते हैं ।

last | grep root | grep -v tty | awk '{print $3}'

यह आपको सूची देगा IPsया Hostnamesकहां से, रूट उपयोगकर्ता ने लॉग-इन किया है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.