কীভাবে ম্যাক এবং ইবেটবেবল ব্যবহার করে আইপি স্পুফিং রোধ করবেন?


10

আমি ইবেটবেলে আইপি-ম্যাক জুটি করার নিয়ম তৈরি করার চেষ্টা করছি । কয়েকটি টিউটোরিয়াল এবং সম্পর্কিত প্রশ্ন রয়েছে [1] তবে আমার কাছে নির্দিষ্ট সেটিং রয়েছে।

পরিবেশ: আমার অনেক শারীরিক হোস্ট আছে । প্রতিটি হোস্টের কয়েকটি ইথারনেট কার্ড থাকে, বন্ডে যোগ দেয় এবং সেতুর দাস হিসাবে ব্যবহৃত হয়। প্রতিটি হোস্টে অনেক ভার্চুয়াল মেশিন রয়েছে (কেভিএম, কিউমু, লিবারভিট)। প্রতিটি ভার্চুয়াল মেশিনটি ভ্যান্ট [0-9] + নামে নতুন পোর্টের মাধ্যমে তার শারীরিক হোস্টের একটি ব্রিজের সাথে সংযুক্ত থাকে। নাট নেই। নেটওয়ার্কিং ঠিকঠাক কাজ করে, সমস্ত ফিজিকাল হোস্ট পিন করা যায়, সমস্ত ভার্চুয়াল মেশিনও। প্রতিটি ভার্চুয়াল মেশিনের নিজস্ব আইপি ঠিকানা এবং ম্যাক ঠিকানা রয়েছে।

সমস্যা: ভার্চুয়াল মেশিনের ভিতরে, আইপি ঠিকানাটি অন্য একটিতে পরিবর্তন করা যেতে পারে।

ফাউন্ড সলিউশন: ইবেটবেবলস সাইটে [2] এর ज्ञিত সমাধান রয়েছে তবে কেবলমাত্র একটি হোস্ট ব্যবহার করা হলে এই সমাধানটি অ্যাপ্লিক্যাবল হতে পারে। এটি সমস্ত ট্র্যাফিকের অনুমতি দেয় এবং যদি আইপি থেকে অন্য ম্যাকের সাথে অনুমতি ব্যতীত কোনও প্যাকেট থাকে তবে প্যাকেটটি ফেলে দেওয়া হয়। যদি একাধিক হোস্ট থাকে তবে এর জন্য সমস্ত হোস্টে নিবন্ধিত থাকা সমস্ত বিদ্যমান আইপি-ম্যাকের প্রয়োজন। বিপরীত নীতি সমাধান প্রয়োজন।

ক্রাফটেড সমাধান: আমি বিপরীত পদ্ধতিতে ইবেটবাইলগুলি ব্যবহার করার চেষ্টা করেছি। এখানে আমি যা চেষ্টা করেছি তার একটি উদাহরণ।

উদাহরণ 1

Bridge table: filter
Bridge chain: INPUT, entries: 2, policy: DROP
-i bond0 -j ACCEPT 
-p IPv4 -s 54:52:0:98:d7:b6 --ip-src 192.168.11.122 -j ACCEPT 
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT

উদাহরণ 2

Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 1, policy: DROP
-p IPv4 -s 54:52:0:98:d7:b6 --ip-src 192.168.11.122 -j ACCEPT 
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT

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

প্রশ্ন: কেবলমাত্র নির্দিষ্ট আইপি-ম্যাক জোড়া চলমান ভার্চুয়াল মেশিনগুলির জন্য কীভাবে ব্রিজের উপর ট্র্যাফিকের অনুমতি দেওয়া যায় এবং বন্দরগুলি ভেটে [0-9] + থেকে আগত সমস্ত অজানা আইপি-ম্যাক জোড়া ফেলে দেওয়া যায়?

যে কোনও উত্তরের জন্য আপনাকে অনেক ধন্যবাদ।


2
কিন্তু, যদি কেউ তাদের ম্যাক জাল করে?
জোরেডেচি

1
ঠিক আছে, এটিও একটি সমস্যা। তবে সঠিক আইপি-ম্যাক জুটি অনুমান করা খুব শক্ত এবং সময়োচিত আমার পরিষেবার সুরক্ষা স্তরকে ছাড়িয়ে যায়।
মার্টিন

উত্তর:


12

আমি অবশেষে একটি কার্যনির্বাহী কারুকাজ পরিচালনা করেছি।

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

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

Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 0, policy: ACCEPT
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT

একটি নতুন চেইন যুক্ত করা হয়। এই চেইনে সমস্ত অনুমোদিত আইপি-ম্যাক জোড়া রয়েছে। একে ভিএমএস বলা হয়।

# ebtables -N VMS

এখন, গুরুত্বপূর্ণ অংশ। আইপি প্যাকেট (বা এর অংশগুলি) সমেত প্রতিটি ফ্রেমের জন্য যা বন্দর ভ্যানেট [0-9] + থেকে ব্রিজের মধ্য দিয়ে যাচ্ছে, চেইন নীতি এবং চেইন ভিএমএসের নিয়ম প্রয়োগ করুন। অন্য কথায়, যে কোনও ভার্চুয়াল মেশিন থেকে আসা প্রতিটি আইপি প্যাকেটের জন্য, ভিএমএস চেইন প্রয়োগ করুন।

# ebtables -A FORWARD -p ip -i vnet+ -j VMS

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

# ebtables -P VMS DROP

টেবিল ফিল্টারটি এখন এইভাবে দেখায়। এছাড়াও, ভার্চুয়াল মেশিনগুলি চলমান (অনুমোদিত) না থাকায় এইভাবে দেখায়।

Bridge table: filter
Bridge chain: INPUT, entries: 0, policy: ACCEPT
Bridge chain: FORWARD, entries: 1, policy: ACCEPT
-p IPv4 -i vnet+ -j VMS
Bridge chain: OUTPUT, entries: 0, policy: ACCEPT
Bridge chain: VMS, entries: 0, policy: DROP

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

# ebtables -A VMS -p ip --ip-src 192.168.11.125 -s 54:52:00:cc:35:fa -j ACCEPT
# ebtables -A VMS -p ip --ip-src 192.168.11.122 -s 54:52:00:98:d7:b6 -j ACCEPT

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

এই সমাধানটি অপ্রত্যাশিত হতে পারে এবং আপনার কোনও মন্তব্য বা উন্নতি হলে আমি আনন্দের সাথে শুনব।

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