Freastalaí fíordheimhnithe dhá fhachtóir LinOTP

Freastalaí fíordheimhnithe dhá fhachtóir LinOTP

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 Airteagal.

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 nasc. Is féidir leat an t-ordú a fháil ann freisin: dpkg-reconfigure linotp chun paraiméadair a athrú má tá mysql suiteáilte agat cheana féin).

# 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 Apache2

Socrú le Cisco ASA(Úsáidtear freastalaí giniúna comharthaí difriúil ann, ach is ionann socruithe an ASA féin).

VPN le fíordheimhniú dhá fhachtóir

coigeartú fíordheimhniú dhá fhachtóir i ssh (Úsáidtear LinOTP ann freisin) - a bhuíochas leis an údar. Is féidir leat rudaí suimiúla a fháil ann freisin maidir le polasaithe LiOTP a bhunú.

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 github), mar shampla, más mian leat rannóg chosanta a dhéanamh ar do shuíomh Gréasáin corparáideach d’fhostaithe cuideachta.
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:
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

Buíochas leis na húdair.

Foinse: will.com

Add a comment