এডাব্লুএস ইএলবিতে আইপি ঠিকানা অস্বীকার করুন


10

আমি, কমবেশি, এডাব্লুএসে কনফিগারেশনটি অনুসরণ করেছি:

3 মেশিন ও 3 বিভিন্ন প্রাপ্যতা অঞ্চল সহ ইলাস্টিক লোড ব্যালেন্সার। আমার সুরক্ষা গোষ্ঠীটি আমার রেল অ্যাপ্লিকেশন (এনজিনেক্স, ইউনিকর্ন) হিসাবে 0.0.0.0/0:80 অনুমতি দেয়।

আমি ভাবছিলাম যে কোনও নির্দিষ্ট পাবলিক আইপি ঠিকানায় আমার অ্যাপ্লিকেশনটিতে অ্যাক্সেস অস্বীকার করার কোনও উপায় আছে কি? আমি এডাব্লুএস ডকুমেন্টেশন পড়ছি, তবে এসজি'র হিসাবে "সমস্ত অস্বীকার করুন" কেবল একটি নির্দিষ্ট আইপি ঠিকানা অস্বীকার করার উপায় নেই ।

কোন ধারনা? লোড ব্যালেন্সারের পিছনে machines টি মেশিনে আইপেটেবল?

ধন্যবাদ!

উত্তর:


16

একটি সরাসরি এগিয়ে সমাধান একটি ভিপিসি নেটওয়ার্ক এসিএল ইনবাউন্ড বিধি ব্যবহার করা হয়। এটি কেবলমাত্র তখনই কার্যকর হয় যদি আপনার ELB কোনও ভিপিসিতে থাকে তবে আপনি যদি গত কয়েক বছরে এটি তৈরি করে থাকেন তবে এটি ডিফল্ট হওয়া উচিত।

1.2.3.4 নিষিদ্ধ করার জন্য উদাহরণস্বরূপ, নিম্নলিখিতটি করুন:

  1. AWS এ লগইন করুন।
  2. নেভিগেট করুন VPC
  3. Network ACLsবাম হাতের মেনু থেকে চয়ন করুন ।
  4. আপনার ELB থাকা ভিপিসির সাথে সম্পর্কিত এসিএল চয়ন করুন।
  5. Inbound Rulesট্যাবটি চয়ন করুন ।
  6. Editনিম্নলিখিত বৈশিষ্ট্যগুলির সাথে একটি নতুন নিয়ম চয়ন করুন এবং যুক্ত করুন :
    • বিধি #: 50 (যে কোনও সংখ্যা যতক্ষণ না এটি নিয়মের তুলনায় কম যে সমস্ত থেকে দূরে থাকে)
    • প্রকার: সমস্ত ট্র্যাফিক
    • প্রোটোকল: সমস্ত
    • পোর্ট রেঞ্জ: সমস্ত
    • সূত্র: 1.2.3.4/32
    • অনুমতি দিন / অস্বীকার করুন: DENY

নেটওয়ার্ক এসিএল সম্পর্কে এখানে আরও একগুচ্ছ তথ্য রয়েছে: http://docs.aws.amazon.com/AmazonVPC/latest/UserGuide/VPC_ACLs.html


1

না, সুরক্ষা গোষ্ঠী সহ আইপিগুলিকে ব্লক করার কোনও বিকল্প নেই।

সুরক্ষা গোষ্ঠীটি ব্ল্যাক-লিস্টের পরিবর্তে মূলত একটি সাদা তালিকা।

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

তার জন্য, সেরা সমাধানটি হ'ল আপনি যেমন বলেছেন, 3 বিভিন্ন মেশিনে আইপেটেবল।

আমি নিশ্চিত যে AWS সুরক্ষা গোষ্ঠীগুলি এগিয়ে যাওয়ার ক্ষেত্রে এই কার্যকারিতাটি খুব বেশি থাকবে তবে এখনকার মতো নয়।


1

আপনার যদি কেবল কয়েকটি আইপি ব্ল্যাকলিস্ট করতে হয় তবে আপনি সম্ভবত আপনার ওয়েব সার্ভারে nginx_http_access_module ব্যবহার করতে পারেন ।


এটির মূল সমস্যাটি হ'ল আমার কীভাবে কনফিগারেশনগুলি শেফ দ্বারা পরিচালিত হয় সেহেতু এটি "স্বয়ংক্রিয়ভাবে" কীভাবে করা যায় তা আমার খুঁজে বের করা দরকার। কিছু আইপি অ্যাড্রেসগুলি ব্লক করতে শেফ কনফিগারেশনকে বলতে আমার ব্যর্থ2ban বা অস্বীকৃতির মতো কিছু দরকার ...
বরিস কিরোজ

1

তার জন্য, সেরা সমাধানটি হ'ল আপনি যেমন বলেছেন, 3 বিভিন্ন মেশিনে আইপেটেবল।

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

আপনাকে প্যাকেটগুলি পরিদর্শন করতে হবে এবং এইচটিটিপি X-Forwarded-Forশিরোনামটি সন্ধান করতে হবে, আইপেটেবলস এর মতো প্রোটোকল সচেতন নয়।

আমি এনগিনেক্সে 2 দুষ্টু আইপি নিম্নলিখিত সমাধানের জন্য স্থির হয়েছি

set $client_ip $remote_addr;
if ($http_x_forwarded_for) {
  set $client_ip $http_x_forwarded_for;
}

if ($client_ip = "123.123.123.123") {
  return 403;
}

if ($client_ip = "123.123.123.234") {
  return 403;
}

একটি ভেরিয়েবলের পরিচয় করিয়ে দেওয়া হচ্ছে $client_ip, যাতে আমি স্থানীয়ভাবে এটি পরীক্ষা করতে পারি, যেখানে কোনও http_x_forwarded_forউপলভ্য নেই ..

সামান্য অফটোপিক তবে সুবিধার জন্য পোস্ট করা, আমি ক্লায়েন্ট আইপি আমার অ্যাক্সেস লগগুলিতে যুক্ত করেছি:

log_format main "\$client_ip - \$remote_user [\$time_local] \"\$request\" \$status \$body_bytes_sent \"\$http_referer\" \"\$http_user_agent\"";
access_log /var/log/nginx.access.log main;

এটি সুন্দর নয়, তবে আশা করি এটি সাহায্য করবে

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