ফায়ারওয়াল্ড দিয়ে কয়েক আইপিএস বাদে সমস্ত ব্লক করুন


17

একটি লিনাক্স নেটওয়ার্কওয়াল্ড মেশিনে, আমি "পাবলিক" জোন (ফায়ারওয়াল্ড ধারণা) এর ঠিকানার সেটগুলি সীমাবদ্ধ করতে চাই, এটিতে পৌঁছানোর অনুমতি রয়েছে are সুতরাং শেষ ফলাফলটি হ'ল কোনও মেশিন কোনও পোর্ট বা প্রোটোকল অ্যাক্সেস করতে পারবে না, স্পষ্টভাবে অনুমতিপ্রাপ্তদের ব্যতীত, এর মিশ্রণটি সাজান

  --add-rich-rule='rule family="ipv4" source not  address="192.168.56.120" drop'

  --add-rich-rule='rule family="ipv4" source not  address="192.168.56.105" drop'

উপরের সমস্যাটি হ'ল এটি একটি আসল তালিকা নয়, এটি সমস্ত কিছুকেই ব্লক করে দেবে, কারণ যদি এটির একটির ঠিকানাটি অন্যটির মতো না হয়ে অবরুদ্ধ হয়ে থাকে, দুর্ঘটনাজনিত "সমস্ত ড্রপ" প্রভাব তৈরি করে, তবে আমি কীভাবে একটি নির্দিষ্ট অ-নিষ্ক্রিয় করব? সংলগ্ন সেট? উত্স ঠিকানাগুলির একটি তালিকা গ্রহণ করে? আমি এখন পর্যন্ত ডক্স বা গুগলের ফলাফলগুলিতে আমার চেহারাতে কিছুই দেখিনি।


সম্পাদনা: আমি সবেমাত্র এটি তৈরি করেছি:

# firewall-cmd  --zone=encrypt --list-all
encrypt (active)
  interfaces: eth1
  sources: 192.168.56.120
  services: ssh
  ports: 6000/tcp
  masquerade: no
  forward-ports: 
  icmp-blocks: 
  rich rules: 

তবে আমি এখনও .123 আমার উদ্দেশ্য থেকে 6000 বন্দরে পৌঁছতে পারি যে কোনও উত্স তালিকাভুক্ত না হলে এটি কোনও পরিষেবা বা বন্দরে পৌঁছাতে সক্ষম হবে না

উত্তর:


24

সমৃদ্ধ বিধিগুলি মোটেই প্রয়োজন হয় না।

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

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

পরিবর্তে, সম্ভাব্য সংবেদনশীল পরিষেবাদি যেমন এসএসডি-তে অ্যাক্সেসের জন্য বেশিরভাগ বিশ্বস্ত আইপি অ্যাড্রেসের জন্য "অভ্যন্তরীণ" এর মতো একটি আলাদা অঞ্চল ব্যবহার করার চেষ্টা করুন। (আপনি নিজের জোনও তৈরি করতে পারেন))

সতর্কতা: সাধারণ "অভ্যন্তরীণ" জোনের সাথে বিশেষ "বিশ্বস্ত" জোনটি ভুল করবেন না। "বিশ্বস্ত" জোনে যুক্ত যে কোনও উত্সকে সমস্ত বন্দর দিয়ে অনুমতি দেওয়া হবে; "বিশ্বস্ত" জোনে পরিষেবা যুক্ত করার অনুমতি দেওয়া হয়েছে তবে এটি করার কোনও মানে হয় না।

firewall-cmd --zone=internal --add-service=ssh
firewall-cmd --zone=internal --add-source=192.168.56.105/32
firewall-cmd --zone=internal --add-source=192.168.56.120/32
firewall-cmd --zone=public --remove-service=ssh

এর ফলাফলটি একটি "অভ্যন্তরীণ" জোন হবে যা ssh অ্যাক্সেসের অনুমতি দেয় তবে কেবল দুটি প্রদত্ত আইপি ঠিকানা থেকে। এটিকে অবিরাম করতে প্রতিটি কমান্ড --permanentযুক্ত করে পুনরায় চালনা করুন ।


