{"id":318558,"date":"2021-02-24T21:00:30","date_gmt":"2021-02-24T21:00:30","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=318558"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=318558","title":{"rendered":"AD + Freeradius + Google Autheticator. \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u0441 \u043d\u0443\u043b\u044f \u0434\u043b\u044f Cisco Anyconnect \u0438 \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e"},"content":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0432\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u043b\u044f Cisco AnyconnectVPN \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041e\u0431\u0449\u0438\u043c\u0438 \u0443 \u0432\u0441\u0435\u0445 \u0437\u0430\u0434\u0430\u0447 \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e \u2013 \u043e\u043d\u0438 \u0443\u043c\u0435\u044e\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 Radius.<br \/>   \u0415\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0430 \u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Cisco DUO ), \u043d\u043e \u2013 \u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u043b\u0443\u0447\u0448\u0435 \u0438 \u0437\u0430\u0447\u0435\u043c \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435? <br \/>  <a name=\"habracut\"><\/a><br \/>   \u0414\u0430, \u043a\u0440\u0438\u0442\u0438\u043a\u0438 \u0441\u043a\u0430\u0436\u0443\u0442 \u2014 \u044d\u0442\u043e \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0430\u044f \u0441\u0442\u0430\u0442\u044c\u044f \u043a\u0430\u043a \u043d\u0430\u0442\u044f\u043d\u0443\u0442\u044c \u0441\u043e\u0432\u0443 \u043d\u0430 \u0433\u043b\u043e\u0431\u0443\u0441 \u0438\u043b\u0438 \u043a\u0430\u043a \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c FreeRadius, MS Acitve Directory \u0438 Google Authenticator. \u041d\u043e \u0435\u0441\u0442\u044c \u043d\u044e\u0430\u043d\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u0445\u043e\u0447\u0443 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c.<\/p>\n<p>  <b>\u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445.<\/b> \u041c\u043d\u0435 \u043d\u0443\u0436\u043d\u043e \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0442\u0438\u043f\u043e\u0432 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438. \u042f \u044d\u0442\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u044e \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u043c\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430\u043c\u0438 FreeRadius \u0438 \u043f\u043e\u043b\u0443\u0447\u0443 \u043d\u0430 \u0442\u0440\u0435\u0445 \u0440\u0430\u0437\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u0430\u0445 \u043e\u0434\u043d\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0442\u0440\u0438 \u0442\u0438\u043f\u0430 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438:  <\/p>\n<ol>\n<li>ADlogin, ADPasswordGoogleAuth (\u043b\u043e\u0433\u0438\u043d \u0438\u0437 AD, \u043f\u0430\u0440\u043e\u043b\u0435\u043c \u0432\u044b\u0441\u0442\u0443\u043f\u0430\u0435\u0442 \u0441\u043a\u043b\u0435\u0435\u043d\u0430\u044f \u0444\u0440\u0430\u0437\u0430 \u0438\u0437 \u043f\u0430\u0440\u043e\u043b\u044f \u0432 AD \u0438 \u0446\u0438\u0444\u0440 \u043e\u0442 GoogleAuth )<\/li>\n<li>ADlogin, ADPassword (\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u043b\u043e\u0433\u0438\u043d\u0430 \u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u043e\u0442 AD, \u043f\u043e \u0441\u0443\u0442\u0438 \u0447\u0438\u0441\u0442\u043e \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442, \u043d\u043e \u043d\u0443\u0436\u0435\u043d \u0434\u043b\u044f Anyconnect)<\/li>\n<li>ADLogin, GoogleAuth ( \u043b\u043e\u0433\u0438\u043d \u0438\u0437 AD, \u043f\u0430\u0440\u043e\u043b\u044c \u0446\u0438\u0444\u0440\u044b GoogleAuth. \u0422\u0430\u043a \u0441\u043a\u0430\u0437\u0430\u0442\u044c GoogleAuthenticator \u0432 \u0447\u0438\u0441\u0442\u043e\u043c \u0432\u0438\u0434\u0435)<\/li>\n<\/ol>\n<p>  <b>\u0412\u043e-\u0432\u0442\u043e\u0440\u044b\u0445.<\/b> \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u043c\u043e\u0434\u0443\u043b\u044c shellinabox \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043b\u0438\u0435\u043d\u0442\u0443 \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0435\u0431\u0435 GoogleAuth \u0442\u043e\u043a\u0435\u043d \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e, \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0435 \u043f\u043e\u043d\u0438\u0436\u0430\u044f \u0443\u0440\u043e\u0432\u043d\u044f \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0441\u0438\u0441\u0442\u0435\u043c\u044b. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043d\u0435 \u0441\u0430\u043c\u043e\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u2013 \u043d\u043e 100% \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0435.<\/p>\n<p>  <b>\u0418 \u0432-\u0442\u0440\u0435\u0442\u044c\u0438\u0445.<\/b> \u041c\u043d\u0435 \u0442\u0430\u043a \u0438 \u043d\u0435 \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043f\u043e\u0431\u0435\u0434\u0438\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443: \u043a\u043e\u0433\u0434\u0430 \u0438\u0441\u0442\u0435\u043a\u0430\u0435\u0442 \u0432\u0440\u0435\u043c\u044f \u0436\u0438\u0437\u043d\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0432 AD, FreeRadius \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0435\u0442 \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u0435\u0433\u043e \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c \u0438 \u043f\u0440\u043e\u0431\u0440\u0430\u0441\u044b\u0432\u0430\u0435\u0442 \u0434\u0430\u043b\u044c\u0448\u0435 \u043e\u0448\u0438\u0431\u043a\u0443. \u0422.\u0435 \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u0435\u0442 \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u0442\u044c \u0441\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0430\u0440\u043e\u043b\u044c \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438. \u0420\u0435\u0448\u0435\u043d\u0438\u0435 shellinabox \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0440\u0435\u0448\u0438\u0442\u044c \u044d\u0442\u0443 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0443, \u043f\u0440\u0435\u0434\u043b\u0430\u0433\u0430\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044e \u0432 \u0442\u0430\u043a\u043e\u0439 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0437\u0430\u0439\u0442\u0438 \u043d\u0430 URL shellinabox.<\/p>\n<p>  \u0412\u0441\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043e \u043d\u0430 Centos7 \u043d\u043e \u0431\u0435\u0437 \u043e\u0441\u043e\u0431\u044b\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439 \u0437\u0430\u0439\u0434\u0435\u0442 \u043d\u0430 \u043b\u044e\u0431\u043e\u043c RedHat \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u0438\u0432\u0435 \u0438 \u0441 \u043d\u0435\u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0438\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044f\u043c\u0438 \u043d\u0430 Ubuntu \u0438 FreeBSD. \u0414\u0440\u0443\u0433\u0438\u0435 \u0434\u0438\u0441\u0442\u0440\u0438\u0431\u0443\u0442\u044b \u043d\u0435 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u043b, \u043d\u043e \u043e\u0431\u0449\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u043e\u0431\u044f\u0437\u0430\u043d \u0441\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f.<\/p>\n<p>  1) <b>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c NTP<\/b> \u2013 \u0435\u0441\u043b\u0438 \u043d\u0435 \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u043e. \u041c\u043e\u0436\u043d\u043e \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043b\u044e\u0431\u043e\u0439 \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e\u0439 \u0441\u043b\u0443\u0436\u0431\u043e\u0439, \u0432\u0430\u0436\u043d\u043e \u0447\u0442\u043e\u0431 \u0432\u0440\u0435\u043c\u044f \u0431\u044b\u043b\u043e \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043e \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.<\/p>\n<p>  a) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430  <\/p>\n<pre><code class=\"bash\">#yum install ntp<\/code><\/pre>\n<p>  b) \u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043d\u0430 \u0441\u0442\u0430\u0440\u0442\u0435 \u0438 \u0441\u0440\u0430\u0437\u0443 \u0437\u0430\u043f\u0443\u0441\u043a  <\/p>\n<pre><code class=\"bash\">#systemctl enable \u2013now ntpd<\/code><\/pre>\n<p>  c) \u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430  <\/p>\n<pre><code class=\"bash\">#ntpq \u2013p<\/code><\/pre>\n<p>  2) <b>\u0412\u043a\u043b\u044e\u0447\u0430\u0435\u043c Linux \u0432 AD.<\/b> \u042f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e SSSD. <\/p>\n<p>  a) \u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430  <\/p>\n<pre><code class=\"bash\">#yum install \u2013y sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python<\/code><\/pre>\n<p>  \u0417\u0434\u0435\u0441\u044c \u0435\u0441\u0442\u044c \u043e\u0434\u0438\u043d \u043c\u043e\u043c\u0435\u043d\u0442. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0441\u043f\u0435\u0446\u044b \u043c\u0435\u043d\u044f \u043f\u043e\u043f\u0440\u0430\u0432\u044f\u0442 \u0438 \u0447\u0430\u0441\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u043e\u0432 \u043b\u0438\u0448\u043d\u044f\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0434\u043b\u044f \u044d\u0442\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438, \u043d\u043e \u044f \u043f\u0440\u0435\u0434\u043f\u043e\u0447\u0438\u0442\u0430\u044e \u0441\u0442\u0430\u043d\u0442\u0434\u0430\u0440\u0442\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0438\u043c\u0435\u043d\u043d\u043e \u0442\u0430\u043a\u043e\u0439 \u043d\u0430\u0431\u043e\u0440 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0443 \u043c\u0435\u043d\u044f \u0432\u0435\u0437\u0434\u0435.<\/p>\n<p>  b) \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0432\u0432\u043e\u0434 \u0432 \u0434\u043e\u043c\u0435\u043d  <\/p>\n<pre><code class=\"bash\">#realm join pbu.icb --user=\u0438\u043c\u044f-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f-\u0434\u043e\u043c\u0435\u043d\u0430<\/code><\/pre>\n<p>  c) \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430   <\/p>\n<pre><code class=\"bash\">#realm list<\/code><\/pre>\n<p>  \u0414\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435:  <\/p>\n<blockquote><p>my.domen<br \/>   type: kerberos<br \/>   realm-name: MY.DOMEN<br \/>   domain-name: my.domen<br \/>   configured: kerberos-member<br \/>   server-software: active-directory<br \/>   client-software: sssd<br \/>   required-package: oddjob<br \/>   required-package: oddjob-mkhomedir<br \/>   required-package: sssd<br \/>   required-package: adcli<br \/>   required-package: samba-common-tools<br \/>   login-formats: %U<br \/>   login-policy: allow-permitted-logins<br \/>   permitted-logins:  <\/p><\/blockquote>\n<p>  d) \u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/sssd\/sssd.conf<\/b> \u0434\u043b\u044f \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u044f \u043f\u043e AD \u0433\u0440\u0443\u043f\u043f\u0430\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u043c \u043c\u043e\u0436\u043d\u043e \u0445\u043e\u0434\u0438\u0442\u044c \u043d\u0430 \u044d\u0442\u0443 \u043c\u0430\u0448\u0438\u043d\u0443. \u0427\u0438\u0442\u0430\u0439 \u2013 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 AD \u0441 \u044d\u0442\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.  <\/p>\n<blockquote><p>use_fully_qualified_names = False<br \/>  simple_allow_groups = GroupLinuxAdmins@my.domen, GroupUseVPN@my.domen<br \/>  ad_gpo_ignore_unreadable = True<\/p><\/blockquote>\n<p>  \u043f\u0435\u0440\u0432\u0430\u044f \u0433\u0440\u0443\u043f\u043f\u0430 <b>GroupLinuxAdmins@my.domen<\/b>, \u0447\u043b\u0435\u043d\u044b \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0433\u0443\u0442 \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u0432\u0442\u043e\u0440\u0430\u044f \u2014 <b>GroupUseVPN@my.domen<\/b> \u2013 \u044d\u0442\u043e \u0442\u0435 \u043a\u0442\u043e \u043f\u043e\u0442\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u0445\u043e\u0434\u0438\u0442\u044c \u0432 VPN.<\/p>\n<p>  e) \u0417\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c sssd  <\/p>\n<pre><code class=\"bash\">#chown root.root \/etc\/sssd\/sssd.conf&amp;&amp;chmod 600 \/etc\/sssd\/sssd.conf #systemctl restart sssd <\/code><\/pre>\n<p>  \u0423\u0431\u0435\u0436\u0434\u0430\u0435\u043c\u0441\u044f \u0447\u0442\u043e sssd \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e:  <\/p>\n<pre><code class=\"bash\">#id  \u0438\u043c\u044f-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f-\u0434\u043e\u043c\u0435\u043d\u0430<\/code><\/pre>\n<p>  \u0414\u043e\u043b\u0436\u043d\u043e \u0432\u044b\u0432\u0435\u0441\u0442\u0438 \u0441\u043f\u0438\u0441\u043e\u043a \u0433\u0440\u0443\u043f\u043f AD \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0434\u043e\u043c\u0435\u043d\u0430 \u00ab\u0438\u043c\u044f-\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f-\u0434\u043e\u043c\u0435\u043d\u0430\u00bb<\/p>\n<p>  f) \u0420\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c \u0430\u0434\u043c\u0438\u043d\u0430\u043c sudo   <\/p>\n<pre><code class=\"bash\">#echo &quot;%GroupLinuxAdmins@my.domen ALL=(ALL) ALL&quot; &gt; \/etc\/sudoers.d\/sudoadmin #chown root.root \/etc\/sudoers.d\/sudoadmin&amp;&amp;chmod 600 \/etc\/sudoers.d\/sudoadmin<\/code><\/pre>\n<p>  g) \u0412\u044b\u043a\u043b\u044e\u0447\u0430\u0435\u043c root \u0434\u043b\u044f ssh, \u0440\u0430\u0437\u0440\u0435\u0448\u0430\u0435\u043c ssh \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u043b\u0435\u043d\u0430\u043c \u0433\u0440\u0443\u043f\u043f\u044b <b>GroupLinuxAdmins@my.domen<\/b>.<br \/>  \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/ssh\/sshd_config<\/b>, \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u0438\u0432 \u0441\u0442\u0440\u043e\u043a\u0438 \u043d\u0438\u0436\u0435. <b>\u0412\u0410\u0416\u041d\u041e!<\/b> \u0422\u0443\u0442 \u0438 \u0434\u0430\u043b\u044c\u0448\u0435 \u0438\u043c\u0435\u043d\u0430 \u0433\u0440\u0443\u043f\u043f \u043d\u0443\u0436\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043d\u0438\u0436\u043d\u0435\u043c \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0435. <\/p>\n<blockquote><p>PermitRootLogin no<br \/>  AllowGroups grouplinuxadmins<\/p><\/blockquote>\n<p>  \u0418 \u043f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c sshd  <\/p>\n<pre><code class=\"bash\">#systemctl restart sshd<\/code><\/pre>\n<p>  3) <b>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 FreeRadius<\/b><br \/>   a) \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430  <\/p>\n<pre><code class=\"bash\">#yum -y install freeradius freeradius-utils #ln -s \/etc\/raddb\/mods-available\/pam \/etc\/raddb\/mods-enabled\/pam<\/code><\/pre>\n<p>  b) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/raddb\/sites-enabled\/default<\/b>:<br \/>  \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 authenticate \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0438\u0434\u0430  <\/p>\n<blockquote><p># pam<\/p><\/blockquote>\n<p>  \u0438 \u0443\u0431\u0438\u0440\u0430\u0435\u043c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 \u0432 \u043d\u0430\u0447\u0430\u043b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 ( \u0441\u0438\u043c\u0432\u043e\u043b # )<\/p>\n<p>  \u0441) \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 \u0440\u0430\u0434\u0438\u0443\u0441 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d. \u0422\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f <b>localhost <\/b>\u043d\u043e \u0443\u0436\u0435 \u043c\u043e\u0436\u0435\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u044c.<br \/>  \u041f\u0430\u0440\u043e\u043b\u044c\u043d\u043e\u0435 \u0441\u043b\u043e\u0432\u043e \u0432 Radius \u0434\u043b\u044f localhost \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e: <b>testing123<\/b><\/p>\n<pre><code class=\"bash\"># radtest userVPN \u2018password_for_userVPN\u2019 localhost 0 testing123<\/code><\/pre>\n<p>  \u041f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u0432\u0435\u0442 \u0431\u0443\u0434\u0435\u0442 \u0435\u0441\u043b\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435 \u043e\u0442\u0432\u0435\u0442\u0430   <\/p>\n<blockquote><p>Received Access-Accept<\/p><\/blockquote>\n<p>  \u041f\u0440\u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u043c \u043f\u0430\u0440\u043e\u043b\u0435 (\u0442\u043e\u0436\u0435 \u0441\u0442\u043e\u0438\u0442 \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c ):<br \/>  \u0412 \u043a\u043e\u043d\u0446\u0435 \u043e\u0442\u0432\u0435\u0442\u0430 \u0431\u0443\u0434\u0435\u0442   <\/p>\n<blockquote><p>Received Access-Reject<\/p><\/blockquote>\n<p> \u0438 \u0434\u0430\u043b\u044c\u0448\u0435   <\/p>\n<blockquote><p>(0) -: Expected Access-Accept got Access-Reject<\/p><\/blockquote>\n<p>  d) \u0414\u0430\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u0443, \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u0442\u044c\u0441\u044f \u043a Radius, \u0442.\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u043e, \u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u044b\u0432\u0430\u0442\u044c Cisco Anyconnect VPN. \u0423 \u043c\u0435\u043d\u044f \u044d\u0442\u043e Cisco Firepower. \u041f\u0443\u0441\u0442\u044c \u0443 \u043d\u0435\u0433\u043e \u0431\u0443\u0434\u0435\u0442 IP 10.10.10.5.<br \/>  \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432 \u0444\u0430\u0439\u043b \/<b>etc\/raddb\/clients.conf<\/b><\/p>\n<blockquote><p>client ftd {<br \/>   ipaddr = 10.10.10.5<br \/>   secret = secretFTD<br \/>  }  <\/p><\/blockquote>\n<p>  e) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/raddb\/radiusd.conf<\/b>. \u0434\u0430\u043d\u043d\u0430\u044f \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0430 \u043d\u0443\u0436\u043d\u0430 \u0434\u043b\u044f \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b Google Authenticator \u043c\u043e\u0433 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u0444\u0430\u0439\u043b $HOME\/.google_authenticator \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439.<br \/>  \u043d\u0430\u0445\u043e\u0434\u0438\u043c   <\/p>\n<blockquote><p>user = radiusd<br \/>  group = radiusd  <\/p><\/blockquote>\n<p>  \u0438 \u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430   <\/p>\n<blockquote><p>user = root<br \/>  group = root  <\/p><\/blockquote>\n<p>  \u0418 \u0432\u043a\u043b\u044e\u0447\u0430\u0435\u043c \u0440\u0430\u0434\u0438\u0443\u0441 \u0441\u043e \u0441\u0442\u0430\u0440\u0442\u043e\u043c  <\/p>\n<pre><code class=\"bash\">#systemctl enable --now radiusd<\/code><\/pre>\n<p>  f) \u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0431\u0430\u0437\u043e\u0432\u044b\u0439 Radius \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0435 FreeRadius \u0447\u0442\u043e-\u0442\u043e \u0438\u0434\u0435\u0442 \u043d\u0435 \u0442\u0430\u043a, \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043b\u0435\u0437\u043d\u0430\u044f \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 FreeRadius. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0441\u0442\u043e\u043f\u0430\u0435\u043c \u0441\u043b\u0443\u0436\u0431\u0443 \u0438 \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c Radius \u0432 \u043a\u043e\u043d\u0441\u043e\u043b\u044c\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435 \u0441 debug  <\/p>\n<pre><code class=\"bash\">#systemctl stop radius #radiusd -Xx<\/code><\/pre>\n<p>  4) <b>\u0421\u0442\u0430\u0432\u0438\u043c Google Autenticator<\/b><br \/>   a) \u041a \u0441\u043e\u0436\u0435\u043b\u0435\u043d\u0438\u044e \u044f \u043d\u0435 \u0437\u043d\u0430\u044e \u043a\u0430\u043a \u043f\u043e\u0434\u0440\u0443\u0436\u0438\u0442\u044c Google Authenticator \u0438 selinux. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043e\u0442\u043a\u043b\u044e\u0447\u0430\u0435\u043c. <br \/>  \u0424\u0430\u0439\u043b <b>\/etc\/selinux\/config<\/b> \u043c\u0435\u043d\u044f\u0435\u043c:  <\/p>\n<blockquote><p>SELINUX=enforcing<\/p><\/blockquote>\n<p>  \u043d\u0430   <\/p>\n<blockquote><p>SELINUX=permissive<\/p><\/blockquote>\n<p>   \u041f\u043e\u0441\u043b\u0435 \u0447\u0435\u0433\u043e   <\/p>\n<pre><code class=\"bash\">#setenforce 0<\/code><\/pre>\n<p>  \u0430 \u043b\u0443\u0447\u0448\u0435 \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u0435\u0440\u0435\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043c\u0430\u0448\u0438\u043d\u0443<\/p>\n<p>  b)<\/p>\n<pre><code class=\"bash\">#yum install \u2013y epel-release #yum install \u2013y google-authenticator<\/code><\/pre>\n<p>  5) <b>\u041c\u043e\u0434\u0438\u0444\u0438\u0446\u0438\u0440\u0443\u0435\u043c FreeRadius \u0434\u043b\u044f 3 \u0442\u0438\u043f\u043e\u0432 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<\/b><br \/>   a) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/raddb\/mods-enabled\/pam<\/b>, \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0438  <\/p>\n<blockquote><p>pam radius11812{<br \/>   pam_auth = radiusd_ad<br \/>  }<\/p>\n<p>  pam radius21812{<br \/>   pam_auth = radiusd_ga<br \/>  }<\/p><\/blockquote>\n<p>  b) \u0412 \u043f\u0430\u043f\u043a\u0435 <b>\/etc\/pam.d<\/b> \u043a\u043e\u043f\u0438\u0440\u0443\u0435\u043c \u2018pam\u2019 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0442\u0438\u043f\u043e\u0432 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u0438<br \/>  \u0414\u043b\u044f \u00ab\u043f\u0440\u043e\u0441\u0442\u043e \u0432 AD\u00bb \u0431\u0435\u0440\u0435\u043c \u0441\u0438\u0441\u0442\u0435\u043c\u043d\u0443\u044e  <\/p>\n<pre><code class=\"bash\">#ln \u2013s \/etc\/pam.d\/password-auth-ac \/etc\/pam.d\/radiusd_ad<\/code><\/pre>\n<p>  \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e GoogleAuth \u043f\u0438\u0448\u0435\u043c \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e \u0432 <b>\/etc\/pam.d\/radiusd_ga<\/b><\/p>\n<blockquote><p>#%PAM-1.0<br \/>  #<br \/>  auth required pam_google_authenticator.so nullok<br \/>  auth required pam_permit.so<br \/>  account required pam_nologin.so<br \/>  account include password-auth<br \/>  password include password-auth<br \/>  session include password-auth<\/p><\/blockquote>\n<p>  <b>!!! \u043e\u0447\u0435\u043d\u044c \u0432\u0430\u0436\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442<\/b>. \u041f\u0440\u0438 \u0442\u0430\u043a\u043e\u0439 \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0435\u0441\u043b\u0438 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u0432 \u043f\u0440\u043e\u0444\u0438\u043b\u0435 \u043a GoogleAuth \u0442\u043e \u0442\u0430\u043a\u043e\u0439 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c \u0441\u0447\u0438\u0442\u0430\u0435\u0442\u0441\u044f \u0432\u0430\u043b\u0438\u0434\u043d\u044b\u043c. \u0415\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0431\u0435\u0437 \u0432\u0432\u043e\u0434\u0430 \u0446\u0438\u0444\u0440 GoogleAuth \u043d\u0435 \u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435, \u043d\u0435 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e \u043e\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438, \u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0432 \u043f\u0435\u0440\u0432\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0435 \u0443\u0431\u0440\u0430\u0442\u044c nullok \u0430 \u0432\u0442\u043e\u0440\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0443\u0431\u0440\u0430\u0442\u044c \u0432\u043e\u043e\u0431\u0449\u0435.<\/p>\n<p>  c) \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c <b>\/etc\/raddb\/sites-enabled\/default <\/b>\u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u043e\u0440\u0442\u043e\u0432  <\/p>\n<pre><code class=\"bash\"># cp \/etc\/raddb\/sites-enabled\/default \/etc\/raddb\/sites-enabled\/radius11812 # cp \/etc\/raddb\/sites-enabled\/default \/etc\/raddb\/sites-enabled\/radius21812<\/code><\/pre>\n<p>  d) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/raddb\/sites-enabled\/radius11812<\/b><br \/>  \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 authenticate \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0438\u0434\u0430   <\/p>\n<blockquote><p>pam<\/p><\/blockquote>\n<p>  \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430    <\/p>\n<blockquote><p>Auth-Type pam {<br \/>  radius11812<br \/>   }<\/p><\/blockquote>\n<p>  e) \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e <b>\/etc\/raddb\/sites-enabled\/radius21812<\/b><br \/>  \u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432 \u0440\u0430\u0437\u0434\u0435\u043b\u0435 authenticate \u0441\u0442\u0440\u043e\u043a\u0443 \u0432\u0438\u0434\u0430   <\/p>\n<blockquote><p>pam<\/p><\/blockquote>\n<p>  \u0438 \u0437\u0430\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430    <\/p>\n<blockquote><p>Auth-Type pam {<br \/>  Radius21812<br \/>   }<\/p><\/blockquote>\n<p>  6) <b>\u0423\u0441\u0442\u0430\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c shellinabox<\/b><br \/>   a) <\/p>\n<pre><code class=\"bash\">#yum install \u2013y shellinabox\t #yum enable \u2013now shellinabox<\/code><\/pre>\n<p>  b) \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u044d\u0442\u043e\u0433\u043e \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e. \u041d\u043e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043b\u044e\u0431\u044f\u0442 \u043a\u0440\u0430\u0441\u043e\u0442\u0443 ;). \u0422\u043e\u0433\u0434\u0430 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u0442\u0430\u0432\u0438\u043c \u0435\u0449\u0435 <b>figlet<\/b>, \u0438 \u0448\u0440\u0438\u0444\u0442 <b>rebel.tlf <\/b>( \u0432\u0437\u044f\u0442\u044c \u0441 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f <a href=\"https:\/\/github.com\/xero\/figlet-fonts\" rel=\"nofollow noopener noreferrer\">https:\/\/github.com\/xero\/figlet-fonts<\/a> \u0438 \u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c \u0432 <b>\/usr\/share\/figlet<\/b> ).<\/p>\n<p>  c) \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u044b\u0437\u043e\u0432 \u043b\u043e\u0433\u0438\u043a\u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 GoogleAuth \u0442\u043e\u043a\u0435\u043d\u0430 \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439  <\/p>\n<pre><code class=\"bash\">#echo \u2018. \/usr\/local\/etc\/radius_user_profiles.sh\u2019 &gt;&gt; \/etc\/skel\/.bash_profile<\/code><\/pre>\n<p>  d) \u0421\u043e\u0437\u0434\u0430\u0435\u043c <b>\/usr\/local\/etc\/radius_user_profiles.sh<\/b> ( \u044d\u0442\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0441 \u0443\u043a\u0440\u0430\u0448\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u0430\u043c\u0438 )  <\/p>\n<pre><code class=\"bash\">#!\/bin\/bash  # Set groups for vpn, etc.  # #   !!! Names of groups without caps letters !!! # VPNissuer=&quot;MyCompany&quot; GROUP_VPN=&quot;groupusevpn&quot;  # Get the aliases and functions if [ -f ~\/.bashrc ]; then         . ~\/.bashrc fi  # User specific environment and startup programs # Make several commands available from user shell # for group VPN that use 2FA Google authenticator  if [[ -n $(id $USER | grep $GROUP_VPN) ]]   then      clear      [[ ! -d $HOME\/bin ]] &amp;&amp; mkdir $HOME\/bin     [[ ! -f $HOME\/bin\/id ]] &amp;&amp; ln -s \/usr\/bin\/id $HOME\/bin\/id     [[ ! -f $HOME\/bin\/google-auth ]] &amp;&amp; ln -s \/usr\/bin\/google-authenticator $HOME\/bin\/google-auth     [[ ! -f $HOME\/bin\/grep ]] &amp;&amp; ln -s \/usr\/bin\/grep $HOME\/bin\/grep     [[ ! -f $HOME\/bin\/figlet ]] &amp;&amp; ln -s \/usr\/bin\/figlet $HOME\/bin\/figlet     [[ ! -f $HOME\/bin\/rebel.tlf ]] &amp;&amp; ln -s \/usr\/share\/figlet\/rebel.tlf $HOME\/bin\/rebel.tlf     [[ ! -f $HOME\/bin\/sleep ]] &amp;&amp; ln -s \/usr\/bin\/sleep $HOME\/bin\/sleep   # Set PATH env to &lt;home user directory&gt;\/bin     PATH=$HOME\/bin     export PATH      if [[ ! -e $HOME\/.google_authenticator ]]       then         figlet -t -c -f $HOME\/bin\/rebel.tlf &quot;Welcome to $VPNissuer GAuth setup portal&quot;         sleep 1.5         echo &quot;Please, run Google Autheticator to setup OTP and prepare to scan QR code.  If you don't have, please download that from market:  AppStore    - https:\/\/apps.apple.com\/us\/app\/google-authenticator\/id388497605 Play Market - https:\/\/play.google.com\/store\/apps\/details?id=com.google.android.apps.authenticator2&amp;hl=en  &quot;         sleep 1.5         google-auth -f -t -w 3 -r 3 -R 30 -d -e 1 -l &quot;$VPNissuer&quot; -i &quot;$USER&quot;         echo &quot;Congratulations, now you can use an OTP token from application as a password to VPN.&quot;         logout     else         echo &quot;You have already setup a Google Authenticator         &quot;         logout     fi fi <\/code><\/pre>\n<p>   e) \u0423\u0441\u0442\u043d\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0440\u0430\u0437\u0440\u0435\u0448\u0435\u043d\u0438\u044f \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u043c.  <\/p>\n<pre><code class=\"bash\">#chmod 755  \/usr\/local\/etc\/radius_user_profiles.sh<\/code><\/pre>\n<p>  f) \u041c\u043e\u0436\u043d\u043e \u0444\u0430\u0439\u043b\u044b \u0442\u0438\u043f\u0430 .google_authenticator \u0432\u044b\u043d\u0435\u0441\u0442\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 ( \u043f\u043e-\u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u044d\u0442\u043e \u0444\u0430\u0439\u043b\u044b $HOME\/.google_authenticator). \u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0432\u0430\u0435\u0442 \u043b\u0438 \u044d\u0442\u043e \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b? \u041d\u0435\u0442, \u0430 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u043e \u2014 \u0434\u0435\u043b\u043e \u043f\u0440\u0438\u0432\u044b\u0447\u043a\u0438. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043d\u0430\u0434\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0448\u0430\u0433\u043e\u0432:  <\/p>\n<ul>\n<li>\u0432 \u0441\u043a\u0440\u0438\u043f\u0442\u0435 <b>\/usr\/local\/etc\/radius_user_profiles.sh<\/b> \u0437\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0438<br \/> <br \/>\n<blockquote><p> if [[! -e $HOME\/.google_authenticator ]]<br \/>  google-auth -f -t -w 3 -r 3 -R 30 -d -e 1 -l &quot;$VPNissuer&quot; -i &quot;$USER&quot;<\/p><\/blockquote>\n<p>   \u043d\u0430   <\/p>\n<blockquote><p> if [[! -e \/path_secrets\/${USER} ]]<br \/>  google-auth -f -t -w 3 -r 3 -R 30 -d -e 1 -l &quot;$VPNissuer&quot; -i &quot;$USER&quot; &#8212;secret=\/path_secrets\/$USER<\/p><\/blockquote>\n<\/li>\n<li>\u0438 \u0432 \u043c\u043e\u0434\u0443\u043b\u044f\u0445 PAM <b>\/etc\/pam.d\/radiusd<\/b> \u0438 <b>\/etc\/pam.d\/radiusd_ga<\/b><br \/>   \u0432\u0435\u0437\u0434\u0435 \u043f\u043e\u0441\u043b\u0435 <b>pam_google_authenticator.so<\/b> \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 <b>secret=\/path_secrets\/${USER}<\/b><br \/> <br \/>\n<blockquote><p>auth required pam_google_authenticator.so secret=\/path_secrets\/${USER} nullok<\/p><\/blockquote>\n<\/li>\n<li>\u0441\u043e\u0437\u0434\u0430\u0442\u044c \u043a\u0430\u0442\u0430\u043b\u043e\u0433<br \/> \n<pre><code class=\"bash\">#mkdir \/path_secrets #chmod 777 \/path_secrets<\/code><\/pre>\n<\/li>\n<\/ul>\n<p>  7) <b>\u0422\u0435\u043f\u0435\u0440\u044c \u0441\u0430\u043c\u043e\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435.<\/b> Shellinabox \u044d\u0442\u043e \u043f\u043e-\u0441\u0443\u0442\u0438 \u0433\u0440\u0430\u0444\u0438\u0447\u0435\u0441\u043a\u0430\u044f web \u043e\u0431\u043e\u043b\u043e\u0447\u043a\u0430 \u0434\u043b\u044f \u0448\u0435\u043b\u043b\u0430. \u0414\u043b\u044f \u0442\u043e\u0433\u043e \u0447\u0442\u043e\u0431 \u043d\u0435 \u043d\u0430\u0440\u0443\u0448\u0438\u0442\u044c \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c \u0441\u0438\u0441\u0442\u0435\u043c\u044b \u0434\u0435\u043b\u0430\u0435\u043c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0439 sshd c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0433\u0440\u0443\u043f\u043f\u0435 AD \u043d\u0430 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u043e\u043c \u043f\u043e\u0440\u0442\u0443 \u0438 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c shelinabox \u043d\u0430 \u044d\u0442\u043e\u0442 \u043f\u043e\u0440\u0442. \u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 22 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0434\u043b\u044f \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0441\u043d\u0430\u0440\u0443\u0436\u0438 \u043d\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u0435\u043d.<\/p>\n<p>  a) \u041a\u043e\u043f\u0438\u0440\u0443\u0435\u043c systemd service \u0441\u043a\u0440\u0438\u043f\u0442 \u0438 \u043a\u043e\u043d\u0444\u0438\u0433 sshd:  <\/p>\n<pre><code class=\"bash\">#cp \/usr\/lib\/systemd\/system\/sshd.service \/usr\/lib\/systemd\/system\/sshd_web.service #cp \/etc\/ssh\/sshd\/sshd_config \/etc\/ssh\/sshd_web_config<\/code><\/pre>\n<p>  b) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/usr\/lib\/systemd\/system\/sshd_web.service<\/b> \u0437\u0430\u043c\u0435\u043d\u044f\u044f \u0441\u0442\u0440\u043e\u043a\u0443  <\/p>\n<blockquote><p>ExecStart=\/usr\/sbin\/sshd -D $OPTIONS<\/p><\/blockquote>\n<p>  \u043d\u0430   <\/p>\n<blockquote><p>ExecStart=\/usr\/sbin\/sshd -D -f \/etc\/ssh\/sshd_web_config $OPTIONS<\/p><\/blockquote>\n<p>  c) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c<b> \/etc\/ssh\/sshd_web_config<\/b> \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0438\u043b\u0438 \u0438\u0441\u043f\u0440\u0430\u0432\u043b\u044f\u044f \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b:  <\/p>\n<blockquote><p>port 2022<br \/>  MaxAuthTries 3<br \/>  MaxSessions 1<br \/>  AllowGroups groupusevpn<\/p><\/blockquote>\n<p>  \u0422\u0430\u043a\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u043c\u044b \u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0448\u0435\u043b\u043b sshd \u043d\u0430 \u043f\u043e\u0440\u0442\u0443 2022 \u043d\u0435 \u043e\u0442\u043a\u0440\u044b\u0432\u0430\u044f \u0435\u0433\u043e \u043d\u0430 firewall \u0442.\u043a \u043e\u0431\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u043a \u043d\u0435\u043c\u0443 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043f\u043e \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u0443 local.<\/p>\n<p>  d) \u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0443\u0435\u043c <b>\/etc\/sysconfig\/shellinaboxd<\/b> \u0438\u0437\u043c\u0435\u043d\u0438\u0432 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 \u043d\u0430   <\/p>\n<blockquote><p>OPTS=&quot; -s \/:SSH:localhost:2022&quot;<\/p><\/blockquote>\n<p>  e) \u0412 \u043f\u0430\u043f\u043a\u0435 <b>\/var\/lib\/shellinabox<\/b> \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u043b\u0435\u0436\u0430\u0442 \u0441\u0430\u043c\u043e\u0441\u0433\u0435\u043d\u0435\u0440\u0435\u043d\u043d\u044b\u0435 \u0438 \u0441\u0430\u043c\u043e\u043f\u043e\u0434\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b shellinabox. \u041b\u0438\u0447\u043d\u043e \u0443 \u0441\u0435\u0431\u044f \u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e nginx \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0432\u043d\u0435\u0441 \u0440\u0435\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0435\u0440\u0442\u0438\u0444\u0438\u043a\u0430\u0442\u044b ssl, \u0432\u044b\u043d\u0435\u0441\u044f shellinabox \u043d\u0430 \u043f\u043e\u0440\u0442 8443 ( \u043b\u044e\u0431\u043e\u0439 \u043d\u0435\u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439 )<\/p>\n<pre><code class=\"bash\">#yum install \u2013y nginx<\/code><\/pre>\n<p>  \u041a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044f \u0434\u043b\u044f nginx:<\/p>\n<p>  server {<br \/>   listen 443 ssl;<br \/>   server_name shellinabox.my.domen;<\/p>\n<p>  add_header Strict-Transport-Security \u00abmax-age=15768000; includeSubDomains\u00bb always;<\/p>\n<p>  set $upstream <a href=\"https:\/\/localhost\" rel=\"nofollow noopener noreferrer\">localhost<\/a>:8443;<\/p>\n<p>  proxy_intercept_errors on;<br \/>   underscores_in_headers on;<\/p>\n<p>  location ~ ^\/(.*) {<br \/>  proxy_pass $upstream$request_uri;<br \/>  proxy_http_version 1.1;<br \/>  proxy_set_header Upgrade $http_upgrade;<br \/>  proxy_set_header Connection &#8216;upgrade&#8217;;<br \/>  proxy_cache_bypass $http_upgrade;<br \/>  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;<br \/>   }<\/p>\n<p>  ssl_certificate \/etc\/ssl\/fullchain.pem;<br \/>   ssl_certificate_key \/etc\/ssl\/ privkey.pem;<br \/>   ssl_protocols TLSv1.2;<br \/>   ssl_dhparam \/etc\/ssl\/ssl-dhparams.pem;<br \/>  }<\/p>\n<p>  \u0438 \u0432 <b>\/etc\/sysconfig\/shellinaboxd<\/b> \u043c\u0435\u043d\u044f\u0435\u043c <\/p>\n<blockquote><p>PORT=8443<\/p><\/blockquote>\n<p>  f) \u041f\u0435\u0440\u0435\u0437\u0430\u043f\u0443\u0441\u043a\u0430\u0435\u043c \u043f\u043e\u0441\u043b\u0435 \u0432\u0441\u0435\u0445 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0439.  <\/p>\n<pre><code class=\"bash\">#systemctl daemon-reload #systemctl enable \u2013now sshd_web #systemctl enable \u2013now shellinabox<\/code><\/pre>\n<p>  \u0415\u0441\u043b\u0438 \u0441\u0442\u0430\u0432\u0438\u043b\u0438 nginx \u0442\u043e  <\/p>\n<pre><code class=\"bash\">#systemctl enable \u2013now nginx<\/code><\/pre>\n<p>  g) \u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0435\u043c \u043f\u043e\u0440\u0442\u044b firewalld  <\/p>\n<pre><code class=\"bash\">firewall-cmd --new-zone=radius \u2013permanent firewall-cmd --zone=radius --add-source=10.10.10.5 --permanent firewall-cmd --zone=radius --add-port=1812\/udp --permanent firewall-cmd --zone=radius --add-port=11812\/udp --permanent firewall-cmd --zone=radius --add-port=21812\/udp --permanent firewall-cmd --reload<\/code><\/pre>\n<p>  8) <b>\u0422\u0435\u0441\u0442\u0438\u0440\u0443\u0435\u043c \u0432\u0435\u0441\u044c \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440.<\/b><br \/>   a) \u0417\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430 <a href=\"https:\/\/shellinabox.my.domen\" rel=\"nofollow noopener noreferrer\">shellinabox.my.domen<\/a><br \/>   b) \u041b\u043e\u0433\u0438\u043d\u0438\u043c\u0441\u044f \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c VPN \u0438 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u043c QR-\u043a\u043e\u0434 \u0434\u043b\u044f GoogleAuth<br \/>   c) \u0421\u0442\u0430\u0432\u0438\u043c \u043d\u0430 \u0441\u043c\u0430\u0440\u0442\u0444\u043e\u043d GoogleAuthenticator \u0438 \u0441\u043a\u0430\u043d\u0438\u043c \u0438\u043c QR-\u043a\u043e\u0434.<br \/>   d) <\/p>\n<pre><code class=\"bash\">#radtest userVPN \u2018password_for_userVPNXXXXXX\u2019 localhost 0 testing123<\/code><\/pre>\n<p>  \u0433\u0434\u0435 XXXXXX \u2013 \u0446\u0438\u0444\u0440\u044b \u0441 GoogleAuthenticator. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c Received Access-Accept<br \/>   e) <\/p>\n<pre><code class=\"bash\">#radtest userVPN \u2018password_for_userVPN\u2019 localhost:11812 0 testing123<\/code><\/pre>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c Received Access-Accept<br \/>   f) <\/p>\n<pre><code class=\"bash\">#radtest userVPN \u2018XXXXXX\u2019 localhost:21812 0 testing123 <\/code><\/pre>\n<p>  \u0433\u0434\u0435 XXXXXX \u2013 \u0446\u0438\u0444\u0440\u044b \u0441 GoogleAuthenticator. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u043e\u043b\u0436\u0435\u043d \u0431\u044b\u0442\u044c Received Access-Accept<\/p>\n<p>  9) <b>\u0421\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u043e VPN <\/b><br \/>   a) \u0415\u0441\u043b\u0438 \u0432\u0441\u0435 \u043f\u0440\u0435\u0434\u0438\u0434\u0443\u0449\u0438\u0435 \u044d\u0442\u0430\u043f\u044b \u043f\u0440\u043e\u0448\u043b\u0438 \u0443\u0441\u043f\u0435\u0448\u043d\u043e \u0442\u043e \u043f\u0440\u043e\u043f\u0438\u0441\u044b\u0432\u0430\u0435\u043c \u0441\u0435\u0440\u0432\u0435\u0440 \u0442\u0438\u043f\u0430 Radius c IP \u0438 \u043f\u043e\u0440\u0442\u043e\u043c 11812\/UDP \u043a\u0430\u043a \u043f\u0435\u0440\u0432\u044b\u0439 \u0444\u0430\u043a\u0442\u043e\u0440 \u0432 CISCO AnyconnectVPN \u0438 \u0435\u0433\u043e \u0436\u0435 \u0441 \u043f\u043e\u0440\u0442\u043e\u043c 21812\/UDP \u043a\u0430\u043a \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u043a\u0442\u043e\u0440.<br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ym\/xd\/mr\/ymxdmr8_aa0s3npndaeneholyte.jpeg\"><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/kn\/dc\/ip\/kndcipclka5yztzg48erc_5uf-a.jpeg\"><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/ai\/74\/kn\/ai74knzigkdd3utcrisvzoi8as8.jpeg\"><br \/>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/webt\/m_\/q5\/ii\/m_q5iirjrl-qep5lijs1hzluhje.jpeg\"><\/p>\n<p>  b) \u0414\u0435\u043f\u043b\u043e\u0438\u043c \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u043c.<\/p>\n<p>  \u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f, \u0442\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435 \u0443\u043c\u0435\u044e\u0442 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0441\u043f\u0440\u0430\u0448\u0438\u0432\u0430\u0442\u044c \u043f\u0435\u0440\u0432\u044b\u0439 \u0438 \u0432\u0442\u043e\u0440\u043e\u0439 \u0444\u0430\u043a\u0442\u043e\u0440 ( \u0438\u043b\u0438 \u043c\u044b \u043d\u0435 \u0445\u043e\u0442\u0438\u043c \u0444\u0430\u043a\u0442\u043e\u0440\u044b \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u0442\u044c \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u043e) \u043c\u044b \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c \u043d\u0430 \u043f\u043e\u0440\u0442 Radius 1812 \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c \u0441\u0445\u0435\u043c\u0443 \u201c\u043f\u0430\u0440\u043e\u043b\u044c_AD\u201dXXXXXX \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u044f \u0446\u0438\u0444\u0440\u044b \u0441 Google Authenticator \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0430\u0440\u043e\u043b\u044f \u0431\u0435\u0437 \u043f\u0440\u043e\u0431\u0435\u043b\u0430.<\/p>\n<p>  \u041d\u0435\u0437\u0430\u043a\u0440\u044b\u0442\u044b\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b:  <\/p>\n<ul>\n<li>\u0421\u043c\u0435\u043d\u0430 \u043f\u0430\u0440\u043e\u043b\u044f \u043f\u0440\u0438 \u0438\u0441\u0442\u0435\u0447\u0435\u043d\u0438\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0436\u0438\u0437\u043d\u0438 \u043f\u0430\u0440\u043e\u043b\u044f \u0447\u0435\u0440\u0435\u0437 FreeRadius. \u0411\u0443\u0434\u0443 \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u0435\u043d \u0437\u0430 \u0441\u043e\u0432\u0435\u0442\u044b.<\/li>\n<li>SELINUX \u0438 GoogleAuthenticator.<\/li>\n<li>\u0425\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0431\u044b \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0430\u0441\u0438\u0432\u043e\u0433\u043e, \u0430\u043a\u043a\u0443\u0440\u0430\u0442\u043d\u043e\u0433\u043e \u0438, \u0433\u043b\u0430\u0432\u043d\u043e\u0435, \u0431\u043e\u043b\u0435\u0435 \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0435\u043c\u043e\u0433\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 GoogleAuth \u0442\u043e\u043a\u0435\u043d\u0430, \u0447\u0435\u043c \u0431\u0430\u043d\u0430\u043b\u044c\u043d\u044b\u0439 \u0448\u0435\u043b\u043b-\u0441\u043a\u0440\u0438\u043f\u0442.<\/li>\n<\/ul>\n<p>  PS. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b\u0438\u0441\u044c \u043c\u0430\u0442\u0435\u0440\u0438\u0430\u043b\u044b <a href=\"https:\/\/habr.com\/ru\/post\/516362\">https:\/\/habr.com\/ru\/post\/516362<\/a>, \u043e\u0442\u043a\u0443\u0434\u0430 \u0432\u0437\u044f\u0442\u0430 \u0438\u0434\u0435\u044f shellinabox<\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/post\/543814\/\"> https:\/\/habr.com\/ru\/post\/543814\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"\n<div class=\"post__text post__text-html post__text_v1\" id=\"post-content-body\">\u0418\u0442\u0430\u043a, \u0443 \u043d\u0430\u0441 \u0432\u0441\u0442\u0430\u043b\u0430 \u0437\u0430\u0434\u0430\u0447\u0430 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0432\u0443\u0445\u0444\u0430\u043a\u0442\u043e\u0440\u043d\u0443\u044e \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u043a\u0430\u0446\u0438\u044e \u0434\u043b\u044f Cisco AnyconnectVPN \u0438 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0434\u0440\u0443\u0433\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u0432. \u041e\u0431\u0449\u0438\u043c\u0438 \u0443 \u0432\u0441\u0435\u0445 \u0437\u0430\u0434\u0430\u0447 \u0435\u0441\u0442\u044c \u043e\u0434\u043d\u043e \u2013 \u043e\u043d\u0438 \u0443\u043c\u0435\u044e\u0442 \u0430\u0443\u0442\u0435\u043d\u0442\u0438\u0444\u0438\u0446\u0438\u0440\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 Radius.<br \/>   \u0415\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0430 \u043f\u043b\u0430\u0442\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Cisco DUO ), \u043d\u043e \u2013 \u043f\u043b\u0430\u0442\u043d\u043e\u0435 \u043d\u0435 \u0437\u043d\u0430\u0447\u0438\u0442 \u043b\u0443\u0447\u0448\u0435 \u0438 \u0437\u0430\u0447\u0435\u043c \u043f\u043b\u0430\u0442\u0438\u0442\u044c \u0431\u043e\u043b\u044c\u0448\u0435?   <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-318558","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=318558"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/318558\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=318558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=318558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=318558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}