(एसओ से स्थानांतरित)
मेरे पास एक सिप सर्वर की सुरक्षा करने वाली iptables है। यह उन सभी IP को ब्लॉक करता है, जिन्हें मैंने विशेष रूप से खोला है, और यह लगभग सभी के लिए काम करता है। मैंने बहुत सारे आईपी पते से परीक्षण किया है जो सफेद सूचीबद्ध नहीं हैं और वे सभी गिर जाते हैं जैसा कि उन्हें चाहिए।
लेकिन, मैंने एक "हैकर" उठाया है जो iptables नियमों को बायपास करने में सक्षम लगता है। उसकी जांच के माध्यम से इसे बनाते हैं, और मुझे नहीं पता कि कैसे, या यह भी संभव था। 10 साल में मैंने इससे पहले नहीं देखा।
मुझे लगता है कि यह कुछ ऐसा होना चाहिए जो मैंने किया है, लेकिन मैं इसे नहीं देख सकता।
इस तरह बनाई गई iptables (शीर्ष पर परिभाषित MYIP - फिर से तैयार):
iptables -F
iptables -X
iptables -N ALLOWEDSIP
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -d $MYIP --dport 22 -j ACCEPT
iptables -t filter -A INPUT -j ALLOWEDSIP
# This is my white list.
iptables -A ALLOWEDSIP -j RETURN
अब, ALLOWEDSIP में NOTHING के साथ, मुझे जो भी करने में सक्षम होना चाहिए वह SSH है (जिसमें मैं कर सकता हूं)। अगर मैं इस पर कॉल फेंकता हूं तो वे सभी गिर जाते हैं। लेकिन वायरशर्क मुझे यह दिखाता है (मेरा आईपी रिडक्टेड):
89.163.146.25 -> x.x.x.x SIP/SDP 805 Request: INVITE sip:521088972597572280@x.x.x.x |
x.x.x.x -> 89.163.146.25 SIP 417 Status: 100 Giving a try |
x.x.x.x -> 89.163.146.25 SIP 875 Status: 407 Proxy Authentication Required |
उनकी कॉल ने मेरे स्विच को हिट कर दिया, हालांकि अंततः ACL द्वारा अस्वीकार कर दिया गया, उन्हें वहां कभी नहीं मिलना चाहिए। और कुछ नहीं मिलता। मेरे बालों को खींच कर निकाल दिया। किसी को पता है?
पूर्णता के लिए, यहाँ iptables का परिणाम है -L:
# iptables -L --line-numbers -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 10 640 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
2 0 0 ACCEPT all -- lo any anywhere anywhere
3 0 0 ACCEPT tcp -- any any anywhere <redacted>.com tcp dpt:6928
4 0 0 ALLOWEDSIP all -- any any anywhere anywhere
Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 6 packets, 544 bytes)
num pkts bytes target prot opt in out source destination
Chain ALLOWEDSIP (1 references)
num pkts bytes target prot opt in out source destination
1 0 0 RETURN all -- any any anywhere anywhere
EDIT: बस इसे वायरशार्क से देखा गया है। क्या वे कुछ भयानक कर सकते हैं जैसे किसी और तरीके से स्थापित होना फिर स्थापित शासन पर खेलना? शायद वे संबंधित में कुछ छेद पर खेल रहे हैं?
89.163.146.25 -> <redacted> RTCP 806 Source port: tag-pm Destination port: sip
EDIT 2: UDP यहां प्रमुख है। जब मैं OpenSIPS को केवल TCP के लिए सुनने के लिए सेट करता हूं, तो समस्या दूर हो जाती है। उनके प्रयासों में से कोई भी किसी भी माध्यम से नहीं मिलता है, हालांकि वे उन "टैग-पीएम" संदेशों को अधिक भेज रहे हैं। यह नहीं समझाता है कि पैकेट भले ही ओपेनशिप को मिल रहे हैं। iptables को पहले उन्हें रोकना चाहिए था। यह जानना अच्छा लगेगा कि मैंने यहां क्या गलत किया है।
संपादित करें 3: यदि मैं संबंधित को हटाता हूं तो मैंने उन्हें जवाब देना बंद कर दिया है, इसलिए यह उस के साथ कुछ करना है। लेकिन मुझे लगता है कि मुझे संबंधित की जरूरत है। वर्कअराउंड पर कोई सुझाव?
RELATED
करने का प्रयास करें -p icmp
। हो सकता है कि यह इसे हल करता है (या एक उपयुक्त काम है जिसके चारों ओर आपको कंसीलर हेल्पर्स के बारे में पढ़ने की आवश्यकता नहीं है)।
ESTABLISHED
यूडीपी के लिए काम करना चाहिए। ऐसा लगता है कि पैकेट प्रवाह और (आउटगोइंग) अनुरोधों को स्वीकार करता है। क्या आपके "हैकर्स" के पास स्थिर आईपी हैं? ;-) अगर ऐसा है, तो जाँच / खरीद / नेट / nf_conntrack देखने के लिए कि राज्य तालिका में उनके बारे में क्या है जब वे वर्तमान में हैं / नहीं / जुड़े हुए हैं ...RELATED
एक अधिक मुश्किल बात है ... यह एसआईपी के लिए क्या करता है पता नहीं है । क्याmodprobe
शायद ipt_sip मॉड्यूल या कुछ ऐसा लोड किया गया है जो "मैजिक" सामान दिखाएगा?