আইপিটিবেলে -j রেজেক্ট বা -j ড্রপ সেট করা কি ভাল?


33

আর্চলিনাক্স উইকিতে iptables নিয়মের একটি উদাহরণ রয়েছে:

# Generated by iptables-save v1.4.18 on Sun Mar 17 14:21:12 2013
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:TCP - [0:0]
:UDP - [0:0]
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -p icmp -m icmp --icmp-type 8 -m conntrack --ctstate NEW -j ACCEPT
-A INPUT -p udp -m conntrack --ctstate NEW -j UDP
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j TCP
-A INPUT -p udp -j REJECT --reject-with icmp-port-unreachable
-A INPUT -p tcp -j REJECT --reject-with tcp-reset
-A INPUT -j REJECT --reject-with icmp-proto-unreachable
COMMIT
# Completed on Sun Mar 17 14:21:12 2013

কিছু দিন আগে আমার বন্ধু আমাকে জিজ্ঞাসা REJECTকরেছিল যে শেষ তিনটি নিয়মে কেন আছে । তিনি আমাকে বলেছিলেন যে DROPপরিবর্তে হওয়া উচিত , এবং তিনি ক্ষেত্রে আরও ভাল সুরক্ষা সম্পর্কে কিছু উল্লেখ করেছিলেন DROP

সুতরাং, আমার দুটি প্রশ্ন রয়েছে:

  1. তিনটি নিয়ম কী করে?

  2. আমি সেখানে রাখলে কি কোনও ত্রুটি DROPহয় REJECT --reject-with? হ্যাঁ, পার্থক্য কি?


উত্তর:


33

তিনটি নিয়ম কী করে?

এই 3 টি বিধি বেশ স্ব-বর্ণনামূলক বলে মনে হচ্ছে:

  1. আইসিএমপি বার্তা "পোর্ট অপ্রচারনযোগ্য" দিয়ে আগত ইউডিপি প্যাকেটগুলি প্রত্যাখ্যান করুন
  2. "টিসিপি রিসেট" দিয়ে আগত টিসিপি প্যাকেটগুলি প্রত্যাখ্যান করুন
  3. আইসিএমপি বার্তা "প্রোটোকল পৌঁছনীয় না" সহ আগত প্যাকেটগুলি (অন্য কোনও প্রোটোকলের) প্রত্যাখ্যান করুন

আপনি যদি আরও বিশদ (ইউডিপি / টিসিপি প্যাকেটগুলি, আইসিএমপি) সম্পর্কে সন্ধান করছেন তবে আপনার নেটওয়ার্কিং ডকগুলি এবং সম্ভবত man iptablesএটিও খনন করতে হবে।

যখন আমি সেখানে জায়গায় ড্রপ রাখি তখন প্রত্যাখ্যান - পুনরায়-প্রতিক্রিয়া করি? যদি হ্যাঁ, কেউ আমাকে পার্থক্যটি ব্যাখ্যা করতে পারে, আমি সত্যিই এটির প্রশংসা করব।

এটি একটি পার্থক্য করে। এবং জনপ্রিয় বিশ্বাসের বিপরীতে, এর DROPচেয়ে ভাল সুরক্ষা দেয় না REJECT। এটি বৈধ ব্যবহারকারীদের অসুবিধে করে এবং কার্যকরভাবে এটি দূষিতদের থেকে কোনও সুরক্ষা পায় না। এই পোস্টটি যুক্তিটি বিস্তারিতভাবে ব্যাখ্যা করেছে:

http://www.chiark.greenend.org.uk/~peterb/network/drop-vs-reject

প্রত্যাখ্যানের পরিবর্তে ড্রপ ব্যবহারের একটি সাধারণ কারণ হ'ল কোন বন্দরগুলি খোলা রয়েছে সে সম্পর্কে তথ্য না দেওয়া, তবে প্যাকেটগুলি বাতিল করা প্রত্যাখ্যানের মতো সঠিক তথ্য দেয়।

প্রত্যাখ্যানের মাধ্যমে, আপনি আপনার স্ক্যান করে ফলাফলগুলিকে "সংযোগ স্থাপন" এবং "সংযোগ প্রত্যাখাত" - এ শ্রেণিবদ্ধ করেন।

DROP এর সাহায্যে আপনি ফলাফলগুলি "সংযোগ স্থাপন" এবং "সংযোগের সময়সীমা শেষ" এর মধ্যে শ্রেণিবদ্ধ করেন।

