ওপেনবিএসডি-তে কীভাবে আপত্তিজনক আইপি ঠিকানাগুলি ব্লক করবেন?


13

আমরা nginx লগ থেকে দেখতে পাচ্ছি যে সেখানে একটি আইপি অ্যাড্রেস আছে যে দুষ্ট কাজ করে।

আমরা কীভাবে এটি একটি pfআদেশ দিয়ে এবং তারপরে স্থায়ীভাবে স্থায়ীভাবে এটি দিয়ে আটকাতে পারি /etc/pf.log? আমরা কীভাবে x.x.x.x/24সেই আইপির জন্য একটি ব্লক করতে পারি ? এটি উদাহরণস্বরূপ: 1.2.3.4

আপডেট: না, দেখে মনে হচ্ছে ওপেনবিএসডি / / তে ফাইল অস্বীকার / অস্বীকার করে না। এবং এএফআইএইকে সেরা আপত্তিজনক আইপি অ্যাড্রেসগুলি ব্লক করার জন্য সেরা পরামর্শগুলি পিএফ ব্যবহার করছে।

# cd /etc 
# ls -la|egrep -i 'deny|allow'
# uname -a
OpenBSD foo.com 5.4 GENERIC.MP#0 amd64
# 

/ Etc ডিরেক্টরিতে আপনার কাছে কোন হোস্ট.ডেনী ফাইল আছে?
রাইকায়ো

উত্তর:


13

এটি করার সর্বোত্তম উপায় হ'ল একটি টেবিলের সংজ্ঞা দেওয়া এবং হোস্টগুলিকে ব্লক করার জন্য একটি নিয়ম তৈরি করা pf.conf:

table <badhosts> persist
block on fxp0 from <badhosts> to any

এবং তারপরে এটি থেকে আইপি অ্যাড্রেসগুলি গতিশীলভাবে যুক্ত / মুছুন:

$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T delete 1.2.3.4

অন্যান্য 'টেবিল' কমান্ডের অন্তর্ভুক্ত flush(সমস্ত অপসারণ), replaceএবং show। আরও man pfctlজন্য দেখুন।

আপনি যদি আরও স্থায়ী তালিকা চান তবে আপনি এটিকে একটি (বা আরও) ফাইলে রাখতে পারেন। ইন pf.conf:

table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on fxp0 from <badhosts> to any

আপনি আইপি ঠিকানার পরিবর্তে হোস্ট-নেম যুক্ত করতে পারেন। এর "টেবিল" বিভাগে দেখুন man pf.confএবং man pfctl

দ্রষ্টব্য : উপরের উদাহরণগুলি ধরে নেওয়া হয় যে ইন্টারনেট-মুখী ইন্টারফেসটি রয়েছে fxp0, দয়া করে আপনার সেটআপ অনুযায়ী পরিবর্তন করুন। এছাড়াও, মনে রাখবেন যে বিধিগুলি pf.confক্রমানুসারে মূল্যায়ন করা হয় এবং এটি প্রযোজ্য এটির শেষ মিলের নিয়মের জন্য blockবা passনিয়ম করে। এই নিয়মমাফিক সঙ্গে

table <badhosts> persist
block on fxp0 from <badhosts> to any
pass inet tcp from 192.168.0.0/24 to any port 80

এবং badhostsটেবিলে 1.2.3.4 এবং 192.168.0.10 যুক্ত করার পরে

$ pfctl -t badhosts -T add 1.2.3.4
$ pfctl -t badhosts -T add 192.168.0.10

1.2.3.4 এবং 192.168.0.10 থেকে সমস্ত ট্র্যাফিক ব্লক করা হবে তবে দ্বিতীয় হোস্ট অন্যান্য মেশিনের বন্দরে 80 এর সাথে সংযোগ স্থাপন করতে সক্ষম হবে কারণ passনিয়মটি মেলে এবং blockনিয়মটিকে ওভাররাইড করে ।


4
ব্লক বিধিটি আরও সহজে হিসাবে নির্দিষ্ট করা যেতে পারে block in from <badhosts>। আপনার ইন্টারফেস বা to anyঅংশটি নির্দিষ্ট করার দরকার নেই ।
কুর্তেম

4

অন্যান্য উত্তরগুলি থেকে এটি পরিষ্কার নয় যে আপনি যে বাডহোস্টগুলি ব্লক করার চেষ্টা করছেন তার প্রকৃত সারণী তৈরি করতে হবে।

এটি পিএফ.কনফ ফাইলে যায়, উদাহরণস্বরূপ আমার কাছে দুটি ব্যাডগুই ফাইল রয়েছে, 1 এবং 2 ব্যাডগুই 1 তাদের জন্য যারা আসে এবং যান এবং ব্যাডগুই 2 স্থায়ী কালো তালিকাভুক্তির জন্য।

সুতরাং আপনার যদি কোনও সময়ের জন্য উপদ্রব হয় এমন একজনের আইপি যুক্ত করতে হয় তবে সেগুলি ব্যাডগুই 1 এ যুক্ত করুন।

