학습 목표
SSH 접근 정책과 SELinux 상태를 함께 확인해 운영 서버의 최소 보안 기준선을 설정하는 방법을 학습합니다.
보안 설정은 하나의 옵션만 바꿔서 끝나는 일이 아니라, 접근 경로와 실행 권한 경계를 함께 보는 작업입니다.
왜 SSH와 SELinux를 같이 봐야 하나
SSH는 서버에 들어오는 입구입니다.
SELinux는 서버 안에서 프로세스가 할 수 있는 일을 제한하는 보안 계층입니다.
입구만 막고 내부 권한 경계를 보지 않거나, 내부 정책만 보고 원격 접속 정책을 방치하면 보안 기준선이 불완전합니다.
1) SSH 핵심 설정 확인
grep -E "^(PermitRootLogin|PasswordAuthentication|PubkeyAuthentication)" /etc/ssh/sshd_config PermitRootLogin
root 계정으로 직접 SSH 로그인할 수 있는지 결정합니다.
운영 서버에서는 보통 root 직접 로그인을 제한하고, 일반 계정으로 접속한 뒤 필요한 경우 권한 상승을 사용합니다.
PasswordAuthentication
비밀번호 인증 허용 여부를 결정합니다.
공개키 기반 인증을 사용하는 환경에서는 비밀번호 인증을 제한해 무차별 대입 위험을 줄입니다.
PubkeyAuthentication
공개키 인증 허용 여부를 결정합니다.
운영 자동화나 관리자 접속 표준에서는 공개키 인증을 자주 사용합니다.
2) SELinux 상태 확인
getenforce
sestatus getenforce
현재 SELinux 모드를 한 단어로 보여줍니다.
Enforcing이면 정책을 실제로 강제하고, Permissive이면 위반을 기록만 하며, Disabled이면 SELinux가 꺼져 있습니다.
sestatus
SELinux의 전체 상태와 정책 정보를 보여줍니다.
운영 점검에서는 getenforce로 빠르게 보고, 상세 보고서에는 sestatus 결과를 남깁니다.
3) SSH 설정 변경 전 검증
sshd -t
systemctl restart sshd
systemctl status sshd --no-pager sshd -t
SSH 설정 파일 문법을 검사합니다.
이 검사를 생략하고 재시작하면 설정 오류 때문에 SSH 접속이 끊길 수 있습니다.
systemctl restart sshd
문법 검사가 성공한 뒤 SSH 서비스를 재시작합니다.
원격 서버에서는 가능하면 기존 접속 세션을 유지한 상태에서 새 접속 테스트를 먼저 해야 합니다.
systemctl status sshd
재시작 후 서비스가 정상인지 확인합니다.
active (running) 상태와 오류 로그를 함께 확인합니다.
신규직원 실습 절차
SSH 인증 정책을 확인합니다.
SELinux 상태를 확인합니다.
설정 변경 전 문법 검사를 수행합니다.
재시작 후 새 접속 테스트와 서비스 상태 확인을 진행합니다.
연계실습
연계실습 텍스트: SSH 키·공유 로그 권한 복구 (sshd 가 요구하는 키 파일 권한·소유권을 바로잡는 실습)
실습 바로 시작: 문제 221 실습 시작하기 →
연계 실습
이 글에서 다룬 내용을 직접 명령어로 쳐 보면 훨씬 오래 남습니다.
- RHCSA 보안 설정 실습 문제 →
- 리눅스마스터 실기 SSH 문제 풀이 →

아직 댓글이 없습니다. 궁금한 점이나 풀이 경험을 남겨 보세요.