मैं * Tor को छोड़कर सभी ट्रैफिक * को कैसे ब्लॉक कर सकता हूं?


26

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

मुझे लगता है कि यह जटिल हो सकता है क्योंकि तोर को किसी तरह रिले नोड्स के साथ संवाद करने की आवश्यकता है।


मैं बस एक ही सवाल पूछने वाला था :)
amyassin

5
आप में से जो भी करीबी वोट डालते हैं, मैं आपको याद दिलाना चाहूंगा कि टोर के लिए वैध व्यावसायिक उपयोग के मामले हैं
माइकल हैम्पटन

जवाबों:


26

Iptables के साथ काफी आसान है। इसमें ऐसे नियम हो सकते हैं जो विशिष्ट उपयोगकर्ताओं से मेल खाते हैं, और आपको पहले से ही torइसकी उपयोगकर्ता आईडी के तहत चलाने के लिए सेट अप करना चाहिए ; प्रमुख लिनक्स वितरण और टोर प्रोजेक्ट द्वारा प्रदान किए गए डिब और आरपीएम पैकेज पहले से ही टोर के लिए एक उपयोगकर्ता की स्थापना करते हैं।

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

ध्यान दें कि tor उपयोगकर्ता के लिए uid (यहां, 998) iptables द्वारा संख्यात्मक रूप में संग्रहीत किया जाता है। अपने टोर उपयोगकर्ता के लिए प्रत्येक स्थान पर सही यूआईडी का स्थान दें जो यहां दिखाई देता है।

यह भी ध्यान दें कि मेजबान के आईपी पते को पहले नियम में दिए जाने की जरूरत है ताकि आने वाले क्लैरेट और लैन ट्रैफ़िक को सीधे होस्ट को संबोधित किया जा सके (यहाँ दिखाया गया है 198.51.100.212)। यदि आपके पास कई IP पते हैं, तो प्रत्येक पते के लिए नियम दोहराएं।

*nat
:PREROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -d 198.51.100.212/32 -j RETURN
-A PREROUTING -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A PREROUTING -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 49151
-A OUTPUT -o lo -j RETURN
-A OUTPUT -m owner --uid-owner 998 -j RETURN
-A OUTPUT -p udp -m udp --dport 53 -j REDIRECT --to-ports 53
-A OUTPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j REDIRECT --to-ports 49151
COMMIT
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m conntrack --ctstate NEW -m tcp -d 127.0.0.1 --dport 22 -j ACCEPT
-A INPUT -j LOG --log-prefix "IPv4 REJECT INPUT: "
-A FORWARD -j LOG --log-prefix "IPv4 REJECT FORWARD: "
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -d 127.0.0.1/32 -p tcp -m tcp --dport 49151 -j ACCEPT
-A OUTPUT -m owner --uid-owner 998 -m conntrack --ctstate NEW -j ACCEPT
-A OUTPUT -j LOG --log-prefix "IPv4 REJECT OUTPUT: "
COMMIT

Ssh INPUT नियम केवल कनेक्शन की अनुमति देता है यदि वे स्थानीय होस्ट के माध्यम से पहुंचते हैं, अर्थात एक टो छिपी हुई सेवा। यदि आप भी आने वाले ssh कनेक्शन को क्लैरेट के माध्यम से अनुमति देना चाहते हैं, तो हटा दें -d 127.0.0.1

संबंधित torrcफ़ाइल है:

User toranon
SOCKSPort 9050
DNSPort 53
TransPort 49151
AutomapHostsOnResolve 1

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

और अंत में, आउटपुट!

[root@unknown ~]# curl ifconfig.me
31.31.73.71
[root@unknown ~]# host 31.31.73.71
71.73.31.31.in-addr.arpa domain name pointer cronix.sk.
[root@unknown ~]# curl ifconfig.me
178.20.55.16
[root@unknown ~]# host 178.20.55.16
16.55.20.178.in-addr.arpa domain name pointer marcuse-1.nos-oignons.net.
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.