LinOTP рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд░реНрднрд░

LinOTP рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд░реНрднрд░

рдЖрдЬ рдо рддрдкрд╛рдЗрдБрдХреЛ рдХрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ, рд╡реЗрдмрд╕рд╛рдЗрдЯрд╣рд░реВ, рд╕реЗрд╡рд╛рд╣рд░реВ, ssh рд▓рд╛рдИ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрди рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд░реНрднрд░ рдХрд╕рд░реА рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рднрдиреЗрд░ рд╕рд╛рдЭрд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреБред рд╕рд░реНрднрд░рд▓реЗ рдирд┐рдореНрди рд╕рдВрдпреЛрдЬрди рдЪрд▓рд╛рдЙрдиреЗрдЫ: LinOTP + FreeRadiusред

рд╣рд╛рдореАрд▓рд╛рдИ рдХрд┐рди рдЪрд╛рд╣рд┐рдиреНрдЫ?
рдпреЛ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдирд┐: рд╢реБрд▓реНрдХ, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рд╣реЛ, рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рдиреЗрдЯрд╡рд░реНрдХ рднрд┐рддреНрд░, рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреНрд░рджрд╛рдпрдХрд╣рд░реВрдмрд╛рдЯ рд╕реНрд╡рддрдиреНрддреНрд░ред

рдпреЛ рд╕реЗрд╡рд╛ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ, рдзреЗрд░реИ рджреГрд╢реНрдп, рдЕрдиреНрдп рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдЙрддреНрдкрд╛рджрдирд╣рд░реВ рднрдиреНрджрд╛ рдлрд░рдХ рдЫ, рд░ рдпрд╕рд▓реЗ рдХрд╛рд░реНрдп рд░ рдиреАрддрд┐рд╣рд░реВрдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛рд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рд▓рдЧрдЗрди+рдкрд╛рд╕рд╡рд░реНрдб+(PIN+OTPToken))ред API рдорд╛рд░реНрдлрдд, рдпрд╕рд▓реЗ рдПрд╕рдПрдордПрд╕ рдкрдард╛рдЙрдиреЗ рд╕реЗрд╡рд╛рд╣рд░реВ (LinOTP Config->Provider Config->SMS Provider) рд╕рдБрдЧ рдПрдХреАрдХреГрдд рдЧрд░реНрджрдЫ, Google Authentificator рдЬрд╕реНрддрд╛ рдореЛрдмрд╛рдЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдХреЛрдбрд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрджрдЫред рдорд▓рд╛рдИ рд▓рд╛рдЧреНрдЫ рдХрд┐ рдпреЛ рдорд╛ рдЫрд▓рдлрд▓ рдЧрд░рд┐рдПрдХреЛ рд╕реЗрд╡рд╛ рднрдиреНрджрд╛ рдмрдвреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫ рд▓реЗрдЦ.

рдпреЛ рд╕рд░реНрднрд░рд▓реЗ Cisco ASA, OpenVPN рд╕рд░реНрднрд░, Apache2, рд░ рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛ RADIUS рд╕рд░реНрднрд░ (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдбреЗрдЯрд╛ рдХреЗрдиреНрджреНрд░рдорд╛ SSH рдХреЛ рд▓рд╛рдЧрд┐) рдорд╛рд░реНрдлрдд рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрдиреЗ рд▓рдЧрднрдЧ рд╕рдмреИ рдЪреАрдЬрд╣рд░реВрд╕рдБрдЧ рдкреВрд░реНрдг рд░реВрдкрдорд╛ рдХрд╛рдо рдЧрд░реНрджрдЫред

рдЖрд╡рд╢реНрдпрдХ рдЫ:

рез) рдбреЗрдмрд┐рдпрди рео (рдЬреЗрд╕реА) - рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдкрдорд╛! (рдбреЗрдмрд┐рдпрди 9 рдорд╛ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдкрдирд╛ рд▓реЗрдЦрдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ рдЫ)

