লিনাক্স আইপিটাবল ব্যবহার করে, টরেন্ট বা কোনও পি 2 পি প্রোটোকল কীভাবে ব্লক করবেন?


17

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

সমস্যাটি হচ্ছে, আমরা ওয়েবমিন প্ল্যাটফর্মটি ব্যবহার করে উবুন্টু 8.04 এলটিএসে স্থানান্তরিত হয়েছি।

উত্তর:


14

পোর্ট ভিত্তিক পি 2 পি ব্লকিং খুব কমই 100% সমাধান। আপনি যা বিবেচনা করতে চাইতে পারেন তাকে L7 ফিল্টারিং (স্তর 7 ফিল্টারিং) বলা হয়। মূলত, লিনাক্সের একটি বাস্তবায়ন রয়েছে যা ভাল এবং কোনটি খারাপ তা নির্ধারণ করার জন্য সমস্ত প্যাকেটের সাথে রেজেক্স ভিত্তিক মিল করে।

http://l7-filter.sourceforge.net/

এটি আপনাকে স্কাইপ সহ সকল প্রকারের সামগ্রী ব্লক করতে সহায়তা করতে পারে।

http://l7-filter.sourceforge.net/protocols

দয়া করে নোট করুন: প্যাকেটগুলি পরিদর্শন ও ফিল্টার করার জন্য রেজেক্স ম্যাচিং হ'ল সংস্থান নিখরচায় যে কোনও সিস্টেম DDOS আক্রমণে আরও বেশি ঝুঁকিপূর্ণ করে তোলে, পছন্দের পদ্ধতিটি হ'ল iptables এর মধ্যে প্রোটোকলকে লক্ষ্য করে।


11

একমাত্র যথাযথ প্রযুক্তিগত সমাধান হ'ল সমস্ত ট্রাফিক এমন একটি প্রক্সি দিয়ে চলছে যা ফ্লাইতে এসএসএল ট্র্যাফিকটি ডিক্রিপ্ট করবে এবং তারপরে পাসিং ট্র্যাফিকের উপর লেয়ার 7 ফিল্টারিং প্রয়োগ করবে।

এই জাতীয় পণ্যগুলি বেশ ব্যয়বহুল কারণ সাধারণত তাদের পিছনে ইঞ্জিনিয়ারদের একটি বড় দল থাকে যা প্যাকেটগুলির শ্রেণিবদ্ধ করার জন্য প্রয়োজনীয় বিধিগুলি আপডেট করে।

আপনি ইতিপূর্বে উল্লেখ করা আইপিপি 2 পি বা এল 7-ফিল্টার হিসাবে আইপ্যাবগুলি মডিউলগুলির সাথে নিজেকে কিছুটা সহায়তা করতে পারেন তবে তারা এনক্রিপ্ট হওয়া ট্র্যাফিক ধরবে না।

যাইহোক, প্রযুক্তি সামাজিক সমস্যাগুলির জন্য খুব কমই সমাধান হয়ে থাকে, এবং ওপেন কর্পোরেট / পাবলিক / p2p এর জন্য যে কোনও নেটওয়ার্কই একটি সামাজিক সমস্যা। আপনার ব্যবহারকারীদের সাথে কথা বলার চেষ্টা করুন, উপযুক্ত নীতিমালা তৈরি করতে এবং তাদের নিষেধাজ্ঞাগুলি প্রয়োগ করার জন্য আপনার সংস্থাটি পান। আমার অভিজ্ঞতায় এটি আপনার ব্যবহারকারীদের সাথে ধ্রুবক প্রযুক্তির অস্ত্রের চেয়ে অনেক ভাল কাজ করে।


আর কীভাবে প্রক্সি সার্ভারগুলি ফ্লাইটে এসএসএল ডিক্রিপ্ট করে?
ডেভিড প্যাশলে

