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

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

한희성 2021. 12. 30.
반응형

금감원 규정에 따른 서버 접근에 대한 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번 항목부터 다시 진행

반응형

댓글

💲 추천 글