こんにちは、LinOTPでの私の経験を共有し、LinOTP + FreeRADIUSとWallixBastionを使用した強力な認証の例を示したいと思います。
LinOTPは、強力な認証のためのエンタープライズグレードの柔軟なオープンソースプラットフォームです。
Wallix Bastionは、特権アクセス管理(PAM)ソリューションです。
- HabréはすでにLinOTPに関するいくつかの記事がある1、2を。ここでは、新しいバージョンのOSと製品を使用し、セットアップを最初から最後まで実行します。次に進みましょう。
私たちが使用するもの:
LinOTP 2.12.3
Debian 10(サポートもあります)
FreeRADIUS 3
ウォリックス要塞8
linotp.orgリポジトリを追加します。
1.LinOTPのインストール
linotp.orgリポジトリを追加します。
echo 'deb http://www.linotp.org/apt/debian buster linotp linotp-deps' > /etc/apt/sources.list.d/linotp.list
パッケージを確認するには、パッケージ署名キーをインポートします。
apt-get install dirmngr
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 913DFF12F86258E5
データベース(サポートされているデータベース)をインストールします。
apt-get update
apt-get install mariadb-server
mysql_secure_installation
最後に、LinOTPをインストールします。
apt-get install linotp
2. ActiveDirectoryとの統合
リンクをたどると、LinOTP Web管理者にアクセスできます:https:// <linotp_ip> / manage
LinotpConfig- > UserIdResolversに移動し、LDAPタイプを選択して新しいUserIdResolverを作成します。
次に、レルムを追加する必要があります。レルムに名前を付け、作成したLDAPリゾルバーを指定します。
UserIdResolver- «», LinOTP. Realm-e UserIdResolver- (multitenancy, ).
User View.
3. LinOTP FreeRADIUS
FreeRADIUS :
apt-get install linotp-adminclient-cli python-ldap freeradius python-passlib python-bcrypt git libio-all-lwp-perl libconfig-file-perl libtry-tiny-perl
freeradius:
ln -s /etc/freeradius/3.0/sites-available /etc/freeradius/sites-available
ln -s /etc/freeradius/3.0/sites-enabled /etc/freeradius/sites-enabled
ln -s /etc/freeradius/3.0/clients.conf /etc/freeradius/clients.conf
ln -s /etc/freeradius/3.0/users /etc/freeradius/users
linotp-auth-freeradius-perl:
git clone https://github.com/LinOTP/linotp-auth-freeradius-perl.git
cd linotp-auth-freeradius-perl/
cp radius_linotp.pm /usr/share/linotp/radius_linotp.pm
:
nano /etc/freeradius/sites-enabled/linotp
server linotp {
listen {
ipaddr = *
port = 1812
type = auth
}
listen {
ipaddr = *
port = 1813
type = acct
}
authorize {
preprocess
update {
&control:Auth-Type := Perl
}
}
authenticate {
Auth-Type Perl {
perl
}
}
accounting {
unix
}
}
sites-enabled linotp:
ls /etc/freeradius/sites-enabled
linotp
RADIUS-. Wallix Bastion:
nano /etc/freeradius/clients.conf
client Wallix { ipaddr = 192.168.10.10 secret = your_secret }
perl :
nano /etc/freeradius/users
DEFAULT Auth-type := perl
nano /etc/freeradius/3.0/mods-available/perl
perl { filename = /usr/share/linotp/radius_linotp.pm func_authenticate = authenticate func_authorize = authorize }
mods-enabled 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
, Radius:
nano /etc/linotp2/rlm_perl.ini
URL=https://<Linotp_ip>/validate/simplecheck REALM=realm1 RESCONF=resolver1 Debug=True SSL_CHECK=False
4.
. LinOTP selfservice , .
LinOTPConfig > policies . TOTP, Google Authenticator, :
URL : https://<LINOTP_ip> https://<LINOTP_ip> /selfservice/login
5. Wallix Bastion
Wallix Bastion , -, .
Configuration> External authentication - RADIUS. Secret , freeRADIUS.
LDAP/AD domains ( , ) , LinOTP. Secondary authentication linotp . :
Wallix Bastion , LinOTP.
6. Troubleshoot.
何かが機能しない場合は、エラーを探すことができます。
RADIUSログ:
/var/log/freeradius/radius.log
LinOTPログ:
/var/log/linotp/linotp.log
トークンは次のように確認できます。
https://<yourlinotpserver>/validate/check?user=<login>&pass=<OTPvalue>
出力の代わりに
この記事では、2番目の認証要素であるLinOTPのローカルプラットフォームを構成し、FreeRADIUSをコネクタとしてWallixBastionソリューションにねじ込みました。
私の記事は英語です。-中
お時間をいただきありがとうございました。情報がお役に立てば幸いです。