খেয়াল করুন যে এসএসএল প্রক্সি ব্যবহার কোনও কোনও চুক্তিতে নিষিদ্ধ
ব্যাসার্ধ

ডেভিড পাশলে, তারা সেখানে সাইটটির পরিবর্তে শংসাপত্র পাঠিয়েছে। যাতে তারা এখন ব্যক্তিগত হয়, তারপরে তারা সত্য সাইটের কাছে অনুরোধটি ফরোয়ার্ড করে।
ব্যাসার্ধ

1
এতে জড়িত অন্য একটি পদক্ষেপটি এসএসএল প্রক্সিটির জন্য একটি বিশ্বস্ত রুট শংসাপত্রটি ঠেলে গ্রুপ নীতি ব্যবহার করছে যাতে এটি বিশ্বস্ত শংসাপত্রগুলি জাল করতে পারে।
জ্যান লিংস

1
এটি কেবল একটি কদর্য সমাধান ... আপনার ব্যবহারকারীদের সাথে কথা বলুন ...
এন্টোইন বেনকামাউন

2

সাধারণ ট্র্যাকার পোর্টগুলি যেমন: 6881-6889 2710 6969 ব্লক করা ভাল অনুশীলন

তবে এটি 80 বন্দরে (যেমন tpb.tracker.thepiratebay.org) বাঁধা ট্র্যাকারদের বিরুদ্ধে সহায়তা করবে না। সুতরাং সমস্ত ব্লক করা, তবে 80,443,22 সাহায্য করবে না।

ipp2p হ'ল আমি জানি সেরা সমাধান। ডকুমেন্টেশন / ব্যবহার বিভাগ দেখুন

L7- ফিল্টার সম্পর্কে। বিটোরেন্ট.প্যাট মন্তব্যতে বলেছেন:

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

বিএসডি সিস্টেমে পিএফ প্রতি সেকেন্ডের রাজ্যের সংখ্যা বা সংযোগের উপর নির্ভর করে ক্রিয়া প্রয়োগ করতে পারে, তাই আপনি বিটোটেন্ট-এর মতো ট্র্যাফিককে ট্যাগ করতে পারেন, কারণ এটি দ্রুত সংযোগ তৈরি করে। Iptables ম্যানুয়াল পড়ুন, এটি এটিও করতে পারে।



1

এর সহজ সমাধানটি হ'ল আপনি যা অনুমতি দিতে চান তা বাদ দিয়ে সমস্ত বহির্গামী পোর্টকে ব্লক করা।

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

ব্যবহৃত টিসিপি পোর্টের উপর ভিত্তি করে আপনার রাউটারে কোনও ধরণের আইপি অ্যাকাউন্টিং সেট আপ করা আপনার পক্ষে দরকারী হতে পারে এবং তারপরে কোন পোর্টটি সবচেয়ে বেশি ব্যবহৃত হয় তা খুঁজে বের করতে পারেন। এটি যাচাইয়ের জন্য আইপিটিফ একটি দরকারী সরঞ্জাম।

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


1

আপনি পি 2 পি সম্পূর্ণরূপে অবরুদ্ধ করতে পারবেন না - আপনি যদি কেবল "ভাল" টিসিপি 80, 443, 22 পোর্টগুলি অনুমতি না দেন ... এবং এমনকি এটি কম্পিউটার-মনের ধরণের যাদের ভিপিএন এবং অনুরূপ জিনিস রয়েছে তাদের পক্ষে সাধারণত পর্যাপ্ত।


p2p সমস্যা এবং অনেক কনফিগারেশন ছাড়াই http এবং https পোর্ট ব্যবহার করে কাজ করে
কাজিমিয়ারাস আলিউলিস

