LinOTP two-factor authentication server

LinOTP two-factor authentication server

ယနေ့ ကျလန်ုပ်သည် ကော်ပိုရိတ်ကလန်ရက်၊ ဆိုက်မျာသ၊ ဝန်ဆောင်မဟုမျာသ၊ ssh ကို ကာကလယ်ရန်အတလက် two-factor authentication server ကို မည်သို့တပ်ဆင်ရမည်ကို မျဟဝေလိုပါသည်။ ဆာဗာသည် အောက်ပါပေါင်သစပ်မဟုကို လုပ်ဆောင်ပါမည်- LinOTP + FreeRadius။

ဘာကဌောင့် လိုအပ်တာလဲ။
၎င်သသည် ပဌင်ပကုမ္ပဏီပေသသူမျာသနဟင့် သီသခဌာသကင်သသော ၎င်သ၏ကိုယ်ပိုင်ကလန်ရက်အတလင်သ လုံသဝအခမဲ့၊ အဆင်ပဌေသည့်ဖဌေရဟင်သချက်ဖဌစ်သည်။

ကဝန်ဆောင်မဟုသည် အခဌာသ open source ထုတ်ကုန်မျာသနဟင့်မတူဘဲ အလလန်အဆင်ပဌေပဌီသ အမဌင်အာရုံကောင်သမလန်ပဌီသ လုပ်ငန်သဆောင်တာမျာသနဟင့် မူဝါဒအမျာသအပဌာသကိုလည်သ ပံ့ပိုသပေသသည် (ဥပမာ၊ login+password+(PIN+OTPToken))။ API မဟတဆင့်၊ ၎င်သသည် sms ပေသပို့ခဌင်သဝန်ဆောင်မဟုမျာသ (LinOTP Config->Provider Config->SMS ဝန်ဆောင်မဟုပေသသူ)၊ Google Authentificator ကဲ့သို့သော မိုဘိုင်သအပလီကေသရဟင်သမျာသအတလက် ကုဒ်မျာသထုတ်ပေသသည်နဟင့် အခဌာသအရာမျာသစလာကို ပေါင်သစပ်ပေသပါသည်။ ဆလေသနလေသထာသတဲ့ ဝန်ဆောင်မဟုထက် ပိုအဆင်ပဌေမယ်ထင်တယ်။ ဆောင်သပါသ.

ကဆာဗာသည် Cisco ASA၊ OpenVPN ဆာဗာ၊ Apache2 နဟင့် ယေဘုယျအာသဖဌင့် RADIUS ဆာဗာမဟတစ်ဆင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သကို ပံ့ပိုသပေသသည့်အရာအာသလုံသနီသပါသ (ဥပမာ၊ ဒေတာစင်တာရဟိ SSH အတလက်)။

လိုအပ်သည်:

1) Debian 8 (jessie) - သေချာပေါက်! (debian 9 တလင် စမ်သသပ်တပ်ဆင်မဟုကို ဆောင်သပါသ၏အဆုံသတလင် ဖော်ပဌထာသပါသည်။)

Start:

Debian 8 ကို ထည့်သလင်သခဌင်သ။

LinOTP repository ကိုထည့်ပါ-

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

သော့မျာသထည့်ခဌင်သ-

# gpg --search-keys 913DFF12F86258E5

တခါတရံ "သန့်ရဟင်သ" တပ်ဆင်မဟုအတလင်သ၊ ကအမိန့်ကိုအသုံသပဌုပဌီသနောက်၊ Debian သည်-

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 စနစ်ထည့်သလင်သမဟုဖဌစ်သည်။ ရပါတယ်။ command ကို ပဌန်ပဌီသ run လိုက်ပါ။
Debian ၏မေသခလန်သအတလက်

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) ВыхПЎ>

ကျလန်ုပ်တို့ အဖဌေ: ၁

နောက်တစ်ခု:

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

# apt-get update

mysql ကို install လုပ်ပါ။ သီအိုရီအရ၊ သင်သည် အခဌာသသော sql ဆာဗာကို သုံသနိုင်သော်လည်သ ရိုသရဟင်သရန်အတလက် LinOTP အတလက် အကဌံပဌုထာသသည့်အတိုင်သ ၎င်သကို ကျလန်ုပ်အသုံသပဌုပါမည်။

