स्नॉर्ट ट्रैफ़िक प्राप्त कर रहा है, लेकिन नियम लागू नहीं करता है


11

मैं अपने स्थानीय पर NFQUEUE के माध्यम से इनलाइन मोड में स्थापित और चल रहा है (जैसा कि मैं अगले कमरे में चल सकता हूं और इसे छू सकता हूं) गेटवे। मेरे पास निम्नलिखित नियम हैं /etc/snort/rules/snort.rules:

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET CURRENT_EVENTS D-LINK Router Backdoor via Specific UA"; flow:to_server,established; content:"xmlset_roodkcableoj28840ybtide"; http_header; pcre:"/^User-Agent\x3a[^\r\n]*?xmlset_roodkcableoj28840ybtide/Hm"; reference:url,www.devttys0.com/2013/10/reverse-engineering-a-d-link-backdoor/; classtype:attempted-admin; sid:2017590; rev:2; metadata:created_at 2013_10_13, updated_at 2013_10_13;)

यह नियम कुछ DLink रूटर्स में पाए जाने वाले एक पिछले दरवाजे से संबंधित है। मैंने इस नियम को चुना क्योंकि ऐसा लग रहा था कि यह परीक्षण करना सरल होगा। नियम स्वयं को उभरते हुए दोषों से पुलबर्क द्वारा जोड़ा गया था, इसलिए मैं नियम वाक्यविन्यास को सही मानता हूं।

परीक्षण के लिए, मैंने अपने गेटवे को इंटरनेट पर पोर्ट 80 पर लाइटटैप के साथ कॉन्फ़िगर किया है और पुष्टि की है कि यह सुलभ है। फिर, एक रिमोट मशीन पर, मैंने कमांड चलाया curl -A 'xmlset_roodkcableoj28840ybtide' 'http://<EXTERNAL_IP>'। यह तुरंत lighttpd से कंसोल पर प्रतिक्रिया प्रिंट करता है और बाहर निकलता है। प्रवेश द्वार पर कोई स्नॉर्ट अलर्ट उत्पन्न नहीं होता है।

इसके अतिरिक्त, नेटफिल्टर केवल मेरे द्वारा चलाए जा रहे चार स्नोर प्रक्रियाओं में से दो का उपयोग कर रहा है। मैं इसे htopसीपीयू 1 और 2 पर स्नॉर्ट प्रक्रियाओं के रूप में देख सकता हूं जब बिटोरेंट के साथ परीक्षण करते समय भारी भार विकसित होता है ... लेकिन सीपीयू 0 और 3 पर स्नॉर्ट प्रक्रिया पूरी तरह से निष्क्रिय रहती है।

क्या मेरी परीक्षण पद्धति गलत है? या जब यह (एक विन्यास त्रुटि के कारण) चाहिए, तो चेतावनी नहीं है? मैं यह देखना चाहूंगा कि सभी चार कतारों के बीच यातायात को संतुलित नहीं करने में नेटफिल्टर क्यों है?

विन्यास

मेरा स्नॉर्ट / नेटफिल्टर कॉन्फ़िगरेशन

मेरे नेटफिल्टर चेन का विशिष्ट प्रासंगिक हिस्सा है:

Chain wan-fw (1 references)
 pkts bytes target     prot opt in     out     source               destination         
25766 2960K smurfs     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate INVALID,NEW,UNTRACKED
    4  1380 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpts:67:68
 4267  246K tcpflags   tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           
 3820  550K ~comb0     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED     <<=== this one for established connections ====!
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate RELATED
  937 79669 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp flags:!0x17/0x02
   13   506 DROP       icmp --  *      *       0.0.0.0/0            0.0.0.0/0            icmptype 8 /* Ping */
    4   240 ~log0      tcp  --  *      *       <remote_server>      0.0.0.0/0            tcp dpt:80 /* Tiphares Allowed In */     <<=== this one for new connections ====!
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type BROADCAST
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type ANYCAST
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ADDRTYPE match dst-type MULTICAST
21506 2454K NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: up to 1/sec burst 10 mode srcip nflog-prefix  "IPv4 wan-fw REJECT " nflog-threshold 1
24808 2878K reject     all  --  *      *       0.0.0.0/0            0.0.0.0/0           [goto] 
Chain ~log0 (1 references)
 pkts bytes target     prot opt in     out     source               destination         
    4   240 NFLOG      all  --  *      *       0.0.0.0/0            0.0.0.0/0            limit: up to 1/sec burst 10 mode srcip /* Tiphares Allowed In */ nflog-prefix  "IPv4 HTTPTest NFQUEUE " nflog-group 1 nflog-threshold 1
    4   240 NFQUEUE    all  --  *      *       0.0.0.0/0            0.0.0.0/0            /* Tiphares Allowed In */ NFQUEUE balance 0:3 bypass cpu-fanout     <<=== passes packets to one of 4 snort processes ====!
Chain ~comb0 (4 references)
 pkts bytes target     prot opt in     out     source               destination         
 474K  196M NFQUEUE    all  --  *      *       0.0.0.0/0            0.0.0.0/0            ctstate ESTABLISHED NFQUEUE balance 0:3 bypass cpu-fanout     <<=== all established connections from 'wan' are monitored by snort ====!
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0      

एक अतिरिक्त शिकन:

