ইউএফডাব্লু দিয়ে রেট সীমাবদ্ধকরণ: সীমাবদ্ধতা সীমাবদ্ধ


22

ইউএফডাব্লিউর ম্যান পেজ উল্লেখ করেছে যে এটি আমার জন্য সীমাবদ্ধ iptables রেট সেটআপ করতে পারে:

ufw সংযোগ হার সীমাবদ্ধ সমর্থন করে, যা ব্রুট ফোর্স লগইন আক্রমণগুলির বিরুদ্ধে সুরক্ষার জন্য কার্যকর। ufw সংযোগগুলি অস্বীকার করবে যদি কোনও আইপি ঠিকানা গত 30 সেকেন্ডে 6 বা ততোধিক সংযোগ শুরু করার চেষ্টা করে। বিশদ জানতে http://www.debian-administration.org/articles/187 দেখুন । সাধারণ ব্যবহার হ'ল:

     ufw limit ssh/tcp

দুর্ভাগ্যক্রমে এটি হ'ল সমস্ত নথি যা আমি খুঁজে পেতে পারি। আমি ইউএফডাব্লুয়ের সাথে লেগে থাকতে চাই, এবং আরও জটিল iptables কমান্ড (জিনিসগুলিকে "জটিল" না রাখতে) ব্যবহার করব না।

আমি কীভাবে 30 সেকেন্ডে 80 থেকে 20 সংযোগে বন্দরে সমস্ত আগত (তাই বহির্গামী নয়) ট্র্যাফিক সীমাবদ্ধ করতে ইউএফডাব্লু ব্যবহার করব? 30000 থেকে 30005 পোর্টের জন্য সীমাবদ্ধকরণের হার আমি কীভাবে অক্ষম করব? সমস্ত পোর্টের জন্য কি রেট সীমাবদ্ধতা ডিফল্টরূপে সক্ষম করা হয়েছে?

উত্তর:


21

ইউএফডাব্লুটি "জটিল" হিসাবে ডিজাইন করা হয়েছে, যার ক্ষেত্রে এই ক্ষেত্রে সংযোগগুলি সীমাবদ্ধ তার হারের বিশদগুলির উপর আপনার নিয়ন্ত্রণ নেই। আপনি যদি ইউএফডাব্লুটির পাইথন উত্সটি খনন করতে চান তবে কীভাবে এটি টুইট করবেন তা আপনি খুঁজে পেতে পারেন। উপযুক্ত তথ্যটি (আমার উবুন্টু 10.04 সিস্টেমে) ইন/usr/share/pyshared/ufw/backend_iptables.py

সময়সীমার বিষয়টিকে একপাশে রেখে, অতএব, আপনার দ্রুত-আগুন সম্পর্কিত প্রশ্নের উত্তর এখানে রয়েছে।

  1. 10.10.10.0/24 ধরে নেওয়া আপনার স্থানীয় নেটওয়ার্ক, এটি 80 / tcp ইনকামিং পোর্টে ডিফল্ট সীমাবদ্ধ বিধি প্রয়োগ করে:

    ufw limit proto tcp from any port 80 to 10.10.10.0/24
    
  2. এবং 3. রেট সীমাবদ্ধতা ডিফল্টরূপে চালু হয় না। আপনি যে রেঞ্জটি চান তা ব্যতীত এটি প্রতিটি (গন্তব্য) বন্দরে যুক্ত করতে, এই নিয়মটি ব্যবহার করুন। মনে রাখবেন যে বিধিগুলি (এমনকি ব্যাপ্তিগুলির সাথেও) পারমাণবিক ইউনিট এবং আলাদা হওয়া যায় না। আপনি, উদাহরণস্বরূপ, কোনও বন্দরগুলির জন্য একটি বিধি যুক্ত করতে পারবেন না, তবে deleteএটি সরিয়ে ফেলার জন্য নির্দিষ্ট ব্যাপ্তির জন্য একটি (অস্তিত্বহীন) বিধি যুক্ত করতে পারবেন না । limitহয়, এটি একটি গ্রহণযোগ্য যুক্তি ufw defaultনয়।

    ufw limit from any to any port 0:29999,30006:65535
    

এর অর্থ কী এই হার কখনই সেট করা যায় না?
টম

2
উত্স হ্যাকিং ছাড়া না, অন্তত ইউএফডাব্লু 0.30pre1-0ubuntu2 এর জন্য নয়, যা উবুন্টু 10.04 এর জন্য বর্তমান। বর্তমান উত্সের জিনিসগুলির চেহারা থেকে , এটি পরিবর্তিত হয়নি। তবে আপনি /etc/ufw/ after.rules (বা /etc/ufw/befire.rules) এ iptables নিয়ম রাখতে পারেন এবং সেগুলিও ব্যবহৃত হবে। দেখুন মানুষ ufw-কাঠামোর আরও তথ্যের জন্য।
বনসাইভাইকিং

