LinOTP دوه فکتور تصدیق سرور

LinOTP دوه فکتور تصدیق سرور

نن زه غواړم شریک کړم چې څنګه د کارپوریټ شبکې، سایټونو، خدماتو، ssh ساتلو لپاره د دوه فاکتور تصدیق کولو سرور تنظیم کړم. سرور به لاندې ترکیب پرمخ وړي: LinOTP + FreeRadius.

ولې موږ ورته اړتیا لرو؟
دا په بشپړ ډول وړیا ، اسانه حل دی ، په خپله شبکه کې ، د دریمې ډلې چمتو کونکو څخه خپلواک.

دا خدمت خورا اسانه دی ، د نورو خلاصې سرچینې محصولاتو برعکس ، خورا بصری دی ، او د ډیری دندو او پالیسیو ملاتړ هم کوي (د مثال په توګه ، ننوت + پاسورډ + (PIN + OTPToken)). د API له لارې، دا د ایس ایم ایس لیږلو خدماتو سره مدغم کیږي (LinOTP Config->Provider Config->SMS Provider)، د ګرځنده غوښتنلیکونو لپاره کوډونه رامینځته کوي لکه د ګوګل تصدیق کونکي او نور ډیر څه. زما په اند دا د هغه خدمت په پرتله خورا اسانه دی چې په کې بحث شوی مقالې.

دا سرور د سیسکو ASA، OpenVPN سرور، Apache2، او په عموم کې د نږدې هر هغه څه سره کار کوي چې د RADIUS سرور له لارې د تصدیق ملاتړ کوي (د مثال په توګه، د ډاټا مرکز کې د SSH لپاره).

دا اړین دی:

1) دبیان 8 (جیسي) - ضرور! (په ډیبیان 9 کې د آزموینې نصب کول د مقالې په پای کې تشریح شوي)

پیل:

د Debian 8 نصب کول.

د LinOTP ذخیره اضافه کړئ:

# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list

کیلي اضافه کول:

# gpg --search-keys 913DFF12F86258E5

ځینې ​​​​وختونه د "پاک" نصبولو په جریان کې، د دې کمانډ چلولو وروسته، ډیبیان ښکاره کوي:

