iptables IP को प्रतिबंधित करने वाला प्रतीत नहीं होता


4

परीक्षण के रूप में, मैंने एक TorBrowser शुरू किया, इसका IP मिला, और इस आदेश के माध्यम से इसे मेरे VPS पर प्रतिबंधित कर दिया:

sudo iptables -A INPUT -s <IP address> -j DROP

मैं अभी भी TorBrowser से अपने सर्वर द्वारा होस्ट किए गए पृष्ठों को सर्फ करने में सक्षम हूं। मैंने यह सुनिश्चित करने के लिए कि मैंने जिस पर प्रतिबंध लगा दिया है, और वह है, यह सुनिश्चित करने के लिए कि मैंने HTTP access.log की भी दोहरी जांच की है। मैं क्या खो रहा हूँ?

मेरी iptables फ़ाइल जो बूट में पढ़ी जाती है (के माध्यम से iptables-restore)

#  Allow all loopback (lo0) traffic and drop all traffic to 127/8 that doesn't use lo0
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

# IP bans
-A INPUT -s 42.121.24.80 -j DROP
-A INPUT -s 121.196.43.157 -j DROP
-A INPUT -s 192.30.85.135 -j DROP
-A INPUT -s 94.102.53.175 -j DROP

#  Accept all established inbound connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

#  Allow all outbound traffic - you can modify this to only allow certain traffic
-A OUTPUT -j ACCEPT

#  Allow HTTP and HTTPS connections from anywhere (the normal ports for websites and SSL).
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 8080 -j ACCEPT

# Mail
-A INPUT -p tcp --dport 993 -j ACCEPT
-A INPUT -p tcp --dport 465 -j ACCEPT
-A INPUT -p tcp --dport 587 -j ACCEPT
-A INPUT -p tcp --dport 25 -j ACCEPT

# Minecraft
-A INPUT -p tcp --dport 25565 -j ACCEPT

#  Allow SSH connections
#
#  The -dport number should be the same port number you set in sshd_config
#
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

#  Allow ping
-A INPUT -p icmp -j ACCEPT

#  Log iptables denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7

#  Drop all other inbound - default deny unless explicitly allowed policy
-A INPUT -j DROP
-A FORWARD -j DROP

COMMIT

और iptables -Lआउटपुट:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            
REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable
DROP       all  --  out524-80.mail.aliyun.com  anywhere            
DROP       all  --  ip196.hichina.com    anywhere            
DROP       all  --  192.30.85.135-IP-Static-VISPERAD.COM  anywhere            
DROP       all  --  tor-exit-nl1.privacyfoundation.dk  anywhere            
ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http-alt
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:imaps
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:ssmtp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:submission
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:smtp
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:25565
ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh
ACCEPT     icmp --  anywhere             anywhere            
LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             anywhere            

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     all  --  anywhere             anywhere            

sudo iptables -L INPUT, ऑर्डर मायने रखता है
dmourati


@Michael Hampton मुझे लगता है कि आपने मेरी बात को याद किया। मैं केवल अपने iptables प्रतिबंध का परीक्षण करने के लिए एक अलग आईपी प्राप्त करने के लिए Tor का उपयोग कर रहा हूं। मैं वास्तव में टोर पर प्रतिबंध लगाने की योजना नहीं बना रहा हूं ।
CaptSaltyJack

@dmourati शामिल करने के लिए मेरी पोस्ट अपडेट -L आउटपुट।
CaptSaltyJack

1
आपको इस तरह से परीक्षण करने के लिए प्रत्येक टोर निकास नोड पर प्रतिबंध लगाना होगा । आप जिस आईपी पते पर देखते हैं, उदाहरण के लिए check.torproject.org ऐसा नहीं हो सकता है जब आप अपनी खुद की साइट पर जाते हैं, क्योंकि यह एक अलग सर्किट खोल सकता है जिसमें एक अलग निकास नोड होता है।
माइकल हैम्पटन

जवाबों:


5

dmourati ने iptables -L INPUTएक कारण के लिए पूछा , उर्फ ​​आपके वर्तमान नियम।
टोरबॉस्टर के परीक्षण से पहले, आपके पास पोस्ट किए गए नियम (या समान) थे।
अब इसके बीच में:

-A INPUT -p tcp --dport 80 -j ACCEPT

उसके बाद आपने अमल किया

iptables -A INPUT -s <IP address> -j DROP

इसलिए आपके शासन ने समाप्त होने के बाद आप सभी पोर्ट 80 ट्रैफिक को स्वीकार कर लिया, इस प्रकार डीआरआरपी को कुछ भी नहीं स्वीकार किया गया था।
आपको नियम को जोड़ना चाहिए था

iptables -I INPUT -s <IP address> -j DROP

ऊपर मेरी iptables फ़ाइल देखें। IP बैन को पहले सूचीबद्ध किया गया है (मैंने वहां अपना Tor IP जोड़ा है), और फिर पोर्ट 80 को बाद में अनुमति दी गई है। फिर भी काम नहीं करता है।
CaptSaltyJack

-L आउटपुट को शामिल करने के लिए मैंने अपने मूल पोस्ट को संपादित किया।
CaptSaltyJack

आह नरक। टॉर का आईपी बहुत तेज़ी से बदल रहा था, क्योंकि यह निकला था। मैंने अपने iPhone के IP का उपयोग करने की कोशिश की और इसे iptables फ़ाइल में प्रतिबंधित कर दिया, और यह ठीक काम करता है। हालांकि मुझे एहसास नहीं था कि मुझे -Iडालने के लिए उपयोग करना था । आगे चलकर ऐसा करेंगे, धन्यवाद!
CaptSaltyJack

1

यदि आप ड्रॉप कमांड को प्राथमिकता देना चाहते हैं, तो आपको इसे (-आई) डालने की आवश्यकता है, जो कि एपेंड (-ए) कमांड से पहले पोर्ट priority० की अनुमति देता है।

आदेश मामलों, कोशिश:

sudo iptables -I INPUT -s <IP address> -j DROP
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.