यह संभव है के लिए एक "प्रक्रिया" द्वारा शुरू की यातायात की अनुमति के लिए में iptables का उपयोग करने, यानी प्रक्रिया नाम का उपयोग कर बनाने के? उदाहरण के लिए मैं पिंग कमांड द्वारा शुरू की गई सभी चीज़ों को अनुमति देना चाहता हूं।प्रति प्रक्रिया/सेवा iptables नियम
उत्तर
ऐसा लगता है कि मालिक iptables मॉड्यूल वह है जो आप चाहते हैं। पहले, जांच अगर यह आपके सिस्टम में उपलब्ध है:
iptables -m owner --help
आप यहाँ और अधिक पढ़ सकते हैं: http://www.frozentux.net/iptables-tutorial/iptables-tutorial.html#OWNERMATCH
-m owner --pid-owner PID
, देखें http://linuxpoison.blogspot.com/2010/11/how-to-limit-network-access-by-user.html और http://linux.die.net/man/8/iptables
ध्यान दें कि आप ipt_owner मॉड्यूल की जरूरत के रूप में - pid-owner xt_owner द्वारा समर्थित नहीं है।
उदाहरण के लिए(यह सिर्फ एक सन्निकटन है)
#!/bin/bash
[email protected] &
iptables -m owner --pid-owner %1 -j REJECT
वास्तविकता में, हालांकि, आप बेहतर --uid मालिक और --gid मालिक का उपयोग कर रहे हैं। सबसे पहले, - -पिड-स्वामी मानदंड केवल सटीक पिड से मेल खाता है, जिसका अर्थ है कि आपका प्रोग्राम आसानी से एक बच्चे की प्रक्रिया को जन्म दे सकता है जिसे इस नियम द्वारा अवरुद्ध नहीं किया जाएगा। (कम से कम मैंने अन्यथा नहीं पढ़ा है।) दूसरा, iptables (8) चेतावनी देता है कि - एसपीपी सिस्टम पर पाइप-मालिक टूटा हुआ है (जो आपके लिए लागू हो सकता है या नहीं, लेकिन किसी भी मामले में पोर्टेबिलिटी सीमित करता है)। तीसरा, ऊपर लिपि में दौड़ की स्थिति है, क्योंकि इसे अवरुद्ध करने से पहले प्रक्रिया शुरू हो गई है। (यदि प्रक्रिया शुरू होने से पहले प्रक्रिया की पिड प्राप्त करने का कोई तरीका है, तो मैंने इसके बारे में कभी नहीं सुना है।)
यदि प्रक्रिया शुरू होने से पहले प्रक्रिया की पिड प्राप्त करने का कोई तरीका है, तो मैंने कभी नहीं किया इसके बारे में सुना है।
आप एक आवरण जो कांटे पहले, तो नियम और अधिकारियों प्रक्रिया (कार्यक्रम आप चला रहे हैं फिर से कांटा नहीं है यह सोचते हैं) कहते हैं लिख सकता है के बाद से पीआईडी कार्यकारी द्वारा बदला नहीं है (3) कहते हैं।
/* NOTE this contains zero error checking */
int main(int argc, char **argv) {
/* Eat argv[0] the name of the wrapper script */
argv++;
argc--;
pid_t my_pid = getpid();
char *iptables_cmd = NULL;
asprintf(&iptables_cmd, "/sbin/iptables -A INPUT -m owner --pid_owner %d -j ACCEPT", my_pid);
system(iptables_cmd);
execv(argv[0], argv);
}
- 1. iptables simultaneosly
- 2. एक प्रणाली कमांड चलाएं जब एक iptables नियम
- 3. आईपॉडबल्स में iptables त्रुटि: iptables-save और iptables- काम नहीं कर रहा है
- 4. iptables फॉरवर्ड और INPUT
- 5. iptables पोर्ट अग्रेषण
- 6. fxcop कस्टम नियम - प्रति फ़ाइल एक से अधिक कक्षा
- 7. मेक: नियम कॉल नियम
- 8. नियम
- 9. नियम
- 10. नियम
- 11. iptables के माध्यम से मेल की अनुमति कैसे दें?
- 12. नियम इंजन
- 13. प्रति उपयोगकर्ता या प्रति मशीन
- 14. FluentValidation कॉल नियम-सेट और आम नियम
- 15. सीएसएस नियम/नियम क्रोम में शून्य हैं
- 16. अर्थपूर्ण नियम/सार सिंटेक्स वृक्ष नियम
- 17. एक नियम में एकाधिक मल्टीपार्ट्स सेट करने वाले इप्टेबल्स
- 18. प्रति तालिका एक प्रति या एक कार्यात्मक खंड प्रति एक?
- 19. ServletContext प्रति वेब-ऐप या प्रति JVM प्रति एक है?
- 20. कस्टम नियम
- 21. Checkstyle नियम
- 22. Makefile नियम
- 23. मेकफ़ाइल नियम
- 24. क्या "डेल्फी प्रति फ़ाइल" नियम के साथ कुछ डेल्फी विशिष्ट समस्याएं हैं?
- 25. एंड्रॉइड में, प्रति एप्लिकेशन प्रति इंटरफ़ेस प्रति डेटा ट्रैफ़िक को मापने के लिए
- 26. को अवरुद्ध करने अवांछित आगंतुक: इनको iptables, या बस डेटाबेस
- 27. .NET एप्लिकेशन प्रति मशीन/प्रति-उपयोगकर्ता लाइसेंसिंग
- 28. प्रति थ्रेड प्रति प्रक्रिया समय मात्रा
- 29. प्रति दृश्य या प्रति मॉडल ViewModel?
- 30. एपीआई कॉल, प्रति मिनट/प्रति घंटा
स्वामी केवल आपको उस उपयोगकर्ता या समूह से मेल खाता है जो प्रक्रिया का मालिक है, न कि प्रक्रिया का नाम। (Cmd-owner ध्वज हटा दिया गया प्रतीत होता है)। –
@MikeLundy: आपके सिस्टम से एक समूह जोड़ें (मैं 'का उपयोग अपने आप nonet'), तो इस तरह से अपनी उत्पादन श्रृंखला के लिए एक नियम जोड़ने:' -एक आउटपुट मी मालिक --gid मालिक नोनट -j अस्वीकार --reject- आईसीएमपी-नेट-पहुंच योग्य 'प्रोग्राम को चलाएं जिसके लिए आप पहले से जानते हैं कि आप एसजी ('sg nonet" your_prog your_args "') के साथ ब्लॉक करना चाहते हैं। – Bgs
यदि यह समर्थित नहीं है, तो ['नियंत्रण समूह'] (https://www.kernel.org/doc/Documentation/cgroup-v1/net_cls.txt) समाधान हैं। सेटअप करना बहुत मुश्किल है लेकिन मानक कर्नेल समर्थन है। इसके लिए iptables 1.6 की आवश्यकता है जिसे मैन्युअल रूप से बनाया जा सकता है। मैं एक सीजी समूह में एप्लिकेशन को सेटअप और टैग करने के तरीके के साथ एक उत्तर पोस्ट करूंगा और आईपीटीबल्स इसे पहचान सकता हूं। – KrisWebDev