আইপেটেবল দ্বারা অবরুদ্ধ আইপি ঠিকানাগুলি কীভাবে তালিকাবদ্ধ করব?


16

এসএসএসের বিরুদ্ধে বর্বর বাহিনীর আক্রমণ প্রতিরোধ করতে আমি কয়েকটি iptables নিয়ম যুক্ত করেছি (নীচে)। প্রশ্নটি হল: আমি কীভাবে অবরুদ্ধ আইপি ঠিকানাগুলি তালিকাভুক্ত করতে পারি?

(1)
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --set --name SSH
iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl --name SSH -j DROP

1
iptables -L INPUT -v -nসমস্ত অবরুদ্ধ আইপি দেখায়
গতিশীল

উত্তর:


16

একটি বিকল্প হ'ল আপনার বিছানো প্যাকেটগুলির যে কোনও নিয়মের সাথে লগ করুন:

iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 60 --hitcount 8 --rttl -j LOG --log-prefix "FW_DROPPED: "

DROPনিয়মের ঠিক আগে .োকান। তারপরে, আপনি এতে "FW_DROPPED" দিয়ে যে কোনও কিছুর জন্য সিসলগ ফাইলটি গ্রেপ করতে পারেন এবং আইপিগুলির তালিকা সেখানে থাকবে। লগ ফাইলের এন্ট্রিগুলি দেখতে এরকম কিছু দেখায়:

Jun  3 08:05:57 some-machine kernel: [15852451.420557] FW_DROPPED: IN=eth0 OUT= MAC=00:50:ba:4a:d9:e3:00:12:17:3a:e3:64:08:00 SRC=228.23.45.189 DST=192.168.1.1 LEN=48 TOS=0x00 PREC=0x00 TTL=106 ID=10941 PROTO=TCP SPT=58212 DPT=22 WINDOW=65535 RES=0x00 SYN URGP=0

সুতরাং, "এসআরসি =" এর পরে যা ঘটে তা ছড়িয়ে দেওয়া আপনাকে বাদ পড়া আইপিগুলি প্রদর্শন করবে। এইটিকে বাছাই করুন, সদৃশগুলি মুছে ফেলুন এবং আপনার তালিকা থাকবে।

Ipables টিউটোরিয়ালটি iptables / নেটফিল্টারের জন্য সবচেয়ে দরকারী ডকুমেন্টেশন হিসাবে পেয়েছি ।


হ্যাঁ, এটি করার উপায় এটি।
ব্রেন্ট

আপনি একই নিয়মে লগ এবং ড্রপ না করায় আপনার নিজের বিধিগুলির নকল করা দরকার।
ডেভিড পাশলে

3
এটি আরও ভাল হবে যদি তিনি এমন একটি ব্যবহারকারী শৃঙ্খলা তৈরি করেন যেখানে লগ ইন করে আক্রমণাত্মক প্যাকেটগুলি ফেলে দেয়। এটি করে, অকারণে সদৃশ অপসারণ করা হয়। এটি এর মতো করা যেতে পারে: iptables -N আক্রমণ; iptables -A INPUT -i eth0 -p tcp --dport 22 -m state --state NEW -m সাম্প্রতিক - আপডেট - সেকেন্ডস 60 - হিটকাউন্ট 8 --rttl - নাম এসএসএইচ -j আক্রমণ; iptables -A আক্রমণ -j LOG --log-উপসর্গ "FW_DROPPED:"; iptables -A আক্রমণ
-j

1
একমত। টেবিল / চেইনগুলি যাওয়ার উপায়; iptables পুরো পয়েন্ট, সত্যিই। আমি স্বীকৃত, নিঃশব্দে বাদ দেওয়া, শ্রুতিমজুভাবে প্রত্যাখ্যান, বাতিল, বাতিল সন্দেহজনক বন্যা, অবৈধ, সন্দেহজনক তদন্ত, সন্দেহজনক স্ক্যান, অজানা প্রকার এবং ট্র্যাফিক পর্যবেক্ষণের জন্য পৃথক সারণী তৈরি করি। আমার এফডাব্লুগুলি এই পুরানো স্ক্রিপ্টের উপর ভিত্তি করে (সতর্কতা: স্ব-প্রচার): কোড. google.com/p/klondike-firewall/source/browse/trunk/…
ইউকনডুড

1
আইপোজগজ এবং ডেভিড পশলে রেফারেন্স করা আইপিট_সেন্ট মডিউলটি একটি নিফটি সংযোজন, যদিও এটি কোনও নির্দিষ্ট আইপি বাদ দেওয়ার একই সূক্ষ্ম কারণ প্রদান করতে পারে না (যেমন আপনি বিভিন্ন - লোগো-উপসর্গ সেটিংস সহ পারেন) বা কোনও ট্র্যাক রাখতে পারেন টাইমস্ট্যাম্প সহ আক্রমণগুলির দীর্ঘ ইতিহাস। কনসার্টে উভয় কৌশল ব্যবহার করার জন্য অবশ্যই একটি ভাল ধারণা।
ইউকনডুড


