안녕하세요.
이번 시간에는 제가 오늘 겪었던 서버에 오류가 발생했을 때 서버 접근 제어 콘솔이 비활성화되어 있는 상황에서 엔지니어로서 어떻게 대처했는지 적어보고자 합니다.
1. 개요
가상의 한 서비스 회사는 서비스 오픈 준비를 앞두고 Infra, OS, Application 영역에서 보안 취약점을 조치하고 있습니다. 그중에서 OS 보안 취약점 조치 중 서버에 SSH로 접근할 수 없는 Faillock 상태에 걸리게 됩니다.
현재 운영 중인 서버의 OS는 Rocky Linux이고 버전은 8.8을 사용하고 있습니다. 보안 진단쪽에서 조치 방법으로 다음과 같이 안내되었는데 여기서 문제가 크게 발생합니다.
# vi /etc/pam.d/sshd
auth required pam_tally2.so onerr=fail deny=9 magic_root reset unlock_time=1800
account required pam_tally2.so onerr=fail magic_root
# vi /etc/pam.d/system-auth-ac
auth required pam_tally2.so magic_root deny=9 reset unlock_time=1800
account required pam_tally2.so magic_root
여기서 발생한 문제는 Rocky Linux 8 버전대에서 해당 보안 조치 사항은 문제가 발생하게 됩니다.
Module is Unknown
다음과 같이 일반적인 접근 시 Module is Unknown 및 접속이 되지 않는 상황이 발생합니다.
Enterprise Linux 8 보안취약점 점검 변경 부분 정리
관련 내용은 위 prolinux님의 포스팅에서 자세하게 다루고 있습니다.
2. 서버 복구 작업
서버 작업 간에는 작업 전 항상 서버 이미지를 남기는 것도 굉장히 중요하지만 이 상태에서 서버 이미지로 복구하는 것은 상당한 시간이 소요됩니다.
1. NCLOUD에서는 서버 접속 콘솔 기능을 지원
https://guide.ncloud-docs.com/docs/server-ts-repair-vpc
다음과 같이 NCLOUD에서는 서버 복구에 대한 자세한 가이드를 제공하고 있습니다. 하지만 현재 네이버 클라우드 콘솔 오류로 인해서 서버 접속 콘솔이 비활성화되는 문제가 생겼습니다.
아마 서버에 접속할 수 없을 만큼의 서버 오류가 발생했어야 했는데 콘솔에서는 위 설정 문제를 오류로 인식하지 않아서 그런 것으로 보입니다.
부팅 중인 상황에서 서버 접근 콘솔 및 다른 기능들이 모두 비활성화 되어 있는 것을 확인할 수 있습니다.
2. 케이스 오픈
NCLOUD 문의하기를 통해 서버를 복구해야 하는 상황에 대해 설명한 후 서버 접속 콘솔이 활성화될 수 있게 끔 지원을 기다립니다.
사실 이 단계에서 우리가 할 수 있는 방법은 서버 이미지 복구 등의 방법 말고는 이미 없습니다. 서버 이미지로 복구하는 것보다 기술 지원을 기다리는 게 빠를 수 있습니다.
NCLOUD 답변으로는 원론적인 답변이 올 가능성이 있어 문의하기로 해결이 되지 않는다면 1544-5876에 전화하여 직접 지원을 요청하는 방법이 있습니다.
3. 고객센터 전화 연결
저는 이 방법으로 빠르게 기술 지원을 받을 수 있었습니다. 고객센터에 직접 기술 지원을 요청하면 담당 엔지니어 분들이 정말 빠르게 해당 케이스에 대해 알아봐 주고 조치할 수 있도록 도움을 주십니다.
(이 부분은 어떤 CSP와 비교해도 가장 빠르다고 생각합니다.)
다음 상태에서 엔지니어 분께서 부팅중인 서버 상태를 부팅 실패로 강제로 다운시킬 수 있는데 이때 [서버 접속 콘솔]이 활성화 됩니다.
4. 서버 복구 방법
다음과 같이 커널 버전 선택 화면에서 반드시 부팅 커널에 맞는 것에 포커스를 맞춘 후 e를 입력합니다.
다음과 같이 ro를 rw init=/sysroot/bin/bash로 변경한 후 Ctrl + x를 눌러서 싱글 모드로 진입합니다.
다음과 같이 싱글 모드로 진입했다면 잘못된 설정을 원상 복구한 후 서버를 강제로 중지한 후 시작합니다.
서버가 재기동된 후 다시 로그인을 하면 다음과 같이 접속이 정상적으로 되는 모습을 확인할 수 있습니다. (보고 싶었어...)
3. 교훈
1. 서버 작업 시에는 반드시 서버 이미지를 생성할 것
2. 서버 작업 시에는 OS 영향도를 반드시 파악할 것
3. 서버 설정 변경 시 반드시 개발계부터 테스트를 완료한 후에 QA, 운영계로 넘어갈 것
4. 유관 부서와 일할 때는 반드시 해당 설정 변경에 대해 확답을 받아둘 것
5. 일부 콘솔 상 기능은 NCLOUD에서 지원 가능하니 오류 발생 시 기술 지원을 받을 수 있도록 준비할 것
보안 진단이라는 것이 버전에 맞춰서 항상 최신 상태를 유지할 수 없기 때문에 중요한 것은 무조건 본인이 검토해봐야 한다는 것입니다. 특히 회사에서는 대부분 온프레미스 환경을 기준으로 보안 취약점 조치 가이드를 작성하기 때문에 반드시 이 부분은 본인이 확인해 볼 것을 강력하게 추천드립니다.
이번 시간에는 OS pam 설정 오류로 인해서 서버에 오류가 발생하여 접속할 수 없을 때 NCLOUD에서 서버 접속 콘솔에 싱글 모드로 접속하여 복구하는 방법에 대해 알아봤습니다.
아마 NCLOUD를 사용하는 많은 분들도 싱글 모드로 복구해 본 경험은 있어도 이렇게 기술 지원을 받아 해결하는 방법은 아직 생소하실 것이라고 생각합니다. 비슷한 케이스가 있을 때 이렇게 복구할 수 있다는 가이드를 전달드리고 싶었습니다.
감사합니다.
'Cloud > Naver Cloud' 카테고리의 다른 글
[NCLOUD] Rocky Linux 8.10에서 Docker 설치하는 방법 알아보기 (0) | 2024.12.04 |
---|---|
[NCLOUD] 하이브리드 클라우드 환경에서 통신 테스트하는 방법 알아보기 (0) | 2024.10.31 |
[NCLOUD] Cloud Functions과 Slack을 이용한 나만의 비용 관리 봇 생성하기 (0) | 2024.09.30 |
[NCLOUD] 리전 간 지리적 레이턴시 문제를 해결하기 위한 아이디어 (2) | 2024.09.30 |
[NCLOUD] Private Subnet에 특정 IP만 접근 제어할 수 있는 방법 알아보기 (0) | 2024.09.28 |
클라우드, 개발, 자격증, 취업 정보 등 IT 정보 공간
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!