यदि मेरा लिनक्स बॉक्स घुसपैठ किया गया है, तो मैं कैसे निर्धारित करूं?


11

मैंने हाल ही में दुर्भावनापूर्ण SSH लॉगिन प्रयासों का विश्लेषण करने के बारे में एक लेख पढ़ा । यह मुझे सोच रहा था, क्या मेरे डेबियन बॉक्स पर SSH उपयोगकर्ता नाम, पासवर्ड संयोजन असामान्य हैं? क्या मुझे एक क्रूर बल शब्दकोश हमले से लक्षित किया गया था? आइए एक नजर डालते हैं /var/log/auth.log.0 पर :

Sep 23 07:42:04 SLUG sshd[8303]: Invalid user tyjuan from 210.168.200.190
Sep 23 07:42:09 SLUG sshd[8305]: Invalid user tykeedra from 210.168.200.190
Sep 23 07:42:14 SLUG sshd[8307]: Invalid user tykeem from 210.168.200.190
Sep 23 07:42:19 SLUG sshd[8309]: Invalid user tykeshia from 210.168.200.190
Sep 23 07:42:25 SLUG sshd[8311]: Invalid user tyla from 210.168.200.190
Sep 23 07:42:30 SLUG sshd[8313]: Invalid user tylan from 210.168.200.190
Sep 23 07:42:35 SLUG sshd[8315]: Invalid user tylar from 210.168.200.190
Sep 23 07:42:40 SLUG sshd[8317]: Invalid user tyler from 210.168.200.190
Sep 23 07:42:45 SLUG sshd[8319]: Invalid user tylerfrank from 210.168.200.190
Sep 23 07:42:50 SLUG sshd[8321]: Invalid user tyliah from 210.168.200.190
Sep 23 07:42:55 SLUG sshd[8323]: Invalid user tylor from 210.168.200.190

ताकि अच्छा न लगे। अब जब मुझे पता है कि मुझे एक हमले से निशाना बनाया गया है और मेरे कुछ उपयोगकर्ता नाम, पासवर्ड संयोजन कमजोर हैं, तो मैं जानना चाहूंगा कि मैं कैसे कर सकता हूं ...

  • ... निर्धारित करें कि क्या मेरे लिनक्स बॉक्स में घुसपैठ हुई है?
  • ... अपराधियों द्वारा छोड़े गए नुकसान के किसी भी?
  • ... भविष्य में ऐसा होने से रोकें?

अपडेट करें

अपराधियों द्वारा छोड़े गए नुकसान के बारे में कोई सलाह ?


उस लॉग का सुझाव नहीं है कि आपको समझौता किया गया है। क्या आपके पास इससे आगे की जानकारी है जो आपको चिंतित करती है?

जवाबों:


15

बहुत से लोग DenyHosts का सुझाव देते हैं, लेकिन मैंने अपने सिस्टम पर Fail2Ban के साथ बहुत सफलता देखी है । यह विफलताओं की एक (कॉन्फ़िगर करने योग्य) संख्या के लिए देखता है, और फिर एक कार्रवाई करता है - मेरे सर्वर पर, यह क्रिया होस्ट से सभी ट्रैफ़िक को छोड़ने के लिए iptables का उपयोग करने के लिए है। 10 लॉगिन विफलताओं के बाद, वे प्रतिबंधित हो जाते हैं और यही इसका अंत है।

मैं Logcheck के साथ संयोजन में इसका उपयोग करता हूं, ताकि मुझे हमेशा पता चले कि मेरे सर्वर पर क्या हो रहा है।

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


1
मैं logcheck और fail2ban का भी उपयोग करता हूं। बहुत अच्छा संयोजन।

मैं विफल 2ban का दूसरा उपयोग करता हूं।
मलफिस्ट

मैंने den2hosts से fail2ban पर भी स्विच किया क्योंकि fail2ban अधिक सेवाओं (मेल, वेब, ftp, ...) पर नज़र रखता है और अधिक विन्यास योग्य है
Jure1873

10

मान्य लॉगिन प्रयास के रूप में अच्छी तरह से लॉग इन कर रहे हैं, इसलिए यदि आप एक सफलता के बाद एक क्रूर बल प्रयास देखते हैं, तो यह एक अच्छा संकेत है जो कुछ बुरा हुआ है।