рд╕реБрд░реВ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

рдбреЗрдмрд┐рдпрди 8 рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджреИред

LinOTP рднрдгреНрдбрд╛рд░ рдердкреНрдиреБрд╣реЛрд╕реН:

# echo 'deb http://www.linotp.org/apt/debian jessie linotp' > /etc/apt/sources.list.d/linotp.list

рдХреБрдЮреНрдЬреАрд╣рд░реВ рдердкреНрджреИ:

# gpg --search-keys 913DFF12F86258E5

рдХрд╣рд┐рд▓реЗрдХрд╛рд╣реАрдБ "рд╕рдлрд╛" рд╕реНрдерд╛рдкрдирд╛рдХреЛ рдХреНрд░рдордорд╛, рдпреЛ рдЖрджреЗрд╢ рдЪрд▓рд╛рдПрд░, рдбреЗрдмрд┐рдпрдирд▓реЗ рдкреНрд░рджрд░реНрд╢рди рдЧрд░реНрджрдЫ:

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

рдпреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ gnupg рд╕реЗрдЯрдЕрдк рд╣реЛред рдард┐рдХреИ рдЫред рдмрд╕ рдлреЗрд░рд┐ рдЖрджреЗрд╢ рдЪрд▓рд╛рдЙрдиреБрд╣реЛрд╕реНред
рдбреЗрдмрд┐рдпрдирдХреЛ рдкреНрд░рд╢реНрдирдорд╛:

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) ╨Т╤Л╤Е╨╛╨┤>

рд╣рд╛рдореА рдЬрд╡рд╛рдл рджрд┐рдиреНрдЫреМрдВ: 1

рдЕрд░реНрдХреЛ:

# gpg --export 913DFF12F86258E5 | apt-key add -

# apt-get update

mysql рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рд╕рд┐рджреНрдзрд╛рдиреНрддрдорд╛, рддрдкрд╛рдЗрдБ рдЕрд░реНрдХреЛ sql рд╕рд░реНрднрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рд╕рд░рд▓рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдо рдпрд╕рд▓рд╛рдИ LinOTP рдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рдлрд╛рд░рд┐рд╕ рдЧрд░рд┐рдПрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреБред

(рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА, LinOTP рдбрд╛рдЯрд╛рдмреЗрд╕ рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рд╕рд╣рд┐рдд, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХрд╛рдЧрдЬрд╛рддрдорд╛ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХрд┐рдиреНрдЫред рд▓рд┐рдЩреНрдХред рддреНрдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓реЗ рдЖрджреЗрд╢ рдкрдирд┐ рдлреЗрд▓рд╛ рдкрд╛рд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ: рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЗ рдиреИ mysql рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрднрдПрдХреЛ рдЫ рднрдиреЗ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рд╣рд░реВ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди dpkg-reconfigure linotp)ред

# apt-get install mysql-server

# apt-get update

(рдлреЗрд░рд┐ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХрд╣рд░реВ рдЬрд╛рдБрдЪ рдЧрд░реНрди рджреБрдЦреНрджреИрди)
LinOTP рд░ рдердк рдореЛрдбреНрдпреБрд▓рд╣рд░реВ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

# apt-get install linotp