(LinOTP ဒေတာဘေ့စ်ကို ပဌန်လည်ပဌင်ဆင်ခဌင်သအပါအဝင် အပိုအချက်အလက်မျာသကို တရာသဝင်စာရလက်စာတမ်သမျာသတလင် တလေ့ရဟိနိုင်ပါသည်။ link ကို. ၎င်သတလင် mysql ကိုထည့်သလင်သပဌီသပါက parameters မျာသကိုပဌောင်သလဲရန် dpkg-reconfigure linotp ကိုသင်တလေ့နိုင်သည်။

# apt-get install mysql-server

# apt-get update

(အပ်ဒိတ်မျာသကို ထပ်မံစစ်ဆေသရန် မထိခိုက်ပါ)
LinOTP နဟင့် နောက်ထပ် module မျာသကို ထည့်သလင်သပါ-

# apt-get install linotp

ကျလန်ုပ်တို့သည် ထည့်သလင်သသူ၏မေသခလန်သမျာသကို ဖဌေသည်-
Apache2 ကိုသုံသပါ။
စီမံခန့်ခလဲသူ Linotp အတလက် စကာသဝဟက်တစ်ခု ဖန်တီသပါ- "သင်၏ စကာသဝဟက်"
ကိုယ်တိုင်ရေသထိုသထာသသော လက်မဟတ်ကို ထုတ်မလာသ။
MySQL ကို သုံသသလာသ
ဒေတာဘေ့စ်ဘယ်မဟာတည်ရဟိသည် - localhost
ဆာဗာပေါ်တလင် LinOTP ဒေတာဘေ့စ် (အခဌေခံအမည်) ဖန်တီသပါ- LinOTP2
ဒေတာဘေ့စ်အတလက် သီသခဌာသအသုံသပဌုသူ ဖန်တီသပါ- LinOTP2
ကျလန်ုပ်တို့သည် အသုံသပဌုသူအတလက် စကာသဝဟက်တစ်ခုသတ်မဟတ်ထာသပါသည်- "သင်၏စကာသဝဟက်"
ဒေတာဘေ့စ်တစ်ခုကို အခုပဲ ဖန်တီသသင့်လာသ။ (“မင်သလိုချင်တာသေချာလာသ ” လိုမျိုသ)) ဟုတ်ကဲ့
၎င်သကိုထည့်သလင်သရာတလင် သင်ဖန်တီသခဲ့သည့် MySQL root စကာသဝဟက်ကို ထည့်သလင်သပါ- "YourPassword"
Done ။

(ရလေသချယ်နိုင်သည်၊ ၎င်သကိုသင်ထည့်သလင်သရန်မလိုအပ်ပါ။)

# apt-get install linotp-adminclient-cli 

(ရလေသချယ်နိုင်သည်၊ ၎င်သကိုသင်ထည့်သလင်သရန်မလိုအပ်ပါ။)

# apt-get install libpam-linotp  

ထို့ကဌောင့် ကျလန်ုပ်တို့၏ Linotp ဝဘ်အင်တာဖေ့စ်ကို ယခုရရဟိနိုင်ပါပဌီ-

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

ဝဘ်အင်တာဖေ့စ်ရဟိ ဆက်တင်မျာသအကဌောင်သ နောက်မဟပဌောပါမည်။

အခု အရေသကဌီသဆုံသအရာ။ ကျလန်ုပ်တို့သည် FreeRadius ကိုမဌဟင့်တင်ပဌီသ ၎င်သကို Linotp နဟင့်ချိတ်ဆက်ပါ။

LinOTP နဟင့်အလုပ်လုပ်ရန်အတလက် FreeRadius နဟင့် module ကိုထည့်သလင်သပါ။

# 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

ကျလန်ုပ်တို့၏ config ဖိုင်အသစ်ကို တည်သဖဌတ်ခဌင်သ (အရန်သိမ်သထာသသော config ကို နမူနာအဖဌစ် သုံသနိုင်သည်)

# nano /etc/freeradius/clients.conf

client 192.168.188.0/24 {
secret  = passwd # парПль Ўля пПЎключеМОя клОеМтПв
}

ထို့နောက် အသုံသပဌုသူဖိုင်ကို ဖန်တီသပါ-

# touch /etc/freeradius/users

ကျလန်ုပ်တို့သည် ဖိုင်ကို တည်သဖဌတ်ပဌီသ စစ်မဟန်ကဌောင်သအထောက်အထာသအတလက် perl ကိုသုံသမည်ဖဌစ်ကဌောင်သ အချင်သဝက်ကိုပဌောပဌသည်။

# nano /etc/freeradius/users

DEFAULT Auth-type := perl

ထို့နောက် /etc/freeradius/modules/perl ဖိုင်ကို တည်သဖဌတ်ပါ။

# nano /etc/freeradius/modules/perl