আপনার উপস্থিতি "ইন্টারফেস সংজ্ঞা যা উপস্থিত হতে পারে" দ্বারা কী বোঝায় দয়া করে তা ব্যাখ্যা করুন, iv আপনার পরামর্শটির চেষ্টা করেছেন, দয়া করে আমার সম্পাদনা দেখুন।
মাইক 21

@ মাইকের মতো আমি বলেছিলাম, আপনাকে eth1জোন থেকে অপসারণ করতে হবে । firewall-cmd --zone=encrypt --remove-interface=eth1
মাইকেল হ্যাম্পটন

ঠিক আছে, এনক্রিপ্ট অঞ্চলটি নতুন অঞ্চল, এথ 1 সর্বজনীন হওয়ার আগে, আমি এটিকে জনসাধারণ থেকে এনক্রিপ্টে স্থানান্তরিত করেছি, সুতরাং এনক্রিপ্টটির উত্স রয়েছে .120, আমি ভেবেছিলাম যে কেবল 120 ​​বন্দরে পৌঁছতে সক্ষম হবে, আমি কী অনুপস্থিত?
মাইকে

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

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

1

অনুসারে firewalld.richlanguage:

উত্স উত্স [নয়] ঠিকানা = "ঠিকানা [/ মুখোশ]"

   With the source address the origin of a connection attempt can be limited to the source address. An address is either a single IP address, or a network IP address. The address has to match the rule family (IPv4/IPv6). Subnet mask is expressed in either
   dot-decimal (/x.x.x.x) or prefix (/x) notations for IPv4, and in prefix notation (/x) for IPv6 network addresses. It is possible to invert the sense of an address by adding not before address. All but the specified address will match then.

সুসংহত ব্লকগুলিকে অনুমতি দেওয়ার জন্য একটি নেটমাস্ক নির্দিষ্ট করুন।

এগুলি ছাড়া, আপনি ipsetঅনুমোদিত আইপি-র একটি অ-সংগতিপূর্ণ তালিকা তৈরির চেষ্টা করতে পারেন ।

উদাহরণস্বরূপ, এতে /etc/firewalld/direct.xml:

<?xml version="1.0" encoding="utf-8"?>
<direct>
   <rule ipv="ipv4" table="filter" chain="INPUT" priority="0">-m set --match-set whitelist src -j ACCEPT</rule>
</direct>

আসলটি ipsetআলাদাভাবে তৈরি করতে হবে।


এটি প্রত্যাখ্যান করবে, আমার যা প্রয়োজন সেটি বিপরীত, সেটটিতে থাকলে গ্রহণ করুন,
মাইকে

0

আপনি রিচ রুল দ্বারা সহজেই পরিচালনা করতে পারেন।

প্রথম ধাপ

firewall-cmd --permanent --set-default-zone=home
firewall-cmd --permanent --zone=drop --change-interface=eth0

দ্বিতীয় ধাপ - সমৃদ্ধ বিধি যুক্ত করুন

firewall-cmd --permanent --zone=home --add-rich-rule='rule family="ipv4" source address="192.168.78.76/32" accept'

একবার আপনি সমৃদ্ধ নিয়ম যুক্ত করলে এবং সমস্ত উত্স থেকে অন্য উত্স থেকে অবরুদ্ধ করে সমস্ত বন্দর 192.168.2.2 দ্বারা অ্যাক্সেসযোগ্য।

আপনি যদি নীচের কমান্ডের মাধ্যমে কোনও বন্দর বা পরিষেবা যুক্ত করেন তবে এটি সমস্ত উত্স দ্বারা অ্যাক্সেসযোগ্য হবে।

firewall-cmd --zone=public --add-service=ssh
firewall-cmd --zone=public --add-port=8080

আপনি যদি নীচের কমান্ডের চেয়ে নির্দিষ্ট আইপির জন্য নির্দিষ্ট পোর্টটি খুলতে চান

firewall-cmd --permanent --zone=home --add-rich-rule='rule family="ipv4" port="8080/tcp" source address="192.168.78.76/32" accept'
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.