जिस वातावरण में मैं काम कर रहा हूं वह एक बड़े पैमाने पर वेब होस्टिंग ऑपरेशन है (प्रबंधन के तहत कई सौ सर्वर, लगभग-सभी-सार्वजनिक पते, आदि - तो एडीएसएल लिंक के प्रबंधन के बारे में बात करने वाली कोई भी चीज अच्छी तरह से काम करने की संभावना नहीं है), और हम ' ऐसी किसी चीज़ की तलाश करना जो दोनों मुख्य नियमों (वर्तमान गिनती में iptables में लगभग 12,000 प्रविष्टियों) के साथ-साथ उन ग्राहकों के लिए प्रबंधित होस्ट-आधारित नियमों को प्रबंधित करने में सहज हो। हमारे कोर राउटर के नियम दिन में कुछ बार बदलते हैं, और मेजबान-आधारित नियम महीने में 50 बार (सभी सर्वरों पर, तो शायद प्रति माह प्रति पांच सर्वर में एक परिवर्तन) हो सकते हैं।
वर्तमान में हम फ़िल्टरगेन का उपयोग कर रहे हैं (जो सामान्य रूप से गेंदें हैं, और हमारे ऑपरेशन के पैमाने पर सुपर-बॉल), और मैंने अन्य नौकरियों में अतीत में शोरवेल का उपयोग किया है (जो कि फ़िल्टरगेन के लिए बेहतर होगा, लेकिन मुझे लगता है कि वहां मिल गया है) कुछ ऐसा हो जो वहाँ से बेहतर हो)।
"मस्ट" हम किसी भी प्रतिस्थापन प्रणाली के साथ आए हैं:
- एक नियमबद्धता को शीघ्रता से उत्पन्न करना चाहिए (हमारे नियमों पर चलने वाला एक फ़िल्टरगन 15-20 मिनट का होता है; यह सिर्फ पागल है) - यह अगले बिंदु से संबंधित है:
- एक iptables-पुनर्स्थापना शैली फ़ाइल जनरेट करें और उसे एक हिट में लोड करें, प्रत्येक नियम सम्मिलित करने के लिए iptables को कॉल न करें
- विस्तारित अवधि के लिए फ़ायरवॉल को नीचे नहीं ले जाना चाहिए जबकि नियम फिर से लोड होता है (फिर, यह उपरोक्त बिंदु का परिणाम है)
- IPv6 का समर्थन करना चाहिए (हम IPv6 के संगत कुछ भी नया नहीं कर रहे हैं)
- DFSG मुक्त होना चाहिए
- सादा-पाठ कॉन्फ़िगरेशन फ़ाइलों का उपयोग करना चाहिए (जैसा कि हम सब कुछ संशोधन नियंत्रण के माध्यम से चलाते हैं, और मानक यूनिक्स पाठ-हेरफेर उपकरण का उपयोग करना हमारे SID हैं)
- रेडहैट और डेबियन दोनों का समर्थन करना चाहिए (पैक को प्राथमिकता दी जाती है, लेकिन बहुत कम से कम या तो दूर के मानकों के लिए शत्रुतापूर्ण नहीं होना चाहिए)
- सिस्टम की "मूल भाषा" का हिस्सा नहीं होने वाली सुविधाओं का समर्थन करने के लिए मनमाने ढंग से iptables कमांड चलाने की क्षमता का समर्थन करना चाहिए
जो कुछ भी इन सभी मानदंडों को पूरा नहीं करता है, उस पर विचार नहीं किया जाएगा। निम्नलिखित हमारे "बाज़ के लिए अच्छा" हैं:
- विन्यास फाइल "टुकड़ों" का समर्थन करना चाहिए (यानी, आप एक निर्देशिका में फ़ाइलों के ढेर को छोड़ सकते हैं और फ़ायरवॉल से कह सकते हैं "नियमों में इस निर्देशिका में सब कुछ शामिल करें"; हम कॉन्फ़िगरेशन प्रबंधन का बड़े पैमाने पर उपयोग करते हैं और इस सुविधा का उपयोग करना चाहते हैं; स्वचालित रूप से सेवा-विशिष्ट नियम प्रदान करें)
- कच्ची तालिकाओं का समर्थन करना चाहिए
- आपको आने वाले पैकेट और REJECT दोनों नियमों में विशेष ICMP को निर्दिष्ट करने की अनुमति देनी चाहिए
- शालीनता से उन होस्टनामों का समर्थन करना चाहिए जो एक से अधिक आईपी पते का समाधान करते हैं (हम इसे फ़िल्टरगन के साथ कुछ ही बार पकड़े गए हैं; यह बट में एक शाही दर्द है)
- अधिक वैकल्पिक / अजीब iptables सुविधाएँ जो उपकरण का समर्थन करती हैं (या तो मूल रूप से या मौजूदा या आसानी से लिखने योग्य प्लगइन्स के माध्यम से) बेहतर। हम अब और फिर iptables की अजीब विशेषताओं का उपयोग करते हैं, और उनमें से अधिक "बस काम", सभी के लिए बेहतर है।