আপনি iptables একটি ভাল পরিচয় প্রস্তাব করতে পারেন? [বন্ধ]


15

আমাকে একটি লিনাক্স সার্ভারে একটি ফায়ারওয়াল সেটআপ করতে হবে (আমার পূর্ববর্তী সমস্ত অভিজ্ঞতা উইন্ডোজের সাথে রয়েছে)। আমার নিয়মগুলি বোঝানো হয়েছে বেশ সরল - সকলকে বারণ করুন, কিছু দিয়ে কিছু বন্দর দিন, নির্দিষ্ট আইপি সাবনেটগুলির জন্য কিছু বন্দরকে অনুমতি দিন, যখন নেটওয়ার্কটি ছোট তবে জটিল (প্রতিটি হোস্টের কমপক্ষে 2 192.168 ... নেটগুলিতে আইপি রয়েছে ... প্রত্যেকেই পারেন আন্তঃসংযোগ অনেক বিভিন্ন উপায়ে)। আমি মনে করি iptables র‌্যাপারগুলি ব্যবহার করে সিস্টেমে অনেকগুলি অপ্রয়োজনীয় সত্তাকে যুক্তিযুক্তভাবে প্রবর্তন করা যায় এবং এটিকে সহজ রাখা এবং iptables সরাসরি ব্যবহার করা ভাল।

আপনি iptables বিধি লিখতে কিভাবে একটি ভাল দ্রুত পরিচয় প্রস্তাব করতে পারেন?

উত্তর:


26

অফিসিয়াল এবং প্রস্তাবিত ডকুমেন্টেশনের লিঙ্কগুলি নেটফিল্টার ওয়েব সাইটে বিদ্যমান।

এটি কোনও নতুন বিষয় নয়, সংস্থানগুলি সীমাহীন

বেশিরভাগ বুনিয়াদি কমান্ডগুলি মোটামুটি স্বজ্ঞাত এবং সহজেই ম্যানপেজের রেফারেন্স হতে পারে ।

নেটফিল্টার, যা কার্নেল স্তরের প্রযুক্তি যা প্যাকেট ফিল্টারিং সক্ষম করে, এটি বেশ উন্নত। অতিরিক্ত টেবিল রয়েছে যা প্যাকেটগুলি ম্যাঙ্গেল করতে পারে, প্যাকেটগুলি অনুবাদ করতে পারে এবং অন্যথায় রাউটিংকে প্রভাবিত করতে পারে। iptablesউপযোগ Netfilter সাথে ইন্টারঅ্যাক্ট করার জন্য userland টুল। আপনি যদি উন্নত কার্যকারিতা সম্পর্কে জানতে চান তবে আমি আপনাকে পূর্বোক্ত ডকুমেন্টেশনটি উল্লেখ করার পরামর্শ দিচ্ছি। মৌলিক কার্যকারিতা সম্পর্কে পরিচিতির জন্য, দয়া করে আরও পড়ুন।

সমস্ত বিদ্যমান বিধি তালিকা করতে:

iptables -L -n

-n iptables কে সমাধান করার আইপিস থেকে বাধা দেয়, যা দ্রুত আউটপুট উত্পাদন করে।

ডিফল্ট সারণি হ'ল filterটেবিল, যা তিনটি চেইনে বেসিক ফায়ারওয়াল বিধি প্রয়োগ করতে ব্যবহৃত হয়। তিন ডিফল্ট চেইন filterটেবিল হয় INPUT, OUTPUTএবং FORWARD

চেইনগুলি মূলত স্ব-বর্ণনামূলক। ইনপুট চেইনটি আগত প্যাকেটগুলিকে প্রভাবিত করে, OUTPUT চেইন স্থানীয়ভাবে উত্পাদিত প্যাকেটগুলিকে প্রভাবিত করে এবং পরিশেষে সিস্টেমের মধ্য দিয়ে যে কোনও প্যাকেটগুলি প্রবেশ করে তার জন্য ফরওয়ার্ড করে।