ধীরে ধীরে একে বলা হয়। গত কয়েক বছর ধরে আরও বেশি বেশি পি 2 পি অ্যাপ্লিকেশন হয় হয় 80 বন্দরটির দিকে এগিয়ে চলেছে (প্রায়শই এনক্রিপ্ট করা হয়) বা খোলা রয়েছে এমন একটি সন্ধানের জন্য বন্দরগুলির মাধ্যমে স্ক্যান করবে। অ্যাপ্লিকেশন স্তর স্নুপিং (গভীর প্যাকেট পরিদর্শনের একটি নির্দিষ্ট ফর্ম) সরাসরি ব্যবহারটি ধরবে, তবে ট্র্যাফিকের সুরক্ষা দেওয়া হচ্ছে না তা অগত্যা।
স্কট প্যাক

1
@ প্যাকস: আইএসপিগুলি প্যাকেট পরিদর্শন করার কারণে আরও বেশি সংখ্যক বিটটরেন্ট ক্লায়েন্টগুলি পুরো এনক্রিপশন এবং এমনকি অন্য প্রোটোকল হিসাবে ছদ্মবেশটি সরবরাহ করে।
জ্যান লিংস

@ গ্রায়েটি - হুবহু, তবে ভিপিএন + প্রক্সি কীভাবে করবেন তা জেনে তাদের একদম উন্নত ব্যবহারকারী হওয়া দরকার, এবং এই ধরণের লোকেরা সম্ভবত টরেন্টকে কাজ না করার জন্য যথেষ্ট স্মার্ট।
জাঙ্গোফান

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

1

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

মনে রাখবেন সমস্ত টরেন্ট ট্র্যাফিক খারাপ নয়, এর কিছু ভাল! :-)


1

বিট টরেন্ট সিডিং এবং পিয়ার আবিষ্কারকে ছাড়ার জন্য এই আইপটিবল ফরোয়ার্ডিং বিধিগুলি ব্যবহার করুন। তারা আমার জন্য কাজ করেছে।

#Block Torrent
iptables -A FORWARD -m string --algo bm --string "BitTorrent" -j DROP
iptables -A FORWARD -m string --algo bm --string "BitTorrent protocol" -j DROP
iptables -A FORWARD -m string --algo bm --string "peer_id=" -j DROP
iptables -A FORWARD -m string --algo bm --string ".torrent" -j DROP
iptables -A FORWARD -m string --algo bm --string "announce.php?passkey=" -j DROP
iptables -A FORWARD -m string --algo bm --string "torrent" -j DROP
iptables -A FORWARD -m string --algo bm --string "announce" -j DROP
iptables -A FORWARD -m string --algo bm --string "info_hash" -j DROP

নিয়মকানুন কার্যকর, কাউন্টার ইনক্রিমেন্টিং সুন্দরভাবে হিট করুন।

# iptables -vL -n

Chain FORWARD (policy ACCEPT 16403 packets, 6709K bytes)
 pkts bytes target     prot opt in     out     source               destination
    8   928 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "BitTorrent" ALGO name bm TO 65535
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "BitTorrent protocol" ALGO name bm TO 65535
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "peer_id=" ALGO name bm TO 65535
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  ".torrent" ALGO name bm TO 65535
    0     0 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "announce.php?passkey=" ALGO name bm TO 65535
  582 52262 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "torrent" ALGO name bm TO 65535
   10  1370 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "announce" ALGO name bm TO 65535
   31  4150 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0            STRING match  "info_hash" ALGO name bm TO 65535

ভাগ করে নেওয়ার জন্য ধন্যবাদ. ফিল্টারিং কিভাবে কাজ করে? যদি স্ট্রিংটি BitTorrentইউআরএলটিতে পাওয়া যায় তবে এটি বাদ দেওয়া হবে? এটি কেবলমাত্র প্রাথমিক টরেন্ট ফাইলটি ডাউনলোড করা রোধ করার জন্য, তবে একবার টরেন্ট ফাইলটি ডাউনলোড হয়ে গেলে এটি বিটোরেন্ট ট্র্যাফিককে ব্লক করবে না, সঠিক?
হিউম্যান

