
рдЖрдЬ рдореИрдВ рдХреЙрд░реНрдкреЛрд░реЗрдЯ рдиреЗрдЯрд╡рд░реНрдХ, рд╕рд╛рдЗрдЯреЛрдВ, рд╕реЗрд╡рд╛рдУрдВ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рддрд░реАрдХрд╛ рд╕рд╛рдЭрд╛ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рд╕рд░реНрд╡рд░ рдмрдВрдбрд▓ рдХрд╛рдо рдХрд░реЗрдЧрд╛: LinOTP + FreeRadiusред
рд╣рдореЗрдВ рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рдпрд╣ рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдореБрдХреНрдд, рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╕рдорд╛рдзрд╛рди рд╣реИ, рдЕрдкрдиреЗ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рднреАрддрд░, рддреАрд╕рд░реЗ рдкрдХреНрд╖ рдХреЗ рдкреНрд░рджрд╛рддрд╛рдУрдВ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИред
рдпрд╣ рд╕реЗрд╡рд╛ рдЕрдиреНрдп рдУрдкрди рд╕реЛрд░реНрд╕ рдЙрддреНрдкрд╛рджреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ, рдХрд╛рдлреА рджреГрд╢реНрдп рд╣реИ, рдФрд░ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдиреАрддрд┐рдпреЛрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд▓реЙрдЧрд┐рди + рдкрд╛рд╕рд╡рд░реНрдб + (рдкрд┐рди + рдУрдЯреАрдкреАрдЯреЛрдХрди)) рдХрд╛ рднреА рд╕рдорд░реНрдерди рдХрд░рддреА рд╣реИред рдПрдкреАрдЖрдИ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдпрд╣ рдПрд╕рдПрдордПрд╕ рднреЗрдЬрдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХреАрдХреГрдд рд╣реЛрддрд╛ рд╣реИ (LinOTP рдХреЙрдиреНрдлрд╝рд┐рдЧ-> рдкреНрд░реЛрд╡рд╛рдЗрдбрд░ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди-> рдПрд╕рдПрдордПрд╕ рдкреНрд░реЛрд╡рд╛рдЗрдбрд░), Google рдСрдЯреЗрдВрдЯрд┐рд╕рд┐рдкреЗрдЯрд░ рдЬреИрд╕реЗ рдореЛрдмрд╛рдЗрд▓ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдХреЛрдб рдмрдирд╛рддрд╛ рд╣реИ рдФрд░ рдмрд╣реБрдд рдХреБрдЫред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣
рд▓реЗрдЦ рдореЗрдВ рдорд╛рдиреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рд╕реЗрд╡рд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред
рдпрд╣ рд╕рд░реНрд╡рд░ рд╕рд┐рд╕реНрдХреЛ рдПрдПрд╕рдП, рдУрдкрдирд╡реАрдкреАрдПрди рд╕рд░реНрд╡рд░, рдЕрдкрд╛рдЪреЗ 2, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдЪреАрдЬреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдХ RADIUS рд╕рд░реНрд╡рд░ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдбреЗрдЯрд╛ рд╕реЗрдВрдЯрд░ рдореЗрдВ рдПрд╕рдПрд╕рдПрдЪ рдХреЗ рд▓рд┐рдП)ред
рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ:
1) рдбреЗрдмрд┐рдпрди 8 (рдЬреЗрд╕реА) -
рдЖрд╡рд╢реНрдпрдХ! (рд▓реЗрдЦ 9 рдХреЗ рдЕрдВрдд рдореЗрдВ рдбреЗрдмрд┐рдпрди 9 рдкрд░ рдПрдХ рдкрд░реАрдХреНрд╖рдг рд╕реНрдерд╛рдкрдирд╛ рд╡рд░реНрдгрд┐рдд рд╣реИ)
рд╢реБрд░реВ рдХрд░реЗрдВ:
рдбреЗрдмрд┐рдпрди 8 рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ред
LinOTP рднрдВрдбрд╛рд░ рдЬреЛрдбрд╝реЗрдВ:
рдХреБрдВрдЬреА рдЬреЛрдбрд╝реЗрдВ:
рдХрднреА-рдХрднреА "рдХреНрд▓реАрди" рдЗрдВрд╕реНрдЯреЙрд▓реЗрд╢рди рдХреЗ рд╕рд╛рде, рдЗрд╕ рдХрдорд╛рдВрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдбреЗрдмрд┐рдпрди рдореБрджреНрджреЗ:
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 <linotp2@lsexperts.de> 2048 bit RSA key F86258E5, : 2010-05-10 Keys 1-1 of 1 for "913DFF12F86258E5". , N) Q) >
рдЙрддреНрддрд░: рез
рдЕрдЧрд▓рд╛:
Mysql рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЖрдк рдПрдХ рдЕрд▓рдЧ sql рд╕рд░реНрд╡рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛, рдЬреИрд╕рд╛ рдХрд┐ LinOTP рдХреЗ рд▓рд┐рдП рдЕрдиреБрд╢рдВрд╕рд┐рдд рд╣реИред
(рдЕрддрд┐рд░рд┐рдХреНрдд рдЬрд╛рдирдХрд╛рд░реА, рдЬрд┐рд╕рдореЗрдВ рд▓рд╛рдЗрдирдУрдЯреАрдкреА рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ,
рд▓рд┐рдВрдХ рдкрд░ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрд╕реА рд╕реНрдерд╛рди рдкрд░, рдЖрдк рдХрдорд╛рдВрдб рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ: рдпрджрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЖрд░рдПрд╕рдХреНрдпреВрдПрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рдЪреБрдХреЗ рд╣реИрдВ рддреЛ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдбреАрдПрдирдкреАрдХреЗ-рдкреБрди: рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВред
(рдЕрдкрдбреЗрдЯ рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬрд╛рдБрдЪрдиреЗ рд╕реЗ рдЪреЛрдЯ рдирд╣реАрдВ рд▓рдЧреЗрдЧреА)
LinOTP рдФрд░ рдРрдб-рдСрди рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ:
рд╣рдо рдЗрдВрд╕реНрдЯреЙрд▓рд░ рдХреЗ рд╕рд╡рд╛рд▓реЛрдВ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрддреЗ рд╣реИрдВ:
Apache2 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╣рд╛рдБ
рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд╛рд╕рд╡рд░реНрдб рдмрдирд╛рдПрдБ Linotp: "YourPassword"
рд╕реНрд╡-рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдЙрддреНрдкрдиреНрди рдХрд░реЗрдВ ?: рд╣рд╛рдБ
MySQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ ?: рд╣рд╛рдБ
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╣рд╛рдВ рд╣реИ: рд▓реЛрдХрд▓рд╣реЛрд╕реНрдЯ
рд╕рд░реНрд╡рд░ рдкрд░ LinOTP рдбреЗрдЯрд╛рдмреЗрд╕ (рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдирд╛рдо) рдмрдирд╛рдПрдБ: LinOTP2
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрд▓рдЧ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмрдирд╛рдПрдБ: LinOTP2
рд╣рдордиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдХрд┐рдпрд╛: "YourPassword"
рдХреНрдпрд╛ рдореБрдЭреЗ рдЕрдм рдЖрдзрд╛рд░ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рд┐рдП? (рдРрд╕рд╛ рдХреБрдЫ "рдХреНрдпрд╛ рдЖрдк рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реИрдВ рдХрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ ..."): рд╣рд╛рдБ
MySQL рд░реВрдЯ рдкрд╛рд╕рд╡рд░реНрдб рджрд░реНрдЬ рдХрд░реЗрдВ рдЬреЛ рдЗрд╕рдХреА рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рджреМрд░рд╛рди рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛: "YourPassword"
рд╣реЛ рдЧрдпрд╛ред
(рд╡реИрдХрд▓реНрдкрд┐рдХ, рдЖрдк рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)
(рд╡реИрдХрд▓реНрдкрд┐рдХ, рдЖрдк рд╕реЗрдЯ рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ)
рдФрд░ рдЗрд╕рд▓рд┐рдП рдЕрдм рд╣рдорд╛рд░рд╛ Linotp рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдпрд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реИ:
"<b>https</b>: //IP_/manage"
рдореИрдВ рдереЛрдбрд╝реА рджреЗрд░ рдмрд╛рдж рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред
рдЕрдм, рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд! FreeRadius рдЙрдард╛рдПрдВ рдФрд░ рдЗрд╕реЗ Linotp рд╕реЗ рд▓рд┐рдВрдХ рдХрд░реЗрдВред
FreeRadius рдФрд░ LinOTP рдореЙрдбреНрдпреВрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рдмреИрдХрдЕрдк рдХреНрд▓рд╛рдЗрдВрдЯ рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред
рдПрдХ рдЦрд╛рд▓реА рдХреНрд▓рд╛рдЗрдВрдЯ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
рд╣рдо рдЕрдкрдиреА рдирдИ рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░ рдлрд╝рд╛рдЗрд▓ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдХрдЕрдк рдХреЙрдиреНтАНрдлрд╝рд┐рдЧрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ) рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ
client 192.168.188.0/24 { secret = passwd # }
рдЕрдЧрд▓рд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ:
рд╣рдо рддреНрд░рд┐рдЬреНрдпрд╛ рдХреЛ рдмрддрд╛рддреЗ рд╣реБрдП рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдкрд░реНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВрдЧреЗред
DEFAULT Auth-type := perl
рдЕрдЧрд▓рд╛, рдлрд╝рд╛рдЗрд▓ / etc / freeradius / рдореЙрдбреНрдпреВрд▓ / рдкрд░реНрд▓ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ
рд╣рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдкреИрд░рд╛рдореАрдЯрд░ рдореЗрдВ perl linotp рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд╛ рдкрде рд▓рд┐рдЦрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
Perl { ....... ......... <source lang="bash">module = /usr/lib/linotp/radius_linotp.pm
.....
рдЕрдЧрд▓рд╛, рд╣рдо рдПрдХ рдлрд╛рдЗрд▓ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬрд┐рд╕рдореЗрдВ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕ (рдбреЛрдореЗрди, рдбреЗрдЯрд╛рдмреЗрд╕ рдпрд╛ рдлрд╛рдЗрд▓) рд╕реЗ рдбреЗрдЯрд╛ рд▓реЗрдирд╛ рд╣реИред
URL=https://IP__LinOTP_(192.168.XX)/validate/simplecheck REALM=webusers1c RESCONF=LocalUser Debug=True SSL_CHECK=False
рдпрд╣рд╛рдВ рдореИрдВ рдереЛрдбрд╝рд╛ рдФрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ:
рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдлрд╛рдЗрд▓ рдХрд╛ рдкреВрд░рд╛ рд╡рд┐рд╡рд░рдг:
рд▓рд╛рдЗрдирдЯреЙрдк рд╕рд░реНрд╡рд░ рдХрд╛ #IP (рд╣рдорд╛рд░реЗ рд▓рд┐рдиреЛрдЯ рд╕рд░реНрд╡рд░ рдХрд╛ рдЖрдИрдкреА рдкрддрд╛)
URL = https: //172.17.14.103/validate/simplecheck
# рд╣рдорд╛рд░рд╛ рдХреНрд╖реЗрддреНрд░ рдЬрд┐рд╕реЗ рд╣рдо LinOTP рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдореЗрдВ рдмрдирд╛рдПрдВрдЧреЗред)
REALM = рд░рд┐рдпрд░рдПрдо 1
# рдЬреВрдЬрд╝реЗрд╡реЗрд░ рд╕рдореВрд╣ рдХрд╛ рдирд╛рдо рдЬреЛ рд▓рд┐рдиреЙрдЯ рдкреА рд╡реЗрдмрдореЙрд░реНрдб рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред
RESCONF = flat_file
# рдЧреЛрдж рд▓реЗрдиреЗ рд╡рд╛рд▓рд╛: рдпрджрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд▓рдЧрддрд╛ рд╣реИ рддреЛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ
рдбрд┐рдмрдЧ = рд╕рддреНрдп
#optional: рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдкреНрд░рдорд╛рдг рдкрддреНрд░ рд╣реИрдВ, рдЕрдиреНрдпрдерд╛ рдЯрд┐рдкреНрдкрдгреА рдХрд░реЗрдВ (рдПрд╕рдПрд╕рдПрд▓ рдпрджрд┐ рд╣рдо рдЕрдкрдирд╛ рдкреНрд░рдорд╛рдг рдкрддреНрд░ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рд╕рддреНрдпрд╛рдкрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ)
SSL_CHECK = рдЧрд▓рдд
рдЕрдЧрд▓рд╛, рдлрд╝рд╛рдЗрд▓ / 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 USER\REALM 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 }
рдЕрдЧрд▓рд╛, рдПрдХ рд╕рд┐рдо рд▓рд┐рдВрдХ рдмрдирд╛рдПрдВ:
рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ, рдореИрдВ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рддреНрд░рд┐рдЬреНрдпрд╛ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдорд╛рд░рддрд╛ рд╣реВрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдЙрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдпрд╛ рддреЛ рдЙрдирдХреЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдпрд╛ рдЙрдиреНрд╣реЗрдВ рдЕрдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЕрдм рд╡реЗрдм рдЪреЗрд╣рд░реЗ рдкрд░ рд╡рд╛рдкрд╕ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВ:
рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ, LINOTP рдХреЙрдиреНрдлрд╝рд┐рдЧ -> UserIdResolvers -> рдирдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ
рдЪреБрдиреЗрдВ рдХрд┐ рд╣рдо рдХреНрдпрд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ: LDAP (AD win, LDAP samba), рдпрд╛ SQL, рдпрд╛ рд╕реНрдерд╛рдиреАрдп рдлреНрд▓реИрдЯрдлрд╝рд╛рдЗрд▓ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ред
рдЖрд╡рд╢реНрдпрдХ рдлрд╝реАрд▓реНрдб рднрд░реЗрдВред
рдЕрдЧрд▓рд╛, REALMS рдмрдирд╛рдПрдВ:
рдКрдкрд░реА рджрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ, LINOTP рдХреЙрдиреНрдлрд╝рд┐рдЧ -> рд╕реНрдерд╛рдиреЛрдВ -> рдирдпрд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
рдФрд░ рд╣рдорд╛рд░реЗ REALMS рдХреЛ рдПрдХ рдирд╛рдо рджреЗрдВ, рд╕рд╛рде рд╣реА рдкрд╣рд▓реЗ рдмрдирд╛рдП рдЧрдП UserIdResolvers рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВред
FreeRadius рдХреЛ рдпрд╣ рд╕рдм рдбреЗрдЯрд╛ /etc/linotp2/rlm_perl.ini рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЪрд╛рд╣рд┐рдП, рдЬреЛ рдореИрдВрдиреЗ рдКрдкрд░ рд▓рд┐рдЦрд╛ рдерд╛, рдЗрд╕рд▓рд┐рдП рдпрджрд┐ рдЖрдкрдиреЗ рдЗрд╕реЗ рд╕рдВрдкрд╛рджрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЗрд╕реЗ рдЕрднреА рдХрд░реЗрдВред
рд╕рднреА рд╕рд░реНрд╡рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдкреВрд░рдХ:
рдбреЗрдмрд┐рдпрди 9 рдкрд░ linotP рдХреА рд╕реНрдерд╛рдкрдирд╛ (
prikhodkov рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж)
# LinotP рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЛ /etc/apt/sources.list.d/linotp.list рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ рдФрд░ рд╢рд▓рдЬрдо рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ:
рдЗрдХреЛ "
deb linotp.org/apt/debian stretch linotp"> /etc/apt/sources.list.d/linotp.list
apt-get update
apt-get install dirmngr
apt-key adv --recv-keys 913DFF12F86258E5
# рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ рдФрд░ рдореВрд▓ рд░реВрдк рд╕реЗ mysql рд╕рд░реНрд╡рд░ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ:
apt-get рд╕реНрдерд╛рдкрд┐рдд mysql-server
# Linotp рдФрд░ freeradius рд╕рдВрдХреБрд▓ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
apt-get install linotp linotp-adminclient-cli python-ldap freeradius python-passlib python-bcrypt git libio-all-lwp-perl libconfig-file-perl libtry-small-perl
# Freeradius рд╡рд┐рдиреНрдпрд╛рд╕ рдлрд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рд╕рд╣рд╛рдиреБрднреВрддрд┐ рдмрдирд╛рдПрдБ
ln -s /etc/freeradius/3.0/sites-available / etc / freeradius / рд╕рд╛рдЗрдЯреЗрдВ рдЙрдкрд▓рдмреНрдз
ln -s /etc/freeradius/3.0/sites-enabled / etc / freeradius / рд╕рд╛рдЗрдЯреЗрдВ рд╕рдХреНрд╖рдо рд╣реИрдВ
ln -s /etc/freeradius/3.0/clients.conf /etc/freeradius/clients.conf
ln -s /etc/freeradius/3.0/users / etc / freeradius / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
# Linotp-Cort-freeradius-perl рдореЙрдбреНрдпреВрд▓ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВ
git рдХреНрд▓реЛрди рдХреНрд▓реЛрди
github.com/LinOTP/linotp-auth-freeradius-perlрд╕реАрдбреА рд▓рд┐рдиреЛрдЯрдк-рдХреЛрд░-рдлреНрд░реАрд░рд╛рдбрд┐рдпрд╕-рдкрд░реНрд▓ /
cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm
# рд╣рдо рдЗрд╕ рдлреЙрд░реНрдо рдореЗрдВ linotp рдХреЗ рд▓рд┐рдП freeradius рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рд▓рд╛рддреЗ рд╣реИрдВ
рдмрд┐рд▓реНрд▓реА / рдЖрджрд┐ / рдлрд╝реНрд░реАрд░рд╛рдбрд┐рдпрд╕ / рд╕рд╛рдЗрдЯ-рд╕рдХреНрд╖рдо / рд▓рд┐рдиреЛрдЯрдк
рд╕рд░реНрд╡рд░ рд▓рд╛рдЗрдирдЯреЙрдк {
рд╕реБрдиреЛ {
ipaddr = *
port = 1812
рдкреНрд░рдХрд╛рд░ =
}
рд╕реБрдиреЛ {
ipaddr = *
рдкреЛрд░реНрдЯ = 1813
рдкреНрд░рдХрд╛рд░ = рдПрд╕реАрдЯреЗрдЯ
}
рдЕрдзрд┐рдХреГрдд рдХрд░реЗрдВ {
preprocess
рдЕрджреНрдпрддрди {
рдФрд░ рдирд┐рдпрдВрддреНрд░рдг: рдкреНрд░рд╛рдорд╛рдгрд┐рдХ-рдкреНрд░рдХрд╛рд░: = рдкрд░реНрд▓
}
}
рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░реЗрдВ {
рдкреНрд░рд╛рдорд╛рдгрд┐рдХ-рдкреНрд░рдХрд╛рд░ рдкрд░реНрд▓ {
рдкрд░реНрд▓
}
}
рд▓реЗрдЦрд╛рдВрдХрди {
рдпреВрдирд┐рдХреНрд╕
}
}
# Freeradius рдХреЗ рд▓рд┐рдП рд╕рдХреНрд╖рдо рд╕рд╛рдЗрдЯреЛрдВ рдореЗрдВ рд╣рдо рдХреЗрд╡рд▓ linotp рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ
ls / etc / freeradius / рд╕рд╛рдЗрдЯреНрд╕-рд╕рдХреНрд╖рдо
linotp
# рдРрд╕реЗ рд╣реЛрд╕реНрдЯ рдЬреЛрдбрд╝реЗрдВ рдЬрд┐рдирд╕реЗ рд╣рдо рдлреНрд░реАрд░реЗрдбрд┐рдпрд╕ рдкрд░ рдХрдиреЗрдХреНрд╢рди рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ
cat /etc/freeradius/clients.conf
рдЧреНрд░рд╛рд╣рдХ host1 {
ipaddr = IP_1
netmask = 32
рдЧреБрдкреНрдд = 'SECRET_1'
}
рдЧреНрд░рд╛рд╣рдХ host2 {
ipaddr = IP_2
netmask = 32
рдЧреБрдкреНрдд = 'SECRET_2'
}
# рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╣рдо рдкрд░реНрд▓ рдХрдиреЗрдХреНрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
cat / etc / freeradius / рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛
DEFAULT рдкреНрд░рд╛рдорд╛рдгрд┐рдХ-рдкреНрд░рдХрд╛рд░: = perl
}
cat /etc/freeradius/3.0/mods-available/perl
рдкрд░реНрд▓ {
рдлрд╝рд╛рдЗрд▓ рдирд╛рдо = /usr/share/linotp/radius_linotp.pm
func_authenticate = рдкреНрд░рдорд╛рдгрд┐рдд рдХрд░рдирд╛
func_authorize = рдкреНрд░рд╛рдзрд┐рдХреГрдд рдХрд░рдирд╛
}
# рдореЙрдб-рдЗрдиреЗрдмрд▓реНрдб рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ, рдкреЗрд░реНрд▓ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдореЙрдбреНрд╕-рдЕрд╡реЗрд▓реЗрдмрд▓ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рд╕реЗ рд╕рд┐рдорд┐рд▓рд┐рдВрдХ рдмрдирд╛рддреЗ рд╣реИрдВ рдФрд░ eap рдХреЛ рд╣рдЯрд╛рддреЗ рд╣реИрдВ
ln -s /etc/freeradius/3.0/mods-available/perl/etc/freeradius/3.0/mods-enabled/perl
rm /etc/freeradius/3.0/mods-enabled/eap
# Linotp рдЪрд▓рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдСрдбрд┐рдЯ рдХрд░реЗрдВ
linotp-create-audkeykeys -f linotp.ini
# рд╣рдо рддреНрд░рд┐рдЬреНрдпрд╛ рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реЗ рдбреАрдбреА рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдиреЗрдХреНрдЯрд░ рдХрд╛ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ
cat /etc/linotp2/rlm_perl.ini
URL = https: // IP_LINOTP_SRV / рдорд╛рдиреНрдп / рд╕рд░рд▓ рдЪреЗрдХ
REALM = рджрд╛рдпрд░реЗ
RESCONF = рд▓реЛрдХрд▓рдпреВрдЬрд╝рд░
рдбрд┐рдмрдЧ = рд╕рддреНрдп
SSL_CHECK = рдЧрд▓рдд
рдореИрдВ рд╕рд┐рд╕реНрдЯрдо рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреЗ рдХреБрдЫ рд▓рд┐рдВрдХ рдиреАрдЪреЗ рдЫреЛрдбрд╝ рджреВрдБрдЧрд╛, рдЬрд┐рдиреНрд╣реЗрдВ рдЕрдХреНрд╕рд░ рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рджреНрд╡рд╛рд░рд╛ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ:
Apache2 рдореЗрдВ рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛
рд╕рд┐рд╕реНрдХреЛ рдПрдПрд╕рдП рдХреЗ рд╕рд╛рде рд╕реЗрдЯрдЕрдк (рдПрдХ рдФрд░ рдЯреЛрдХрди рдкреАрдврд╝реА рд╕рд░реНрд╡рд░ рд╡рд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдПрд╕рдП рдХреА рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕рдорд╛рди рд╣реИрдВ)ред
рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд╕рд╛рде рд╡реАрдкреАрдПрдиSsh рдореЗрдВ рджреЛ-рдХрд╛рд░рдХ рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдирд╛ (LinOTP рдХрд╛ рдЙрдкрдпреЛрдЧ рд╡рд╣рд╛рдВ рднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) - рд▓реЗрдЦрдХ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред рддреБрдо рднреА рд╡рд╣рд╛рдБ LiOTP рдиреАрддрд┐рдпреЛрдВ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рддреЗрдВ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рд╕рд╛рдЗрдЯреЛрдВ рдХреЗ рд╕реЗрдореА рдЯреВ-рдлреИрдХреНрдЯрд░ рдСрдереЗрдВрдЯрд┐рдХреЗрд╢рди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВ (рд▓рд┐рдиреЛрде рдХрд╛ рднреА рд╡рд░реНрдбрдкреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рдЧрд┐рдердм рдкрд░ рдЕрдкрдирд╛ рд╡рд┐рд╢реЗрд╖ рдореЙрдбреНрдпреВрд▓ рд╣реИ), рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдЕрдкрдиреА рдХреЙрд░реНрдкреЛрд░реЗрдЯ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдХрдВрдкрдиреА рдХреЗ рдХрд░реНрдордЪрд╛рд░рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд░рдХреНрд╖рд┐рдд рдЕрдиреБрднрд╛рдЧ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдорд╣рддреНрд╡рдкреВрд░реНрдг рддрдереНрдп! Google рдкреНрд░рдорд╛рдгрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЙрдХреНрд╕ "Google рдСрдЯреЗрдВрдЯрд┐рдлрд┐рдХреЗрдЯрд░" рдХреА рдЬрд╛рдВрдЪ рди рдХрд░реЗрдВ! QR рдХреЛрдб рддрдм рдирд╣реАрдВ рдкрдврд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ ... (рдЕрдЬреАрдм рддрдереНрдп)
рд▓реЗрдЦ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЬрд╛рдирдХрд╛рд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рд╕реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛:
itnan.ru/post.php?c=1&p=270571www.digitalbears.net/?p=469рд▓реЗрдЦрдХреЛрдВ рдХреЛ рдзрдиреНрдпрд╡рд╛рджред