운영체제 이야기/Linux(CentOS)

[CentOS7] Google OTP 적용하기 !!!!

한희성 2021. 12. 30. 23:29
반응형

금감원 규정에 따른 서버 접근에 대한 2차 인증을 적용 해야한다.

사용중인 접근제어 솔루션에 기능이 있으나 이를 사용하게 되면 클라이언트당 7만원 추가 요금이란다 ;;;;;

 

정보를 찾다가 구글 OTP를 적용하기로 했다.. (물론 무료 이고 가이드가 잘 되어 있길래.. ㅎㅎ)

 

설치 환경

OS : CentOS 7.9 (3.10.0-1160.49.1.el7.x86_64)

 

1. 구글 OTP 인증 패키지 리파지토리를 설치한다.

yum install epel-release -y

 

2. 구글 google-authenticaot 설치

     * 설치 과정에서 나오는 질문은 모두 Y

yum install google-authenticator

 

3. 패키지 설치완료 후 SSH인증을 위한 PAM 모듈 설정

cp /etc/pam.d/sshd /etc/pam.d/sshd.ori
vi /etc/pam.d/sshd

# 4번째 라인 아래
# Google Authenticator (Google OTP)
auth       required    pam_google_authenticator.so nullok

     * 참고 사항 : 리눅스 내 모든 사용자 각각의 비밀키 생성, 구글 otp 키가 없으면 일반 패드워드 인증!!

                       OTP가 있다면 2차 인증 진행

 

4. PAM 설정 완료 후 ssh config 수정

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
vi /etc/ssh/sshd_config

# 하단 설정 정보 참고
# PermitEmptyPasswords no             64라인 주석 해제 /비어있는 사용자 암호 허용여부
# PasswordAuthentication no           65라인 no 변경 / 패스워드 인증 사용 여부, OTP 인증시 사용 X
# ChallengeResponseAuthentication yes 69라인 yes  변경 / 2차 인증을 위해 필요, 시도-응답 인증 방식 사용여부
# UsePAM yes                          96라인 확인 / 인증 PAM 모둘 사용여부

systemctl restart sshd

 

5. google authenticator 설정 하고자 하는 계정으로 접속

su testuser
google-authenticator

 

6. 인증 토큰을 시간 기반으로 할지 여부 y 입력 후 QR 스캔!!

7. 비밀키 백업코드 저장 위치 확인 y

 

8. Man-in-middle-attack(중간자 공격) 옵션 y

9. 시간 오차 또는 왜곡 방지 옵션 y

     30초마다 새로운 토큰 생성, 클라이언트와 서버 간의 시간차를 보장하기 위해 현재을 기준으로 전, 후 생성되는

     토근까지 허용, 허용되는 코드는 3개, 이전, 지금, 다음, 최대 4분의 시간차를 허용

10. 무차별 대입공격 방지 옵션 y

 

11. OTP 분실시 root 계정으로 로그인하여 5번 항목부터 다시 진행

반응형