Sa lá atá inniu ba mhaith liom a roinnt conas freastalaí fíordheimhnithe dhá fhachtóir a bhunú chun líonra corparáideach, suíomhanna, seirbhísí, ssh a chosaint. Rithfidh an freastalaí an meascán seo a leanas: LinOTP + FreeRadius.
Cén fáth a bhfuil sé de dhíth orainn?
Is réiteach áisiúil, saor in aisce é seo, laistigh dá líonra féin, neamhspleách ar sholáthraithe tríú páirtí.
Tá an tseirbhís seo an-áisiúil, go leor amhairc, murab ionann agus táirgí foinse oscailte eile, agus tacaíonn sé freisin le líon mór feidhmeanna agus polasaithe (Mar shampla, logáil isteach + pasfhocal + (PIN + OTPToken)). Tríd an API, comhtháthaíonn sé le seirbhísí seolta SMS (LinOTP Config-> Soláthraí Cumraíocht-> Soláthraí SMS), gineann sé cóid d'fheidhmchláir shoghluaiste ar nós Google Authentificator agus go leor eile. Sílim go bhfuil sé níos áisiúla ná an tseirbhís a pléadh i
Oibríonn an freastalaí seo go foirfe le Cisco ASA, freastalaí OpenVPN, Apache2, agus go ginearálta le beagnach gach rud a thacaíonn le fíordheimhniú trí fhreastalaí RADIUS (Mar shampla, le haghaidh SSH sa lárionad sonraí).
Riachtanach:
1) Debian 8 (jessie) - I gcónaí! (Déantar cur síos ar shuiteáil trialach ar debian 9 ag deireadh an ailt)
Tosaigh:
Suiteáil Debian 8.
Cuir an stór LinOTP leis:
# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list
Eochracha á gcur leis:
# gpg --search-keys 913DFF12F86258E5
Uaireanta le linn suiteála “glan”, tar éis an t-ordú seo a rith, taispeánann 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
Seo é an socrú gnupg tosaigh. Tá sé ceart go leor. Rith an t-ordú arís.
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) Выход>
Freagraimid: 1
Next:
# gpg --export 913DFF12F86258E5 | apt-key add -
# apt-get update
Suiteáil mysql. Go teoiriciúil, is féidir leat freastalaí sql eile a úsáid, ach ar mhaithe le simplíocht úsáidfidh mé é mar a mholtar do LinOTP.
(Tá faisnéis bhreise, lena n-áirítear bunachar sonraí LinOTP a athchumrú, le fáil sa doiciméadú oifigiúil le haghaidh
# apt-get install mysql-server
# apt-get update
(ní ghortódh sé na nuashonruithe a sheiceáil arís)
Suiteáil LinOTP agus modúil bhreise:
# apt-get install linotp
Freagraimid ceisteanna an suiteálaí:
Úsáid Apache2: tá
Cruthaigh pasfhocal don admin Linotp: “Do Phasfhocal”
Gin teastas féin-shínithe?: tá
Úsáid MySQL?: Sea
Cá bhfuil an bunachar sonraí suite: localhost
Cruthaigh bunachar sonraí LinOTP (bunainm) ar an bhfreastalaí: LinOTP2
Cruthaigh úsáideoir ar leith don bhunachar sonraí: LinOTP2
Shocraigh muid pasfhocal don úsáideoir: “Do Phasfhocal”
Ar cheart dom bunachar sonraí a chruthú anois? (rud éigin cosúil le “An bhfuil tú cinnte go dteastaíonn uait...”): tá
Cuir isteach an focal faire fréimhe MySQL a chruthaigh tú nuair a bhí sé á shuiteáil: “YourPassword”
Arna dhéanamh.
(roghnach, ní gá duit é a shuiteáil)
# apt-get install linotp-adminclient-cli
(roghnach, ní gá duit é a shuiteáil)
# apt-get install libpam-linotp
Agus mar sin tá ár gcomhéadan gréasáin Linotp ar fáil anois ag:
"<b>https</b>: //IP_сервера/manage"
Labhróidh mé faoi na socruithe sa chomhéadan gréasáin beagán níos déanaí.
Anois, an rud is tábhachtaí! Ardaímid FreeRadius agus nascaimid é le Linotp.
Suiteáil FreeRadius agus modúl chun oibriú le LiNOTP
# apt-get install freeradius linotp-freeradius-perl
cúltaca na cumraíochtaí ga cliant agus Úsáideoirí.
# mv /etc/freeradius/clients.conf /etc/freeradius/clients.old
# mv /etc/freeradius/users /etc/freeradius/users.old
Cruthaigh comhad cliant folamh:
# touch /etc/freeradius/clients.conf
Ár gcomhad cumraíochta nua a chur in eagar (is féidir an cumraíocht chúltaca a úsáid mar shampla)
# nano /etc/freeradius/clients.conf
client 192.168.188.0/24 {
secret = passwd # пароль для подключения клиентов
}
Ansin, cruthaigh comhad úsáideora:
# touch /etc/freeradius/users
Déanaimid an comhad a chur in eagar, ag rá le ga go n-úsáidfimid perl le haghaidh fíordheimhnithe.
# nano /etc/freeradius/users
DEFAULT Auth-type := perl
Ansin, cuir an comhad in eagar /etc/freeradius/modules/perl
# nano /etc/freeradius/modules/perl
Ní mór dúinn an cosán chuig an script perl linotp a shonrú i bparaiméadar an mhodúil:
Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm
… ..
Ansin cruthaímid comhad ina ndeirimid cé acu (fearann, bunachar sonraí nó comhad) as a mbainfear na sonraí.
# 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
Déanfaidh mé beagán níos mó sonraí anseo mar tá sé tábhachtach:
Cur síos iomlán ar an gcomhad le tuairimí:
#IP an fhreastalaí linOTP (seoladh IP ár bhfreastalaí LinOTP)
URL= https://172.17.14.103/validate/simplecheck
#An limistéar atá againn a chruthóimid i gcomhéadan gréasáin LinOTP.)
REALM = cúl1
# Ainm an ghrúpa úsáideoirí a chruthaítear i muzzle gréasáin LinOTP.
RESCONF=comhad_árasán
#roghnach: déan trácht ar an dóigh go n-oibríonn gach rud go breá
Debug=Fíor
#roghnach: bain úsáid as seo, má tá teastais féinshínithe agat, nó déan trácht amach (SSL má chruthaímid ár dteastas féin agus má theastaíonn uainn é a fhíorú)
SSL_CHECK=Bréagach
Ansin, cruthaigh an comhad /etc/freeradius/sites-available/linotp
# touch /etc/freeradius/sites-available/linotp
# nano /etc/freeradius/sites-available/linotp
Agus cóipeáil an chumraíocht isteach ann (ní gá aon rud a chur in eagar):
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
}
Ansin cruthóimid nasc SIM:
# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled
Go pearsanta, maraíonn mé suíomhanna Radius réamhshocraithe, ach má theastaíonn uait iad, is féidir leat a config a chur in eagar nó iad a dhíchumasú.
# rm /etc/freeradius/sites-enabled/default
# rm /etc/freeradius/sites-enabled/inner-tunnel
# service freeradius reload
Anois fillimis ar aghaidh an ghréasáin agus breathnú air go mion níos mine:
Sa chúinne uachtarach ar dheis cliceáil Cumraíocht LinOTP -> UserIdResolvers -> Nua
Roghnaímid na rudaí a theastaíonn uainn: LDAP (AD win, LDAP samba), nó SQL, nó úsáideoirí áitiúla an chórais Flatfile.
Líon isteach na réimsí riachtanacha.
Ansin cruthaímid REALMS:
Sa chúinne uachtarach ar dheis, cliceáil Cumraíocht LinOTP -> Realms -> Nua.
agus ainm a thabhairt dár REALMS, agus freisin cliceáil ar an UserIdResolvers a cruthaíodh roimhe seo.
Tá na sonraí seo go léir ag teastáil ó FreeRadius sa chomhad /etc/linotp2/rlm_perl.ini, mar a scríobh mé faoi thuas, mar sin mura ndearna tú é a chur in eagar ansin, déan anois é.
Tá an freastalaí go léir cumraithe.
Suimiú:
LinOTP a shocrú ar Debian 9:
Suiteáil:
# 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
(de réir réamhshocraithe, i Debian 9 ní thairgeann mysql (mariaDB) focal faire fréimhe a shocrú, ar ndóigh is féidir leat é a fhágáil folamh, ach má léann tú an nuacht, is minic go dtiocfaidh "teipeanna eipiciúil" as seo, mar sin socróimid é ar aon nós)
# 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
Greamaigh an cód (a sheol JuriM, buíochas leis as sin!):
freastalaí linotp {
éist {
ipadr = *
port=1812
cineál = auth
}
éist {
ipadr = *
port=1813
cineál = gníomh
}
údar {
réamhphróiseas
nuashonrú {
&rialú:Auth-Cineál := Perl
}
}
fíordheimhnigh {
Cineál Údar Perl {
Perl
}
}
cuntasaíocht {
Seol
}
}
Cuir /etc/freeradius/3.0/mods-enabled/perl in eagar
perl {
ainm comhaid = /usr/share/linotp/radius_linotp.pm
func_authenticate = fíordheimhnigh
func_authorize = údar
}
Ar an drochuair, i Debian 9 níl an leabharlann radius_linotp.pm suiteáilte ó na stórtha, mar sin tógfaimid ó 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
anois cuirimis in eagar /etc/freeradius/3.0/clients.conf
freastalaithe cliant {
ipaddr = 192.168.188.0/24
rún = do phasfhocal
}
Anois ceartaimis nano /etc/linotp2/rlm_perl.ini
Déanaimid an cód céanna a ghreamú ansin agus a bhí nuair a shuiteáiltear ar debian 8 (a gcuirtear síos air thuas)
sin uile de réir an smaoineamh. (gan tástáil fós)
Fágfaidh mé thíos cúpla nasc maidir le córais a bhunú ar gá iad a chosaint go minic le fíordheimhniú dhá fhachtóir:
Fíordheimhniú dhá fhachtóir a shocrú i
coigeartú
Chomh maith leis sin, tacaíonn cms go leor suíomhanna le fíordheimhniú dhá fhachtóir (Do WordPress, tá a modúl speisialta féin ag LinOTP fiú le haghaidh
Fíric TÁBHACHTACH! NÁ tic sa bhosca “Google Autenteficator” chun Google Authenticator a úsáid! Níl an cód QR inléite mar sin... (fíric aisteach)
Chun an t-alt seo a scríobh, baineadh úsáid as faisnéis ó na hailt seo a leanas:
Buíochas leis na húdair.
Foinse: will.com