рд╣рд╛рдореА рд╕реНрдерд╛рдкрдирд╛рдХрд░реНрддрд╛рдХрд╛ рдкреНрд░рд╢реНрдирд╣рд░реВрдХреЛ рдЬрд╡рд╛рдл рджрд┐рдиреНрдЫреМрдВ:
Apache2 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН: рд╣реЛ
рдкреНрд░рд╢рд╛рд╕рдХ Linotp рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН: "рддрдкрд╛рдИрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб"
рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреБрд╣реЛрд╕реН?: рд╣реЛ
MySQL рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН?: рд╣реЛ
рдбрд╛рдЯрд╛рдмреЗрд╕ рдХрд╣рд╛рдБ рдЕрд╡рд╕реНрдерд┐рдд рдЫ: localhost
рд╕рд░реНрднрд░рдорд╛ LinOTP рдбрд╛рдЯрд╛рдмреЗрд╕ (рдЖрдзрд╛рд░ рдирд╛рдо) рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН: LinOTP2
рдбрд╛рдЯрд╛рдмреЗрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН: LinOTP2
рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрдЫреМрдВ: "рддрдкрд╛рдИрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб"
рдХреЗ рдореИрд▓реЗ рдЕрдм рдбрд╛рдЯрд╛рдмреЗрд╕ рдмрдирд╛рдЙрдиреБ рдкрд░реНрдЫ? (рдХреЗрд╣рд┐ рдЬрд╕реНрддреИ "рдХреЗ рддрдкрд╛рдЗрдБ рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрд╣реБрдиреНрдЫ рдХрд┐ рддрдкрд╛рдЗрдБ рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ ..."): рд╣реЛ
MySQL рдореВрд▓ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╡рд┐рд╖реНрдЯ рдЧрд░реНрдиреБрд╣реЛрд╕реН рдЬреБрди рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрднрдпреЛ: "рддрдкрд╛рдИрдВрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб"
рднрдпреЛред

(рд╡реИрдХрд▓реНрдкрд┐рдХ, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрджреИрди)

# apt-get install linotp-adminclient-cli 

(рд╡реИрдХрд▓реНрдкрд┐рдХ, рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрдкрд░реНрджреИрди)

# apt-get install libpam-linotp  

рд░ рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореНрд░реЛ Linotp рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕ рдЕрдм рдЙрдкрд▓рдмреНрдз рдЫ:

"<b>https</b>: //IP_╤Б╨╡╤А╨▓╨╡╤А╨░/manage"

рдо рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВрдХреЛ рдмрд╛рд░реЗрдорд╛ рдХреЗрд╣рд┐ рдкрдЫрд┐ рдХреБрд░рд╛ рдЧрд░реНрдиреЗрдЫреБред

рдЕрдм, рд╕рдмреИрднрдиреНрджрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдХреБрд░рд╛! рд╣рд╛рдореА FreeRadius рдЙрдард╛рдЙрдБрдЫреМрдВ рд░ Linotp рд╕рдБрдЧ рд▓рд┐рдЩреНрдХ рдЧрд░реНрдЫреМрдВред

LinOTP рд╕рдБрдЧ рдХрд╛рдо рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ FreeRadius рд░ рдореЛрдбреНрдпреБрд▓ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН

# apt-get install freeradius linotp-freeradius-perl

рдХреНрд▓рд╛рдЗрдиреНрдЯ рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рджрд╛рдпрд░рд╛ рдХрдиреНрдлрд┐рдЧрд╣рд░реВ рдмреНрдпрд╛рдХрдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реНред

# mv /etc/freeradius/clients.conf  /etc/freeradius/clients.old

# mv /etc/freeradius/users  /etc/freeradius/users.old

рдПрдЙрдЯрд╛ рдЦрд╛рд▓реА рдЧреНрд░рд╛рд╣рдХ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

# touch /etc/freeradius/clients.conf

рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрджреИ (рдмреНрдпрд╛рдХрдЕрдк рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЙрджрд╛рд╣рд░рдгрдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ)

# nano /etc/freeradius/clients.conf

client 192.168.188.0/24 {
secret  = passwd # ╨┐╨░╤А╨╛╨╗╤М ╨┤╨╗╤П ╨┐╨╛╨┤╨║╨╗╤О╤З╨╡╨╜╨╕╤П ╨║╨╗╨╕╨╡╨╜╤В╨╛╨▓
}

рдЕрд░реНрдХреЛ, рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

# touch /etc/freeradius/users

рд╣рд╛рдореАрд▓реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рдкрд░реНрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗрдЫреМрдВ рднрдиреЗрд░ рддреНрд░рд┐рдЬреНрдпрд╛рд▓рд╛рдИ рдмрддрд╛рдИ рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдЫреМрдВред

# nano /etc/freeradius/users

DEFAULT Auth-type := perl

рдЕрд░реНрдХреЛ, рдлрд╛рдЗрд▓ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН /etc/freeradius/modules/perl

# nano /etc/freeradius/modules/perl

рд╣рд╛рдореАрд▓реЗ рдореЛрдбреНрдпреБрд▓ рдкреНрдпрд╛рд░рд╛рдорд┐рдЯрд░рдорд╛ perl linotp рд▓рд┐рдкрд┐рдХреЛ рдорд╛рд░реНрдЧ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

Perl { .......
.........
<source lang="bash">module = /usr/lib/linotp/radius_linotp.pm

... ..
рдЕрд░реНрдХреЛ, рд╣рд╛рдореА рдПрдЙрдЯрд╛ рдлрд╛рдИрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ рдЬрд╕рдорд╛ рд╣рд╛рдореА рдХреБрди (рдбреЛрдореЗрди, рдбрд╛рдЯрд╛рдмреЗрд╕ рд╡рд╛ рдлрд╛рдЗрд▓) рдмрд╛рдЯ рдбрд╛рдЯрд╛ рд▓рд┐рдиреЗ рднрдиреЗрд░ рднрдиреНрдЫреМрдВред

# 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

рдо рдпрд╣рд╛рдБ рдереЛрд░реИ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рдЬрд╛рдиреЗрдЫреБ рдХрд┐рдирднрдиреЗ рдпреЛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рдЫ:

рдЯрд┐рдкреНрдкрдгреА рд╕рд╣рд┐рдд рдлрд╛рдЗрд▓рдХреЛ рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг:
linOTP рд╕рд░реНрднрд░рдХреЛ #IP (рд╣рд╛рдореНрд░реЛ LinOTP рд╕рд░реНрднрд░рдХреЛ IP рдареЗрдЧрд╛рдирд╛)
URL=https://172.17.14.103/validate/simplecheck
#рд╣рд╛рдореНрд░реЛ рдХреНрд╖реЗрддреНрд░ рдЬреБрди рд╣рд╛рдореАрд▓реЗ LinOTP рд╡реЗрдм рдЗрдиреНрдЯрд░рдлреЗрд╕рдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВред)
REALM= rearm1
# LinOTP рд╡реЗрдм рдереВрдердирдорд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдореВрд╣рдХреЛ рдирд╛рдоред
RESCONF=flat_file
#рд╡реИрдХрд▓реНрдкрд┐рдХ: рдпрджрд┐ рд╕рдмреИ рдХреБрд░рд╛ рдареАрдХ рдЫ рдЬрд╕реНрддреЛ рд▓рд╛рдЧреНрдЫ рднрдиреЗ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрдиреБрд╣реЛрд╕реН
рдбрд┐рдмрдЧ = рд╕рддреНрдп
#рд╡реИрдХрд▓реНрдкрд┐рдХ: рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реН, рдпрджрд┐ рддрдкрд╛рдИрдВрд╕рдБрдЧ рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЫрдиреН рднрдиреЗ, рдЕрдиреНрдпрдерд╛ рдЯрд┐рдкреНрдкрдгреА рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдпрджрд┐ рд╣рд╛рдореАрд▓реЗ рдЖрдлреНрдиреИ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдкреНрд░рдорд╛рдгрд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВ рднрдиреЗ)
SSL_CHECK=False

рдЕрд░реНрдХреЛ, рдлрд╛рдЗрд▓ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН /etc/freeradius/sites-available/linotp

# touch /etc/freeradius/sites-available/linotp

# nano /etc/freeradius/sites-available/linotp

рд░ рдпрд╕рдорд╛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдЧрд░реНрдиреБрд╣реЛрд╕реН (рдХреЗрд╣реА рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫреИрди):

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
}