আপনি যে লক্ষ্যগুলি নির্দিষ্ট করতে পারেন তার মধ্যে আপনি DROPপ্যাকেটগুলি করতে পারেন , যার অর্থ কেবল উপেক্ষা করুন এবং কোনও প্রতিক্রিয়া নয়। আপনি REJECTপ্যাকেটগুলি করতে পারেন , যেখানে প্রত্যাখ্যানের উত্সটিতে একটি আইএমপি প্রতিক্রিয়া প্রেরণ করা হবে। অবশেষে, আপনি ACCEPTএগুলি করতে পারেন , যা প্যাকেটগুলিকে রাউটিং চালিয়ে যাওয়ার অনুমতি দেয়।

প্রায়শই বাহ্যিক মুখোমুখি ফায়ারওয়ালের সাথে ডিফল্ট পছন্দটি তার DROPবিপরীতে হয় REJECT, কারণ এটি ইন্টারনেটে আপনার নেটওয়ার্কের দৃশ্যমান পদচিহ্ন হ্রাস করে। উদাহরণস্বরূপ, একটি আইপি যা অন্যথায় নির্দিষ্ট হোস্টের পরিষেবাগুলিকে সীমাবদ্ধ করে তার সাথে কম দৃশ্যমানতা থাকবে DROP

দ্রষ্টব্য, -Aঅর্থ শৃঙ্খলার শেষে সংযোজন। আপনি যদি শীর্ষে সন্নিবেশ করতে চান তবে আপনি এটি ব্যবহার করতে পারেন -I। সমস্ত নিয়ম নীচে থেকে প্রক্রিয়া করা হয়। -Dমুছে ফেলার জন্য।

থেকে DROPআগত আগত প্যাকেটে 192.168.235.235:

iptables -A INPUT -s 192.168.235.235 -j DROP

এই DROPআইপি থেকে আগত সমস্ত প্রোটোকলের লক্ষ্যতে এই লাফ দেয় ।

গ্রহণ করতে:

iptables -A INPUT -s 192.168.235.235 -j ACCEPT

আপনার স্থানীয় সার্ভার বা নেটওয়ার্ক থেকে এই আইপিতে অ্যাক্সেস রোধ করতে:

iptables -A OUTPUT -d 192.168.235.235 -j DROP

আপনি -pপ্রোটোকল, -sপ্যাকেটের উত্স, প্যাকেটের -dগন্তব্য, গন্তব্য পোর্ট --dport, উত্স বন্দর --sportএবং অন্যান্য অনেক পতাকা উল্লেখ করতে পারেন যা প্যাকেটগুলি বিধি দ্বারা কীভাবে আচরণ করা হবে তা প্রভাবিত করবে।

যদি আপনার ডিফল্ট INPUTনীতি হয় DROPএবং আপনি 192.168.123.0/24সাবনেটের প্রত্যেককে আপনার সার্ভারে এসএসএইচ অ্যাক্সেস করার অনুমতি দিতে চেয়েছিলেন , তবে এখানে একটি উদাহরণ রয়েছে:

iptables -A INPUT -s 192.168.123.0/24 -p tcp --dport 22 -j ACCEPT

এটা ঠিক, আপনি সিআইডিআর স্বরলিপিটিও ব্যবহার করতে পারেন !

সাধারণভাবে বলতে গেলে, DROPসমস্ত চেইনের জন্য সেরা ডিফল্ট নীতি । প্রতিটি চেইনের একটি ডিফল্ট নীতি থাকে যা -Pপতাকা দ্বারা নির্দিষ্ট করা হয় । এমনকি যদি আপনার নীতিটি ডিফল্টতে সেট করা থাকে DROP, তবুও এটি একটি চেইনে চূড়ান্ত প্রবেশের DROPপাশাপাশি থাকার পরামর্শ দেওয়া হয় ।

