SSH 강화와 감사 모범 사례
sshd_config 강화, 키 교체 관행, 감사 기록을 적용해 SSH 배포 환경의 보안을 강화합니다.
SSH 강화와 감사 모범 사례은(는) CoddyKit의 무료 Cryptology Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Cryptology Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
비밀번호 인증 비활성화
SSH 보안을 강화하는 가장 효과적인 단일 단계는 /etc/ssh/sshd_config에서 PasswordAuthentication no로 설정하는 것입니다. 이렇게 하면 모든 사용자가 공개 키로 인증해야 하므로 취약하거나 재사용된 비밀번호와 무차별 대입 공격으로 인한 위험이 제거됩니다. 비밀번호 인증을 비활성화하기 전에 승인된 키가 하나 이상 설치되어 있는지 확인하여 스스로 접속을 차단하는 일이 없도록 하십시오.
허용된 사용자 및 그룹 제한
AllowUsers 및 AllowGroups 지시문은 지정된 사용자 또는 그룹 구성원으로 SSH 접근을 제한합니다. 예를 들어 AllowGroups sshusers는 sshusers 그룹의 구성원만 허용합니다. 이는 심층 방어를 제공합니다. 공격자가 사용자 이름을 알고 자격 증명을 얻더라도 계정이 명시적으로 허용되지 않으면 SSH 접근이 거부됩니다.
기본 포트 변경
SSH 포트를 22에서 높은 번호의 포트로 변경하는 것은 보안이 아니라 은닉에 해당합니다. 그러나 포트 22를 대상으로 하는 자동화된 스캐너로 인해 로그에 기록되는 잡음이 크게 줄어듭니다. 따라서 실제 위협을 더 쉽게 분석할 수 있습니다. 방화벽 규칙을 항상 기본 접근 제어 수단으로 유지하십시오. 포트 은닉은 보조 수단일 뿐입니다.
루트 로그인 비활성화
PermitRootLogin no로 설정하면 SSH를 통한 직접적인 루트 인증이 차단됩니다. 루트를 대상으로 하는 공격자는 항상 유효한 사용자 이름을 알고 있으며, 성공할 경우 제한 없는 권한을 얻습니다. 권장 설정은 PermitRootLogin prohibit-password입니다. 이 설정은 공개 키 인증을 통한 루트 로그인만 허용하므로 비밀번호 기반 루트 무차별 대입 공격을 차단하면서 긴급 접근은 유지합니다.
인증 시도 제한
MaxAuthTries 3은 연결당 인증 시도 횟수를 3회로 제한합니다. 세 번 실패하면 서버가 연결을 종료합니다. 이를 통해 무차별 대입 시도를 늦출 수 있습니다. 반복된 실패 후 IP를 일시적으로 차단하는 fail2ban 또는 SSHGuard의 지수 백오프와 결합하면 무차별 대입 공격은 계산상 실행이 불가능해집니다.
로그인 시간 제어
LoginGraceTime은 성공적인 인증을 기다린 후 서버가 연결을 끊기까지의 시간을 지정합니다. 기본값은 120초이며, 이를 20초로 줄이면 느린 무차별 대입 시도를 방지하고 인증되지 않은 연결이 자원을 점유하는 시간을 줄일 수 있습니다. ClientAliveInterval과 ClientAliveCountMax는 연결 상태 확인을 제어하여 유휴 세션이나 끊어진 세션을 종료합니다.
허용 암호 알고리즘 제한
최신 SSH 구성에서는 강력하고 현대적인 알고리즘만 사용하도록 제한해야 합니다. sshd_config에서 Ciphers를 chacha20-poly1305@openssh.com,aes256-gcm@openssh.com으로 설정하고, MACs를 hmac-sha2-256-etm@openssh.com으로 설정하며, KexAlgorithms를 curve25519-sha256으로 설정하십시오. 이렇게 하면 하위 호환성을 위해 제공될 수 있는 arcfour, DES, MD5 기반 MAC과 같은 오래된 알고리즘이 제거됩니다.
fail2ban을 사용한 무차별 대입 차단
fail2ban은 인증 로그를 모니터링하고 로그인 실패 횟수가 임계값을 초과한 IP 주소를 차단합니다. 설정 가능한 횟수만큼의 실패가 정해진 시간 범위 안에 발생하면 fail2ban은 해당 IP에서 오는 추가 패킷을 폐기하도록 iptables 규칙을 추가합니다. 이러한 자동 대응을 사용하면 수동 개입 없이도 무차별 대입 공격을 실행하기 어려워집니다.
ssh-audit를 사용한 감사
ssh-audit 도구는 SSH 서버에 연결하여 구성을 평가합니다. 즉, 서버가 제공하는 키 교환 알고리즘, 호스트 키 유형, 암호 및 MAC을 확인하고 더 이상 권장되지 않거나 취약한 옵션을 식별합니다. 보안 강화 전후에 서버에서 ssh-audit를 실행하면 객관적인 전후 비교 평가를 수행하고 구성 누락을 찾을 수 있습니다.
로그 기록 및 접근 감사
SSH 인증 이벤트는 syslog를 통해 로그에 기록됩니다. Linux에서는 /var/log/auth.log(Debian) 또는 /var/log/secure(RHEL)에 성공한 로그인과 실패한 로그인이 모두 기록되며, 여기에는 시간 정보, 사용자 이름, 출발지 IP 및 사용된 키 지문이 포함됩니다. 이러한 로그를 중앙 SIEM으로 전송하면 예상하지 못한 국가에서의 로그인이나 평소와 다른 시간대의 로그인처럼 비정상적인 접근 패턴을 탐지할 수 있습니다.
완전히 강화된 구성 예시
보안이 강화된 sshd_config는 PasswordAuthentication no, PermitRootLogin prohibit-password, MaxAuthTries 3, LoginGraceTime 20, AllowGroups sshusers, 제한된 Ciphers 및 MACs, X11Forwarding no, 그리고 AllowTcpForwarding no를 함께 사용합니다(터널링이 필요한 경우는 제외). 각 지시문은 특정 공격 경로를 제거하며, 이 설정들이 함께 심층 방어 SSH 보안 태세를 구성합니다.
SSH 보안 강화 구성
SSH에 대한 무차별 대입 비밀번호 공격을 제거하는 데 가장 효과적인 sshd_config 설정은 무엇입니까?
SSH 보안 강화 요약
SSH 보안 강화 점검 목록은 다음과 같습니다. 비밀번호 인증을 비활성화하고, AllowGroups/AllowUsers로 접근을 제한하며, 루트 로그인을 비활성화하거나 키 인증만 허용하도록 제한하고, MaxAuthTries 3을 설정하며, LoginGraceTime을 줄이십시오. 또한 알고리즘을 최신 암호 알고리즘만 사용하도록 제한하고, fail2ban 또는 SSHGuard를 배포하며, 객관적인 평가를 위해 ssh-audit를 실행하고, 이상 탐지를 위해 로그를 중앙화하십시오.
AI 튜터와 함께 Cryptology Academy을(를) 배우세요 — 무료
브라우저에서 실제 코드를 작성하고 실행하며, 24/7 AI 튜터로부터 즉각적인 도움을 받고, 웹이나 앱에서 중단한 부분부터 계속 학습하세요.
- 코스
- 67
- 레슨
- 261
자주 묻는 질문
“SSH 강화와 감사 모범 사례” 강의는 무료인가요?
네 — “SSH 강화와 감사 모범 사례” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Cryptology Academy 강의 전체를 잠금 해제할 수 있습니다. Cryptology Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“SSH 강화와 감사 모범 사례”에서 뭘 배우나요?
sshd_config 강화, 키 교체 관행, 감사 기록을 적용해 SSH 배포 환경의 보안을 강화합니다. 브라우저에서 직접 실행하는 실습 코드로 Cryptology Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
Cryptology Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 Cryptology Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“SSH 강화와 감사 모범 사례” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 Cryptology Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 Cryptology Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- SSH 핸드셰이크와 호스트 키 인증
- 공개 키 인증과 에이전트 전달
- SSH 터널링과 포트 전달 기법
- SSH 강화와 감사 모범 사례