@ বনসাইভিকিং এটি কী প্রতিক্রিয়াযুক্ত iptable, যদি হ্যাঁ হয় তবে iptable ufw এর ব্যাকএন্ড হয়।
নালপয়েন্টার

6

আগের পোস্টে উল্লিখিত হিসাবে আপনি ইউজারআরুলস কাস্টমাইজ করতে পারেন। আমার আমার এসএমটিপি সংযোগের হারের সীমা 6 সেকেন্ডে 12 টি সংযোগের প্রয়োজন। আমি নীচে দেখানো হিসাবে একটি নিয়ম যুক্ত করেছি। দ্রষ্টব্য: এটি ডিফল্টরূপে 30 সেকেন্ডে 6 টির সীমাবদ্ধ বিধি যুক্ত করে

ufw limit smtp

এবং আমি /lib/ufw/user.rules সম্পাদনা করেছি (আমি এই ফাইলের একটি কাস্টম অনুলিপি অন্যান্য টুইটের সাথে রাখি) নীচে দেখানো হয়েছে ...

### tuple ### limit tcp 25 0.0.0.0/0 any 0.0.0.0/0 in
-A ufw-user-input -p tcp --dport 25 -m state --state NEW -m recent --set
-A ufw-user-input -p tcp --dport 25 -m state --state NEW -m recent --update --seconds 6 --hitcount 12 -j ufw-user-limit
-A ufw-user-input -p tcp --dport 25 -j ufw-user-limit-accept

আমি / ইত্যাদি / ইউএফডাব্লুতে ইউজারআরুলস পেয়েছি
অটো ক্যানেলিস

5

রেট সীমাটি ইউএফডব্লিউ রুলস ফাইলে পরিবর্তিত হয়ে যায় যা পাওয়া যাবে /lib/ufw/user.rules। ডিফল্টরূপে সমস্ত বন্দরগুলির জন্য সীমাবদ্ধ নেই। আপনার প্রতিটি বন্দর ম্যানুয়ালি যুক্ত করা উচিত বা ইউজারআরুলস ফাইল সম্পাদনা করে।


1

ইউএফডাব্লু এর লিমিট বৈশিষ্ট্যটি ব্যবহারের সম্ভাব্য অনিচ্ছাকৃত পরিণতিগুলি উল্লেখ করা সার্থক।

ধরুন, প্রথম ufw নিয়ম হিসাবে কোনও 22 / tcp বন্দরে কম্বল সীমা স্থাপন করেছে:

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     LIMIT IN    Anywhere                  
...

এই ধারনা সহ যে সীমাবদ্ধতার অধীনে চলমান যে কোনও সংযোগগুলি এখনও ufw বিধি অনুসরণ করে এবং শেষ পর্যন্ত "অস্বীকার (আগত)" এর ডিফল্ট নীতি অনুসরণ করে ফিল্টার করা যেতে পারে।

কমপক্ষে 0.35 বয়সের জন্য, অনুমানটি ভুল হবে। প্রকৃতপক্ষে লিমিট ইন যুক্তি সীমা মাপদণ্ড দ্বারা প্রত্যাখ্যান করা কোনও ইনপুট তত্ক্ষণাত গ্রহণ করে।

সাইয়েডোকোডে, সীমাবদ্ধ যুক্তিটি log

if CONDITION then DENY else ACCEPT

অন্য ufw নিয়মগুলি যুক্তিযুক্ত বলে মনে হচ্ছে:

if CONDITION then (DENY|ACCEPT) else continue to next rule

আমি ব্যক্তিগতভাবে খুঁজে পেয়েছি যে ইউএফডাব্লু লিমিটেডের জন্য অপ্রত্যাশিত আচরণ হতে পারে, যা আমি কেবল অপ্রত্যাশিতভাবে সিস্টেম লগ ফাইলটিতে অনেকগুলি পোর্ট 22 লগইন প্রচেষ্টা আবিষ্কার করে আবিষ্কার করেছি যা অন্যান্য ইউএফডাব্লিউ নিয়মের দ্বারা ফিল্টার হওয়ার কারণে কখনও ঘটেনি should

আচরণের নিশ্চয়তার বিবরণ

ইউএফডাব্লু দ্বারা ipোকানো iptables কোডের সম্পর্কিত লাইনগুলি নিম্নরূপ:

-A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name DEFAULT --mask 255.255.255.255 --rsource -j ufw-user-limit
-A ufw-user-input -p tcp -m tcp --dport 22 -j ufw-user-limit-accept
-A ufw-user-limit -m limit --limit 3/min -j LOG --log-prefix "[UFW LIMIT BLOCK] "
-A ufw-user-limit -j REJECT --reject-with icmp-port-unreachable
-A ufw-user-limit-accept -j ACCEPT

উপরের তালিকাটি দিয়ে তৈরি করা যেতে পারে

iptables -S | grep ufw-user-limit

প্রথম দুটি লাইন একটানা ufw-user-inputযা দিয়ে নিশ্চিত করা যায়

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