উদাহরণস্বরূপ, DROPইনপুট, ফরওয়ার্ড এবং আউটপুট চেইনের জন্য নীতিটি পরিবর্তন করতে :

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

সতর্কতা অবলম্বন করুন , আপনি যদি প্রথমে এসএসএইচ অ্যাক্সেসের অনুমতি না দিয়ে কোনও রিমোট সিস্টেমে INPUT এর জন্য ডিআরপি-র ডিফল্ট নীতি নির্দিষ্ট করে থাকেন তবে আপনি সিস্টেমে অ্যাক্সেস থেকে নিজেকে রোধ করতে পারবেন। যদি কোনও রিমোট সিস্টেমে থাকে তবে আপনি ব্যর্থতা হিসাবে প্রতি 5 মিনিটে সমস্ত নিয়ম ফ্লাশ করতে একটি অস্থায়ী ক্রন্টবকে নির্দিষ্ট করতে পারেন।

সমস্ত নিয়ম মুছতে এবং সমস্ত ট্র্যাফিকের অনুমতি দিতে:

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -X
iptables -F

নোট, -Xসমস্ত তৈরি চেইন অপসারণ। -Fসমস্ত নিয়ম flushes।

নিয়মগুলি সংরক্ষণ এবং পুনরুদ্ধার করার জন্য দেশীয় সরঞ্জাম রয়েছে। বিশেষত, iptables-saveএবং iptables-restore। বেশিরভাগ আধুনিক লিনাক্স ডিস্ট্রিবিউশন আছে saveএবং restoreএকটি iptables- র মধ্যে ফাংশন সিস্টেমের সাথে প্রদান করা ফাইল init।

অন্যান্য ফায়ারওয়াল সেরা অনুশীলন রয়েছে, যেমন ত্রুটিযুক্ত প্যাকেটগুলি ফেলে দেওয়া এবং অন্য ধরণের অযাচিত ট্র্যাফিক। শোরেওয়ালের মতো ফ্রন্ট এন্ড ইউটিলিটি ব্যবহার করার এটি একটি সুবিধা , কারণ এটি ডিফল্টরূপে এই পলিসির অনেকগুলি প্রয়োগ করে। তবুও, আমি আপনার পদ্ধতির সাথে একমত এবং সরাসরি আমার নিজের নিয়ম বজায় রাখতে পছন্দ করি এবং এই একই সেরা অনুশীলনগুলি কোনও শেষ প্রান্ত ছাড়াই বাস্তবায়িত হতে পারে।


2
এখানে কিছু এলোমেলো iptables জিনিসগুলি সন্ধান করার সময় এই উত্তরটি জুড়ে এসেছিল (আমি আর গুগলের আগে এসএফ / এসও অনুসন্ধান করি!), এবং এই খুব বিস্তৃত উত্তরটি আরও বেশি ভোট-আপ প্রেমের প্রাপ্য বলে মনে হচ্ছে, তাই আমি এটি কিছু দিয়েছি!
অ্যান্ড্রু বারবার

+1 সুন্দর উত্তর। আমি পাশাপাশি দেবিয়ান ডাব্লুআইকেআই উল্লেখ করব ।
michal.kreuzman


1

আমি সম্প্রতি https://help.ubuntu.com/commune/IptablesHowTo সহায়ক খুঁজে পেয়েছি । আমি মনে করি না যে সেখানে উবুন্টু-নির্দিষ্ট কিছু আছে।


আমি আমার ল্যাপটপে আর্ক ব্যবহার করি, তবে একটি উবুন্টু লুসিড সার্ভারটি হ'ল সেটআপ করার কাজটি হ'ল। সুতরাং এটি অচল না হলে এটি হাতে আসতে পারে (এটি উবুন্টুকে 8.04 পর্যন্ত আমি দেখতে পাচ্ছি) addresses
ইভান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.