.Ovpn ফাইল ভিত্তিক ওপেনভিপিএন অ্যাক্সেসের জন্য গুগল অথেনটিকেটর ব্যবহার করে কীভাবে দ্বি-ফ্যাক্টর সাথ সক্ষম করবেন?


11

আমি যেখানে ব্যবহারকারীরা না একটি OpenVPN সেটআপ আছে না ডেবিয়ান VM- র উপর শেল অ্যাকাউন্টের OpenVPN চলমান আছে। গুগলিংয়ের সময় আমি যে সমস্ত নিবন্ধগুলি পেয়েছি সেগুলিতে ক্লাসিকাল * নিক্স ব্যবহারকারীর জন্য গুগল প্রমাণীকরণকারী স্থাপনের নির্দেশাবলী রয়েছে (উদাহরণস্বরূপ ব্যবহারকারীর হোম ডিরেক্টরিতে প্রমাণীকরণকারী বাইনারি কার্যকর করা প্রয়োজন)।

ওপেনভিএনএন সার্ভারগুলির জন্য গুগল অথেনটিকেটরকে কীভাবে সংহত করতে হবে সে সম্পর্কে কোনও ডক .ovpnরয়েছে যা ক্লায়েন্টের পক্ষের ব্যবহৃত ফাইলগুলির উপর ভিত্তি করে প্রমাণীকরণ করে ?

আমি https://github.com/evgeny-gridasov/openvpn-otp দেখেছি , তবে এটি এখনও Google প্রমাণীকরণকারীর কনফিগারেশন প্রয়োজন।


সমস্যাটি কি গুগল প্রমাণীকরণকারীর তালিকাভুক্তি বা পাসওয়ার্ড প্রবেশের প্রয়োজন?
কর্নেলিনাক্স

উত্তর:


4

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

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

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

প্রথমত, আপনাকে উপরে বর্ণিত পদ্ধতিগুলির মধ্যে একটিতে ডিরেক্টরিতে গুগল-প্রমাণীকরণকারীর দ্বারা নির্মিত ব্যবহারকারী ফাইলগুলি সংগ্রহ করতে হবে। আমাদের ক্ষেত্রে এটি / etc / google-auth হবে।

আপনাকে অবশ্যই এখানে সমস্ত ফাইলের জন্য একক ব্যবহারকারী-আইডি প্রয়োগ করতে হবে কারণ আপনার প্রকৃত ব্যবহারকারী নেই। এটা হতে দিন OpenVPN । অনুমতিগুলি অবশ্যই 0400 (-আর --------) হতে হবে। প্যাম বিশ্ব / গ্রুপ পঠনযোগ্য শংসাপত্রগুলি পছন্দ করবেন না (অবশ্যই)। আপনি সাম্বা, অ্যাপাচি, এফটিপি বা ক্রোন ট্যাব ব্যবহার করে সবচেয়ে খারাপ ক্ষেত্রে এটি সহজে প্রয়োগ করতে পারেন (প্রস্তাবিত নয়)।

পরীক্ষার উদ্দেশ্যে, কেবল এটি করুন:

mkdir /etc/google-auth
apt-get install libpam-google-authenticator
google-authenticator
# set up as you wish, save image and/or codes
mv ~/.google_authenticator /etc/google-auth/some_username
chown -R openvpn /etc/google-auth

এর পরে আপনি ওপেনভিপিএনকে লিপপ্যামের বিরুদ্ধে প্রমাণীকরণ করতে বলুন, যার নিজস্ব গুগল এথ মডিউল রয়েছে। আপনার ওপেনভিএনপি সার্ভার ফাইলে এটি যুক্ত করুন:

plugin /usr/lib/openvpn/openvpn-plugin-auth-pam.so openvpn

এটি বলে যে আমরা পাম প্রমাণীকরণ আইডি ওপেনভিপিএন দিয়ে পাম প্রমাণীকরণ পদ্ধতি ব্যবহার করব ।

এখন, ওপেনভিপিএন-এর জন্য প্যাম সেটআপ তৈরি করুন। সম্পাদনা /etc/pam.d/openvpn:

auth    requisite       /lib/security/pam_google_authenticator.so secret=/etc/google-auth/${USER}  user=openvpn
account    required     pam_permit.so

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

আপনার ওপেনভিএনএন ক্লায়েন্ট ফাইলটিতে এটি যুক্ত করুন

   auth-user-pass
   auth-nocache
   reneg-sec 0

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

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


1

সেটআপ: উবুন্টু সার্ভারে 2 এফএ (গুগল প্রমাণীকরণকারী) সহ ওপেনভিপিএন সার্ভার 18.04.4 রাস্পবেরি পাই হার্ডওয়ারের জন্য এলটিএস: রাস্পবেরি পাই 3 মডেল বি + রেভ 1.3

  • আপনাকে কোনও লিনাক্স ব্যবহারকারীর সাথে সক্রিয় 2 এফএ লগইন সেটআপ (আমার কেস সামুজার) সহ লগইন করতে হবে
  • নিম্নলিখিত কমান্ড লিখুন
sudo apt install libqrencode3 libpam-google-authenticator
google-authenticator
sudo mv /home/someuser/.google_authenticator /etc/google-auth/someuser
sudo chown -R root /etc/google-auth
  • নিম্নলিখিত ফাইলটি আপনার ওপেনপিএন কনফিগারেশন ফাইলটি যুক্ত করুন (আমার ক্ষেত্রে /etc/openvpn/server/server.conf)
plugin /usr/lib/aarch64-linux-gnu/openvpn/plugins/openvpn-plugin-auth-pam.so  openvpn
  • /etc/pam.d/openvpn ফাইলটি তৈরি করুন এবং এটি নিম্নলিখিত বিষয়বস্তু দিয়ে পূরণ করুন
# Google Authenticator
auth    requisite       /lib/aarch64-linux-gnu/security/pam_google_authenticator.so secret=/etc/google-auth/someuser user=root
account    required     pam_permit.so
  • আপনার ওপেনভিপিএন ক্লায়েন্ট ফাইলটিতে নিম্নলিখিত 3 টি লাইন যুক্ত করুন
auth-user-pass
auth-nocache
reneg-sec 0
  • openvpn পরিষেবাটি পুনরায় চালু করুন এবং একটি পরীক্ষা চালান
systemctl restart openvpn@server
  • যখন ওপেনভিপিএন ক্লায়েন্টের সাথে সংযোগ হয় (উইন্ডোজ 10 এ) আপনি একটি অতিরিক্ত লগইন পান (ব্যবহারকারী: কিছু ব্যবহারকারী / পাসওয়ার্ড: 'গুগল প্রমাণীকরণকারীর থেকে ওটিপি')
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.