주식회사 누리아이티

정보자산의 보안강화를 위한 3단계 인증 보안SW(BaroPAM) 전문기업인 누리아이티

▶ BaroSolution/가이드

PAM RADIUS 클라이언트 설치 및 구성 가이드(Linux)

누리아이티 2024. 2. 6. 11:36

일반적으로 RADIUS 인증은 라우터, L3스위치, L4스위치 등 네트워크 장비의 관리자 계정 또는 무선 네트워크 접속 시 사용자 인증을 위해 사용하는 경우가 많지만 리눅스 서버의 사용자 접속 시 인증을 위해서도 사용할 수 있다. 이는 리눅스나 유닉스가 PAM (Pluggable Authentication Module)이라는 방식을 지원하기 때문에 가능하다.

 

이 가이드를 사용하여 SSH 클라이언트에 대한 다중 인증(MFA) Linux 또는 Unix에 허용하도록 BaroPAM 플랫폼 어플라이언스를 RADIUS 서버로 구성한다.

 

BaroPAM 플랫폼 어플라이언스 RADIUS 서버는 모든 RADIUS 클라이언트의 요청을 인증하여 가상 사설망(VPN), Linux 또는 Unix 서버 또는 모든 호환 RADIUS 클라이언트에 대한 강력하고 안전한 인증을 가능하게 한다.

 

 

다음은 Linux 또는 Unix 플랫폼(RedHat/CentOS, Ubuntu AIX)에 적용된다.

 

1. RedHat 계열

 

BaroPAM 플랫폼 어플라이언스에서 PAM RADIUS를 설치하고 구성하기 위해 vim vi를 서로 바꿔 사용할 수 있다.

 

1) PAM RADIUS 클라이언트 모듈을 컴파일하는 데 필요한 패키지를 설치

 

$ sudo yum install gcc pam pam-devel make -y

 

2) PAM RADIUS 클라이언트 소스 다운로드 및 컴파일

 

$ sudo wget https://github.com/FreeRADIUS/pam_radius/archive/release_2_0_0.tar.gz
$ sudo tar xvzf release_2_0_0.tar.gz
$ cd pam_radius-release_2_0_0
$ sudo ./configure
$ sudo make

 

3) 컴파일하여 생성한 PAM RADIUS 클라이언트 모듈 복사

 

$ cp pam_radius_auth.so /lib64/security/

 

4) PAM RADIUS 환경설정 파일 복사

 

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

 

5) PAM RADIUS 서버 인증정보 설정

 

형식) /etc/raddb/server 환경설정 파일

# 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_server_IP: RADIUS 서버 IP 주소 또는 호스트명

shared_secret: RADIUS 서버에 설정한 암호 또는 공유암호

timeout (s): RADIUS 서버 간 통신에 소요되는 시간()

 

) RADIUS 서버에 설정한 Client 접속 정보

$ cat /etc/raddb/clients.conf
 
client 1.12.123.1 {
ipaddr = 1.12.123.1
ipv4addr = *    # any. 10.21.2.205 == localhost
secret = baropam
require_message_authenticator = no
nas_type = other
}

 

이와 같이 RADIUS 서버의 IP 주소(10.21.2.205)가 클라이언트 또는 VPN 솔루션인 ipaddr, ipv4addr secret를 설정한 경우 다음과 같이 설정한다.

 

$ vi /etc/raddb/server
# server[:port] shared_secret      timeout (s)
#127.0.0.1      secret             1
1.12.123.1      baropam            30
#
# having localhost in your radius configuration is a Good Thing.

 

6) PAM 인증 설정

 

다음과 같이 sshd, su, sudo 파일 등의 최 상단에 입력해 준다.

 

$ vi /etc/pam.d/sshd
#%PAM-1.0
auth       required     pam_radius_auth.so

 

7) sshd 데몬의 환경 설정

 

sshd 데몬 설정을 위한 설정 파일인 "/etc/ssh/sshd_config" 파일의 내용 중 다음과 같은 인자는 변경이 필요하다.

 

인자 기존 변경 비고
ChallengeResponseAuthentication
or
KbdInteractiveAuthentication
no yes  
UsePAM no yes  

 

8) sshd 데몬 재기동

 

sshd 설정이 끝나면 반드시 PAM 모듈이 제대로 추가되었는지 확인한 후 SSH Server Restart 작업이 반드시 필요하다.

 

$ service sshd restart or systemctl restart sshd
sshd 를 정지 중: [  OK  ]
sshd ()를 시작 중: [  OK  ]

 

 

2. Ubuntu 계열

 

BaroPAM 플랫폼 어플라이언스에서 PAM RADIUS를 설치하고 구성하기 위해 vim vi를 서로 바꿔 사용할 수 있다.

 

1) PAM RADIUS 클라이언트 모듈 설치

 

$ sudo apt-get install libpam-radius-auth

 

2) PAM RADIUS 서버 인증정보 설정

 

형식) /etc/pam_radius_auth.conf 환경설정 파일

# 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_server_IP: RADIUS 서버 IP 주소 또는 호스트명

shared_secret: RADIUS 서버에 설정한 암호 또는 공유암호

timeout (s): RADIUS 서버 간 통신에 소요되는 시간()

 

) RADIUS 서버에 설정한 Client 접속 정보

$ cat /etc/raddb/clients.conf
 
client 1.12.123.1 {
ipaddr = 1.12.123.1
ipv4addr = *    # any. 10.21.2.205 == localhost
secret = baropam
require_message_authenticator = no
nas_type = other
}

 

의와 같이 RADIUS 서버의 IP 주소(10.21.2.205)가 클라이언트 또는 VPN 솔루션인 ipaddr, ipv4addr secret를 설정한 경우 다음과 같이 설정한다.

 

$ vi /etc/pam_radius_auth.conf
# server[:port] shared_secret      timeout (s)
#127.0.0.1      secret             1
1.12.123.1      baropam            30
#
# having localhost in your radius configuration is a Good Thing.

 

3) PAM 인증 설정

 

다음과 같이 sshd, su, sudo 파일의 최 상단에 입력해 준다.

 

$ vi /etc/pam.d/sshd
#%PAM-1.0
auth       required     pam_radius_auth.so

 

4) sshd 데몬의 환경 설정

 

sshd 데몬 설정을 위한 설정 파일인 "/etc/ssh/sshd_config" 파일의 내용 중 다음과 같은 인자는 변경이 필요하다.

 

인자 기존 변경 비고
ChallengeResponseAuthentication
or
KbdInteractiveAuthentication
no yes  
UsePAM no yes  

 

5) sshd 데몬 재기동

 

sshd 설정이 끝나면 반드시 PAM 모듈이 제대로 추가되었는지 확인한 후 SSH Server Restart 작업이 반드시 필요하다.

 

$ service sshd restart or systemctl restart sshd
sshd 를 정지 중: [  OK  ]
sshd ()를 시작 중: [  OK  ]