gpg: создан каталог `/root/.gnupg'
gpg: создан новый файл настроек `/root/.gnupg/gpg.conf'
gpg: ВНИМАНИЕ: параметры в `/root/.gnupg/gpg.conf' еще не активны при этом запуске
gpg: создана таблица ключей `/root/.gnupg/secring.gpg'
gpg: создана таблица ключей `/root/.gnupg/pubring.gpg'
gpg: не заданы серверы ключей (используйте --keyserver)
gpg: сбой при поиске на сервере ключей: плохой URI

دا د gnupg لومړنی ترتیب دی. سمه ده. یوازې کمانډ بیا پرمخ وړئ.
دبیان پوښتنې ته:

gpg: поиск "913DFF12F86258E5" на hkp сервере keys.gnupg.net
(1)	LSE LinOTP2 Packaging <[email protected]>
	  2048 bit RSA key F86258E5, создан: 2010-05-10
Keys 1-1 of 1 for "913DFF12F86258E5".  Введите числа, N) Следующий или Q) Выход>

موږ ځواب ورکوو: 1

بله:

# gpg --export 913DFF12F86258E5 | apt-key add -

# apt-get update

Mysql نصب کړئ. په تیوري کې، تاسو کولی شئ د بل sql سرور وکاروئ، مګر د سادگي لپاره زه به دا د LinOTP لپاره وړاندیز شوي وکاروم.

(اضافي معلومات، په شمول د LinOTP ډیټابیس بیا تنظیم کول، په رسمي اسنادو کې موندل کیدی شي مخونه. هلته تاسو کمانډ هم موندلی شئ: dpkg-reconfigure linotp د پیرامیټونو بدلولو لپاره که تاسو دمخه mysql نصب کړی وي).

# apt-get install mysql-server

# apt-get update

(دا به زیان ونه رسوي چې بیا تازه معلومات وګورئ)
LinOTP او اضافي ماډلونه نصب کړئ:

# apt-get install linotp

موږ د نصب کونکي پوښتنو ته ځواب ورکوو:
Apache2 وکاروئ: هو
د اډمین لینټپ لپاره پټنوم جوړ کړئ: "ستاسو پټنوم"
د ځان لاسلیک شوی سند تولید کړئ؟: هو
MySQL وکاروئ؟: هو
ډیټابیس چیرته موقعیت لري: localhost
په سرور کې د LinOTP ډیټابیس (د اساس نوم) جوړ کړئ: LinOTP2
د ډیټابیس لپاره یو جلا کارن جوړ کړئ: LinOTP2
موږ د کارونکي لپاره پټنوم ترتیب کړ: "ستاسو پټنوم"
ایا زه باید اوس ډیټابیس جوړ کړم؟ (یو څه لکه "ایا تاسو ډاډه یاست چې تاسو غواړئ ..."): هو
د MySQL روټ پاسورډ دننه کړئ چې تاسو یې د نصبولو پر مهال رامینځته کړی: "ستاسو پاسورډ"
بشپړ شوی

(اختیاري، تاسو اړتیا نلرئ دا نصب کړئ)

# apt-get install linotp-adminclient-cli 

(اختیاري، تاسو اړتیا نلرئ دا نصب کړئ)

# apt-get install libpam-linotp  

او نو زموږ د Linotp ویب انٹرفیس اوس دلته شتون لري:

"<b>https</b>: //IP_сервера/manage"

زه به لږ وروسته د ویب انٹرفیس کې د تنظیماتو په اړه وغږیږم.

اوس، تر ټولو مهمه خبره! موږ FreeRadius پورته کوو او د Linotp سره یې لینک کوو.

د LinOTP سره د کار کولو لپاره FreeRadius او ماډل نصب کړئ

# apt-get install freeradius linotp-freeradius-perl

د پیرودونکي او کاروونکو ریډیس تشکیلات بیک اپ کړئ.

# mv /etc/freeradius/clients.conf  /etc/freeradius/clients.old

# mv /etc/freeradius/users  /etc/freeradius/users.old

د پیرودونکي خالي فایل جوړ کړئ:

# touch /etc/freeradius/clients.conf

زموږ د نوي تشکیل فایل ترمیم کول (د بیک اپ ترتیب د مثال په توګه کارول کیدی شي)

# nano /etc/freeradius/clients.conf

client 192.168.188.0/24 {
secret  = passwd # пароль для подключения клиентов
}

بیا، د کاروونکو فایل جوړ کړئ:

# touch /etc/freeradius/users

موږ فایل ترمیم کوو، ریډیس ته ووایو چې موږ به د تصدیق لپاره پرل وکاروو.

# nano /etc/freeradius/users

DEFAULT Auth-type := perl

بیا، فایل سم کړئ /etc/freeradius/modules/perl

# nano /etc/freeradius/modules/perl

موږ اړتیا لرو د ماډل پیرامیټر کې د پرل لینټپ سکریپټ ته لاره مشخص کړو:

Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm

... ..
بیا، موږ یو فایل جوړوو په کوم کې چې موږ ووایو چې کوم (ډومین، ډیټابیس یا فایل) باید ډاټا واخلي.

# touch /etc/linotp2/rlm_perl.ini

# nano /etc/linotp2/rlm_perl.ini

URL=https://IP_вашего_LinOTP_сервера(192.168.X.X)/validate/simplecheck
REALM=webusers1c
RESCONF=LocalUser
Debug=True
SSL_CHECK=False

زه به دلته یو څه نور تفصیل ته لاړ شم ځکه چې دا مهم دی:

د نظرونو سره د فایل بشپړ توضیحات:
د linOTP سرور #IP (زموږ د LinOTP سرور IP پته)
URL=https://172.17.14.103/validate/simplecheck
#زموږ ساحه چې موږ به یې د LinOTP ویب انٹرفیس کې جوړ کړو.)
REALM = بیا وسله 1
# د کارونکي ډلې نوم چې په LinOTP ویب موز کې رامینځته شوی.
RESCONF=flat_file
#اختیاري: تبصره وکړئ که داسې بریښي چې هرڅه سم کار کوي
ډیبګ = ریښتیا
#اختیاري: دا وکاروئ، که تاسو پخپله لاسلیک شوي سندونه لرئ، که نه نو تبصره وکړئ (SSL که موږ خپل سند جوړ کړو او غواړو تصدیق یې کړو)
SSL_CHECK=غلط

بیا، فایل جوړ کړئ /etc/freeradius/sites-available/linotp

# touch /etc/freeradius/sites-available/linotp

# nano /etc/freeradius/sites-available/linotp

او تشکیل په دې کې کاپي کړئ (د هیڅ شی ترمیم ته اړتیا نشته):

authorize {
#normalizes maleformed client request before handed on to other modules (see '/etc/freeradius/modules/preprocess')
preprocess
#  If you are using multiple kinds of realms, you probably
#  want to set "ignore_null = yes" for all of them.
#  Otherwise, when the first style of realm doesn't match,
#  the other styles won't be checked.
#allows a list of realm (see '/etc/freeradius/modules/realm')
IPASS
#understands something like USER@REALM and can tell the components apart (see '/etc/freeradius/modules/realm')
suffix
#understands USERREALM and can tell the components apart (see '/etc/freeradius/modules/realm')
ntdomain
#  Read the 'users' file to learn about special configuration which should be applied for
# certain users (see '/etc/freeradius/modules/files')
files
# allows to let authentification to expire (see '/etc/freeradius/modules/expiration')
expiration
# allows to define valid service-times (see '/etc/freeradius/modules/logintime')
logintime
# We got no radius_shortname_map!
pap
}
#here the linotp perl module is called for further processing
authenticate {
perl
}

بیا به موږ د سیم لینک جوړ کړو:

# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled

په شخصي توګه، زه د ډیفالټ ریډیس سایټونه وژنم، مګر که تاسو ورته اړتیا لرئ، تاسو کولی شئ د دوی ترتیب ایډیټ کړئ یا یې غیر فعال کړئ.

# rm /etc/freeradius/sites-enabled/default

# rm /etc/freeradius/sites-enabled/inner-tunnel

# service freeradius reload

اوس راځئ چې ویب پاڼې ته راستون شو او په لږ تفصیل سره یې وګورو:
په پورتنۍ ښیې کونج کې د LinOTP کنفیګ -> UserIdResolvers -> New کلیک وکړئ
موږ هغه څه غوره کوو چې موږ یې غواړو: LDAP (AD win، LDAP samba)، یا SQL، یا د فلیټ فایل سیسټم محلي کاروونکي.

اړین ځایونه ډک کړئ.

بیا موږ REALMS رامینځته کوو:
په پورتنۍ ښیې کونج کې ، د LinOTP کنفیګ -> اصلیت -> نوی کلیک وکړئ.
او زموږ REALMS ته یو نوم ورکړئ، او په مخکې جوړ شوي UserIdResolvers باندې هم کلیک وکړئ.

FreeRadius دې ټولو معلوماتو ته په /etc/linotp2/rlm_perl.ini فایل کې اړتیا لري، لکه څنګه چې ما پورته لیکلي، نو که تاسو دا ترمیم نه وي کړی، اوس یې وکړئ.

سرور ټول ترتیب شوی دی.

اضافه کول:

په Debian 9 کې د LinOTP تنظیم کول:

نصب کول:

# echo 'deb http://linotp.org/apt/debian stretch linotp' > /etc/apt/sources.list.d/linotp.list 
# apt-get install dirmngr

# apt-key adv --recv-keys 913DFF12F86258E5
# apt-get update

# apt-get install mysql-server

(په ډیفالټ کې ، په ډیبیان 9 mysql کې (mariaDB) د روټ پاسورډ تنظیم کولو وړاندیز نه کوي ، البته تاسو کولی شئ دا خالي پریږدئ ، مګر که تاسو خبرونه ولولئ ، دا ډیری وختونه د "ایپیک ناکامیو" لامل کیږي ، نو موږ به یې تنظیم کړو. په هرصورت)

# mysql -u root -p
use mysql;
UPDATE user SET Password = PASSWORD('тут_пароль') WHERE User = 'root';
exit
# apt-get install linotp
# apt-get install linotp-adminclient-cli
# apt-get install python-ldap
# apt install freeradius
# nano /etc/freeradius/3.0/sites-enabled/linotp

کوډ پیسټ کړئ (د JuriM لخوا لیږل شوی، د هغه لپاره مننه!):

سرور linotp {
واورئ {
ipaddr = *
بندر = 1812
ډول = تصدیق
}
واورئ {
ipaddr = *
بندر = 1813
ډول = acct
}
اجازه ورکول {
مخکې بهیر
تازه کول {
&کنټرول:د سند ډول:= پرل
}
}
مستند کول {
د مستند ډول پرل {
پریل
}
}
محاسبه {
یونیسیس
}
}

ایډیټ /etc/freeradius/3.0/mods-enabled/perl

پرل {
د فایل نوم = /usr/share/linotp/radius_linotp.pm
func_authenticate = تصدیق کول
func_authorize = اجازه ورکول
}

له بده مرغه، په Debian 9 کې د radius_linotp.pm کتابتون د ذخیره کولو څخه ندی نصب شوی، نو موږ به یې د ګیتوب څخه واخلو.

# apt install git
# git clone https://github.com/LinOTP/linotp-auth-freeradius-perl
# cd linotp-auth-freeradius-perl/
# cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm

اوس راځئ چې /etc/freeradius/3.0/clients.conf ایډیټ کړو

د پیرودونکي سرورونه {
ipaddr = 192.168.188.0/24
پټ = ستاسو پټنوم
}

اوس راځئ چې نانو /etc/linotp2/rlm_perl.ini سم کړو

موږ ورته کوډ هلته پیسټ کوو لکه څنګه چې په ډیبیان 8 کې نصب کول (پورته تشریح شوي)

دا ټول د نظر سره سم دي. (تر اوسه نه دی ازمویل شوی)

زه به لاندې د سیسټمونو تنظیم کولو لپاره یو څو لینکونه پریږدم چې ډیری وختونه د دوه فاکتور تصدیق سره خوندي کولو ته اړتیا لري:
په کې د دوه فاکتور تصدیق تنظیم کول اپسيکس

د سیسکو ASA سره تنظیم کړئ(دلته د مختلف ټوکن نسل سرور کارول کیږي ، مګر پخپله د ASA تنظیمات ورته دي).

VPN د دوه فاکتور تصدیق سره

تعدیلات په ssh کې د دوه فکتور تصدیق (LinOTP هلته هم کارول کیږي) - د لیکوال څخه مننه. هلته تاسو د LiOTP پالیسیو تنظیم کولو په اړه په زړه پوري شیان هم موندلی شئ.

همچنان ، د ډیری سایټونو cm د دوه فاکتور تصدیق ملاتړ کوي (د WordPress لپاره ، LinOTP حتی د دې لپاره خپل ځانګړي ماډل لري github)، د مثال په توګه، که تاسو غواړئ د شرکت کارمندانو لپاره ستاسو په کارپوریټ ویب پاڼه کې خوندي برخه جوړه کړئ.
مهم حقیقت! د ګوګل تصدیق کونکي کارولو لپاره د "ګوګل تصدیق کونکي" بکس مه چیک کړئ! بیا د QR کوډ د لوستلو وړ نه دی ... (عجیب حقیقت)

د دې مقالې لیکلو لپاره، د لاندې مقالو معلومات کارول شوي:
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

د لیکوالانو څخه مننه.

سرچینه: www.habr.com

Add a comment