GNU/Linux >> Linux の 問題 >  >> Ubuntu

UbuntuとCentOSでpam-radiusを使用して2要素認証用にsudoを構成する方法

攻撃者は、ネットワークに侵入した後、紛失、盗難、脆弱、またはデフォルトの資格情報を使用して特権をエスカレートすることがよくあります。二要素認証は侵入を大幅に減らすことができますが、マルウェアなどの侵入を取得する他の手段があります。このチュートリアルでは、WiKID強力認証サーバーを使用した2要素認証のためにCentos7およびUbuntu14.04のsudoにradiusを追加する方法を示します。 pam-radiusを使用すると、Windows上のFreeradiusやNPSなどのRADIUSサーバーを挿入できるため、ディレクトリで認証を実行してから、別の2要素認証サーバーに対して認証を行うことができます。中央ディレクトリでユーザーを管理することは、非常に優れたセキュリティ対策です。 RADIUSを使用しているため、この基本的なセットアップはすべてのエンタープライズクラスの2FAシステムで機能することに注意してください。

2要素認証用にCentos/RHELでsudoを構成します

RHEL / Centos 7から開始します。前提条件をインストールします:

sudo yum -y install make gcc pam pam-devel

最新のPAMRADIUSコード(この記事の執筆時点では1.4)を入手してください:

wget ftp://ftp.freeradius.org/pub/radius/pam_radius-x.x.x.tar.gz

ライブラリを構築する:

tar -xzvf pam-radius-x.x.x.tar.gz
cd pam-radius-x.x.x
sudo ./configure
sudo make

ライブラリを適切な場所にコピーします:

cp pam_radius_auth.so /lib/security/

または64ビットの場合:

cp pam_radius_auth.so /lib64/security/

構成ディレクトリを作成し、「server」という名前で構成ファイルをコピーします。

sudo mkdir /etc/raddb
cp pam_radius_auth.conf /etc/raddb/server

/ etc / raddb / serverを編集し、RADIUSサーバーのIPと共有シークレットをこのファイルに追加します。

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP    secret       3
#
# having localhost in your radius configuration is a Good Thing.

(最終的にはRADIUSをループに含める必要がありますが、WiKIDサーバーをRADIUSサーバーとして使用し、このCentosボックスをWiKIDのネットワーククライアントとして追加し、WiKIDを再起動して完了するか、少なくともこの方法でテストできます。途中でいくつかの小さなテストを実行することは常に良い考えです。必ずそれらを削除してください。)

次に、sudoにradiusを使用するように指示する必要があります。ファイル/etc/pam.d/sudoを編集し、「authincludesystem-auth」を次のように置き換えます。

auth       required      pam_radius_auth.so

Centos /RHEL7ボックスについては以上です。 5と6でも同じセットアップが機能します。

2要素認証用にUbuntuでsudoを構成します

次はUbuntu14.04サーバーです。まず、pam-radiusをインストールします:

sudo apt-get install libpam-radius-auth

/etc/pam_radius_auth.confを編集して、NPSサーバーでも構成します。上記と同じように:

# server[:port] shared_secret      timeout (s)
127.0.0.1       secret             1
radius_server_IP    secret       3
#
# having localhost in your radius configuration is a Good Thing.

/etc/pam.d/sudoファイルを編集し、comm-auth行の上に「authaucentpam_radius_auth.so」という行を追加します。

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
auth sufficient pam_radius_auth.so
@include common-auth
@include common-account
@include common-session-noninteractive

これはUbuntuサーバー用です。

これで、管理者がsudoを使用しようとするときはいつでも、ワンタイムパスコードを入力する必要があります。 PAMは、検証のためにユーザー名とOTPをRADIUSサーバーまたはWiKIDサーバーに転送します。

管理者アカウントに2要素認証を使用することは、ネットワークを保護するための強力なツールです。 PCIDSS要件の一部になることもあります。


Ubuntu
  1. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

  2. UbuntuにRedisサーバーをインストールして構成する方法

  3. Ansibleを使用してUbuntu20.04にRedis6をインストールおよび構成する方法

  1. CentOS8にNginxをインストールして構成する方法

  2. Ubuntu20.04にNginxをインストールして構成する方法

  3. UbuntuとLinuxMintにSVNサーバーをインストールして構成する方法

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu20.04にVNCをインストールして構成する方法

  3. Ubuntu18.04にGitLabをインストールして構成する方法