अपने लिनक्स सर्वर को बाहरी हमलों से बचाने के लिए टिप्स

मुझे लगता है कि जो लोग ड्राइव करते हैं लिनक्स सर्वर जानिए और जानिए इनकार y Fail2ban। उन लोगों के लिए जो मुझे नहीं जानते हैं समझाएं इन दोनों के बारे में थोड़ा अनुप्रयोगों.

जॉन फ्रेडी पेरेज़ इनमें से एक है विजेताओं हमारी साप्ताहिक प्रतियोगिता: «लिनक्स के बारे में जो कुछ आप जानते हैं उसे साझा करें«। बधाई हो! के बारे में चिंतित भाग लेना और समुदाय में अपना योगदान दें, जैसा कि जॉन ने किया था?

हम बाद के सिरदर्द से बचने के लिए इन दो अनुप्रयोगों को स्थापित और कॉन्फ़िगर करेंगे। सबसे पहले हम बताएंगे कि ये दो अनुप्रयोग क्या हैं और उनका कार्य क्या है:

Fail2Ban

यह एक लॉग एनालाइज़र है जो असफल पंजीकरण प्रयासों की तलाश करता है और आईपी के ब्लॉक करता है जिससे ये प्रयास आते हैं। यह जीएनयू लाइसेंस के तहत वितरित किया जाता है और आमतौर पर सभी प्रणालियों पर काम करता है जो एक हमले नियंत्रण प्रणाली या एक स्थानीय फ़ायरवॉल के साथ इंटरफ़ेस करता है।

Fail2Ban का एक बेहतरीन विन्यास है और यह कार्यक्रमों के लिए नियम भी बना सकता है
खुद या तीसरे पक्ष।

इनकार

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

इन लिनक्स अनुप्रयोगों - DenyHosts और Fail2ban - को अलग से या एक साथ उपयोग किया जा सकता है। मेरे मामले में, मैं उन दोनों को एक साथ काम कर रहा हूँ।

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

तो ठीक है, काम पर लग जाओ।

Fail2Ban स्थापना और कॉन्फ़िगरेशन

यह एप्लिकेशन लिनक्स फ़ायरवॉल में गतिशील नियम बनाता है, और IpTables में लाइव नियम बनाने के लिए जिम्मेदार है।

स्थापना

स्थापना के लिए:

yum इंस्टॉल करें विफलता 2ban 

यदि पैकेज दिखाई नहीं देता है, तो हमें आवश्यक भंडार जोड़ना चाहिए:

आरपीएम -उव http://mirror.metrocast.net/fedora/epel/6/i386/epel-release-6-7.noarch.rpm

इसके साथ आपको इसकी निर्भरता के साथ-साथ एप्लिकेशन इंस्टॉल करना शुरू करना चाहिए।

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

cd / etc / fail2ban
नैनो जेल

इस फ़ाइल में निम्नलिखित कार्य किए जाने चाहिए:

  • संशोधित बंटाइम मूल्य है, यह मान सेकंड में समय निर्धारित करता है कि हमलावर का आईपी अवरुद्ध हो जाएगा, डिफ़ॉल्ट रूप से मान 600 सेकंड में आता है।
  • अधिकतम मान ज्ञात करें जो एक आईपी के अवरुद्ध होने से पहले एक असफल प्रमाणीकरण हो सकता है।
  • आग्नेय पैरामीटर में हमारे आईपी जोड़ें। यहां एप्लिकेशन उस पैरामीटर में हमारे प्रमाणित आईपी की उपेक्षा करेगा।
[चूक]
"# इग्निप" एक आईपी एड्रेस, एक सीआईडीआर मास्क या डीएनएस होस्ट हो सकता है। Fail2ban नहीं करेगा
# एक मेजबान पर प्रतिबंध लगाता है जो इस सूची में एक पते से मेल खाता है। कई पते हो सकते हैं
# अंतरिक्ष विभाजक का उपयोग करके परिभाषित।
इग्निप = 127.0.0.1

# "बंटाइम" उन सेकंडों की संख्या है जो एक मेजबान पर प्रतिबंध लगाया गया है।
बंटाइम = एक्सएनयूएमएक्स

# यदि अंतिम "खोज" के दौरान "अधिकतम" उत्पन्न हुआ है तो एक मेजबान पर प्रतिबंध लगा दिया गया है
# सेकंड।
खोज समय = 600

"" अधिकतम "एक मेजबान के प्रतिबंधित होने से पहले विफलताओं की संख्या है।
अधिकतम = 3

