আমি iptables জন্য স্বয়ংক্রিয় পরীক্ষা কীভাবে লিখতে পারি?


13

আমি একটি লিনাক্স রাউটার কনফিগার করছি iptables। আমি কনফিগারেশনের জন্য স্বীকৃতি পরীক্ষা লিখতে চাই যা এই জাতীয় জিনিসগুলিকে জোর দেয়:

  • ইন্টারনেটে কোনও লোকের কাছ থেকে ট্র্যাফিক ফরওয়ার্ড করা হয় না এবং
  • কর্পোরেট ল্যানের হোস্টগুলি থেকে ডিএমজেডের ওয়েবসভারে 80 পোর্টে টিসিপি ফরোয়ার্ড করা হয়।

একটি প্রাচীন প্রায়শই জিজ্ঞাসিত প্রশ্ন একটি iptables -Cবিকল্পকে বোঝায় যা একটির মতো কিছু জিজ্ঞাসা করতে দেয়, "পোর্ট জেডে এক্স থেকে ওয়াইকে একটি প্যাকেট দেওয়া হয়েছে, এটি গ্রহণযোগ্য হবে বা বাদ যাবে?" যদিও এফএকিউ এর পরামর্শ দেয় যে এটি এটির মতো কাজ করে iptables(কারণ ipchainsউদাহরণগুলিতে এটি সম্ভবত ব্যবহার হয় না) -Cবিকল্পটি মনে হয় যে সমস্ত নিয়মের মধ্য দিয়ে চলছে এমন কোনও পরীক্ষার প্যাকেট অনুকরণ করে না, বরং একটি সঠিক মিলের নিয়মের জন্য অস্তিত্বের জন্য পরীক্ষা করে। এটি একটি পরীক্ষা হিসাবে খুব কম মূল্য আছে। আমি দৃsert়ভাবে বলতে চাই যে নিয়মগুলির কাঙ্ক্ষিত প্রভাব রয়েছে, কেবল এটি বিদ্যমান নয়।

আমি আরও পরীক্ষামূলক ভিএম এবং ভার্চুয়াল নেটওয়ার্ক তৈরি করার বিষয়টি বিবেচনা করেছি, তারপরে nmapপ্রভাবগুলির মতো সরঞ্জামগুলি অনুসন্ধান করে । তবে, এই সমস্ত অতিরিক্ত ভার্চুয়াল মেশিন তৈরির জটিলতার কারণে আমি এই সমাধানটি এড়াচ্ছি, যা কিছু পরীক্ষার ট্র্যাফিক তৈরির পক্ষে সত্যিই বেশ ভারী উপায়। এটি স্বয়ংক্রিয় পরীক্ষার পদ্ধতিটিও ভাল লাগবে যা উত্পাদনের ক্ষেত্রে সত্যিকারের সার্ভারেও কাজ করতে পারে।

এই সমস্যাটি আমি আর কীভাবে সমাধান করতে পারি? আমি নির্বিচার ট্র্যাফিক উত্পাদন বা সিমুলেট করার জন্য ব্যবহার করতে পারি এমন কোনও ব্যবস্থা আছে কি না, তবে জেনে রাখুন যে এটি (বা হবে) বাদ পড়েছিল বা গৃহীত হয়েছিল কিনা iptables?


এটি একটি আকর্ষণীয়ও হতে পারে: সিকিউরিটি.স্ট্যাকেক্সচেঞ্জ
প্রশ্নগুলি

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

উত্তর:


2