рдЕрд░реНрдХреЛ рд╣рд╛рдореА рд╕рд┐рдо рд▓рд┐рдЩреНрдХ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗрдЫреМрдВ:

# ln -s ../sites-available/linotp /etc/freeradius/sites-enabled

рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдкрдорд╛, рдо рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реЗрдбрд┐рдпрд╕ рд╕рд╛рдЗрдЯрд╣рд░реВ рдорд╛рд░реНрдЫреБ, рддрд░ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рд╕рдореНрдкрд╛рджрди рдЧрд░реНрди рд╡рд╛ рддрд┐рдиреАрд╣рд░реВрд▓рд╛рдИ рдЕрд╕рдХреНрд╖рдо рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

# rm /etc/freeradius/sites-enabled/default

# rm /etc/freeradius/sites-enabled/inner-tunnel

# service freeradius reload

рдЕрдм рд╡реЗрдм рдЕрдиреБрд╣рд╛рд░рдорд╛ рдлрд░реНрдХреМрдВ рд░ рдпрд╕рд▓рд╛рдИ рдЕрд▓рд┐ рдердк рд╡рд┐рд╡рд░рдгрдорд╛ рд╣реЗрд░реМрдВ:
рдорд╛рдерд┐рд▓реНрд▓реЛ рджрд╛рдпрд╛рдБ рдХреБрдирд╛рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реН LinOTP рдХрдиреНрдлрд┐рдЧ -> UserIdResolvers -> рдирдпрд╛рдБ
рд╣рд╛рдореАрд▓реЗ рдЪрд╛рд╣реЗрдХреЛ рдХреБрд░рд╛ рдЫрдиреМрдЯ рдЧрд░реНрдЫреМрдВ: LDAP (AD win, LDAP samba), рд╡рд╛ SQL, рд╡рд╛ Flatfile рдкреНрд░рдгрд╛рд▓реАрдХрд╛ рд╕реНрдерд╛рдиреАрдп рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВред

рдЖрд╡рд╢реНрдпрдХ рдХреНрд╖реЗрддреНрд░рд╣рд░реВ рднрд░реНрдиреБрд╣реЛрд╕реНред

рдЕрд░реНрдХреЛ рд╣рд╛рдореА REALMS рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдЫреМрдВ:
рдорд╛рдерд┐рд▓реНрд▓реЛ рджрд╛рдпрд╛рдБ рдХреБрдирд╛рдорд╛, LinOTP Config -> Realms -> New рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
рд░ рд╣рд╛рдореНрд░реЛ REALMS рд▓рд╛рдИ рдирд╛рдо рджрд┐рдиреБрд╣реЛрд╕реН, рд░ рдкрд╣рд┐рд▓реЗ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ UserIdResolvers рдорд╛ рдХреНрд▓рд┐рдХ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

FreeRadius рд▓рд╛рдИ рдпреЛ рд╕рдмреИ рдбрд╛рдЯрд╛ /etc/linotp2/rlm_perl.ini рдлрд╛рдЗрд▓рдорд╛ рдЪрд╛рд╣рд┐рдиреНрдЫ, рдЬрд╕рд░реА рдореИрд▓реЗ рдорд╛рдерд┐ рд▓реЗрдЦреЗрдХреЛ рдЫреБ, рддреНрдпрд╕реИрд▓реЗ рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рдпрд╕рд▓рд╛рдИ рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрднрдПрди рднрдиреЗ, рдЕрд╣рд┐рд▓реЗ рдиреИ рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╕рд░реНрднрд░ рд╕рдмреИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫред

рдердк:

рдбреЗрдмрд┐рдпрди 9 рдорд╛ LinOTP рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ:

рд╕реНрдерд╛рдкрдирд╛:

# 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

(рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛, рдбреЗрдмрд┐рдпрди 9 mysql (mariaDB) рдорд╛ рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрди рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджреИрди, рдкрдХреНрдХреИ рдкрдирд┐ рддрдкрд╛рдЗрдБ рдпрд╕рд▓рд╛рдИ рдЦрд╛рд▓реА рдЫреЛрдбреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ, рддрд░ рдпрджрд┐ рддрдкрд╛рдЗрдБ рд╕рдорд╛рдЪрд╛рд░ рдкрдвреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рдпрд╕рд▓реЗ рдкреНрд░рд╛рдпрдГ "рдорд╣рд╛рдХрд╛рд╡реНрдп рдЕрд╕рдлрд▓" рдирд┐рдореНрддреНрдпрд╛рдЙрдБрдЫ, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рд╕реЗрдЯ рдЧрд░реНрдиреЗрдЫреМрдВред рдЬреЗ рднрдП рдкрдирд┐)

# 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

рдХреЛрдб рдЯрд╛рдБрд╕реНрдиреБрд╣реЛрд╕реН (JuriM рджреНрд╡рд╛рд░рд╛ рдкрдард╛рдЗрдПрдХреЛ, рдпрд╕рдХреЛ рд▓рд╛рдЧрд┐ рдЙрд╣рд╛рдБрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рдж!):

рд╕рд░реНрднрд░ linotp {
рд╕реБрди {
ipaddr = *
рдкреЛрд░реНрдЯ = 1812
type=auth
}
рд╕реБрди {
ipaddr = *
рдкреЛрд░реНрдЯ = 1813
рдкреНрд░рдХрд╛рд░ = acct
}
рдЕрдзрд┐рдХреГрдд {
рдкреВрд░реНрд╡ рдкреНрд░рдХреНрд░рд┐рдпрд╛
рдЕрдкрдбреЗрдЯ {
&рдирд┐рдпрдиреНрддреНрд░рдг:Auth-Type := Perl
}
}
рдкреНрд░рдорд╛рдгрд┐рдХрд░рдг {
Auth-Type Perl {
рдкрд░реНрд▓
}
}
рд▓реЗрдЦрд╛ {
рдпреВрдирд┐рдХреНрд╕
}
}

рд╕рдореНрдкрд╛рджрди рдЧрд░реНрдиреБрд╣реЛрд╕реН /etc/freeradius/3.0/mods-enabled/perl

perl {
рдлрд╛рдЗрд▓рдирд╛рдо = /usr/share/linotp/radius_linotp.pm
func_authenticate = рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
func_authorize = рдЕрдзрд┐рдХреГрдд
}

рджреБрд░реНрднрд╛рдЧреНрдпрд╡рд╢, рдбреЗрдмрд┐рдпрди 9 рдорд╛ radius_linotp.pm рдкреБрд╕реНрддрдХрд╛рд▓рдп рднрдгреНрдбрд╛рд░рд╣рд░реВрдмрд╛рдЯ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫреИрди, рддреНрдпрд╕реИрд▓реЗ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ 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

рдЕрдм рд╕рдореНрдкрд╛рджрди рдЧрд░реМрдВ /etc/freeradius/3.0/clients.conf

рдЧреНрд░рд╛рд╣рдХ рд╕рд░реНрднрд░ {
ipaddr = 192.168.188.0/24
рдЧреЛрдкреНрдп = рддрдкрд╛рдИрдХреЛ рдкрд╛рд╕рд╡рд░реНрдб
}

рдЕрдм nano /etc/linotp2/rlm_perl.ini рд╕рдЪреНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН

рд╣рд╛рдореАрд▓реЗ рдбреЗрдмрд┐рдпрди 8 рдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрджрд╛ рдЙрд╣реА рдХреЛрдб рдкреЗрд╕реНрдЯ рдЧрд░реНрдЫреМрдВ (рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ)

рддреНрдпреЛ рд╕рдмреИ рд╡рд┐рдЪрд╛рд░ рдЕрдиреБрд╕рд╛рд░ рд╣реЛред (рдЕрд╣рд┐рд▓реЗ рд╕рдореНрдо рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдПрдХреЛ рдЫреИрди)