मैं संदिग्ध SSH ट्रैफ़िक के लिए अपने लॉग की निगरानी करने के लिए DenyHosts का उपयोग करता हूं, और मैंने इसे एक निश्चित बिंदु पर मेजबानों को स्वचालित रूप से फ़ायरवॉल करने के लिए कॉन्फ़िगर किया है।

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

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

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

परतों के माध्यम से सुरक्षा!


1
बेशक, हमलावर अपने घुसपैठ के सबूत को हटाने के लिए लॉग को संशोधित कर सकता था, इसलिए लॉग में सबूत की कमी जरूरी नहीं है कि सब कुछ ठीक है।

यह सच है। सबूतों का अभाव मूल रूप से मेरी पुस्तक में, कोई समझौता नहीं है। रिमोट सर्वर पर लॉग इन करने से लॉग की विश्वसनीयता बढ़ सकती है। मैं इस उद्देश्य के लिए syslog-ng और ssh सुरंगों का उपयोग करता हूं।

मैं अपने सर्वर को हैक करने के प्रयासों की हास्यास्पद संख्या देख रहा था ... मैंने DenyHosts को स्थापित किया और इसने पहले ही 10 मिनट के बाद एक युगल IP जोड़ दिया था। धन्यवाद!
आरोन ब्राउन

4

ट्रिपवायर को भूल जाइए, यह काफी महंगा है। इसके बजाय AIDE का उपयोग करें। इसका मुफ्त, सेटअप करने में आसान (हालांकि यह तय करने में थोड़ा समय लगता है कि कौन सी अस्थायी निर्देशिकाओं को बाहर करना है, और अन्यथा कॉन्फ़िगर करना है)।

आप इसे चलाते हैं, यह सभी फ़ाइलों का एक डेटाबेस बनाता है। इसे फिर से चलाएँ और यह आपको बताएगा कि कौन सी फाइलें बदल गई हैं।

CSF को स्थापित करने के लिए एक और चीज है, जिसमें एक denyhost प्रकार अवरोधक है, क्योंकि लोग बार-बार लॉगिन करने में विफल होते हैं, यह उन्हें आपके फ़ायरवॉल नियमों में जोड़ देगा। आपको SSH लॉगिन की भी सार्वजनिक कुंजी होने की आवश्यकता होती है, स्क्रिप्ट किडिज़ जितने लॉगिन कर सकते हैं, उतने ही प्रयास कर सकते हैं।


Tripwire का एक खुला स्रोत (और मुक्त) संस्करण है। Tripwire.org
डैन एंड्राट्टा