আপনি যদি কিছু কোডিং করার জন্য প্রস্তুত হন তবে আপনি এটি চেষ্টা করতে পারেন:

  • সিস্টেম কলের CLONE_NEWNETজন্য পতাকা ব্যবহার করে cloneবা কমান্ড ব্যবহার করে ip netns addএবং একটি নতুন নেটওয়ার্ক নেমস্পেস তৈরি করুন ip netns exec
  • এই নেমস্পেসে tunড্রাইভার বা ব্যবহার করে ভার্চুয়াল নেটওয়ার্ক ইন্টারফেসগুলির একটি সেট ক্রেট করুন ip link add
  • ব্যবহার করে কনফিগারেশন লোড করুন iptables-restore
  • বিধি tunবা vethডিভাইসের মাধ্যমে প্রচুর প্যাকেট খাওয়ান Feed
  • পালন যে আপনি আউট সঠিক প্যাকেট পেতে tunবা vethডিভাইসের

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

কমান্ডগুলির অনুক্রমের একটি উদাহরণ এখানে ব্যবহার করা যেতে পারে:

ip netns add test-iptables
ip netns add test-iptables-some-guy-on-the-internet
ip netns add test-iptables-lan-host

ip netns exec test-iptables ip link add eth0 type veth peer name eth0-peer
ip netns exec test-iptables ip link set eth0-peer netns test-iptables-some-guy-on-the-internet
ip netns exec test-iptables ip link add eth1 type veth peer name eth1-peer
ip netns exec test-iptables ip link set eth1-peer netns test-iptables-lan-host

ip netns exec test-iptables ifconfig eth0 192.0.2.2 netmask 255.255.255.0
ip netns exec test-iptables ifconfig eth1 203.0.113.1 netmask 255.255.255.0

ip netns exec test-iptables-some-guy-on-the-internet ifconfig eth0-peer 192.0.2.1 netmask 255.255.255.0
ip netns exec test-iptables-some-guy-on-the-internet route add default gateway 192.0.2.2

ip netns exec test-iptables-lan-host ifconfig eth1-peer 203.0.113.2 netmask 255.255.255.0
ip netns exec test-iptables-lan-host route add default gateway 203.0.113.1

ip netns exec test-iptables-some-guy-on-the-internet telnet 203.0.113.2
ip netns exec test-iptables iptables-restore < /tmp/iptables-test
ip netns exec test-iptables-some-guy-on-the-internet telnet 203.0.113.2

ip netns del test-iptables
ip netns del test-iptables-some-guy-on-the-internet
ip netns del test-iptables-lan-host

এটি টেস্টিংয়ের জন্য তিনটি নেটওয়ার্ক নেমস্পেস তৈরি করবে এবং এর মধ্যে একটিতে iptables নিয়মের একটি সেট লোড করবে। অন্য দুজন ইন্টারনেটে কিছু লোক এবং ল্যানে একটি হোস্টের ভূমিকা পালন করে।

উপরের উদাহরণে প্রথম telnetকমান্ডটি test-iptables-lan-hostনেমস্পেস থেকে সংযোগ প্রত্যাখ্যান করে , দ্বিতীয় telnetকমান্ড সময়সীমা পায় যদি রোলসেট প্যাকেটটি ফেলে দেয়।

এটি প্রাথমিক নেটওয়ার্ক নেমস্পেসটি স্পর্শ করে না, এটি হ'ল ডিফল্টরূপে আপনার সমস্ত উত্পাদন ঘটবে। আপনার উত্পাদন থেকে আরও বিচ্ছেদ পাওয়ার একমাত্র উপায় হ'ল এটি পৃথক হোস্টে (শারীরিক বা ভার্চুয়াল) চালানো।


0

পেশাদার বিশ্ব 2 টি কোম্পানির দ্বারা সরবরাহ করা হার্ডওয়্যার / সফ্টওয়্যার সাহায্যে তা করে।

www.ixiacom.com

www.spirent.com

প্রথম ক্ষেত্রে আপনি Ixia 400T চ্যাসিস + ইক্সলোড এর মতো কিছু ব্যবহার করতে পারেন।

দ্বিতীয় ক্ষেত্রে লাইনটি স্মার্টবিটস বা টেস্টেনস্টার তাদের সংশ্লিষ্ট অ্যাপ্লিকেশনগুলির সাথে

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

কোনও সস্তা বিকল্প নয়।


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