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
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
# 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
adjustment
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
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:
Taing dha na h-ùghdaran.
Source: www.habr.com