4
"* ... determine if my Linux box has been infiltrated?"
  • अजीब प्रक्रियाओं के संकेत के लिए देखो। मैं सामान्य रूप से chkrootkit ( http://www.chkrootkit.org ) के साथ आने वाले उपकरणों का उपयोग करता हूं
  • एक अलग मशीन से नैम्प के साथ एक पोर्टस्कैन करें। यदि आपके बॉक्स से छेड़छाड़ की गई है, तो संभावना है कि अटैकर पिछले दरवाजे को स्थापित कर रहा है

"* ... अपराधियों द्वारा छोड़ी गई किसी भी क्षति को पूर्ववत करें?"

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

* "... भविष्य में ऐसा होने से रोकें?"

  • सुरक्षा अद्यतन

  • तंग फ़ायरवॉल

  • मजबूत पासवर्ड

  • अनैतिक सेवाओं को बंद करें


3

जैसे उपकरणों पर एक नज़र डालें logcheck , portsentry , और tripwire । यह यादृच्छिक शब्दकोश SSH प्रयासों के लिए बहुत आम है, इसलिए मैं इससे बहुत चिंतित नहीं होगा। आप रैंडम ऑब्सफिकेशन के लिए पोर्ट बदलना चाहते हैं, लेकिन आप समय-समय पर रैंडम प्रयास देखेंगे, यह इंटरनेट पर एक मशीन है।


3

एक बात मैं मदद करने के लिए अपने सर्वर पर का उपयोग इन हमलों को रोकने के है denyhosts । DenyHosts एक दुर्भावनापूर्ण उपयोगकर्ता को लॉगिन करने के प्रयास से रोक देगा। इसे स्थापित करने के बाद से मेरी लॉग फ़ाइलों में बहुत कम लॉगिन प्रयास प्रविष्टियाँ हुई हैं।


3

अतिरिक्त प्रमाणीकरण के रूप में सार्वजनिक / निजी कुंजी जोड़े का उपयोग करना एक अच्छा अभ्यास है; इस तरह से एक उपयोगकर्ता सही कुंजी के बिना एसएसएच पर लॉगिन नहीं कर सकता है; जो कि एक जंगली जानवर के लिए अनुमान लगाना बहुत असंभव होगा। इस बारे में एक अच्छा लेख यहां पाया जा सकता है

पासफ़्रेज़ वाला यह अकेला SSH प्रमाणीकरण के लिए बहुत ठोस होगा; लेकिन अधिक भेद्यता हैं! एक खुले पोर्ट का उपयोग करने वाले सभी अनुप्रयोगों को देखें; यदि उनमें बग बग होते हैं, तो आपके सिस्टम से आगे निकल सकते हैं। एक अच्छा उदाहरण एक स्पैम बॉट था जो वेबस्टेट्स सॉफ़्टवेयर में एक बग के कारण हमारे सर्वर पर स्थापित किया गया था जो हम वर्तमान में उपयोग कर रहे थे।


2

Fail2ban एक एक्सेस लॉग रियल टाइम एनालिस्ट है। इसे लॉग इन करने के लिए कई असफल प्रयासों के साथ किसी भी आईपी को ब्लॉक करने के लिए कॉन्फ़िगर किया जा सकता है। यह ssh पोर्ट को स्थानांतरित किए बिना शब्दकोश हमलों से बचा जाता है। घुसपैठ के लिए जाँच करने के लिए chkrootkit और rootkithunter अच्छी उपयोगिताओं हैं। यदि घुसपैठ सफल रही है, तो सबसे अच्छा अभ्यास कॉपी डेटा (और सिर्फ डेटा, निष्पादन योग्य नहीं) है, पोंछें और पुनर्स्थापित करें क्योंकि यह 100% सुनिश्चित करना मुश्किल है कि सिस्टम साफ है।


2

यहां यह बताने के लिए कुछ भी नहीं है कि आपके बॉक्स में समझौता किया गया है। यहां तक ​​कि अगर आपके पासवर्ड बहुत कमजोर हैं, तो एक शब्दकोश हमला जो प्रत्येक उपयोगकर्ता नाम पर केवल एक लॉगिन प्रयास फेंकता है वह सफल होने की संभावना नहीं है।

लेकिन, अगर आपको पता है कि आपके पासवर्ड कमजोर हैं, तो उन्हें मजबूत करें! मुझे व्यक्तिगत रूप से pwgen (जो डेबियन द्वारा पैक किया गया है) पसंद है। प्रत्येक रन पर, यह बड़ी संख्या में मजबूत, लेकिन अपेक्षाकृत-प्रशंसनीय पासवर्ड उम्मीदवारों को उत्पन्न करता है जो (मेरे लिए कम से कम) याद रखने में काफी आसान हैं, जैसे कि yodieCh1, Tai2daci, या Chohcah9।

हालांकि, अगर कोई अन्य सबूत है कि यह दिखाने के लिए कि आपके सिस्टम से समझौता किया गया है ... कक्षा से इसे Nuke। यह सुनिश्चित करने का एकमात्र तरीका है।

गैर-निष्पादन योग्य डेटा शायद मुक्ति योग्य है, लेकिन निष्पादन योग्य सामग्री के साथ कुछ भी (इसमें संभावित रूप से एमएस ऑफिस के दस्तावेज़ और कुछ कॉन्फ़िगरेशन फ़ाइलों के रूप में ऐसी चीजें शामिल हैं) जब तक आप तैयार नहीं होते हैं और यह सुनिश्चित करने के लिए मैन्युअल रूप से जांच करते हैं कि यह सुनिश्चित नहीं हुआ है ' टी शत्रुतापूर्ण हो गया है या इस संभावना को स्वीकार करने के लिए कि यह शत्रुतापूर्ण हो सकता है और या तो आपके सिस्टम को नुकसान पहुंचा सकता है या यदि आप इसे आसपास रखते हैं तो भविष्य के पुन: समझौते के लिए एवेन्यू प्रदान कर सकते हैं।


2

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

Iptables का उपयोग करना:

$ iptables        -A INPUT      -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
$ iptables        -A INPUT      -p tcp --dport 22 -m state --state NEW -m limit --limit 3/min --limit-burst 3 -j ACCEPT
$ iptables        -A INPUT      -p tcp --dport 22 -j DROP

2

इस धागे पर कुछ खराब सलाह दी गई है, जैसे:

  • ssh (गलत) के लिए एक गैर-मानक पोर्ट का उपयोग करना!
  • कुछ तीसरे पक्ष के सुरक्षा उपकरण का उपयोग करना (अनावश्यक निर्भरता / जटिलता जोड़ना)
  • अपने फ़ायरवॉल को कॉन्फ़िगर करना या श्वेतसूची में रखना (रखरखाव सिर-दर्द)

बस /etc/ssh/sshd_configसुरक्षा में सुधार के बजाय अपने को ट्वीक करें :

  • PermitRootLogin no
  • सिस्टम पर केवल उन उपयोगकर्ताओं के लिए AllowUsers कॉन्फ़िगर करें जिनके पास ssh खाते हैं
  • 'PasswordAuthentication no' के साथ केवल भौतिक कुंजी का उपयोग करने पर विचार करें

यदि आप बॉक्स में घुसपैठ कर चुके हैं। बॉक्स का पुनर्निर्माण करें।


(-1) फ़ायरवॉल पर नियमों को कॉन्फ़िगर करना, या घुसपैठ की रोकथाम प्रणाली का उपयोग करना कभी-कभी आवश्यक होता है। क्यों यह एक अच्छा विचार नहीं है के बारे में किसी भी अतिरिक्त चर्चा के बिना इसे खराब सलाह कहना बहुत मददगार नहीं है।
ज़ॉडेचेस

1

Ssh सक्षम के साथ हर समय होगा। इसे एक उच्च बंदरगाह पर ले जाएं।

"ट्रिपवायर" नामक एक कार्यक्रम है जो घुसपैठ का पता लगाने के लिए उत्कृष्ट है, लेकिन स्थापित करने के लिए बहुत कठिन है। यदि और कुछ नहीं है, तो आपको उनके डॉक्स के माध्यम से पढ़ना चाहिए ताकि आप मुद्दों को समझ सकें।


1

इंटरनेट पर मशीन को हुक करने से पहले आपको घुसपैठ का पता लगाने की आवश्यकता है।

और यह आईपी श्वेतसूची एसएसएच कनेक्शन के लिए एक अच्छा विचार है, यह सुनिश्चित करने के लिए कि पूरी दुनिया भी इस तरह की चीजों की कोशिश नहीं कर सकती है।


यदि संभव हो तो मैं पासवर्ड आधारित प्रमाणीकरण अक्षम करने के साथ-साथ SSH के माध्यम से लॉग इन करने के लिए अनुमति देने वाले श्वेतसूची उपयोगकर्ताओं को भी जोड़ूंगा।

1

यदि मेरा लिनक्स बॉक्स घुसपैठ कर लिया गया है, तो मैं कैसे निर्धारित कर सकता हूं?

केवल पढ़ने के लिए मीडिया (livecd) को बूट करें और फाइलों की तुलना अपने बैकअप या मूल मीडिया से करें।

बस अजीब व्यवहार के लिए चारों ओर देखो। बेशक यह सबसे आसान है यदि आप हैक से पहले समय लेते हैं जो कि 'सामान्य' है।

आपके द्वारा पोस्ट की गई त्रुटियों में कोई समझौता नहीं है। बस कोई कोशिश कर रहा है।

मैं अपराधियों द्वारा छोड़े गए किसी भी नुकसान को पूर्ववत कैसे कर सकता हूं?

सिस्टम से छेड़छाड़ करने से पहले बैकअप से पुनर्स्थापित करें और पुनर्स्थापित करें।

देख:

मैं इसे भविष्य में होने से कैसे रोक सकता हूं?

देख:



0

Shorewall के साथ युग्मित Psad आपके iptables नियमों की प्रशंसा करने का एक अच्छा तरीका है।

मैं अपने ssh लॉगिन को ट्रैक करने के लिए Fail2ban का भी उपयोग करता हूं


0

rkhunter या chkrootkit या दोनों का उपयोग करें; बंदरगाहों को खोलने के लिए अपने बॉक्स को बाहर से स्कैन करें

किसी भी तरह, अगर आपके पास सभी अमान्य उपयोगकर्ता हैं, तो चिंता करने की कोई आवश्यकता नहीं है :)