সর্বাধিক তুচ্ছ স্ক্যানার অপারেটিং সিস্টেমটি "সংযুক্ত" কল ব্যবহার করবে এবং পরবর্তীটি শুরু করার আগে একটি সংযোগের প্রচেষ্টা শেষ না হওয়া পর্যন্ত অপেক্ষা করবে। এই ধরণের স্ক্যানার প্যাকেট ফেলে দিয়ে যথেষ্ট ধীর করা হবে। যাইহোক, যদি আক্রমণটি সংযোগের প্রয়াসে 5 সেকেন্ডের সময়সীমা নির্ধারণ করে, তবে কেবল 1.5 মিনিটের মধ্যে প্রতিটি সংরক্ষিত বন্দর (1..1023) কোনও মেশিনে স্ক্যান করা সম্ভব। স্ক্যানগুলি সর্বদা স্বয়ংক্রিয় হয় এবং আক্রমণকারী কোনও ফল দেয় না যে ফলটি তাত্ক্ষণিকভাবে না হয়।

আরও পরিশীলিত স্ক্যানার অপারেটিং সিস্টেমের টিসিপি বাস্তবায়নের উপর নির্ভর না করে প্যাকেটগুলি নিজেই প্রেরণ করবে। এই জাতীয় স্ক্যানারগুলি দ্রুত, দক্ষ এবং REJECT বা DROP এর পছন্দ সম্পর্কে উদাসীন।

উপসংহার

DROP বৈরী শক্তির পক্ষে কার্যকর বাধা দেয় না তবে বৈধ ব্যবহারকারীদের দ্বারা চালিত অ্যাপ্লিকেশনগুলিকে নাটকীয়ভাবে কমিয়ে দিতে পারে। DROP সাধারণত ব্যবহার করা উচিত নয়।


@ জ্যানোস - একটি প্যাকেট তিনটি নিয়মের প্রতিটিটিতে পৌঁছালে আসলে কী ঘটে যায় সে সম্পর্কে আপনি আরও কিছুটা লিখতে পারেন?
মিখাইল মরফিকভ

3
@ কিউই - লিঙ্কটি পড়ুন এবং নিজে চেষ্টা করুন। ড্রপ REJECT এর চেয়ে ভাল সুরক্ষা দেয় না। এটি বৈধ ব্যবহারকারীদের অসুবিধে করে এবং কার্যকরভাবে এটি দূষিতদের থেকে কোনও সুরক্ষা পায় না। এটি কারণ বৈধ ব্যবহারকারীরা সময় নিরীক্ষণের জন্য অপেক্ষা করার সময় ধীর সংযোগে ভোগেন এবং ক্র্যাকাররা কেবলমাত্র একটি সময় অপেক্ষা না করার জন্য তাদের সরঞ্জামগুলি কনফিগার করে। সংযোগটি ধীর গতির (এক সময়ের জন্য অপেক্ষা করার কারণে) আপনার সার্ভারটি উপস্থিত রয়েছে এবং ফায়ারওয়ালড দেখায়।
প্যান্থার

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

1
একটি ফায়ারওয়াল যা কেবল নির্দিষ্ট পোর্টগুলিকে কেবল ফরওয়ার্ড করে আরও ভাল। ড্রপ একটি প্রত্যাখ্যান একেবারে প্রথম পরিষেবা হিসাবে চালিত কোনও পরিষেবা হিসাবে একই নয়। অনেকগুলি পোর্ট স্ক্যানার আপনার হোস্টকে ভবিষ্যতের স্ক্যানগুলির সম্ভাব্য টার্গেট হিসাবে চিহ্নিত করে আপনার ফায়ারওয়ালটি ধরে রাখার আশায় যদি তারা সেখানে রিজেক্ট বা ড্রপ খুঁজে পায়, কারণ উভয়ই বাইরে থেকে সনাক্ত করা যায়। chiark.greenend.org.uk/~peterb/network/DP-vs-reject
ডেজল্ফ

1
নোট করুন যে উদ্ধৃত পাঠ্যটিতে আরও একটি অনুচ্ছেদ রয়েছে, এটি আপডেট বলেছে যে আপনার ডিডিওএস আক্রমণ থাকলে ডিআআরপি আরও ভাল, যা তুলনামূলকভাবে বিরল, তবে যখন এটি ঘটে তখন সম্ভবত এটির পক্ষে ভাল হয় ... আপনি কী ভাবেন?
অ্যালেক্সিস উইলক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.