Linux/Unix 시스템의 대화형 모드(Interactive mode) 쉘은 명령어를 tty의 사용자 입력으로부터 읽어 들인다.
이 대화형 모드 쉘은 그 중에서도 특히나 기본적으로, 활성화시 시작 파일(Startup)을 읽어 들이고, 프롬프트를 표시해 주고, 작업 제어를 해준다.
사용자는 쉘과 대화를 할 수 있게 되는 기능을 Linux/Unix 시스템의 대화형 모드(Interactive mode)라고 한다.
2단계 인증(2FA, Two Factor Authentication)은 Linux/Unix 시스템에서 사용할 수 있는 추가 보안 계층으로 대화형 모드(Interactive mode)에서 적용된다.
일반 사용자 이름과 비밀번호를 입력하는 것 외에도 SSH를 통해 서버에 연결하는 사용자는 OTP 생성 앱에서 생성한 토큰(OTP, One-Time Password, 일회용 비밀번호)을 입력해야 한다.
Linux/Unix 시스템은 두 가지 요소를 결합하여 사용자를 인증하면 사용자의 비밀번호가 유출된 경우에도 승인된 사용자의 실제 신원을 확인할 수 있다.
2FA 인증을 활성화하는 가장 좋은 방법은 휴대폰에서 사용할 수 있는 OTP 생성 앱을 이용하는 것이다.
이 앱을 사용하면 신원을 증명하기 위해 사용자 이름 및 비밀번호와 함께 Linux/Unix 시스템에 입력해야 하는 코드를 받을 수 있다.
이러한 기능은 Linux/Unix 시스템은 대화형 모드를 기본적으로 지원하기 때문에 가능하다.
2FA를 설정하고 이를 사용하여 악의적인 해커로부터 Linux/Unix 시스템을 보호하는 보안을 강화하는 좋은 방법이다.
[SSH를 사용하는 경우]
1. "/etc/ssh/sshd_config" 파일의 내용 중 다음과 같은 인자는 변경
PasswordAuthentication yes -> no ChallengeResponseAuthentication or KbdInteractiveAuthentication no -> yes UsePAM no -> yes |
2. 2FA 설정(BaroPAM 솔루션 적용)
1) 추가 인증(로그인-ID, 비밀번호 이외의 추가 인증으로 일회용 인증키 적용)
$ vi /etc/pam.d/sshd #%PAM-1.0 auth required /usr/baropam/pam_baro_auth.so nullok secret=/usr/baropam/.baro_auth encrypt=no |
* "nullok"는 호출된 PAM(Pluggable Authentication Module, 플러그인 가능한 인증 모듈)이 null 값의 암호를 입력하는 것을 허용한다는 의미다.
"nullok"를 이용하여 다음과 같은 입력창이 나타난다.
login as: Keyboard-interactive authentication prompts from server: | Verification code: | Password: End of keyboard-interactive prompts from server Last login: Sun Apr 7 16:00:50 2024 from 222.108.57.244 |
2) 새로운 비밀번호(로그인-ID, (비밀번호 + 일회용 인증키) 적용)
filezilla처럼 "Interactive process"가 불가능한 프로그램들을 위해서는 PAM에서 "forward_pass" 옵션을 사용하여 암호 입력 시에 BaroPAM의 일회용 인증키를 입력하도록 하는 수 밖에 없다.
이 경우, openssh client나 Windows의 RDP(Remote Desktop Protocol), RADIUS, filezilla 등 모두 이렇게 입력을 하는 수 밖에 없다.
$ vi /etc/pam.d/sshd #%PAM-1.0 auth required /usr/baropam/pam_baro_auth.so forward_pass secret=/usr/baropam/.baro_auth encrypt=no |
* "forward_pass"를 이용하여 암호 입력창(Password & verification code:)에 BaroPAM의 일회용 인증키를 입력하면 된다.
login as: Keyboard-interactive authentication prompts from server: | Password & verification code: End of keyboard-interactive prompts from server Last login: Sun Apr 7 15:41:25 2024 from 222.108.57.244 |
예를 들어,비밀번호가 "baropam"이고, BaroPAM의 일회용 인증키가 "123456" 이라면 "baropam123456"만 입력하면 된다.
국내 보안 솔루션이 적용된 Linux/Unix 시스템에서 기본적으로 제공되는 대화형 모드(Interactive mode) 기능을 지원하지 않아서 2FA(2-Factor Auentication)를 설정해도 정상적으로 작동되지 않아서 Linux/Unix 시스템에 로그인 할 수 없는 현상이 발생하고 있다.
"아무 것도 하지 않으면 중간은 간다"는 건 오래된 말이고, 클라우드 시대에는 통하지 않는 말이다. 새로운 시대에는 새로운 보호 장치가 어울린다. 시스템과 인프라는 자꾸만 새 것으로 바뀌는데 왜 예전 것들을 부여잡고 있는지 각자가 스스로를 검토해야 할 때다.
결론은 "2차 인증을 도입했다"는 것이 아니라 기술 및 보안성 등 "어떤 2차 인증을 도입했느냐"가 관건이다.
"아무 것도 신뢰하지 않는다" = "아무도 믿지 마라" = "계속 검증하라"
앞으로 정보 보안의 흐름은 보안은 강화하고 사용자의 불편함을 최소화하는 방향으로, 기억할 필요가 없는 비밀번호! BaroPAM이 함께 하겠습니다.
'▶ BaroSolution > 기술문서' 카테고리의 다른 글
오픈 소스로 셀프 호스팅이 가능한 온라인 채팅 서비스인 Mattermost의 보안을 강화하기 위한 방안 (0) | 2024.04.20 |
---|---|
서버 보안 강화를 위하여 RADIUS 연동한 2차인증 방안 (0) | 2024.04.14 |
2차 인증: 기업의 ERP 시스템을 해커로부터 지키는 방법 (0) | 2024.04.02 |
새로운 정보보호 패러다임(제로 트러스트 보안)의 보안 강화를 위해서는 가장 중요한 기본 사항 (0) | 2024.03.23 |
관리 콘솔 접근 시 보안 강화를 위한 2차 인증(추가 인증) 적용 (0) | 2024.03.12 |