यह कैसे दिख सकता है इसका एक उदाहरण इस प्रकार है:

इग्निप = 127.0.0.1 190.25.242.75 192.168.1.0/24
बंटाइम = एक्सएनयूएमएक्स
अधिकतम = 2

Fail2Ban और SSH कॉन्फ़िगर करें

असफल SSH लॉगिन प्रयासों की तलाश करने के लिए, हम फ़ाइल को तब तक संशोधित करते हैं जब तक कि वह निम्नलिखित की तरह न दिखे:

[एसएसएच-आईपीटेबल्स] 
सक्षम = सत्य
फ़िल्टर = sshd
क्रिया = iptables [name = SSH, port = 22, प्रोटोकॉल = tcp] सेंडमेल-whois [name = SSH, dest=FredySnake@outlook.com, प्रेषक = fail2ban @ localhost] logp = / var / log / safe # log2 जो विफल XNUMX पार्स करेगा
maxretry = 3 # कोई भी IP जिसमें तीन या अधिक विफल प्रयास हैं अवरुद्ध हो जाएंगे।
बंटाइम = 86400 # 24 घंटे का प्रतिबंध समय सेकंड में व्यक्त किया गया

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

यह एप्लिकेशन न केवल एसएसएच तक अनधिकृत पहुंच के लिए काम करता है, बल्कि अपाचे के लिए, एस्टरिस्क लॉग आदि को पढ़ने के लिए भी काम करता है।

DenyHOSTS स्थापना और विन्यास

इसका संचालन /etc/hosts.deny फ़ाइल के उपयोग पर आधारित है, जो कि "हमला करने वाले" मेजबानों के पते को अवरुद्ध करने पर, अस्वीकृत मेजबानों की सूची बनाता है।

रिपॉजिटरी से इंस्टॉलेशन निम्न कमांड से प्राप्त किया जा सकता है:

yum इंस्‍टॉल करें 

कॉन्फ़िगरेशन फ़ाइल /etc/denyhosts.conf में स्थित है

जारी रखने से पहले, चूंकि मनुष्य के रूप में हम गलतियां कर सकते हैं और किसी भी सेवाओं तक पहुँचने और खुद को अवरुद्ध करने पर "लेयर 8" ठेठ कर सकते हैं। उससे बचने के लिए, हम /etc/hosts.allow फ़ाइल को संपादित करते हैं और उन मशीनों के आईपी को जोड़ते हैं जिनसे हम एक्सेस विफलता के कारण प्रतिबंधित नहीं होना चाहते हैं।

Denyhosts.conf फ़ाइल को संशोधित करें

सेटिंग्स में इतनी दूर नहीं जाने के लिए, इस फ़ाइल में हम केवल कुछ मापदंडों को संपादित करने और अनसुना करने जा रहे हैं। य़े हैं:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911
SYNC_INTERVAL = 1 ह
SYNC_UPLOAD = हाँ
SYNC_DOWNLOAD = हाँ
SYNC_DOWNLOAD_THRESHOLD = 3
SYNC_DOWNLOAD_RESILIENCY = 5 ह

इस प्रकार, हम डिफ़ॉल्ट रूप से कॉन्फ़िगरेशन को व्यावहारिक रूप से छोड़ देंगे, लेकिन एसएसएच हमलों के खिलाफ महान सुरक्षा के साथ।

नैनो /etc/hosts.allow

उदाहरण:

sshd: १२७.०.०.१ 
sshd: १२७.०.०.१
sshd: 192.168.0। *

इसके बाद, हम सेवा को फिर से शुरू करते हैं:

/etc/init.d/denyhosts पुनः आरंभ करें

इसके साथ हम अपने लूपबैक इंटरफेस को एक आईपी, एक आईपी रेंज और निश्चित रूप से अनुमति दे रहे हैं। कुछ जो मैंने कोशिश नहीं की है - इसलिए मुझे नहीं पता कि क्या यह काम करता है - इस फाइल में डीएनएस जोड़ना है; वह है, DynDNS जैसी सेवाओं के साथ। यदि मैं करता हूं, तो मैं आपको बताऊंगा कि यह कैसे हुआ।

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

समय-समय पर संग्रहीत पते शुद्ध करने के लिए, कॉन्फ़िगर किए गए अनुसार, डेमॉन को -पुरेज पैरामीटर के साथ चलाया जाना चाहिए:

/etc/init.d/denyhosts प्रारंभ --purge

इसके अतिरिक्त, हमें इसे सिस्टम की शुरुआत में शामिल करना चाहिए:

chkconfig denyhosts पर

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

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

*

*

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