লিনাক্সে ডোমেন ফিল্টারিং কীভাবে করবেন?


12

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


আপনি কী কারণে বাধা দেওয়ার চেষ্টা করছেন? আপনি কি আউটগোয়িং / ইনকামিং এইচটিটিপি বা এসএমটিপি বা এনটিপি ফিল্টার করার চেষ্টা করছেন? বিভিন্ন পরিস্থিতিতে বিভিন্ন পরিস্থিতিতে ব্যবহার করা যেতে পারে।
ক্রিক

1
পরামর্শ আপনি সাহায্য পারে দম্পতি আছে denyhosts.sourceforge.net/faq.html এবং fail2ban.org/wiki/index.php/Main_Page
রমেশ

1
@ জোস্টেন আদর্শভাবে আপনি স্কুইডের মতো এইচটিটিপি প্রক্সি ব্যবহার করবেন । ডোমেনের নামগুলিতে ব্লক iptablesকরা কাজ করা যেতে পারে তবে এটি ডাইসি হতে পারে
ক্রিক

উত্তর:


8

আপনি যদি iptables নিয়মগুলির সাথে নাম রেজোলিউশন ব্যবহার করে ট্র্যাফিকটি বাদ দেন তবে সেই নিয়মটি তৈরি করার সময় নামগুলি সমাধান করা হবে। কিছু পরিবর্তন হলে আপনি নিয়মটি আর বৈধ হবে না। এটি সমাধান হতে পারে (কোনও বিউটিফুল নয় ...):

# iptables -I FORWARD -p udp --dport 53 -m string --hex-string "|03|www|08|facebook|03|com" --algo bm -j DROP

ল্যানের ভিতরে অন্য একটি হোস্ট থেকে:

# host www.facebook.com
www.facebook.com A record not found, try again

মূলত, আপনি প্রতিটি ডিএনএস প্যাকেটকে বলছেন ( udp/53) যেগুলি হেক্সাডেসিমাল স্ট্রিংটি www.facebook.com toবাদ পড়বে। নোট করুন যে এটি নামের রেজোলিউশনটি ফেলে দেবে, এবং এটি নিজেই http ট্র্যাফিক নয়।

পাইপ ( |03|www|08|facebook|03|com) দিয়ে পৃথক করা হেক্স নম্বরগুলি .ডিএনএস কোয়েরিতে ডট সিমবলের উপস্থাপনা । এটি বলবে যে নীচের চ্যারিটারগুলির মধ্যে কতগুলি এফকিউডিএন (হোস্ট, ডোমেন, শীর্ষ-স্তরের ডোমেন) এর প্রতিটি অংশকে উপস্থাপন করবে উদাহরণ:

হোস্ট: mail.google.com

হেক্স প্রতিনিধিত্ব: 04 6d 61 69 6c 06 67 6f 6f 67 6c 65 03 63 6f 6d

"চাক্ষুষ উপস্থাপনা: 04mail06google03com

Tcpdump দিয়ে প্যাকেটটি পাওয়া:

# tcpdump -i eth0 -X dst port 53

15:50:11.643672 IP xxx.xxx.xxx.xxx:xxx > ns4.google.com.domain: 16530 A? mail.google.com. (33)
        0x0000:  4500 003d 779a 4000 4011 b390 c949 4742  E..=w.@.@....IGB
        0x0010:  d8ef 260a 8424 0035 0029 0fc0 4092 0000  ..&..$.5.)..@...
        0x0020:  0001 0000 0000 0000 046d 6169 6c06 676f  .........mail.go
        0x0030:  6f67 6c65 0363 6f6d 0000 0100 01         ogle.com.....

কিন্তু মনে রেখ:

  • আপনি যদি আরও নির্দিষ্ট ট্র্যাফিগ যেমন এসএমটিপি, এফটিপি বা HTTP ফিল্টার করার চেষ্টা করছেন তবে সেই প্রোটোকলের একটি প্রক্সি আরও ভাল হওয়া উচিত।
  • আপনি ডিএনএস কোয়েরিগুলি "হাইজ্যাকিং" করছেন এবং ডোমেনটি ব্লক করছেন না। ব্যবহারকারীরা যে বোবা নয়;)