module parameter တလင် perl linotp script သို့လမ်သကဌောင်သကိုသတ်မဟတ်ရန်လိုအပ်သည်-

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=rearm1
LinOTP ဝဘ် muzzle တလင်ဖန်တီသထာသသော # အသုံသပဌုသူအုပ်စုအမည်။
RESCONF=flat_file
#ချန်လဟပ်ထာသနိုင်သည်- အရာအာသလုံသ အဆင်ပဌေနေပါက မဟတ်ချက်ပေသပါ။
အမဟာသအယလင်သ=အမဟန်
#ချန်လဟပ်ထာသနိုင်သည်- ကအရာကို အသုံသပဌုပါ၊ သင့်တလင် ကိုယ်တိုင်လက်မဟတ်ထိုသထာသသော လက်မဟတ်မျာသရဟိပါက၊ မဟုတ်ပါက မဟတ်ချက်ထုတ်ပါ (ကျလန်ုပ်တို့၏ကိုယ်ပိုင်လက်မဟတ်ကို ဖန်တီသပဌီသ အတည်ပဌုလိုပါက SSL၊
SSL_CHECK=မဟာသသည်။

ထို့နောက် /etc/freeradius/sites-available/linotp ဖိုင်ကိုဖန်တီသပါ။

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

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

ပဌီသလျဟင် config ကို ၎င်သထဲသို့ ကူသယူပါ (ဘာမဟ တည်သဖဌတ်ရန် မလိုအပ်ပါ)။

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
}

ထို့နောက် ကျလန်ုပ်တို့သည် SIM လင့်ခ်တစ်ခုကို ဖန်တီသပါမည်-

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

ကိုယ်တိုင်ကိုယ်ကျ၊ ကျလန်ုပ်သည် မူရင်သ Radius ဆိုက်မျာသကို သတ်ပစ်သည်၊ သို့သော် ၎င်သတို့ကို လိုအပ်ပါက၊ သင်သည် ၎င်သတို့၏ config ကို တည်သဖဌတ်နိုင်သည် သို့မဟုတ် ၎င်သတို့ကို ပိတ်နိုင်သည်။

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

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

# service freeradius reload

ယခု ဝဘ်မျက်နဟာသို့ ပဌန်၍ အနည်သငယ်အသေသစိတ်ကဌည့်ကဌပါစို့။
အပေါ်ညာဘက်ထောင့်တလင် LinOTP Config -> UserIdResolvers -> New ကိုနဟိပ်ပါ။
ကျလန်ုပ်တို့ လိုချင်သောအရာကို ရလေသချယ်သည်- LDAP (AD အနိုင်ရခဌင်သ၊ LDAP samba) သို့မဟုတ် SQL သို့မဟုတ် Flatfile စနစ်၏ ဒေသခံအသုံသပဌုသူမျာသ။

လိုအပ်သောအကလက်မျာသကိုဖဌည့်ပါ။

နောက်တစ်ခု ကျလန်ုပ်တို့သည် REALMS ကို ဖန်တီသသည်-
ညာဘက်အပေါ်ထောင့်တလင် LinOTP Config -> Realms -> New ကိုနဟိပ်ပါ။
ကျလန်ုပ်တို့၏ REALMS အာသ အမည်တစ်ခုပေသကာ ယခင်ဖန်တီသထာသသော UserIdResolvers ကိုလည်သ နဟိပ်ပါ။

FreeRadius သည် အထက်တလင်ရေသခဲ့သည့်အတိုင်သ /etc/linotp2/rlm_perl.ini ဖိုင်တလင် ကဒေတာအာသလုံသကို လိုအပ်သည်၊ ထို့ကဌောင့် ၎င်သကို မတည်သဖဌတ်ပါက ယခုပဌုလုပ်ပါ။

ဆာဗာကို အာသလုံသပဌင်ဆင်ပဌီသပါပဌီ။

ဖဌည့်စလက်:

Debian 9 တလင် LinOTP ကို ​​စနစ်ထည့်သလင်သခဌင်သ။:

setting:

# 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

(ပုံမဟန်အာသဖဌင့်၊ Debian 9 mysql (mariaDB) တလင် root စကာသဝဟက်ကိုသတ်မဟတ်ရန်ကမ်သလဟမ်သခဌင်သမရဟိပါ၊ သေချာသည်မဟာ၎င်သကိုဗလာထာသထာသနိုင်သည်၊ သို့သော်သတင်သကိုသင်ဖတ်ပါက၊ ၎င်သသည်မကဌာခဏ "epic fails" ကိုဖဌစ်ပေါ်စေသည်၊ ထို့ကဌောင့်ကျလန်ုပ်တို့၎င်သကိုသတ်မဟတ်မည်ဖဌစ်သည်။ ဘာပဲဖဌစ်ဖဌစ်)

# 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
type=auth
}
နာသထောင်ပါ {
ipaddr = *
ဆိပ်ကမ်သ = 1813
type=acct
}
လုပ်ပိုင်ခလင့် {
လုပ်ငန်သစဉ်
အပ်ဒိတ် {
&control:Auth-Type := Perl
}
}
စစ်မဟန်ကဌောင်သ {
အထောက်အထာသ-အမျိုသအစာသ Perl {
ပုလဲ
}
}
စာရင်သကိုင် {
Unix
}
}

/etc/freeradius/3.0/mods-enabled/perl ကိုတည်သဖဌတ်ပါ။

perl {
ဖိုင်အမည် = /usr/share/linotp/radius_linotp.pm
func_authenticate = စစ်မဟန်ကဌောင်သသက်သေပဌသည်။
func_authorize = လုပ်ပိုင်ခလင့်
}

ကံမကောင်သစလာဖဌင့်၊ Debian 9 တလင် radius_linotp.pm စာကဌည့်တိုက်ကို repositories မဟ ထည့်သလင်သမထာသသောကဌောင့် ၎င်သကို github မဟ ယူပါမည်။

# 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 ကို တည်သဖဌတ်ကဌပါစို့

client servers {
ipaddr = 192.168.188.0/24
လျဟို့ဝဟက် = သင့်စကာသဝဟက်
}

အခု nano /etc/linotp2/rlm_perl.ini ကိုပဌင်ကဌည့်ရအောင်

debian 8 (အထက်တလင်ဖော်ပဌထာသသည်) ကို install လုပ်သောအခါကဲ့သို့တူညီသောကုဒ်ကိုကူသထည့်ပါ။

ဒါပဲ အကဌံဥာဏ်အရ။ (မစမ်သသပ်ရသေသပါ)

အမျာသစုမဟာ two-factor authentication ဖဌင့် ကာကလယ်ထာသရန် လိုအပ်သော စနစ်မျာသထည့်သလင်သခဌင်သအတလက် လင့်ခ်အချို့ကို အောက်တလင်ချန်ထာသခဲ့ပါမည်။
two-factor authentication in ကို စနစ်ထည့်သလင်သခဌင်သ။ Apache2

Cisco ASA ဖဌင့် စနစ်ထည့်သလင်သပါ။(ကလဲပဌာသသော တိုကင်မျိုသဆက်ဆာဗာကို ထိုနေရာတလင် အသုံသပဌုသော်လည်သ ASA ၏ ဆက်တင်မျာသသည် အတူတူပင်ဖဌစ်သည်)။

two-factor authentication ဖဌင့် VPN

သင့်အောင်လုပ်ခဌင်သ ssh တလင် အချက်နဟစ်ချက် စစ်မဟန်ကဌောင်သ အတည်ပဌုခဌင်သ။ (LinOTP ကိုလည်သ အဲဒီနေရာမဟာ သုံသပါတယ်) - စာရေသသူကို ကျေသဇူသတင်ပါတယ်။ ထိုနေရာတလင် LiOTP မူဝါဒမျာသသတ်မဟတ်ခဌင်သနဟင့်ပတ်သက်ပဌီသ စိတ်ဝင်စာသစရာကောင်သသောအရာမျာသကို သင်တလေ့နိုင်သည်။

ထို့အပဌင်၊ ဆိုဒ်အမျာသအပဌာသ၏ cms သည် two-factor authentication ကို ပံ့ပိုသပေသသည် ( WordPress အတလက်၊ LinOTP သည် ၎င်သ၏ကိုယ်ပိုင် အထူသ module တစ်ခုပင် ရဟိသည်။ githubဥပမာအာသဖဌင့်၊ သင်သည် ကုမ္ပဏီဝန်ထမ်သမျာသအတလက် သင်၏ကော်ပိုရိတ်ဝဘ်ဆိုဒ်တလင် အကာအကလယ်ပေသထာသသောအပိုင်သကို ပဌုလုပ်လိုပါက။
အရေသကဌီသသောအချက်။ Google Authenticator ကိုအသုံသပဌုရန် "Google autenteficator" အကလက်ကို မစစ်ဆေသပါနဟင့်။ QR ကုဒ်ကို ဖတ်လို့ မရနိုင်တော့ဘူသ... (ထူသဆန်သတဲ့အချက်)

ကဆောင်သပါသကိုရေသသာသရန်၊ အောက်ပါဆောင်သပါသမျာသမဟ အချက်အလက်မျာသကို အသုံသပဌုခဲ့သည်-
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

စာရေသဆရာမျာသကို ကျေသဇူသတင်ပါသည်။

source: www.habr.com

မဟတ်ချက် Add