개요
ssh-scan은 지정된 SSH 서버에 연결하여 다양한 보안 관련 정보를 수집하고 분석합니다. 이를 통해 서버의 보안 상태를 평가하고, 권장되지 않는 설정이나 취약한 알고리즘 사용 여부를 파악할 수 있습니다.
주요 기능
ssh-scan이 제공하는 핵심 기능은 다음과 같습니다.
- 지원 암호화 알고리즘 분석 (Ciphers)
- 키 교환 방식 점검 (Key Exchange Algorithms)
- 호스트 키 정보 확인 (Host Key Algorithms)
- 잠재적 취약점 식별 및 권장 사항 제시
주요 옵션
ssh-scan 명령어 사용 시 유용한 주요 옵션들입니다.
대상 지정
출력 형식
정보 표시
생성된 명령어:
명령어를 조합해 보세요.
설명:
`ssh-scan` 명령어를 실행합니다.
위 옵션들을 조합하여 AI와 함께 가상으로 명령어를 실행해 보세요.
사용 예시
ssh-scan 명령어를 활용한 실제 사용 예시입니다.
기본 SSH 서버 스캔
ssh-scan --target example.com
지정된 호스트의 SSH 서버를 기본 설정으로 스캔합니다.
특정 포트의 SSH 서버 스캔
ssh-scan --target example.com --port 2222
기본 포트(22)가 아닌 다른 포트(예: 2222)에서 실행 중인 SSH 서버를 스캔합니다.
JSON 형식으로 결과 저장
ssh-scan --target example.com --format json --output scan_results.json
스캔 결과를 JSON 형식으로 파일에 저장하여 다른 도구와 연동하거나 분석하기 용이하게 합니다.
상세 정보 및 호스트 키 지문 표시
ssh-scan --target example.com --verbose --fingerprint
스캔 진행 상황을 상세하게 출력하고, 호스트 키의 지문 정보도 함께 표시합니다.
설치
ssh-scan은 대부분의 리눅스 배포판에 기본으로 포함되어 있지 않으므로, Python의 pip 패키지 관리자를 통해 설치하는 것이 일반적입니다.
Python 및 pip 설치 확인
ssh-scan을 설치하기 전에 시스템에 Python 3와 pip가 설치되어 있는지 확인합니다. 설치되어 있지 않다면 먼저 설치해야 합니다.
python3 --version
pip3 --version
ssh-scan 설치
pip를 사용하여 ssh-scan 패키지를 설치합니다.
pip3 install ssh-scan
설치 확인
설치가 완료된 후, 명령어가 정상적으로 실행되는지 확인합니다.
ssh-scan --version
팁 & 주의사항
ssh-scan을 효과적으로 사용하여 SSH 서버의 보안을 강화하고 잠재적인 위험을 줄일 수 있는 팁과 주의사항입니다.
정기적인 스캔의 중요성
SSH 서버 설정을 변경하거나 새로운 보안 취약점이 발표될 때마다 정기적으로 ssh-scan을 실행하여 서버의 보안 상태를 최신으로 유지하세요.
- SSH 서버 설정을 변경한 후에는 항상 ssh-scan을 실행하여 변경 사항이 보안에 미치는 영향을 확인하세요.
- 정기적으로 서버를 스캔하여 새로운 취약점이 발견되거나 설정이 변경되었을 때 빠르게 대응하세요.
스캔 결과에 따른 권장 사항
ssh-scan 결과에서 발견된 문제점에 대한 일반적인 해결책입니다.
- 약한 암호화 알고리즘 제거: ssh-scan 결과에서 약하거나 더 이상 권장되지 않는 암호화 알고리즘(예: 3DES, RC4)이 발견되면, `/etc/ssh/sshd_config` 파일에서 해당 알고리즘을 비활성화하거나 더 강력한 알고리즘으로 교체하세요.
- 최신 SSH 프로토콜 사용: SSHv1은 보안 취약점이 많으므로, 반드시 SSHv2를 사용하도록 설정해야 합니다. `sshd_config` 파일에서 `Protocol 2`로 설정되어 있는지 확인하세요.
- 불필요한 인증 방식 비활성화: 패스워드 인증 대신 키 기반 인증을 사용하는 것이 더 안전합니다. 불필요한 인증 방식은 비활성화하여 공격 표면을 줄이세요.