यदि संभव हो तो, सर्वर और फ़ायरवॉल दोनों पर ट्रैफ़िक को रोकें।
सुरक्षा समूह अच्छे हैं क्योंकि वे आपके मेजबान के लिए बाहरी हैं इसलिए डेटा कभी भी आप तक नहीं पहुंचता है। वे हालांकि अधिकांश सर्वर आधारित फ़ायरवॉल के रूप में कॉन्फ़िगर करने योग्य नहीं हैं।
दुर्भाग्य से, EC2 सुरक्षा समूह केवल डिफ़ॉल्ट अस्वीकृत नीति के माध्यम से "अनुमति" सेवाएं दे सकते हैं। इसलिए यदि आप एक छोटी सी आईपी श्रेणी के लिए सार्वजनिक रूप से "अनुमत" सेवा तक पहुंच को अवरुद्ध करने की कोशिश कर रहे हैं, तो "बाकी इंटरनेट" के लिए अनुमति नियम का निर्माण करना सिर्फ एक आईपी सीमा को अवरुद्ध करने की तुलना में थोड़ा अधिक जटिल है। जैसा कि आपने एक अच्छा बड़ा हिस्सा निर्दिष्ट किया है, नेटवर्क रेंज की सूची जिसमें 172.64.0.0/16 शामिल नहीं है, बहुत लंबी नहीं है:
0.0.0.0/1
128.0.0.0/3
160.0.0.0/5
168.0.0.0/6
172.0.0.0/10
173.0.0.0/8
174.0.0.0/7
176.0.0.0/4
192.0.0.0/3
224.0.0.0/3
इस सूची को आपके पोर्ट के लिए जोड़ा जाना चाहिए। फिर आप उस पोर्ट के लिए अपना 'allow all' नियम हटा सकते हैं। यदि आपके पास ऐसे कई पोर्ट हैं, जिनके लिए आप ऐसा करना चाहते हैं, तो वे सन्निहित नहीं हैं, तो उन्हें कई बार जाने की आवश्यकता होगी। यदि आपके पास कई सुरक्षा समूह हैं, तो यह जल्दी से असहनीय हो सकता है।
स्थानीय रूप से फ़ायरवॉलिंग भी काम करेगी। iptables
डिफ़ॉल्ट अमेज़न AMI पर उपलब्ध है, और सभी लिनक्स डिस्ट्रो के
sudo iptables -I INPUT -s 172.64.0.0/16 -j DROP
अपने नियमों को जोड़ने के बाद आपको उन्हें सहेजना होगा, और यह सुनिश्चित करना होगा कि iptables
सेवा बूट पर शुरू हो।
# For Amazon Linux
sudo service iptables save
# Other distributions might use one of these:
#sudo iptables-save > /etc/sysconfig/iptables-config
#sudo iptables-save > /etc/iptables/rules.4
वितरण के साथ सहेजने के लिए कॉन्फ़िगर की गई फ़ाइल भिन्न होगी।
एक वीपीसी का उपयोग करना
यदि आप अपने उदाहरणों के लिए VPC का उपयोग करते हैं तो आप "नेटवर्क ACLS" को निर्दिष्ट कर सकते हैं जो आपके सबनेट पर काम करता है। नेटवर्क ACLs आपको अनुमति और नियम दोनों को लिखने की अनुमति देते हैं इसलिए मैं इसे इस तरह से करने की सलाह दूंगा।