Frithealaiche dearbhaidh dà-fhactaraidh LinOTP

Frithealaiche dearbhaidh dà-fhactaraidh LinOTP

An-diugh tha mi airson a roinn mar a stèidhicheas tu frithealaiche dearbhaidh dà-fhactaraidh gus lìonra corporra, làraichean, seirbheisean, ssh a dhìon. Ruithidh am frithealaiche am measgachadh a leanas: LinOTP + FreeRadius.

Carson a tha feum againn air?
Tha seo na fhuasgladh gu tur an-asgaidh, goireasach, taobh a-staigh an lìonra aige fhèin, neo-eisimeileach bho sholaraichean treas-phàrtaidh.

Tha an t-seirbheis seo gu math goireasach, gu math lèirsinneach, eu-coltach ri toraidhean stòr fosgailte eile, agus tha e cuideachd a’ toirt taic do ghrunn ghnìomhan agus phoileasaidhean (Mar eisimpleir, logadh a-steach + facal-faire + (PIN + OTPToken)). Tron API, bidh e ag aonachadh le seirbheisean cur sms (LinOTP Config-> Provider Config-> SMS Provider), a’ gineadh còdan airson tagraidhean gluasadach leithid Google Authentificator agus mòran a bharrachd. Tha mi a’ smaoineachadh gu bheil e nas goireasaiche na an t-seirbheis a chaidh a dheasbad ann artaigil.

Bidh an frithealaiche seo ag obair gu foirfe le Cisco ASA, frithealaiche OpenVPN, Apache2, agus san fharsaingeachd le cha mhòr a h-uile càil a bheir taic do dhearbhadh tro fhrithealaiche RADIUS (Mar eisimpleir, airson SSH san ionad dàta).

Riatanach:

1) Debian 8 (jessie) - Feumail! (tha stàladh deuchainn air debian 9 air a mhìneachadh aig deireadh an artaigil)

Tòisich:

A stàladh Debian 8.

Cuir ris an stòr LinOTP:

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

A' cur iuchraichean ris:

# gpg --search-keys 913DFF12F86258E5

Aig amannan rè stàladh “glan”, às deidh an àithne seo a ruith, bidh Debian a ’taisbeanadh:

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

Is e seo a’ chiad shuidheachadh gnupg. Tha sin ceart gu leòr. Dìreach ruith an àithne a-rithist.
Do cheist 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) Выход>

Tha sinn a 'freagairt: 1

Air adhart:

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

# apt-get update

Stàlaich mysql. Ann an teòiridh, faodaidh tu frithealaiche sql eile a chleachdadh, ach airson sìmplidh cleachdaidh mi e mar a chaidh a mholadh airson LinOTP.

(gheibhear fiosrachadh a bharrachd, a’ gabhail a-steach ath-dhealbhadh stòr-dàta LinOTP, anns na sgrìobhainnean oifigeil airson cheangal. An sin gheibh thu cuideachd an àithne: dpkg-reconfigure linotp gus paramadairean atharrachadh ma tha thu air mysql a chuir a-steach mu thràth).

# apt-get install mysql-server

# apt-get update

(cha bhiodh e air a ghoirteachadh sùil a thoirt air na h-ùrachaidhean a-rithist)
Stàlaich LinOTP agus modalan a bharrachd:

# apt-get install linotp

Freagraidh sinn ceistean an stàlaichear:
Cleachd Apache2: tha
Cruthaich facal-faire airson admin Linotp: “Am facal-faire agad”
Cruthaich teisteanas fèin-shoidhnichte?: tha
Cleachd MySQL ?: tha
Càite a bheil an stòr-dàta suidhichte: localhost
Cruthaich stòr-dàta LinOTP (ainm bunaiteach) air an fhrithealaiche: LinOTP2
Cruthaich cleachdaiche air leth airson an stòr-dàta: LinOTP2
Shuidhich sinn facal-faire airson an neach-cleachdaidh: “Am facal-faire agad”
Am bu chòir dhomh stòr-dàta a chruthachadh a-nis? (rudeigin mar “A bheil thu cinnteach gu bheil thu ag iarraidh...”): tha
Cuir a-steach am facal-faire freumh MySQL a chruthaich thu nuair a stàlaich thu e: “YourPassword”
Air a dhèanamh.

