উবুন্টু 16 এর নির্দিষ্ট ইন্টারফেসে ডকার পাত্রে ডাটাবেসের সাথে সংযোগ সীমাবদ্ধ করা সম্ভব?


2

আমি একটি সার্ভার (আমি ব্যবহার করেন তার উপর MySQL ডেটাবেস আছে Percona মধ্যে Docker ধারক) কয়েক নেটওয়ার্ক ইন্টারফেসের সঙ্গে।

আমার সিস্টেমটি উবুন্টু 16.04.2 এলটিএস

ifconfig

eth0      Link encap:...
          inet addr:95.*.*.*

eth1      Link encap:...
          inet addr:10.*.*.*

ইন্টারফেসে ufwকোনও ডাটাবেসের সাথে অ্যাক্সেস সীমাবদ্ধ করা কি সম্ভব eth0তবে অনুমতি দেওয়া সম্ভব eth1?

সুতরাং এটি ডিবিতে অ্যাক্সেস 10.*.*.*:6603করতে সক্ষম হবে এবং এর সাথে অ্যাক্সেস করতে সক্ষম হবে না 95.*.*.*:6603

আপডেট (04.03.2017):

আমি একটি আদেশ যুক্ত করতে এই আদেশটি ব্যবহার করেছি:

sudo ufw deny in on eth0 to any port 6603 from any proto tcp

স্থিতি:

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
6603/tcp on eth0           DENY        Anywhere
6603/tcp (v6) on eth0      DENY        Anywhere (v6)

তবে আমি নিয়ম অস্বীকার করেও আমি MySQLক্লায়েন্টের সাথে আমার ডিবিতে প্রবেশ করতে পারি ।

তবে 6603বন্দরটি এখনও খোলা রয়েছে:

nmap -p 6603 95.85.54.75

Starting Nmap 7.01 ( https://nmap.org ) at 2017-03-04 16:14 UTC
Nmap scan report for 95.85.54.75
Host is up (0.0012s latency).
PORT     STATE SERVICE
6603/tcp open  unknown

Nmap done: 1 IP address (1 host up) scanned in 0.65 seconds

3
কি এই আপনার জন্য কাজ করে?
কেভিন

1
@ কেভিন, আমি এটিকে উত্তর হিসাবে পোস্ট করব এবং প্রাসঙ্গিক তথ্য উদ্ধৃত করব এবং তার দৃশ্যের সাথে
মানিয়ে নেওয়ার

@ কেভিন আমি আপনার পরামর্শের চেষ্টা করেছি তবে পোর্টটি এখনও খোলা আছে। আপনি কি আমার নিয়মে ত্রুটি খুঁজে পেতে বা আমার সমস্যা সমাধানের জন্য আমাকে পরামর্শ দিতে পারেন (বিশদ জন্য প্রশ্ন আপডেট দেখুন)?
রোমান চেরেপনভ

উত্তর:


1

ব্যবহারের পরিবর্তে ufw, আপনি মাইএসকিউএলকে একটি একক ইন্টারফেসে আবদ্ধ করতে পারেন।

মাইএসকিএলডি কনফিগারেশন ফাইলের (সাধারণত এ /etc/mysql/my.cnf) একটি বিকল্প রয়েছে যা bind-addressআপনাকে একটি আইপি ঠিকানা সেট করতে দেয় (উদাহরণস্বরূপ 10.0.4.25, যেমন) কেবলমাত্র ইন্টারফেসে মাইএসকিউএল শুনতে বাধ্য করে।

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


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

@ গ্রাভিটি আপনাকে বিশ্বাস করা খুব কঠিন।
jcbermu

1
এটি বলার জন্য প্রথম ব্যক্তি হবেন না, এবং তবুও আমি সফলভাবে কাশিতে অতীতে সফলভাবে কাশিটি ব্যবহার করেছি ... "শক্ত হোস্ট মডেল" (আইপিভি 6 এর জন্য পছন্দসই) বনাম "দুর্বল হোস্ট মডেল" দেখুন (সাধারণ আইপিভি 4) আরও তথ্যের জন্য। (ডিফল্টরূপে লিনাক্স এমনকি 'ভুল' ইন্টারফেসে এআরপি প্রশ্নের জবাব দেবে; আপনি এটি আরপি_ফিল্টার / আরপি_গিনোর দিয়ে টিউন করতে পারেন, তবে তারপরেও একটি ম্যানুয়ালি যুক্ত রুট বা এআরপি এন্ট্রি এখনও সংযোগের অনুমতি দেয়।)
গ্রাভিটি

@ গ্রাভিটি আপনি ঠিক বলেছেন আমি এটি সম্পর্কে জানতাম না। এটা সত্য যে আপনি প্রতিদিন কিছু নতুন শিখেন । আমি এটি অন্তর্ভুক্ত করার জন্য আমার উত্তরটি পরিবর্তন করেছি।
jcbermu

1

সমস্যাটি হ'ল ডকার ফায়ারওয়াল বিধিগুলির সাথে হস্তক্ষেপ করে।

এই পোস্ট (মতে UFW + + Docker বিপদ , Docker 1.12+ কীভাবে সেট iptables / FirewallD হস্তক্ষেপ না করার ):

  • আমি /etc/docker/daemon.jsonসামগ্রী দিয়ে ফাইল তৈরি করেছি :

    {
        "iptables": false
    }
    
  • আমি ইউএফডাব্লুতে নিয়ম যুক্ত করেছি:

    sudo ufw allow in on eth1 to any port 6603 
    

    কেবল ufw থেকে সংযোগের অনুমতি দিতে।

  • ডকার ডেমন পুনরায় বুট করুন

    sudo service docker stop
    sudo service docker start
    

দ্রষ্টব্য: এই ফিক্সটি কেবলমাত্র তৈরি পাত্রেই কাজ করে docker run...। ডকার সোর্ম দিয়ে তৈরি পাত্রে এটি ঠিক করে না work

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