IPtables के साथ Fail2ban ब्लॉक डेबियन लेन पर काम नहीं करता है। [ssh पोर्ट ले जाया गया]


11

मैंने हाल ही में कुछ सुरक्षा रखरखाव करने का फैसला किया है। मैंने अपने लॉग देखे, और मेरे SSH सर्वर के खिलाफ कुछ प्रयास किए गए। सबसे पहले, मैंने डिफ़ॉल्ट 22 से SSH पोर्ट को हटा दिया। इसके बाद, मैंने फेल 2बान , ब्लॉकहॉस्ट्स और डेनिहोस्ट्स के बारे में कुछ पढ़ा ।

मैंने पहली बार देखा: यह कॉन्फ़िगर करना सरल है, सब कुछ समझ में आता है; लेकिन जब मैंने इसकी सुरक्षा की जांच करने की कोशिश की, तो परीक्षण विफल रहे । सब कुछ अच्छा लग रहा है, लेकिन मैं अभी भी सर्वर तक पहुंच सकता हूं।

मैंने IPtables का परीक्षण भी किया: # iptables -I INPUT -j DROP- उसके बाद मेरा SSH कनेक्शन खो गया था (इसलिए, मैं जो चाहता था)। फिर # iptables -I INPUT -s 84.x.y.z -j DROP, जो काम भी किया।

लेकिन, Fail2ban ने कौन से नियम किए, जो काम नहीं करते: ( $ sudo iptables -L)

Chain INPUT (policy ACCEPT)
target     prot opt source               destination        
fail2ban-apache  tcp  --  anywhere             anywhere            multiport dports www,https
fail2ban-ssh  tcp  --  anywhere             anywhere            multiport dports ssh
fail2ban-ssh-ddos  tcp  --  anywhere             anywhere            multiport dports ssh

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination        

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination        