(roghainneil, chan fheum thu a stàladh)

# apt-get install linotp-adminclient-cli 

(roghainneil, chan fheum thu a stàladh)

# apt-get install libpam-linotp  

Mar sin tha an eadar-aghaidh lìn Linotp againn a-nis ri fhaighinn aig:

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

Bruidhnidh mi mu na roghainnean san eadar-aghaidh lìn beagan nas fhaide air adhart.

A-nis, an rud as cudromaiche! Bidh sinn a’ togail FreeRadius agus ga cheangal ri Linotp.

Stàlaich FreeRadius agus modal airson obrachadh le LinOTP

# apt-get install freeradius linotp-freeradius-perl

cùl-taic de rèiteachadh radius an neach-dèiligidh agus luchd-cleachdaidh.

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

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

Cruthaich faidhle cleachdaiche falamh:

# touch /etc/freeradius/clients.conf

A’ deasachadh ar faidhle config ùr (faodar an config le taic a chleachdadh mar eisimpleir)

# nano /etc/freeradius/clients.conf

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

An ath rud, cruthaich faidhle cleachdaiche:

# touch /etc/freeradius/users

Deasaichidh sinn am faidhle, ag innse do radius gun cleachd sinn perl airson dearbhadh.

# nano /etc/freeradius/users

DEFAULT Auth-type := perl

An uairsin, deasaich am faidhle /etc/freeradius/modules/perl

# nano /etc/freeradius/modules/perl

Feumaidh sinn an t-slighe gu sgriobt perl linotp a shònrachadh ann am paramadair a’ mhodal:

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

… ..
An uairsin, bidh sinn a’ cruthachadh faidhle anns am bi sinn ag ràdh cò (àrainn, stòr-dàta no faidhle) airson an dàta a thoirt bhuaithe.

# 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

Thèid mi a-steach beagan nas mionaidiche an seo oir tha e cudromach:

Tuairisgeul slàn air an fhaidhle le beachdan:
#IP an fhrithealaiche linOTP (seòladh IP an fhrithealaiche LinOTP againn)
URL=https://172.17.14.103/validate/simplecheck
#An raon againn a chruthaicheas sinn ann an eadar-aghaidh lìn LinOTP.)
REALM = cùl1
#Ainm a’ bhuidheann luchd-cleachdaidh a tha air a chruthachadh ann am muzzle lìn LinOTP.
RESCONF=faidhle_flat
#roghnach: thoir beachd a-mach a bheil coltas gu bheil a h-uile càil ag obair gu math
Debug=Fìor
#roghnach: cleachd seo, ma tha teisteanasan fèin-soidhnichte agad, air dhòigh eile thoir beachd a-mach (SSL ma chruthaicheas sinn an teisteanas againn fhèin agus ma tha sinn airson a dhearbhadh)
SSL_CHECK=Meallta

An uairsin, cruthaich am faidhle /etc/freeradius/sites-available/linotp

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

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

Agus dèan lethbhreac den config a-steach ann (chan fheum dad a dheasachadh):

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
}

An uairsin cruthaichidh sinn ceangal SIM:

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

Gu pearsanta, bidh mi a’ marbhadh làraich radius bunaiteach, ach ma tha feum agad orra, faodaidh tu an rèiteachadh aca a dheasachadh no an cuir à comas.

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

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

# service freeradius reload

A-nis leig dhuinn tilleadh chun aghaidh lìn agus coimhead air ann am beagan nas mionaidiche:
Anns an oisean gu h-àrd air an làimh dheis cliog LinOTP Config -> UserIdResolvers -> Ùr
Bidh sinn a’ taghadh na tha sinn ag iarraidh: LDAP (AD win, LDAP samba), no SQL, no luchd-cleachdaidh ionadail siostam Flatfile.

Lìon a-steach na raointean a tha a dhìth.