मुझे यकीन नहीं है कि यह संबंधित है। मुझे पता चला है कि मेरे गेटवे पर कुछ ऐसा प्रतीत होता है जो इंटरनेट पर टीसीपी रीसेट पैकेट को आईपी भेज रहा है। और ये पैकेट किसी मौजूदा कनेक्शन से संबद्ध नहीं हैं।

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

लेकिन मैं nfqueue daq का उपयोग करता हूं ... इसलिए, अगर यह स्नॉर्ट है, तो स्नॉर्ट इन पैकेटों को इस तरह से बाहर क्यों भेज रहा है कि नेटफिल्टर सीधे नेटफिल्टर चेन में पैकेट डालने के बजाय एक नया कनेक्शन के रूप में देखता है और उन्हें मौजूदा के साथ जोड़ रहा है। कनेक्शन है कि यह अवरुद्ध है? और भी, स्नॉर्ट पैकेट को छोड़ने या रीसेट (केवल अलर्ट) भेजने के लिए सेट नहीं किया गया है ... तो ऐसा क्यों करना शुरू करने के लिए होगा? इसलिए मैं अनिश्चित हूं कि यह कुछ ऐसा है जिसे स्नॉर्ट कर रहा है।

अन्य सूचना

@ Lenniey के सुझाव के अनुसार मैंने भी परीक्षण किया curl -A 'asafaweb.com' http://server-ip। इससे अलर्ट भी नहीं हुआ। मैंने दोहरी जाँच की कि इसके लिए एक नियम मेरे नियम फ़ाइल में मौजूद है। वहाँ दॊ है:

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"ET POLICY ASafaWeb Scan User-Agent (asafaweb.com)"; flow:established,to_server; content:"User-Agent|3a| asafaweb.com|0d 0a|"; http_header; reference:url,asafaweb.com; classtype:network-scan; sid:2014233; rev:2; metadata:created_at 2012_02_16, updated_at 2012_02_16;)

तथा

alert tcp $EXTERNAL_NET any -> $HOME_NET $HTTP_PORTS (msg:"MALWARE-CNC User-Agent ASafaWeb Scan"; flow:to_server,established; content:"User-Agent|3A| asafaweb.com"; fast_pattern:only; http_header; metadata:policy balanced-ips alert, policy security-ips drop, ruleset community, service http; reference:url,asafaweb.com; classtype:network-scan; sid:21327; rev:7;)

मैंने अपना कॉन्फ़िगरेशन भी अपडेट किया है। मैंने जो अपलोड किया था, वह जाहिरा तौर पर, और पुराना था (http नेटफिल्टर नियम के लिए NFQUEUE के बजाय ACCEPT दिखाया गया था)।


टिप्पणियाँ विस्तारित चर्चा के लिए नहीं हैं; इस वार्तालाप को बातचीत में स्थानांतरित कर दिया गया है ।
माइकल हैम्पटन

iptablesजब तक आप विशेष रूप से काउंटरों में रुचि नहीं लेते तब तक आउटपुट कभी भी एक अच्छा विकल्प नहीं है। iptables-saveइसके बजाय बेहतर है यदि आप मानव से इसे पढ़ने की अपेक्षा करते हैं
poige

@poige सहमत हैं। उस समय मैं केवल उन सिफारिशों का पालन कर रहा था जो "iptables" टैग के साथ आई थीं। हालांकि, भविष्य में, मैं शायद iptables-save का उपयोग करूंगा।
क्लिफ आर्मस्ट्रांग

जवाबों:


5

चैट में "हल"।

सब कुछ (iptables + NFQUEUE, systemd.service और ड्रॉप-इन यूनिट्स, स्नॉर्ट अलर्ट आदि) के बारे में डिबगिंग के बाद, समस्या परीक्षण के तरीके से उत्पन्न हुई थी।

आमतौर पर, इनलाइन आईडीएस / आईपीएस के रूप में स्नॉर्ट को केवल संदिग्ध यातायात के लिए जांचने के लिए परिभाषित नहीं किया जाता है, बल्कि केवल HOME_NETs (उर्फ स्थानीय लैन सबनेट), लेकिन अपने स्वयं के सार्वजनिक आईपी पर नहीं। इस कथित सार्वजनिक आईपी के खिलाफ मूल नियमों का परीक्षण किया गया था और इसलिए कोई अलर्ट उत्पन्न नहीं किया गया था, क्योंकि अलर्ट की डिफ़ॉल्ट रेखाओं के साथ कुछ है EXTERNAL_NET any -> HOME_NET any


इसके अतिरिक्त, चूंकि प्रश्न मुख्य रूप से यह सत्यापित करने के लिए था कि मेरे परीक्षण का तरीका मान्य था, और आप सबसे पहले इसकी पुष्टि करने वाले थे ... उत्तर स्वीकृत।
क्लिफ आर्मस्ट्रांग

क्या आप इस पोस्ट में संबंधित बिट्स के कुछ और शामिल कर सकते हैं? आदर्श रूप से लोगों को यह महसूस नहीं करना चाहिए कि उन्हें पूरे चैट लॉग के माध्यम से पढ़ना चाहिए ताकि यह सुनिश्चित हो सके कि वे उत्तर को समझते हैं।
माइकल हैम्पटन

@Michael Hampton बहुत सच है, मैंने कुछ जानकारी जोड़ी। बेहतर?
लेनिए

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