এখন, আপনার pf.conf ফাইলে আপনার এটি রয়েছে। আমার উদাহরণে আমি এন 1 ব্যবহার করি কারণ এটি আমার ওয়াইফাই ইন্টারফেস। আপনার নেটওয়ার্কটি কখনই ইন্টারফেসে আসে সেটিকে সেট করুন।

table <badhosts> persist file "/etc/badguys1" file "/etc/badguys2"
block on en1 from <badhosts> to any

এখন আপনি ব্যাগগুই 1 এ অস্থায়ী ঠিকানা যুক্ত করতে পারেন। (ব্যাডহোস্ট নয়, এটি টেবিলগুলির জন্য একটি নাম)

sudo pfctl -t badguys1 -T add 185.130.5.160

1 table created.
1/1 addresses added.

যদিও এটি বলে যে 1 টি টেবিল তৈরি হয়েছে - এটি আসলে আইপি যুক্ত করে, একটি নতুন টেবিল তৈরি করছে না। এখন আপনি যদি ব্যাডগুই 1 তে সন্ধান করেন তবে নতুন আইপি দেখতে পাবেন।

sudo pfctl -t badhosts -T show

3

আমি ওয়েবসাইট থেকে এই তথ্য পেয়েছি এবং সম্পর্কে আমার খারাপ জ্ঞানের জন্য আমাকে ক্ষমা করে দিচ্ছি OpenBSD, তবে এটি এখানে যায় goes এই URL টি একবার দেখুন । এটি অনুসারে, এটিতে একটি আইপি ব্লক করতে বলা হয়েছে:

echo '123.123.123.123' >> /etc/pf.blocked.ip.conf

তারপরে আপনি ফায়ারওয়ালটি পুনরায় চালু করবেন:

pfctl -d
pfctl -e -f /etc/pf.conf

অথবা, ফায়ারওয়াল প্রকারটি পুনরায় আরম্ভ না করে যোগ করতে:

pfctl -t blockedips -T add 111.222.333.444

এটি যুক্ত করা হয়েছে কিনা তা পরীক্ষা করতে এখন টাইপ করুন:

pfctl -t blockedips -T show

আপডেট: সম্ভবত এটি সাহায্য করবে।

  • Vi তে নিম্নলিখিত ফাইলটি খুলুন:

    vi /etc/pf.conf

  • নিম্নলিখিত কোডের লাইন যুক্ত করুন:

    table <blockedips> persist file "/etc/pf.blocked.ip.conf" ext_if="bge0" # interface connected to internet

  • এই বিন্দুর পরে, আমি ফায়ারওয়ালটি পুনরায় চালু করার এবং আইপিটি ব্লক করে টাইপ করে ব্লক করা হয়েছে তা নিশ্চিত করার চেষ্টা করব:

    pfctl -d
    pfctl -e -f /etc/pf.conf
    pfctl -t blockedips -T show
    

1
আমার মনে হয় টেবিলটি ব্লক করার জন্য সেট করা দরকার, তবে সেই অংশটি কীভাবে স্পষ্ট নয়, আমি এটি অনুসরণ করেছি, তবে আইপি এখনও অবরুদ্ধ নয়
somelooser28533

আমি কীভাবে এটি করতে পারি তা সন্ধান করতে পারি কিনা তা আমাকে দেখতে দিন।
রাইকায়ো

2
Pf.conf পুনরায় লোড করার জন্য পিএফ অক্ষম এবং পুনরায় সক্ষম করার দরকার নেই। pfctl -f /etc/pf.confযথেষ্ট।
জেড লফ

1
(খারাপ) হাওটোগুলি চিন্তাকে নিরুৎসাহিত করে এবং অনুলিপি করতে উত্সাহ দেয়। পড়ুন man pf.conf, আপনি ওপেনবিএসডি ম্যান পেজগুলি কতটা ভাল তা দেখে অবাক হবেন। এছাড়াও, pf.confফাইলগুলি সামগ্রিকভাবে পড়তে হবে (যে নিয়মগুলি প্রয়োগ করা হয় সেই ক্রমটি অত্যন্ত গুরুত্বপূর্ণ) তাই একক লাইন অনুলিপি করা এবং আটকানো সাধারণত একটি খারাপ ধারণা। ফাইলটি এবং tableনিয়মটি তৈরি করুন (এটি অনেকটা সঠিক) তবে হয় আপনি নিজের পুরো pf.confফাইলটি ভাগ করে নিন বা ফাইলের মধ্যে উপযুক্ত blockনিয়ম এবং এর অবস্থান নির্ধারণ করা আপনার উপর নির্ভর করবে।
জেড লফ

1
@ryekayo যদি না আপনি অন্তর্ভুক্তি ন্যায্যতা করতে ext_if="bge0"ম্যাক্রো এবং কেন আপনি একটি ব্লক নিয়ম না থাকে তাহলে আমি হবে আপনার উত্তর সমালোচনা, কারণ এটি অসম্পূর্ণ, (অর্থাত না একটি সঠিক উত্তর) হল প্রচেষ্টা আপনি এটা পুরা নির্বিশেষে। এছাড়াও হাওটিও সম্পর্কে আমার মন্তব্য ওপি-তে সম্বোধন করা হয়েছিল, আপনি নয় (ক্ষমা চাই, আমার এটি পরিষ্কার করা উচিত ছিল)।
জেড লফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.