An ath rud bidh sinn a’ cruthachadh REALMS:
Anns an oisean gu h-àrd air an làimh dheis, cliog LinOTP Config -> Realms -> Ùr.
agus thoir ainm dha na REALMS againn, agus cuideachd cliog air an UserIdResolvers a chaidh a chruthachadh roimhe seo.

Feumaidh FreeRadius an dàta seo gu lèir anns an fhaidhle /etc/linotp2/rlm_perl.ini, mar a sgrìobh mi mu dheidhinn gu h-àrd, mar sin mura do dheasaich thu e an uairsin, dèan e a-nis.

Tha am frithealaiche uile air a rèiteachadh.

Cur-ris:

A’ stèidheachadh LinOTP air Debian 9:

Stàladh:

# 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

(gu gnàthach, ann an Debian 9 chan eil mysql (mariaDB) a’ tabhann facal-faire freumh a shuidheachadh, gu dearbh faodaidh tu fhàgail falamh, ach ma leughas tu an naidheachd, bidh seo gu math tric a’ leantainn gu “fàilligeadh mòr", agus mar sin suidhichidh sinn e. co-dhiù)

# 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

Cuir a-steach an còd (air a chuir le JuriM, taing dha airson sin!):

frithealaiche linotp {
èist {
ipaddr = *
port = 1812
seòrsa = auth
}
èist {
ipaddr = *
port = 1813
seòrsa = achd
}
ùghdarrachadh {
ro-phròiseas
ùraich {
&control:Auth-Type := Perl
}
}
dearbhaich {
Perl Auth-Type {
perl
}
}
cunntasachd {
unix
}
}

Deasaich /etc/freeradius/3.0/mods-enabled/perl

perl {
ainm faidhle = /usr/share/linotp/radius_linotp.pm
func_authenticate = dearbhaich
func_authorize = ùghdarrachadh
}

Gu mì-fhortanach, ann an Debian 9 chan eil an leabharlann radius_linotp.pm air a chuir a-steach bho na stòran, agus mar sin bheir sinn e bho 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

a-nis leig leinn deasachadh /etc/freeradius/3.0/clients.conf

frithealaichean cliant {
ipaddr = 192.168.188.0/24
dìomhair = am facal-faire agad
}

A-nis leig leinn nano a cheartachadh /etc/linotp2/rlm_perl.ini

Bidh sinn a’ pasgadh an aon chòd an sin ’s a bha sinn nuair a stàlaicheas sinn air debian 8 (air a mhìneachadh gu h-àrd)

tha sin uile a rèir a 'bheachd. (gun deuchainn fhathast)

Fàgaidh mi gu h-ìosal beagan cheanglaichean mu bhith a’ stèidheachadh shiostaman a dh’ fheumas a bhith air an dìon gu tric le dearbhadh dà-fhactaraidh:
A’ stèidheachadh dearbhadh dà-fhactar ann an Apache2

Suidhich le Cisco ASA(tha frithealaiche ginealach comharra eadar-dhealaichte air a chleachdadh an sin, ach tha roghainnean an ASA fhèin mar an ceudna).

VPN le dearbhadh dà-fhactaraidh

adjustment dearbhadh dà fhactar ann an ssh (Tha LinOTP air a chleachdadh an sin cuideachd) - taing don ùghdar. An sin gheibh thu cuideachd rudan inntinneach mu bhith a’ stèidheachadh phoileasaidhean LiOTP.

Cuideachd, tha cms mòran làraich a’ toirt taic do dhearbhadh dà-fhactaraidh (Airson WordPress, tha modal sònraichte fhèin aig LinOTP airson GitHub), mar eisimpleir, ma tha thu airson earrann dìon a dhèanamh air an làrach-lìn corporra agad airson luchd-obrach companaidh.
FIOSRACHADH CUDROMACH! NA cuir sùil air a’ bhogsa “Google Autenteficator” gus Google Authenticator a chleachdadh! Chan urrainnear an còd QR a leughadh an uairsin ... (fìrinn neònach)

Gus an artaigil seo a sgrìobhadh, chaidh fiosrachadh bho na h-artaigilean a leanas a chleachdadh:
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

Taing dha na h-ùghdaran.

Source: www.habr.com

Cuir beachd ann