0

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


0

আপনি ip2p ব্যবহার করতে পারেন, যেমন পূর্বে উল্লিখিত হয়েছে। এটি সম্পূর্ণরূপে জিনিসগুলি ব্লক করতে যাচ্ছে না। আদর্শভাবে, আপনার বিশেষভাবে ব্যবহৃত হয় না এমন প্রতিটি বন্দর এবং ip2p ব্যবহার করা উচিত fire একটি নিখুঁত সমাধান নয়, তবে আপনি সম্ভবত সবচেয়ে ভাল সমাধান করতে পারেন।


0

আপনি স্ট্রেট পোর্ট ব্লকিং ব্যবহার করতে পারবেন না। কয়েকটি বিকল্প আছে। স্তর 7 ফিল্টারটি ধীর, বিশ্বাসযোগ্য নয় এবং আমার জ্ঞানের সাথে আর রক্ষণাবেক্ষণ করা হয় না।

আইপিপি 2 পি ঠিক আছে তবে ওপেনডিডিআই দ্বারা সুপারিশ করা হয়েছিল, যা এখন স্পনসর আইপোক (যারা পিএসিই বিক্রি করেন, বাণিজ্যিক সমতুল্য) এনডিপিআই এই সামান্য পথটির যৌক্তিক উপসংহার হিসাবে উপস্থিত হয়: http://www.ntop.org/products/ ndpi /

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


0

নীচে আমার iptables নিয়ম সেট আছে। এটি একটি কবজির মতো কাজ করে। আমি একটি https স্বচ্ছ ইন্টারসেপ্ট প্রক্সি তৈরি করেছি এবং সেই প্রক্সি সার্ভারের মাধ্যমে সমস্ত ট্র্যাফিক প্রেরণ করেছি।

এই iptables নিয়মগুলি ব্যবহার করে, আমি নেটওয়ার্কটি নিয়ন্ত্রণ করতে পারি।

  • 2086, 2087, 2095 পোর্টগুলি খোলা রয়েছে কারণ আমরা ডাব্লুএইচএম সিপিএনেল এবং সিপেনেল ওয়েব মেল ব্যবহার করি।
  • 8080 অতিরিক্ত ওয়েব সার্ভারের জন্য।
  • 192.168.2.0 স্থানীয় নেটওয়ার্ক।

আইপিটাবলস বিধি:

#Generated by iptables-save v1.4.8 on Tue Mar 10 15:03:01 2015
*nat
:PREROUTING ACCEPT [470:38063]
:POSTROUTING ACCEPT [9:651]
:OUTPUT ACCEPT [1456:91962]
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.2.1:3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.2.1:3127
-A PREROUTING -i eth1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
-A PREROUTING -i eth1 -p tcp -m tcp --dport 443 -j REDIRECT --to-ports 3127
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.2.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Tue Mar 10 15:03:01 2015
# Generated by iptables-save v1.4.8 on Tue Mar 10 15:03:01 2015
*filter
:INPUT ACCEPT [2106:729397]
:FORWARD ACCEPT [94:13475]
:OUTPUT ACCEPT [3252:998944]
-A INPUT -p tcp -m tcp --dport 3127 -j ACCEPT
-A FORWARD -m string --string "BitTorrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "BitTorrent protocol" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "peer_id=" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string ".torrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce.php?passkey=" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "torrent" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "info_hash" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "get_peers" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "announce_peer" --algo bm --to 65535 -j DROP
-A FORWARD -m string --string "find_node" --algo bm --to 65535 -j DROP
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 8080 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2086 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2087 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 2095 -j ACCEPT
-A FORWARD -s 192.168.2.0/24 -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -s 192.168.2.0/24 -p udp -m udp --sport 1024:65535 --dport 1024:65535 -j REJECT --reject-with icmp-port-unreachable
COMMIT
# Completed on Tue Mar 10 15:03:01 2015
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.