Chain fail2ban-apache (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh (1 references)
target     prot opt source               destination        
DROP       all  --  84.x.y.z           anywhere            
RETURN     all  --  anywhere             anywhere            

Chain fail2ban-ssh-ddos (1 references)
target     prot opt source               destination        
RETURN     all  --  anywhere             anywhere

कर्नेल मॉड्यूल लोड किए गए: ( $ lsmod | grep ip)

iptable_nat             4680  0
nf_nat                 15576  1 iptable_nat
nf_conntrack_ipv4      12268  3 iptable_nat,nf_nat
nf_conntrack           55540  4 xt_state,iptable_nat,nf_nat,nf_conntrack_ipv4
xt_multiport            2816  2
iptable_filter          2624  1
ip_tables              10160  2 iptable_nat,iptable_filter
x_tables               13284  5 xt_state,xt_tcpudp,iptable_nat,xt_multiport,ip_tables
ipv6                  235396  24

संस्करण:

  • डेबियन लेनी 5.06, कर्नेल 2.6.26-2-686
  • IPtables 1.4.2-6
  • Fail2ban 0.8.3-2sid1
  • openssh-server 1: 5.1p1-5

टेस्ट # 1 कदम से कदम:

  1. Fail2ban को कम बेंटाइम में कॉन्फ़िगर करें। 60 सेकंड। फिर पुनः लोड करें।
  2. प्रवेश करने का प्रयास (SSH के साथ), सीधे गलत पासवार्ड के साथ।
  3. 6 वीं बार सही पासवार्ड दर्ज करें (अधिकतम कोशिश यहां केवल 4 है)। मैंने लॉग इन किया। मैं उस सर्वर द्वारा होस्ट किए गए वेब पेज तक भी पहुंच सकता हूं।
  4. iptables -Lमुझे इसके उपर्युक्त के रूप में दिखाया गया है। इसलिए प्रतिबंध सक्रिय था, जब मैंने कनेक्ट किया, तो मेरे सर्वर को कमांड दिया।

टेस्ट # 2 कदम से कदम:

  1. बंद करो Fail2ban। atभविष्य में नीचे लिखे प्रतिबंध नियम को हटाने के लिए एक स्क्रिप्ट बनाएं । ( iptables -D INPUT 1)
  2. प्रतिबंध नियम बनाएँ: iptables -I INPUT 1 -s 84.x.y.z -j DROP
  3. मैं किसी और चीज में टाइप नहीं कर सकता, SSH कनेक्शन अनुपयोगी है। मैं वेब पेज तक नहीं पहुँच सका। तो, मैं क्या iptables से चाहता था।
  4. atस्क्रिप्ट के बाद , मैं अपना सर्वर एक्सेस कर सकता हूं।

मुझे इसका समाधान नहीं दिख रहा है, मुझे अपने IPtables प्रतिबंध (Fail2ban द्वारा किए गए) काम करने के लिए क्या करना चाहिए?


प्रश्न संपादित किया गया! कोई विचार?
एंटीवायरल

जवाबों:


8

मुझे समस्या का पता चला, मैंने जो किया, वह विफल 2ब्बन को स्थापित करने से पहले किया। अपने समय के लिए क्षमा करें।

सुरक्षा कारणों से, मैंने अपने sshd को पोर्ट 22 से दूसरे स्थान पर ले जाया। संदर्भ iptablesकेवल 22 पोर्ट को संदर्भित करता है। मैंने सोचा, कि यह एक परिवर्तनशील है, जो वर्तमान sshd पोर्ट को हमेशा संदर्भित करता है। लेकिन नहीं

सटीक समाधान (यदि आप अपने डेमन को उसके मूल बंदरगाह से दूर ले गए हैं):

  1. ओपन जेल.लोक (या .conf)।
  2. अपनी सेवा (ब्रेसिज़ में) खोजें।
  3. portअनुभाग को सभी के लिए ठीक करें । उदाहरण:port = all
  4. banactionपोर्ट iptables-allports के साथ पोर्ट लाइन के बाद एक मौजूदा लाइन जोड़ें या संपादित करें । उदाहरण: banaction = iptables-allports
  5. डेमॉन को फिर से शुरू करें। उदाहरण: # service fail2ban restart

मैं port sshनिर्देश बदलने के लिए समाधान नहीं ढूंढ सका , या वहां एक संख्या लिख सकता हूं । यदि आपके पास एक गैर-सभी-पोर्ट समाधान है, तो मैं इसे सुनूंगा!


1
आपको बस नाम के बजाय पोर्ट नंबर प्रदान करना है।
जूलियन नाइट

यह भी ध्यान दें कि सफल होने के लिए आपके iptable का नाम 32 अक्षरों से कम होना चाहिए।
एड्रियन लोपेज 21

2

मैं एक ही समस्या के साथ था विफल 2 पर प्रतिबंध लगाने के बाद मैं अपने ssh सर्वर को गैर मानक पोर्ट 12345 पर ले गया था (चलो कहते हैं)।

असफल 2 प्रमाणीकरण करने के लिए, कई असफल प्रमाणीकरण प्रयासों के बाद सही नियम बनाने के लिए, मैंने संपादित किया /etc/fail2ban/jail.conf

port = ssh 

में

port = 12345

मुझे लगता है कि एक समान दृष्टिकोण गैर मानक बंदरगाहों पर अन्य सेवाओं के लिए काम करेगा।


0

विफलता 2ban के लिए सेटिंग्स में है /etc/fail2ban/jail.local। डिफ़ॉल्ट इंस्टॉल पर मुझे यकीन नहीं है कि यह वहां है। तो फिर तुम क्या प्रति है jail.confकरने के लिए jail.localहै, तो आप में दोनों फ़ाइलों है /etc/fail2ban/। संपादित करें jail.local, युक्त लाइन पर जाएं [ssh]और इसे इस तरह से सक्षम करें:

enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
maxretry = 6

उसके बाद, फिर से शुरू करें

sudo /etc/init.d/fail2ban restart

यह संभव है कि यह अब काम करेगा, मैंने इसे इस तरह स्थापित किया है और यह काम करता है।


मुझे लगता है, आपको मेरा सवाल समझ नहीं आया! Fail2ban करता है, मुझे क्या चाहिए: लॉग देखें, और हमलावरों पर प्रतिबंध लगाएं। लेकिन यह प्रतिबंध, IPtables को क्या करना चाहिए, काम नहीं करना चाहिए। मैं उपर्युक्त नियम सेटअप के साथ सर्वर को बंद कर सकता हूं।
एंटीवायरल

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

0

आपने "Fail2ban 0.8.3-2sid1" को स्थापित होने के रूप में सूचीबद्ध किया है। यह एक असमर्थित कॉन्फ़िगरेशन है। सिड पैकेज को स्थिर वातावरण में स्थापित नहीं किया जाना चाहिए।

मैं डेबियन 6 (स्क्वीज़) चलाता हूं, जिसे लेनी से अपग्रेड किया गया था, विशेष रूप से मेरे घर के लिए एसएसएच सर्वर के रूप में वीएम में। मैं भी विफलता 2 का उपयोग करें। मैंने आपके टेस्ट # 1 का प्रदर्शन किया और सब कुछ वैसा ही काम करना चाहिए जैसा होना चाहिए। मैं अधिकतम प्रयासों के लिए लॉगिन करने में विफल रहा, और फिर लॉगिन करने के मेरे अनुरोध को 60 सेकंड के लिए हटा दिया गया।

मेरी संस्करण सूची:

  • / etc / debian_version = 6.0.1
  • fail2ban = 08..4-3
  • iptables = 1.4.8
  • ओपनश-सर्वर = 1: 5.5p1-6

नहीं, मेरे पास सही पैकेज है। packages.debian.org/search?suite=lenny&keywords=fail2ban
antivirtel

उस मामले में, मैं एक डिस्ट-अपग्रेड करने की सलाह देता हूं।
जेम्स सुमेर जूल

ओकोक, यह बहुत आसान नहीं है, लेकिन मैं इसे किसी तरह करने का प्रबंधन करूंगा ... - शायद एक साफ पुनर्स्थापना
एंटीवायरल

sed -i 's/lenny/squeeze/' /etc/apt/sources.list && apt-get update && apt-get dist-upgrade। यह काफी सरल है।
जेम्स सुमेर जूल

हां, लेकिन क्या अगली बार जूते मारने का कोई मौका नहीं है ... रिलीज नोट में लिखा गया था, कि नया केनेल + नया udv सिस्टम ... - क्या यह आपकी मशीन के साथ सफल था?
एंटीवायरल
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.