সূত্র: এখানে এবং এখানে


আলগো টাইপ কেন বিএম?
গৌরব কানসাল

অ্যালগরিদম বুইয়ার মুর - en.wikipedia.org/wiki/...

4

হতে পারে আপনার প্রশ্নের উত্তর খুব দেরিতে হয়েছে, তবে সম্প্রতি আমার একটি অনুরূপ সমস্যা সমাধান করা দরকার এবং গুগল আমাকে এখানে এনেছে

ব্যর্থ অনুসন্ধানের পরে আমি সিতে একটি ছোট্ট ইউটিলিটি লিখেছিলাম যা ডিএনএস-প্রতিক্রিয়াগুলিকে বাধা দেয়, এতে থাকা ডোমেন নামকে প্রদত্ত রেইগেক্সের সাথে তুলনা করে এবং মেলে আইপি অ্যাড্রেসের তালিকা করে lists এটি এখানে: https://github.com/vmxdev/sidmat/

আপনার নিজের ডিএনএস সার্ভার সেট আপ করার দরকার নেই, ইউটিলিটি কোনও সার্ভার থেকে ডিএনএস প্রতিক্রিয়া ধরতে পারে

উদাহরণস্বরূপ, ফেসবুক.কম (এবং সাবডোমেনস) আইপি অ্যাড্রেসগুলি দেখতে এখনই চালানো যেতে পারে

# ./sidmat eth0 "^facebook\.com$|\.facebook\.com$"
173.252.120.6
...

যেখানে eth0 রাউটারে নেটওয়ার্ক ইন্টারফেস (বা যেখানে ডিএনএস প্রতিক্রিয়াগুলি পাস হয়)

আপনি এটিকে সহজেই আইপটিবলগুলির সাথে সংহত করতে পারেন (বা আইপসেটের সাথে আইপেটেবলস)

কিন্তু:

  • ইউটিলিটি সত্যই সহজ। এটি অনেকগুলি চেক সম্পাদন করে না, সুতরাং আক্রমণকারী এটির সাথে প্রতারণা করতে পারে
  • ব্যবহারকারীরা রেজোলিউশনের জন্য ডিএনএস ব্যবহার না করলে এই কৌশলটি অকেজো

3

কালো তালিকাভুক্ত করার সবচেয়ে সহজ উপায় হ'ল সম্ভবত ডিএনএসম্যাস্ক ব্যবহার করা

ইনস্টল করুন dnsmasq

$ sudo apt-get install dnsmasq

এবং এই লাইন যুক্ত করুন /etc/dnsmasq.conf

address=/facebook.com/127.0.0.1

এটি ফেসবুক.কম এবং এর সমস্ত সাবডোমেনগুলি ব্লক করবে ।

দ্রষ্টব্য: উবুন্টুর জন্য এই পোস্টটি দেখুন


1

লোকাল ক্যাশে বাইন্ড 9 চালানো থাকলে এটি প্রায়শই উপলব্ধি হয় dummy-block

zone "facebook.com" { type master; file "dummy-block"; };

এবং dummy-blockফাইল:

$TTL    604800
@       IN      SOA     localhost. root.localhost. (
                          2         ; Serial
                     604800         ; Refresh
                      86400         ; Retry
                    2419200         ; Expire
                     604800 )       ; Negative Cache TTL
;
@       IN      NS      localhost.
@       IN      A       127.0.0.1
*       IN      A       127.0.0.1   

আরো দেখুন:

BIND9 এবং আইএসসি-, DHCP চলমান সঙ্গে facebook.comউদাহরণ।

ওয়েব বিজ্ঞাপন ব্লক করার জন্য একটি সাধারণ ডিএনএস ভিত্তিক পদ্ধতি

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