4

তাকানো

/proc/net/ipt_recent/YOURNAME

যেখানে আপনার iptables নিয়মে আপনার নামটি আপনার নাম ব্যবহার করে - YOURNAME


কিছু ডিস্ট্রোজে (উদাহরণস্বরূপ দেবিয়ান) এর বৈধ পথটি হল:/proc/net/xt_recent/[list-name]
ইটাচি


1

আমি যা করি, উদাহরণস্বরূপ ইনপুট ঠিকানার স্পোফিংয়ের জন্য, চেইনটি সংজ্ঞায়িত করা হয় SPOOF_REJECT:

iptables -N SPOOF_REJECT
iptables -A SPOOF_REJECT -j LOG --log-prefix "Input spoof detected: "
iptables -A SPOOF_REJECT -j REJECT

যদি এই চেইনে প্যাকেটগুলি প্রতারিত হয় তবে তা প্রেরণ করুন:

iptables -A INPUT -i $EXT_DEV1 -s $INT_NET -j SPOOF_REJECT
iptables -A INPUT -i $EXT_DEV2 -s $INT_NET -j SPOOF_REJECT

এই লগ লাইনগুলি থেকে কেবলমাত্র আইপি অ্যাড্রেসগুলি পাওয়ার জন্য সিস্লোগলে একটি লাইন সন্ধান করার জন্য আপনি যে শ্রেণীর প্যাকেটগুলি ফেলেছেন বা প্রত্যাখ্যান করেছেন তার জন্য আপনি এই জাতীয় কিছু করতে পারেন period

প্রতিটি বিভাগের জন্য স্বতন্ত্র চেইনগুলি ব্যবহার করার সুবিধাটি হ'ল আপনার কনফিগারেশনটি আরও সোজা হয়ে যায় এবং আপনার iptablesকনফিগারেশনটি পড়া সহজ হয় । আপনি আরও এবং আরও নিয়ম যুক্ত করার সাথে সাথে আপনি খুশি হবেন যে আপনি নির্দিষ্ট বিভিন্ন কর্মের জন্য পৃথক চেইন ব্যবহার করেছেন।


ঠিক কীভাবে, আপনি স্পোফড প্যাকেটগুলি সনাক্ত করতে পারেন? আমার অভিজ্ঞতায় সাধারণ ক্ষেত্রে এটি অসম্ভব।
MarkR

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

1

"প্রশ্নটি হল: আমি কীভাবে অবরুদ্ধ আইপি ঠিকানাগুলি তালিকাভুক্ত করতে পারি?"

নিষিদ্ধ শৃঙ্খলা তৈরি করুন:

iptables -N BANNED
iptables -F BANNED

একটি লগিং চেইন তৈরি করুন:

iptables -N BANNEDLOG
iptables -F BANNEDLOG
iptables -A BANNEDLOG -j LOG --log-prefix "BANNED:" --log-level 6
iptables -A BANNEDLOG -j DROP

অন্যান্য অন্যান্য নিয়মের আগে INPUT চেইনে নিষিদ্ধ চেইনে জাম্প যুক্ত করুন

...
iptables -A INPUT -j BANNED
...

এখন নিষিদ্ধ চেইনে আইপ্যাড্রেসগুলি যুক্ত করুন:

flock -w 5 /var/lock/iptables -c 'iptables -A BANNED -s 140.130.20.202/32 -i eth0 -m comment --comment "2012-03-19 23:49:33 accesslog" -j BANNEDLOG'
etc...

আপনি এটিকে মন্তব্য বিকল্পগুলির সাথে একটি ডাটাবেসের মতো ব্যবহার করতে পারেন, সুতরাং আপনি জানতে পারবেন যে কখন এবং কেন ইত্যাদি ockষতগুলি যখন অনেকগুলি প্রক্রিয়া দ্বারা ঘন ঘন আপডেট করা হয় - তখন দেখা যায় যে iptables এর সাথে কোনও লক তৈরি করা নেই।

নিষিদ্ধ শৃঙ্খলে নিষিদ্ধ ঠিকানা এবং বিধিগুলি দেখতে:

iptables -S BANNED

সজ্জিত অনন্য আইপ্যাড্রেসগুলি দেখতে:

iptables -S BANNED | egrep -o '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+' | sort -u

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

10 বছর কাজ করার পরে, আমি আশা করি এটি শীঘ্রই সবার জন্য ব্যবহারের জন্য উপলব্ধ করা হবে। আমার কাছে বর্তমানে প্রায় 1.5 মিলিয়ন আইপি অ্যাড্রেস ইতিহাস এবং কয়েক হাজার মেল এবং এসএস আক্রমণের রিপোর্ট রয়েছে, নেটটি পরিষ্কার করতে সহায়তা করে। যদি আরও এটি ব্যবহার করে তবে আমি আশা করি এটি আরও বেশি প্রভাব ফেলবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.