웹사이트 검색

Ubuntu 및 CentOS에서 pam-radius를 사용하여 2단계 인증을 위해 sudo를 구성하는 방법


이 페이지에서

  1. 2단계 인증을 위해 Centos/RHEL에서 sudo 구성\n
  2. 2단계 인증을 위해 Ubuntu에서 sudo를 구성합니다.\n

공격자는 분실, 도난, 취약 또는 기본 자격 증명을 자주 사용하여 네트워크에 침투한 후 자신의 권한을 높입니다. 2단계 인증은 침입을 크게 줄일 수 있지만 맬웨어와 같은 다른 진입 수단이 있습니다. 이 튜토리얼은 WiKID 강력한 인증 서버를 사용한 이중 인증을 위해 Centos 7 및 Ubuntu 14.04용 sudo에 반경을 추가하는 방법을 보여줍니다. 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

최신 PAM RADIUS 코드를 가져옵니다(이 글을 쓰는 시점에서 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/

구성 디렉터리를 만들고 이름 서버 아래에 구성 파일을 복사합니다.

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.

(결국 루프에서 반경을 원하지만 WiKID 서버를 반경 서버로 사용하고 이 Centos 상자를 WiKID의 네트워크 클라이언트로 추가하고 WiKID를 다시 시작하고 완료하거나 최소한 이 방법으로 테스트할 수 있습니다. 그 과정에서 몇 가지 작은 테스트를 수행하는 것이 항상 좋은 생각입니다. 테스트를 제거했는지 확인하십시오.)

다음으로 sudo에 반경을 사용하도록 지시해야 합니다. /etc/pam.d/sudo 파일을 편집하고 "auth include system-auth"를 다음으로 바꿉니다.

auth       required      pam_radius_auth.so

이것이 Centos/RHEL 7 상자의 경우입니다. 5와 6에서도 동일한 설정이 작동합니다.

2단계 인증을 위해 Ubuntu에서 sudo 구성

다음은 Ubuntu 14.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 줄 위에 auth enough pam_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

우분투 서버용입니다.

이제 관리자가 sudo를 사용하려고 할 때마다 일회용 암호를 입력해야 합니다. PAM은 유효성 검사를 위해 사용자 이름과 OTP를 Radius 서버 또는 WiKID 서버로 전달합니다.

관리 계정에 2단계 인증을 사용하는 것은 네트워크 보안을 위한 강력한 도구입니다. PCI DSS 요구 사항의 일부가 될 수도 있습니다.