0

कुछ बहुत अलग: आईपी ​​पते पर Google का उपयोग करने का प्रयास करें ! एक हैकर जो खुद को तुर्की से STARTURK कहता है, ने आपकी साइट को हैक करने का प्रयास किया होगा।

हालांकि यह आपके सिस्टम पर एक क्रूर-बल के हमले की तरह दिखता है, यह अच्छी तरह से हो सकता है कि इस हैकर ने सिर्फ एक कोशिश की और अब किसी अन्य साइट पर चला गया है।


0

जैसा कि कई ने उल्लेख किया है, सिस्टम परिवर्तन की खोज के लिए Tripwire / AIDE सबसे अच्छा तरीका है। दुर्भाग्य से, गाय का खलिहान से बाहर उस पर एक के बाद से यह एक ज्ञात-अच्छी प्रणाली पर कॉन्फ़िगर किया जाना है।

एक चीज जो आपको कम से कम आरंभ करने में मदद कर सकती है, वह है अपनी फ़ाइलों के md5sums की जाँच करने के लिए अपने RPM डेटाबेस का उपयोग करना। मूल सार यह है:

rpm -qa | xargs rpm -V

यह कई कारणों से सही नहीं है। सबसे पहले, आपके स्थानीय आरपीएम डेटाबेस को सैद्धांतिक रूप से बदल दिया जा सकता है। दूसरे, अधिकांश डिस्ट्रोस प्रीलिंकिंग का उपयोग करते हैं, और आरपीएम प्रीलिंक जागरूक नहीं है। MD5s उस प्रक्रिया से बदल दिया गया प्रतीत हो सकता है, जो वैध है।

सबसे अच्छी सलाह यह है: यदि आपको यकीन नहीं है कि आपके साथ समझौता किया गया है, तो यह वास्तव में पुनर्निर्माण का समय है।


0

भविष्य की सुरक्षा के मुद्दों को रोकने के लिए, आप OSSEC पर एक नज़र डाल सकते हैं , मैं इसका उपयोग अखंडता की जाँच करने और हमारे सर्वर पर निगरानी लॉग इन करने के लिए करता हूँ, यह बहुत ही पूर्ण और कॉन्फ़िगर करना आसान है। यह मेल अधिसूचना भेज सकता है, आप कमांड लाइन या वेब इंटरफेस के माध्यम से अलर्ट की जांच कर सकते हैं ...

http://www.ossec.net/

वेबसाइट से लिया गया:

"OSSEC एक ओपन सोर्स होस्ट-बेस्ड इंट्रूज़न डिटेक्शन सिस्टम है। यह लॉग एनालिसिस, फाइल इंटीग्रिटी चेकिंग, पॉलिसी मॉनिटरिंग, रूटकिट डिटेक्शन, रियल-टाइम अलर्टिंग और एक्टिव रिस्पॉन्स करता है।"

  • लॉग विश्लेषण यह आपके सर्वर पर लॉग फ़ाइल की जांच कर सकता है और आपको नियमों के माध्यम से सचेत कर सकता है (बहुत पहले से परिभाषित हैं और आप अपना खुद का जोड़ सकते हैं)

  • फ़ाइल अखंडता ट्रावेल्वेयर / सहयोगी की तरह कार्यशीलता तो आप देखेंगे कि क्या आपके सर्वर पर किसी भी फाइल को संशोधित किया गया है

  • नीति की निगरानी: कुछ "सर्वोत्तम प्रथाओं" सुरक्षा नियमों की जाँच करें

  • रूटकिट डिटेक्शन: रक्कुंटर, चकोरोटकिट जैसे फंक्शनैलिटी

  • रीयल-टाइम अलर्टिंग और सक्रिय प्रतिक्रिया: अलर्ट के लिए स्वचालित रूप से प्रतिक्रिया करने के लिए आप ossec को कॉन्फ़िगर कर सकते हैं (मैं इसका उपयोग नहीं करता हूं, लेकिन आप इसका उपयोग मेजबानों के लिए ssh एक्सेस को ब्लॉक करने के लिए कर सकते हैं जो बहुत से असफल कनेक्शन के प्रयास कर रहा है)

वास्तव में अच्छा उत्पाद है और यह बहुत सक्रिय है

अपने बॉक्स को सख्त करने के लिए आप लिनि या बस्टिल का उपयोग कर सकते हैं

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