{"id":36873,"date":"2019-10-31T22:14:26","date_gmt":"2019-10-31T19:14:26","guid":{"rendered":"https:\/\/prohoster.info\/blog\/server-dvuhfaktornoj-avtorizatsii-linotp\/"},"modified":"2019-10-31T22:14:26","modified_gmt":"2019-10-31T19:14:26","slug":"server-dvuhfaktornoj-avtorizatsii-linotp","status":"publish","type":"post","link":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/server-dvuhfaktornoj-avtorizatsii-linotp","title":{"rendered":"To-faktorautentiseringsserver LinOTP","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"To-faktorautentiseringsserver LinOTP\" src=\"\/wp-content\/uploads\/2019\/08\/8164a72d86173d429e3aaf4efdfee77c.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nI dag vil jeg dele hvordan man setter opp en to-faktor autentiseringsserver for \u00e5 beskytte bedriftens nettverk, nettsteder, tjenester og ssh. Serveren vil kj\u00f8re en kombinasjon av: LinOTP + FreeRadius. <\/p>\n<p>Hvorfor trenger vi den? <br \/>\nDette er en helt gratis og praktisk l\u00f8sning i eget nettverk, uavhengig av tredjepartsleverand\u00f8rer.<\/p>\n<p>Denne tjenesten er veldig praktisk, lettfattelig, i motsetning til andre \u00e5pne kildeprodukter, og st\u00f8tter ogs\u00e5 et stort antall funksjoner og retningslinjer (for eksempel login+passord+(PIN+OTPToken)). Den integrerer med SMS-tjenester gjennom API (LinOTP Config-&gt;Provider Config-&gt;SMS Provider), genererer koder for mobilapplikasjoner som Google Authenticator og mye mer. Jeg synes den er mer brukervennlig enn den tjenesten som vurderes i <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/308988\/\">artikkelen<\/a><\/noindex>.<\/p>\n<p>Denne serveren fungerer utmerket med Cisco ASA, OpenVPN-server, Apache2, og generelt med alt som st\u00f8tter autentisering via RADIUS-server (for eksempel til SSH i datasenteret).<\/p>\n<p>Kreves:<\/p>\n<p>1 ) Debian 8 (jessie) \u2014<b> Absolutt!<\/b> (testinstallasjonen p\u00e5 debian 9 er beskrevet p\u00e5 slutten av artikkelen)<\/p>\n<p>Start:<\/p>\n<p>Installer Debian 8.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nLegg til LinOTP-repositoriet:<\/p>\n<pre><code class=\"bash\"># echo 'deb http:\/\/www.linotp.org\/apt\/debian jessie linotp' &gt; \/etc\/apt\/sources.list.d\/linotp.list<\/code><\/pre>\n<p>\nLegg til n\u00f8klene:<\/p>\n<pre><code class=\"bash\"># gpg --search-keys 913DFF12F86258E5<\/code><\/pre>\n<p>\nNoen ganger, ved en \"ren\" installasjon, gir Debian f\u00f8lgende etter \u00e5 ha kj\u00f8rt denne kommandoen: <\/p>\n<pre><code class=\"plaintext\">gpg: opprettet katalog `\/root\/.gnupg'\ngpg: opprettet ny konfigurasjonsfil `\/root\/.gnupg\/gpg.conf'\ngpg: ADVARSEL: innstillingene i `\/root\/.gnupg\/gpg.conf' er ikke aktive ved denne lanseringen\ngpg: opprettet n\u00f8kkeltabell `\/root\/.gnupg\/secring.gpg'\ngpg: opprettet n\u00f8kkeltabell `\/root\/.gnupg\/pubring.gpg'\ngpg: ingen n\u00f8kkeltjenere er angitt (bruk --keyserver)\ngpg: feilkode ved s\u00f8k p\u00e5 n\u00f8kkelserver: d\u00e5rlig URI\n<\/code><\/pre>\n<p>\nDette er den f\u00f8rste konfigurasjonen av gnupg. Ikke bekymre deg. Bare kj\u00f8r kommandoen igjen.<br \/>\nN\u00e5r Debian sp\u00f8r:<\/p>\n<pre><code class=\"plaintext\">gpg: s\u00f8ker \"913DFF12F86258E5\" p\u00e5 hkp-serveren keys.gnupg.net\n(1)\tLSE LinOTP2 Packaging \n\t  2048 bit RSA-n\u00f8kkel F86258E5, opprettet: 2010-05-10\nKeys 1-1 av 1 for \"913DFF12F86258E5\". Skriv inn nummer, N) Neste eller Q) Avslutt&gt;<\/code><\/pre>\n<p>\nSvar: 1<\/p>\n<p>Videre: <\/p>\n<pre><code class=\"bash\"># gpg --export 913DFF12F86258E5 | apt-key add -<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># apt-get update<\/code><\/pre>\n<p>\nInstaller mysql. Teoretisk kan man bruke en annen SQL-server, men for enkelhets skyld vil jeg bruke denne, da den anbefales for LinOTP.<\/p>\n<p>(tilleggsinformasjon, inkludert om rekonfigurasjon av LinOTP-databasen, finnes i den offisielle dokumentasjonen for <noindex><a rel=\"nofollow\" href=\"http:\/\/linotp.org\/doc\/latest\/part-installation\/server-installation\/deb_install.html#debian\">lenken<\/a><\/noindex>. Der kan man ogs\u00e5 finne kommandoen: dpkg-reconfigure linotp for \u00e5 endre innstillingene hvis du allerede har installert mysql).<\/p>\n<pre><code class=\"bash\"># apt-get install mysql-server<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># apt-get update<\/code><\/pre>\n<p> (\u00e5 sjekke oppdateringer igjen vil ikke skade)<br \/>\nInstaller LinOTP og tilleggsmoduler:<\/p>\n<pre><code class=\"bash\"># apt-get install linotp<\/code><\/pre>\n<p>\nSvar p\u00e5 sp\u00f8rsm\u00e5lene fra installasjonsprogrammet: <br \/>\nBruke Apache2: ja<br \/>\nVelg et passord for admin Linotp: \u00abDittPassord\u00bb<br \/>\nGenerere et selvsignert sertifikat?: ja<br \/>\nBruke MySQL?: ja<br \/>\nHvor ligger databasen: localhost<br \/>\nOppretter databasen LinOTP (db-navn) p\u00e5 serveren: LinOTP2<br \/>\nOppretter en egen bruker for databasen: LinOTP2<br \/>\nSetter passordet for brukeren: \u00abDittPassord\u00bb<br \/>\nSkal vi opprette databasen n\u00e5? (noe som \"Er du sikker p\u00e5 at du vil ...\"): ja<br \/>\nSkriv inn root-passordet for MySQL som ble opprettet under installasjonen: \u00abDittPassord\u00bb<br \/>\nFerdig.<\/p>\n<p>(valgfritt, kan ogs\u00e5 utelates)<\/p>\n<pre><code class=\"bash\"># apt-get install linotp-adminclient-cli <\/code><\/pre>\n<p>\n(valgfritt, kan ogs\u00e5 utelates)<\/p>\n<pre><code class=\"bash\"># apt-get install libpam-linotp  <\/code><\/pre>\n<p>\nS\u00e5, v\u00e5rt webgrensesnitt LinOTP er n\u00e5 tilgjengelig p\u00e5 f\u00f8lgende adresse: <\/p>\n<pre><code class=\"plaintext\">&quot;&lt;b&gt;https&lt;\\\/b&gt;: \\\/\\\/IP_server\\\/manage&quot;<\/code><\/pre>\n<p>\nJeg vil komme tilbake til innstillingene i webgrensesnittet senere.<\/p>\n<p>N\u00e5, det viktigste! Vi setter opp FreeRadius og knytter det til LinOTP.<\/p>\n<p>Installerer FreeRadius og modulen for LinOTP<\/p>\n<pre><code class=\"bash\"># apt-get install freeradius linotp-freeradius-perl<\/code><\/pre>\n<p>\ntar backup av konfigurasjonene til client og Users for Radius.<\/p>\n<pre><code class=\"bash\"># mv \/etc\/freeradius\/clients.conf  \/etc\/freeradius\/clients.old<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># mv \/etc\/freeradius\/users  \/etc\/freeradius\/users.old<\/code><\/pre>\n<p>\nOppretter en tom klientfil:<\/p>\n<pre><code class=\"bash\"># touch \/etc\/freeradius\/clients.conf<\/code><\/pre>\n<p>\nRedigerer v\u00e5r nye konfigurasjonsfil (den sikkerhetskopierte konfigurasjonen kan brukes som eksempel)<\/p>\n<pre><code class=\"bash\"># nano \/etc\/freeradius\/clients.conf<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">client 192.168.188.0\/24 {\nsecret = passwd # passord for klienttilkoblinger\n}<\/code><\/pre>\n<p>\nDeretter oppretter vi users-filen:<\/p>\n<pre><code class=\"bash\"># touch \/etc\/freeradius\/users<\/code><\/pre>\n<p>\nRedigerer filen, og forteller Radius at vi skal bruke perl for autentisering.<\/p>\n<pre><code class=\"bash\"># nano \/etc\/freeradius\/users<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">DEFAULT Auth-type := perl<\/code><\/pre>\n<p>\nVidere redigerer vi filen \/etc\/freeradius\/modules\/perl<\/p>\n<pre><code class=\"bash\"># nano \/etc\/freeradius\/modules\/perl<\/code><\/pre>\n<p>\nVi m\u00e5 angi stien til perl-skriptet linotp i parameteren module: <\/p>\n<pre><code class=\"plaintext\">Perl { .......\n.........\nmodule = \/usr\/lib\/linotp\/radius_linotp.pm<\/code><\/pre>\n<p>\n\u2026\u2026<br \/>\nVidere oppretter vi en fil hvor vi angir hvilken (domene, database eller fil) vi henter data fra.<\/p>\n<pre><code class=\"bash\"># touch \/etc\/linotp2\/rlm_perl.ini<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># nano \/etc\/linotp2\/rlm_perl.ini<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">URL=https:\/\/IP_av_LinOTP-serveren_din(192.168.X.X)\/validate\/simplecheck\nREALM=webusers1c\nRESCONF=LocalUser\nDebug=True\nSSL_CHECK=False<\/code><\/pre>\n<p>\nHer stopper jeg litt mer opp, fordi dette er viktig:<\/p>\n<p>Full beskrivelse av filen med kommentarer:<br \/>\n#IP of the linotp server (IP \u0430\u0434\u0440\u0435\u0441 \u043d\u0430\u0448\u0435\u0433\u043e LinOTP \u0441\u0435\u0440\u0432\u0435\u0440\u0430)<br \/>\nURL=https:\/\/172.17.14.103\/validate\/simplecheck<br \/>\n#\u041d\u0430\u0448\u0430 \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0432 \u0432\u0435\u0431 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0435 LinOTP.)<br \/>\nREALM=rearm1<br \/>\n#\u0418\u043c\u044f \u0433\u0440\u0443\u043f\u043f\u044b \u044e\u0437\u0432\u0435\u0440\u0435\u0439 \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0432 \u0432\u0435\u0431\u043c\u043e\u0440\u0434\u0435 LinOTP.<br \/>\nRESCONF=flat_file<br \/>\n#optional: comment out if everything seems to work fine<br \/>\nDebug=True<br \/>\n#optional: use this, if you have selfsigned certificates, otherwise comment out (SSL \u0435\u0441\u043b\u0438 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0441\u0432\u043e\u0439 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442 \u0438 \u0445\u043e\u0442\u0438\u043c \u0435\u0433\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c)<br \/>\nSSL_CHECK=False<\/p>\n<p>Vi oppretter n\u00e5 filen \/etc\/freeradius\/sites-available\/linotp<\/p>\n<pre><code class=\"bash\"># touch \/etc\/freeradius\/sites-available\/linotp<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># nano \/etc\/freeradius\/sites-available\/linotp<\/code><\/pre>\n<p>\nOg kopierer inn konfigurasjonen (ingen endringer er n\u00f8dvendige):<\/p>\n<pre><code class=\"plaintext\">authorize {\n#normalizes malformerte klientforesp\u00f8rsel f\u00f8r den leveres til andre moduler (se '\/etc\/freeradius\/modules\/preprocess')\npreprocess\n#  Hvis du bruker flere typer realms, vil du sannsynligvis\n#  sette \"ignore_null = yes\" for alle.\n#  Ellers, n\u00e5r den f\u00f8rste stil av realm ikke samsvarer,\n#  vil ikke de andre stilene bli sjekket.\n# tillater en liste av realms (se '\/etc\/freeradius\/modules\/realm')\nIPASS\n#forst\u00e5r noe som USER@REALM og kan skille komponentene (se '\/etc\/freeradius\/modules\/realm')\nsuffix\n#forst\u00e5r USERREALM og kan skille komponentene (se '\/etc\/freeradius\/modules\/realm')\nntdomain\n#  Leser 'users'-filen for \u00e5 l\u00e6re om spesiell konfigurasjon som kan gjelde for\n# bestemte brukere (se '\/etc\/freeradius\/modules\/files')\nfiles\n# tillater \u00e5 la autentisering g\u00e5 ut (se '\/etc\/freeradius\/modules\/expiration')\nexpiration\n# tillater \u00e5 definere gyldige tjenestetider (se '\/etc\/freeradius\/modules\/logintime')\nlogintime\n# Vi har ingen radius_shortname_map!\npap\n}\n#her kalles linotp perl-modulen for videre behandling\nauthenticate {\nperl\n}<\/code><\/pre>\n<p>\nDeretter lager vi en symlink:<\/p>\n<pre><code class=\"bash\"># ln -s ..\/sites-available\/linotp \/etc\/freeradius\/sites-enabled<\/code><\/pre>\n<p>\nPersonlig dreper jeg de standard Radius-nettsidene, men hvis du trenger dem, kan du enten redigere konfigurasjonen deres eller deaktivere dem.<\/p>\n<pre><code class=\"bash\"># rm \/etc\/freeradius\/sites-enabled\/default<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># rm \/etc\/freeradius\/sites-enabled\/inner-tunnel<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># service freeradius reload<\/code><\/pre>\n<p>\nLa oss n\u00e5 g\u00e5 tilbake til webgrensesnittet og se n\u00e6rmere p\u00e5 det:<br \/>\nKlikk oppe til h\u00f8yre p\u00e5 LinOTP Config -&gt; UserIdResolvers -&gt; Ny<br \/>\nVelg hva du \u00f8nsker: LDAP (AD win, LDAP samba), SQL, eller lokale brukere i systemet Flatfile. <\/p>\n<p>Fyll ut de n\u00f8dvendige feltene.<\/p>\n<p>Deretter lager vi REALMS:<br \/>\nKlikk oppe til h\u00f8yre p\u00e5 LinOTP Config -&gt; Realms -&gt; Ny. <br \/>\ngi REALMS-navnet v\u00e5rt, og klikk p\u00e5 den tidligere opprettede UserIdResolvers.<\/p>\n<p>Alle disse dataene er n\u00f8dvendige for freeRadius i filen \/etc\/linotp2\/rlm_perl.ini, som jeg nevnte tidligere, s\u00e5 hvis du ikke har redigert den, gj\u00f8r det n\u00e5.<\/p>\n<p>Serveren er n\u00e5 konfigurert.<\/p>\n<p>Tillegg:<\/p>\n<p><b>Konfigurering av LinOTP p\u00e5 Debian 9<\/b>:<\/p>\n<p>Installasjon: <\/p>\n<pre><code class=\"bash\"># echo 'deb http:\/\/linotp.org\/apt\/debian stretch linotp' &gt; \/etc\/apt\/sources.list.d\/linotp.list <\/code><\/pre>\n<pre><code class=\"bash\"># apt-get install dirmngr<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># apt-key adv --recv-keys 913DFF12F86258E5\n<\/code><\/pre>\n<pre><code class=\"bash\"># apt-get update<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"bash\"># apt-get install mysql-server<\/code><\/pre>\n<p> (som standard tilbyr Debian 9 mysql (mariaDB) ikke \u00e5 sette et rotpassord, du kan selvf\u00f8lgelig la det st\u00e5 tomt, men hvis du leser nyhetene, f\u00f8rer det ofte til 'epic fails', s\u00e5 vi vil sette det allikevel)<\/p>\n<pre><code class=\"bash\"># mysql -u root -p<\/code><\/pre>\n<pre><code class=\"bash\">bruk mysql;<\/code><\/pre>\n<pre><code class=\"bash\">UPDATE user SET Password = PASSWORD('her_passord') WHERE User = 'root';\n<\/code><\/pre>\n<pre><code class=\"bash\">exit<\/code><\/pre>\n<pre><code class=\"bash\"># apt-get install linotp<\/code><\/pre>\n<pre><code class=\"bash\"># apt-get install linotp-adminclient-cli<\/code><\/pre>\n<pre><code class=\"bash\"># apt-get install python-ldap<\/code><\/pre>\n<pre><code class=\"bash\"># apt install freeradius<\/code><\/pre>\n<pre><code class=\"bash\"># nano \/etc\/freeradius\/3.0\/sites-enabled\/linotp<\/code><\/pre>\n<p>Lim inn koden (sendt av JuriM, takk til ham!):<\/p>\n<blockquote><p>server linotp {<br \/>\nlytt {<br \/>\n ipaddr = *<br \/>\n port = 1812<br \/>\n type = auth<br \/>\n}<br \/>\nlytt {<br \/>\n ipaddr = *<br \/>\n port = 1813<br \/>\n type = acct<br \/>\n}<br \/>\nautoriser { <br \/>\n forbehandling<br \/>\n oppdater { <br \/>\n &amp;control:Auth-Type := Perl<br \/>\n } <br \/>\n} <br \/>\nautentiser {<br \/>\n Auth-Type Perl {<br \/>\n perl<br \/>\n }<br \/>\n}<br \/>\nregnskap {<br \/>\n unix<br \/>\n}<br \/>\n}<\/p><\/blockquote>\n<p>Rediger \/etc\/freeradius\/3.0\/mods-enabled\/perl<\/p>\n<blockquote><p>perl {<br \/>\n filnavn = \/usr\/share\/linotp\/radius_linotp.pm<br \/>\n func_authenticate = authenticate<br \/>\n func_authorize = authorize<br \/>\n}<\/p><\/blockquote>\n<p>Dessverre, i Debian 9 installeres ikke biblioteket radius_linotp.pm fra repositoriene, s\u00e5 vi tar det fra github.<\/p>\n<pre><code class=\"bash\"># apt install git<\/code><\/pre>\n<pre><code class=\"bash\"># git clone https:\/\/github.com\/LinOTP\/linotp-auth-freeradius-perl<\/code><\/pre>\n<pre><code class=\"bash\"># cd linotp-auth-freeradius-perl\/<\/code><\/pre>\n<pre><code class=\"bash\"># cp radius_linotp.pm \/usr\/share\/linotp\/radius_linotp.pm<\/code><\/pre>\n<p>n\u00e5 justerer vi \/etc\/freeradius\/3.0\/clients.conf <\/p>\n<blockquote><p>klient servere {<br \/>\n ipaddr = 192.168.188.0\/24<br \/>\n hemmelig = dittpassord<br \/>\n}<\/p><\/blockquote>\n<p>n\u00e5 justerer vi nano \/etc\/linotp2\/rlm_perl.ini<\/p>\n<p>Lim inn den samme koden som ved installasjonen p\u00e5 Debian 8 (beskrevet ovenfor)<\/p>\n<p>i teorien alt. (til n\u00e5 ikke testet)<\/p>\n<p>Jeg vil legge igjen noen lenker nedenfor om konfigurering av systemer som ofte m\u00e5 beskyttes med to-faktor-autentisering: <br \/>\nKonfigurering av to-faktor-autentisering i <noindex><a rel=\"nofollow\" href=\"https:\/\/itsecforu.ru\/2017\/07\/28\/%D0%BA%D0%B0%D0%BA-%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%B8%D1%82%D1%8C-apache2-%D1%81-%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E-linotp\/\">Apache2<\/a><\/noindex><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/308988\/\">Konfigurering med Cisco ASA<\/a><\/noindex>(der brukes en annen token-generator-server, men innstillingene for selve ASA er de samme).<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/panda\/blog\/337800\/\">VPN med to-faktor-autentisering<\/a><\/noindex><\/p>\n<p>Konfigurasjon <noindex><a rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/270571\/\">to-faktor-autentisering i ssh<\/a><\/noindex> (der brukes ogs\u00e5 LinOTP) \u2013 takk til forfatteren. Der kan du ogs\u00e5 finne interessante ting om innstillingene av LiOTP.<\/p>\n<p>Ogs\u00e5 cms for mange nettsteder st\u00f8tter to-faktor-autentisering (For WordPress har LinOTP til og med en egen spesialmodul p\u00e5 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/LinOTP\/linotp-auth-wordpress\">github<\/a><\/noindex>), for eksempel hvis du \u00f8nsker \u00e5 lage en beskyttet seksjon for ansatte p\u00e5 ditt bedriftsnettsted.<br \/>\nVIKTIG FAKT! IKKE sett merket p\u00e5 \u00abGoogle autenteficator\u00bb for \u00e5 bruke Google autentifisering! QR-koden leses da ikke... (merkelig faktum)<\/p>\n<p>Informasjonen i artikkelen er hentet fra f\u00f8lgende artikler:<br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/itnan.ru\/post.php?c=1&amp;p=270571\">itnan.ru\/post.php?c=1&amp;p=270571<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.digitalbears.net\/?p=469\">www.digitalbears.net\/?p=469<\/a><\/noindex> <\/p>\n<p>Takk til forfatterne.<br \/>\n<br \/>Kilde: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/462523\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440 \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438, \u0434\u043b\u044f \u0437\u0430\u0449\u0438\u0442\u044b \u043a\u043e\u0440\u043f\u043e\u0440\u0430\u0442\u0438\u0432\u043d\u043e\u0439 \u0441\u0435\u0442\u0438, \u0441\u0430\u0439\u0442\u043e\u0432, \u0441\u0435\u0440\u0432\u0438\u0441\u043e\u0432,ssh. \u041d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435 \u0431\u0443\u0434\u0435\u0442 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0432\u044f\u0437\u043a\u0430: LinOTP + FreeRadius. \u0417\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0430\u043c? \u042d\u0442\u043e \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0431\u0435\u0441\u043f\u043b\u0430\u0442\u043d\u043e\u0435, \u0443\u0434\u043e\u0431\u043d\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435, \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u044f\u0449\u0435\u0435 \u043e\u0442 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u0445 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u043e\u0432. \u0414\u0430\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0438\u0441 \u0432\u0435\u0441\u044c\u043c\u0430 \u0443\u0434\u043e\u0431\u0435\u043d, \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043d\u0430\u0433\u043b\u044f\u0434\u0435\u043d, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 \u0434\u0440\u0443\u0433\u0438\u0445 \u043e\u043f\u0435\u043d\u0441\u043e\u0440\u0441 \u043f\u0440\u043e\u0434\u0443\u043a\u0442\u043e\u0432, \u0430 \u0442\u0430\u043a \u0436\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27627,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36873","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.5 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/server-dvuhfaktornoj-avtorizatsii-linotp\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"nn_NO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0421\u0435\u0440\u0432\u0435\u0440 \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 LinOTP | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/server-dvuhfaktornoj-avtorizatsii-linotp\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:14:26+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:14:26+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Server for to-faktor autentisering LinOTP | ProHoster","description":"I dag vil jeg dele hvordan man setter opp server.","canonical_url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/server-dvuhfaktornoj-avtorizatsii-linotp","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"nn_NO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0421\u0435\u0440\u0432\u0435\u0440 \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u043e\u0439 \u0430\u0432\u0442\u043e\u0440\u0438\u0437\u0430\u0446\u0438\u0438 LinOTP | ProHoster","og:description":"\u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f, \u043a\u0430\u043a \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0435\u0440\u0432\u0435\u0440.","og:url":"https:\/\/prohoster.info\/no\/blog\/administrirovanie\/server-dvuhfaktornoj-avtorizatsii-linotp","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:14:26+00:00","article:modified_time":"2019-10-31T19:14:26+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36873","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-22 05:08:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:37:23","updated":"2026-01-22 05:08:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/36873","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/comments?post=36873"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/posts\/36873\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media\/27627"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/media?parent=36873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/categories?post=36873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/no\/wp-json\/wp\/v2\/tags?post=36873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}