मैं विफल SSH लॉग-इन प्रयासों का ट्रैक कैसे रखूँ?


134

मैं यह देखना चाहता हूं कि क्या कोई व्यक्ति SSH के ऊपर मेरे Ubuntu 12.04 सर्वर में जानवर-बल द्वारा लॉग-इन करने की कोशिश कर रहा है। अगर इस तरह की गतिविधियां हो रही हैं तो मैं कैसे देख सकता हूं?

जवाबों:


150

सभी लॉगिन प्रयास लॉग इन हैं /var/log/auth.log

1. जानवर बल इंटरैक्टिव एसएसएच लॉगिन के लिए फ़िल्टर

एक टर्मिनल खोलें, और नीचे टाइप करें; यदि यह 1 पृष्ठ से अधिक लंबा है तो आप ऊपर और नीचे स्क्रॉल कर पाएंगे; qबाहर निकलने का प्रकार :

grep sshd.\*Failed /var/log/auth.log | less
  • यहाँ मेरे VPS में से एक वास्तविक उदाहरण है:

    अगस्त १ Aug ११:०० izxvps sshd [5657]: 95.58.255.62 पोर्ट 38980 ssh2 से रूट के लिए विफल पासवर्ड
    अगस्त 18 23:08:26 izxvps sshd [5768]: 91.205.189.15 पोर्ट 38156 ssh2 से रूट के लिए विफल पासवर्ड
    अगस्त 18 23:08:30 izxvps sshd [5770]: 91.205.189.15 पोर्ट 38556 ssh2 से किसी के लिए भी विफल पासवर्ड
    अगस्त 18 23:08:34 izxvps sshd [5772]: 91.205.189.15 पोर्ट 38864 ssh2 से अमान्य उपयोगकर्ता तार के लिए विफल पासवर्ड
    अगस्त 18 23:08:38 izxvps sshd [5774]: 91.205.189.15 पोर्ट 39157 ssh2 से अमान्य उपयोगकर्ता sjobeck के लिए विफल पासवर्ड
    अगस्त 18 23:08:42 izxvps sshd [5776]: 91.205.189.15 पोर्ट 39467 ssh2 से रूट के लिए विफल पासवर्ड
    

2. असफल कनेक्शन की तलाश करें (यानी कोई लॉगिन प्रयास नहीं किया जा सकता है, एक पोर्ट स्कैनर हो सकता है, आदि):

इस कमांड का उपयोग करें:

grep sshd.*Did /var/log/auth.log | less
  • उदाहरण:

    अगस्त 5 22:19:10 izxvps sshd [7748]: 70.91.222.121 से पहचान स्ट्रिंग प्राप्त नहीं किया
    Aug 10 19:39:49 izxvps sshd [1919]: 50.57.168.154 से पहचान स्ट्रिंग प्राप्त नहीं किया
    Aug 13 23:08:04 izxvps sshd [3562]: 87.216.241.19 से पहचान स्ट्रिंग प्राप्त नहीं किया
    अगस्त 17 15:49:07 izxvps sshd [5350]: 211.22.67.238 से पहचान स्ट्रिंग प्राप्त नहीं किया
    अगस्त 19 06:28:43 izxvps sshd [5838]: 59.151.37.10 से पहचान स्ट्रिंग नहीं मिला
    

विफल / कम-बल प्रवेश प्रयासों को कैसे कम करें

  • अपने SSH को डिफ़ॉल्ट 22 से एक गैर-मानक पोर्ट पर स्विच करने का प्रयास करें
  • या fail2ban जैसे ऑटो प्रतिबंध स्क्रिप्ट स्थापित करें F2 को स्थापित करें

4
SSH पोर्ट को स्विच करने में आपको कितनी सुरक्षा मिलती है (क्या वे आपको वैसे भी स्कैन नहीं कर सकते जैसा कि आप उल्लेख करते हैं) और क्या यह वैध उपयोगकर्ताओं के लिए मामूली प्रयोज्य के लायक है?
निक टी

8
@NickT यह प्रवेश प्रयासों को कम करने के लिए पर्याप्त हो जाता है। जहां मुझे एक सप्ताह / दिन में हजारों प्रयास मिलेंगे, अभी तक मुझे पिछले महीने के लिए कोई भी काम नहीं मिला है, बस पोर्ट को स्विच करके।
एंटोनीज

2
मुझे लगता है कि पासवर्ड से लॉगिन को अस्वीकृत करना भी मदद कर सकता है।
ल्यूक एम

2
मुझे पता है कि यह उबंटू है, बस यह उल्लेख करना चाहता था कि कुछ सिस्टमों पर /var/log/secure
सेंटो की

कुछ सिस्टम लॉग को एक्सेस करते हैंsystemctl -eu sshd
alecdwm

72

मेरा तर्क है कि निगरानी लॉग एक कमजोर समाधान है, खासकर यदि आपके पास किसी खाते पर एक कमजोर पासवर्ड है। ब्रूट प्रयास अक्सर प्रति मिनट कम से कम सैकड़ों कुंजी का प्रयास करते हैं। यहां तक ​​कि अगर आपके पास क्रूर प्रयासों के लिए ईमेल करने के लिए एक क्रोन जॉब है, तो आपके सर्वर पर पहुंचने से कुछ घंटे पहले हो सकता है।

यदि आपके पास एक सार्वजनिक-सामना करने वाला एसएसएच सर्वर है, तो आपको एक समाधान की आवश्यकता होती है जो  आपके हैक होने से पहले लंबे समय तक चलती है।

मैं दृढ़ता से सिफारिश करूंगा fail2banउनकी विकी कहती है कि मैं इससे बेहतर क्या कर सकती हूं।

Fail2ban लॉग फ़ाइलों (जैसे /var/log/apache/error_log) और दुर्भावनापूर्ण संकेतों को दर्शाने वाले आईपी पर रोक लगाता है - बहुत सारे पासवर्ड विफलताओं, कारनामों की तलाश आदि। आम तौर पर Fail2Ban तब आईपी पते को निर्दिष्ट समय के लिए अस्वीकार करने के लिए फ़ायरवॉल नियमों को अपडेट करने के लिए उपयोग किया जाता है, हालांकि कोई भी मनमाने ढंग से अन्य कार्रवाई (जैसे ईमेल भेजना, या सीडी-रॉम ट्रे हटाना) को भी कॉन्फ़िगर किया जा सकता है। आउट ऑफ़ द बॉक्स Fail2Ban विभिन्न सेवाओं के लिए फ़िल्टर (Apache, curier, ssh, आदि) के साथ आता है।

इससे सुरक्षा पाना उतना ही सरल है जितना कि sudo apt-get install fail2ban

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


6
इसे प्रतिबंध क्यों कहा गया?
पचेरियर

9
@Pacerier कुछ सादृश्य के साथ, लॉगिन विफलता एक प्रतिबंध (2) की ओर जाता है।
सेबी

2
Bwahaha आपने मेरा दिन बना दिया @Pacerier मैंने इसे "प्रतिबंध लगाने में विफलता" के रूप में कभी नहीं सोचा था।
एडेल्रियोसेंटियागो

1
मुझे लगता है कि इसे "विशेष रूप से" पहले वाक्य से हटाने के लिए संपादित किया जाना चाहिए। यदि आपके पास एक कमजोर पासवर्ड है तो यह केवल एक समस्या है। मजबूत पासवर्ड को किसी भी परिस्थिति में मजबूर नहीं किया जा सकता है, और लोगों को प्रयास करने से रोकने का एकमात्र कारण सर्वर लोड को कम करना है।
अभि बेकर्ट

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