Kajeno ke batla ho arolelana mokhoa oa ho theha seva sa netefatso ea lintlha tse peli ho sireletsa marang-rang a khoebo, libaka, lits'ebeletso, ssh. Seva e tla tsamaisa motsoako o latelang: LinOTP + FreeRadius.
Ke hobane'ng ha re e hloka?
Ena ke tharollo e sa lefelloeng ka ho feletseng, e loketseng, ka har'a marang-rang a eona, e ikemetseng ho bafani ba mekhatlo ea boraro.
Ts'ebeletso ena e bonolo haholo, e bonahala haholo, ho fapana le lihlahisoa tse ling tse bulehileng tsa mohloli, hape e ts'ehetsa mesebetsi le maano a mangata (mohlala, login+password+(PIN+OTPToken)). Ka API, e hokahana le lits'ebeletso tsa ho romella li-sms (LinOTP Config-> Provider Config-> SMS Provider), e hlahisa likhoutu bakeng sa lits'ebetso tsa mehala tse kang Google Authentificator le tse ling tse ngata. Ke nahana hore e bonolo ho feta tšebeletso eo ho buisanoeng ka eona
Seva ena e sebetsa ka mokhoa o phethahetseng le Cisco ASA, seva sa OpenVPN, Apache2, 'me ka kakaretso hoo e batlang e le ntho e' ngoe le e 'ngoe e tšehetsang bopaki ka seva sa RADIUS (Ka mohlala, bakeng sa SSH setsing sa data).
E ea hlokahala:
1) Debian 8 (jessie) - Ho lokile! (ho kenya teko ho debian 9 ho hlalositsoe qetellong ea sengoloa)
Qala:
Ho kenya Debian 8.
Kenya polokelo ea LinOTP:
# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list
Ho eketsa linotlolo:
# gpg --search-keys 913DFF12F86258E5
Ka linako tse ling nakong ea ho kenya "hloekile", ka mor'a ho sebelisa taelo ena, Debian e bonts'a:
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
Ena ke mokhoa oa ho qala oa gnupg. Ho lokile. Tsamaisa taelo hape.
Ho potso ea 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) Выход>
Re araba: 1
E latelang:
# gpg --export 913DFF12F86258E5 | apt-key add -
# apt-get update
Kenya mysql. Ka khopolo, u ka sebelisa seva e 'ngoe ea sql, empa bakeng sa ho nolofatsa ke tla e sebelisa joalokaha e khothalelitsoe bakeng sa LinOTP.
(lintlha tse ling, ho kenyelletsa le ho hlophisa bocha database tsa LinOTP, li ka fumaneha litokomaneng tsa semmuso tsa
# apt-get install mysql-server
# apt-get update
(ho ne ho ke ke ha utloisa bohloko ho hlahloba lintlafatso hape)
Kenya LinOTP le li-module tse ling:
# apt-get install linotp
Re araba lipotso tsa installer:
Sebelisa Apache2: ho joalo
Theha phasewete bakeng sa admin Linopt: "Password ea hau"
Hlahisa setifikeiti se itekenetseng?: ho joalo
Sebelisa MySQL?: ho joalo
Sebaka sa polokelo ea boitsebiso se hokae: localhost
Theha database ea LinOTP (lebitso la motheo) ho seva: LinOTP2
Theha mosebelisi ea arohaneng bakeng sa database: LinOTP2
Re beha phasewete bakeng sa mosebelisi: "Password ea hau"
Na ke lokela ho theha database hona joale? (ntho e kang "Na u na le bonnete ba hore u batla ..."): ho joalo
Kenya phasewete ea motso ea MySQL eo u e entseng ha u e kenya: "YourPassword"
E entsoe.
(ka boikhethelo, ha ua tlameha ho e kenya)
# apt-get install linotp-adminclient-cli
(ka boikhethelo, ha ua tlameha ho e kenya)
# apt-get install libpam-linotp
Kahoo sebopeho sa rona sa marang-rang sa Linopt se se se fumaneha ho:
"<b>https</b>: //IP_сервера/manage"
Ke tla bua ka litlhophiso tsa sehokelo sa webo nakoana hamorao.
Jwale, ntho ya bohlokwa ka ho fetisisa! Re phahamisa FreeRadius mme re e hokahanya le Linopp.
Kenya FreeRadius le module bakeng sa ho sebetsa le LinOTP
# apt-get install freeradius linotp-freeradius-perl
backup ea moreki le Users radius configs.
# mv /etc/freeradius/clients.conf /etc/freeradius/clients.old
# mv /etc/freeradius/users /etc/freeradius/users.old
Etsa faele e se nang letho ea bareki:
# touch /etc/freeradius/clients.conf
Ho hlophisa faele ea rona e ncha ea config (sebopeho se tšehetsoeng se ka sebelisoa e le mohlala)
# nano /etc/freeradius/clients.conf
client 192.168.188.0/24 {
secret = passwd # пароль для подключения клиентов
}
E latelang, etsa faele ea basebelisi:
# touch /etc/freeradius/users
Re hlophisa faele, re bolella radius hore re tla sebelisa perl bakeng sa netefatso.
# nano /etc/freeradius/users
DEFAULT Auth-type := perl
E latelang, fetola faele /etc/freeradius/modules/perl
# nano /etc/freeradius/modules/perl
Re hloka ho hlakisa tsela e eang ho script ea perl linotp ho parameter ea module:
Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm
… ..
Ka mor'a moo, re theha faele eo ho eona re reng (domain, database kapa file) ho nka data ho eona.
# 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
Ke tla fana ka lintlha tse ling mona hobane ho bohlokoa:
Tlhaloso e felletseng ea faele e nang le maikutlo:
#IP ea seva ea linOTP (aterese ea IP ea seva sa rona sa LinOTP)
URL=https://172.17.14.103/validate/simplecheck
#Sebaka sa rona seo re tla se theha sehokelong sa marang-rang sa LinOTP.)
SEBAKA=letsoho1
#Lebitso la sehlopha sa basebelisi se thehiloeng ho LinOTP web muzzle.
RECONF=faele_sephara
#ka boikhethelo: fana ka maikutlo haeba tsohle li bonahala li sebetsa hantle
Debug=Nnete
#ka boikhethelo: sebelisa sena, haeba u na le litifikeiti tsa ho ingolisa, ho seng joalo fana ka maikutlo (SSL haeba re iketsetsa setifikeiti sa rona mme re batla ho se netefatsa)
SSL_CHECK=Bohata
E latelang, theha faele /etc/freeradius/sites-available/linop
# touch /etc/freeradius/sites-available/linotp
# nano /etc/freeradius/sites-available/linotp
'Me u kopitse config ho eona (ha ho hlokahale ho hlophisa letho):
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
}
E latelang re tla theha sehokelo sa SIM:
# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled
Ka bonna, ke bolaea libaka tsa kamehla tsa Radius, empa haeba u li hloka, u ka li hlophisa kapa ua li thibela.
# rm /etc/freeradius/sites-enabled/default
# rm /etc/freeradius/sites-enabled/inner-tunnel
# service freeradius reload
Joale ha re khutleleng sefahlehong sa tepo 'me re e shebe ka botlalo:
K'honeng e kaholimo ho le letona tobetsa LinOTP Config -> UserIdResolvers -> Ncha
Re khetha seo re se batlang: LDAP (AD win, LDAP samba), kapa SQL, kapa basebelisi ba lehae ba Flatfile system.
Tlatsa likarolo tse hlokahalang.
E latelang re theha REALMS:
K'honeng e kaholimo ho le letona, tlanya LinOTP Config -> Realms -> E Ncha.
'me u fane ka lebitso ho REALMS ea rona, hape u tobetse ho UserIdResolvers e entsoeng pele.
FreeRadius e hloka data ena kaofela faeleng ea /etc/linopt2/rlm_perl.ini, joalokaha ke ngotse ka holimo, kahoo haeba u sa ka ua e fetola ka nako eo, e etse hona joale.
Seva e hlophisitsoe kaofela.
Keketso:
Ho theha LinOTP ho Debian 9:
Ho kenya:
# 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
(ka ho sa feleng, ho Debian 9 mysql (mariaDB) ha e fane ka ho beha phasewete ea motso, ehlile u ka e tlohela e se na letho, empa haeba u bala litaba, hangata sena se lebisa ho "epic hloleha", kahoo re tla e beha. leha ho le joalo)
# 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
Beha khoutu (e rometsoeng ke JuriM, kea leboha ka seo!):
seva linotp {
mamela {
ipaddr = *
boema-kepe = 1812
mofuta=mongolo
}
mamela {
ipaddr = *
boema-kepe = 1813
mofuta = act
}
fana ka tumello {
tshebetso pele
ntjhafatsa {
&control:Auth-Type := Perl
}
}
netefatsa {
Auth-Type Perl {
Perl
}
}
accounting {
khopotso
}
}
Fetola /etc/freeradius/3.0/mods-enabled/perl
perl {
filename = /usr/share/linopp/radius_linopp.pm
func_authenticate = netefatsa
func_authorize = lumella
}
Ka bomalimabe, ho Debian 9 laeborari ea radius_linopt.pm ha e ea kengoa ho tsoa litsing tsa polokelo, kahoo re tla e nka ho 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
joale ha re fetoleng /etc/freeradius/3.0/clients.conf
li-server tsa bareki {
ipaddr = 192.168.188.0/24
sephiri = password ea hau
}
Joale a re lokiseng nano /etc/linopt2/rlm_perl.ini
Re beha khoutu e ts'oanang le ha re kenya ho debian 8 (e hlalositsoeng ka holimo)
ke tsohle ho ya ka mohopolo. (ha e so lekoe)
Ke tla siea ka tlase lihokelo tse 'maloa mabapi le ho theha litsamaiso tseo hangata li hlokang ho sireletsoa ka netefatso ea lintlha tse peli:
Ho theha netefatso ea lintlha tse peli ho
phetoho
Hape, li-cms tsa libaka tse ngata li tšehetsa netefatso ea lintlha tse peli (Bakeng sa WordPress, LinOTP e bile e na le module ea eona e khethehileng bakeng sa
NNETE EA BOHLOKOA! U SE KE UA hlahloba lebokose la "Google autenteficator" ho sebelisa Google Authenticator! Khoutu ea QR ha e balehe ka nako eo ... ('nete e makatsang)
Ho ngola sengoloa sena, ho sebelisitsoe lintlha tse tsoang lihloohong tse latelang:
Ke leboha bangoli.
Source: www.habr.com