рдо рдкреНрд░рд╛рдпрдГ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд╕рд╛рде рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдкрд░реНрдиреЗ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдирдХрд╛ рд▓рд╛рдЧрд┐ рдХреЗрд╣реА рд▓рд┐рдЩреНрдХрд╣рд░реВ рддрд▓ рдЫреЛрдбреНрдиреЗрдЫреБ:
рдорд╛ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реЗрдЯрдЕрдк рдЧрд░реНрджреИ Apache2

Cisco ASA рд╕рдБрдЧ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреБрд╣реЛрд╕реН(рддреНрдпрд╣рд╛рдБ рдлрд░рдХ рдЯреЛрдХрди рдЬреЗрдиреЗрд░реЗрд╢рди рд╕рд░реНрднрд░ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрд░ ASA рдХреЛ рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рдЙрд╕реНрддреИ рдЫрдиреН)ред

рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрдХреЛ рд╕рд╛рде VPN

рд╕рдорд╛рдпреЛрдЬрди ssh рдорд╛ рджреБрдИ рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (LinOTP рддреНрдпрд╣рд╛рдБ рдкрдирд┐ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ) - рд▓реЗрдЦрдХрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рджред рддреНрдпрд╣рд╛рдБ рддрдкрд╛рдИрдВрд▓реЗ LiOTP рдиреАрддрд┐рд╣рд░реВ рд╕реЗрдЯрдЕрдк рдЧрд░реНрдиреЗ рдмрд╛рд░реЗ рд░реЛрдЪрдХ рдХреБрд░рд╛рд╣рд░реВ рдкрдирд┐ рдкрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рд╕рд╛рдереИ, рдзреЗрд░реИ рд╕рд╛рдЗрдЯрд╣рд░реВрдХреЛ рд╕реЗрдореАрд╣рд░реВрд▓реЗ рджреБрдИ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдгрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ (рд╡рд░реНрдбрдкреНрд░реЗрд╕рдХреЛ рд▓рд╛рдЧрд┐, LinOTP рд╕рдБрдЧ рдпрд╕рдХреЛ рдЖрдлреНрдиреИ рд╡рд┐рд╢реЗрд╖ рдореЛрдбреНрдпреБрд▓ рдкрдирд┐ рдЫред github), рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдпрджрд┐ рддрдкрд╛рдИрдВ рдХрдореНрдкрдиреАрдХрд╛ рдХрд░реНрдордЪрд╛рд░реАрд╣рд░реВрдХрд╛ рд▓рд╛рдЧрд┐ рдЖрдлреНрдиреЛ рдХрд░реНрдкреЛрд░реЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯрдорд╛ рд╕реБрд░рдХреНрд╖рд┐рдд рдЦрдгреНрдб рдмрдирд╛рдЙрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗред
рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рддрдереНрдп! рдЧреБрдЧрд▓ рдкреНрд░рдорд╛рдгрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди "Google рдкреНрд░рдорд╛рдгрд┐рдХрд░рдгрдХрд░реНрддрд╛" рдмрд╛рдХрд╕ рдЬрд╛рдБрдЪ рдирдЧрд░реНрдиреБрд╣реЛрд╕реН! QR рдХреЛрдб рдкрдвреНрди рдпреЛрдЧреНрдп рдЫреИрди ... (рдЕрдиреМрдареЛ рддрдереНрдп)

рдпреЛ рд▓реЗрдЦ рд▓реЗрдЦреНрдирдХреЛ рд▓рд╛рдЧрд┐, рдирд┐рдореНрди рд▓реЗрдЦрд╣рд░реВрдмрд╛рдЯ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдерд┐рдпреЛ:
itnan.ru/post.php?c=1&p=270571
www.digitalbears.net/?p=469

рд▓реЗрдЦрдХрд╣рд░реВрд▓рд╛рдИ рдзрдиреНрдпрд╡рд╛рджред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди