Skip to content
KitploitKITPLOIT
도구익스플로잇블로그
Log in
제출
도구익스플로잇블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

피드문의개인정보© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
ansible-ssh-hardening — 이 Ansible 역할은 보안 관련 다양한 SSH 구성을 제공하여 전방위적인 기본 보호를 제공합니다. | Kitploit
도구/GitHubGitHub/dev-sec/ansible-ssh-hardening
Cloud Infrastructure SecurityConfiguration AuditingNetwork SecurityDevSecOpsAuthenticationArchived
GitHubdev-sec/ansible-ssh-hardening

ansible-ssh-hardening

이 Ansible 역할은 보안 관련 다양한 SSH 구성을 제공하여 전방위적인 기본 보호를 제공합니다.

저장소 보기
786190285년 전Kitploit 검토 완료

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
웹사이트

ssh-hardening (Ansible Role)

주의: 이 역할은 hardening-collection으로 마이그레이션되었습니다:

  • https://github.com/dev-sec/ansible-os-hardening/
  • https://galaxy.ansible.com/devsec/hardening

이슈와 풀 리퀘스트는 해당 저장소에 열어 주세요!

요구 사항

  • Ansible > 2.5

역할 변수

  • network_ipv6_enable
    • 기본값: false
    • 설명: IPv6가 필요한 경우 true. ssh_listen_to도 IPv6 주소(예: [::])를 수신하도록 설정해야 합니다.
  • ssh_server_ports
    • 기본값: ['22']
    • 설명: ssh-server가 수신해야 하는 포트
  • ssh_client_port
    • 기본값: '22'
    • 설명: ssh-client가 연결해야 하는 포트
  • ssh_listen_to
    • 기본값: ['0.0.0.0']
    • 설명: ssh-server가 수신해야 하는 하나 이상의 IP 주소. 기본값은 모든 IPv4 주소이지만, 보안상의 이유로 특정 주소로 구성해야 합니다!
  • ssh_host_key_files
    • 기본값: []
    • 설명: sshd용 호스트 키. 비어 있으면 설치된 sshd 버전이 지원하는 한 ['/etc/ssh/ssh_host_rsa_key', '/etc/ssh/ssh_host_ecdsa_key', '/etc/ssh/ssh_host_ed25519_key']가 사용됩니다.
  • ssh_host_key_algorithms
    • 기본값: []
    • 설명: 서버가 제공하는 호스트 키 알고리즘. 비어 있으면 기본 목록이 사용되고, 그렇지 않으면 지정된 알고리즘 목록으로 설정을 재정의합니다.
  • ssh_client_alive_interval
    • 기본값: 600
    • 설명: keepalive 메시지 전송 간격을 지정합니다.
  • ssh_client_alive_count
    • 기본값: 3
    • 설명: keep-alive 메시지가 전송되는 횟수를 정의합니다.
  • ssh_permit_tunnel
    • 기본값: false
    • 설명: SSH 포트 터널링이 필요한 경우 true
  • ssh_remote_hosts
    • 기본값: []
    • 설명: ssh-client용 사용자 지정 옵션을 가진 하나 이상의 호스트. 기본값은 비어 있습니다. defaults/main.yml의 예시를 참조하세요.
  • ssh_permit_root_login
    • 기본값: no
    • 설명: root 로그인 비활성화. root 로그인을 활성화하려면 without-password 또는 yes로 설정
  • ssh_allow_tcp_forwarding
    • 기본값: no
    • 설명: TCP 포워딩을 비활성화하려면 'no'. TCP 포워딩을 허용하려면 'yes'로 설정. OpenSSH >= 6.2 버전을 사용하는 경우 'yes', 'no', 'all' 또는 'local'을 지정할 수 있습니다.
      참고: 이 변수에 전달되는 값은 문자열이어야 하므로 'yes' 및 'no' 값은 따옴표와 함께 전달해야 합니다.
  • ssh_gateway_ports
    • 기본값: false
    • 설명: 포워딩된 포트를 non-loopback 주소에 바인딩하지 않으려면 false. 와일드카드 주소에 바인딩을 강제하려면 true로 설정. 클라이언트가 바인딩할 주소를 지정하도록 허용하려면 clientspecified로 설정.
  • ssh_allow_agent_forwarding
    • 기본값: false
    • 설명: 에이전트 포워딩을 비활성화하려면 false. 에이전트 포워딩을 허용하려면 true로 설정.
  • ssh_x11_forwarding
    • 기본값: false
    • 설명: X11 포워딩을 비활성화하려면 false. X11 포워딩을 허용하려면 true로 설정.
  • ssh_pam_support
    • 기본값: true
    • 설명: SSH에 PAM 지원이 있는 경우 true.
  • ssh_use_pam
    • 기본값: true
    • 설명: pam 인증을 비활성화하려면 false.
  • ssh_gssapi_support
    • 기본값: false
    • 설명: SSH에 GSSAPI 지원이 있는 경우 true.
  • ssh_kerberos_support
    • 기본값: true
    • 설명: SSH에 Kerberos 지원이 있는 경우 true.
  • ssh_deny_users
    • 기본값: ''
    • 설명: 지정된 경우 패턴 중 하나와 일치하는 사용자 이름의 로그인이 허용되지 않습니다.
  • ssh_allow_users
    • 기본값: ''
    • 설명: 지정된 경우 패턴 중 하나와 일치하는 사용자 이름만 로그인이 허용됩니다.
  • ssh_deny_groups
    • 기본값: ''
    • 설명: 지정된 경우 기본 그룹 또는 보조 그룹 목록이 패턴 중 하나와 일치하는 사용자의 로그인이 허용되지 않습니다.
  • ssh_allow_groups
    • 기본값: ''
    • 설명: 지정된 경우 기본 그룹 또는 보조 그룹 목록이 패턴 중 하나와 일치하는 사용자만 로그인이 허용됩니다.
  • ssh_authorized_keys_file
    • 기본값: ''
    • 설명: 사용자 인증에 사용할 수 있는 공개 키가 포함된 기본 파일을 변경합니다.
  • ssh_trusted_user_ca_keys_file
    • 기본값: ''
    • 설명: 사용자 인증서 서명에 사용되는 신뢰할 수 있는 인증 기관 공개 키가 포함된 파일을 지정합니다.
  • ssh_trusted_user_ca_keys
    • 기본값: []
    • 설명: 사용자 인증서 서명에 사용되는 신뢰할 수 있는 인증 기관 공개 키를 설정합니다. ssh_trusted_user_ca_keys_file이 설정된 경우에만 사용됩니다.
  • ssh_authorized_principals_file
    • 기본값: ''
    • 설명: 허용되는 principals가 포함된 파일을 지정합니다. ssh_trusted_user_ca_keys_file이 설정된 경우에만 사용됩니다.
  • ssh_authorized_principals
    • 기본값: []
    • 설명: 파일 경로와 허용된 principals를 포함하는 해시 목록. 모든 옵션은 default_custom.yml을 참조하세요. ssh_authorized_principals_file이 설정된 경우에만 사용됩니다.
  • ssh_print_motd
    • 기본값: false
    • 설명: MOTD 출력을 비활성화하려면 false
  • ssh_print_pam_motd
    • 기본값: false
    • 설명: pam을 통한 MOTD 출력을 비활성화하려면 false (Debian 및 Ubuntu)
  • ssh_print_last_log
    • 기본값: false
    • 설명: 마지막 로그인 정보 표시를 비활성화하려면 false
  • sftp_enabled
    • 기본값: false
    • 설명: sftp 구성을 활성화하려면 true
  • sftp_umask
    • 기본값: '0027'
    • 설명: sftp용 umask를 지정합니다.
  • sftp_chroot
    • 기본값: true
    • 설명: sftp용 chroot를 비활성화하려면 false
  • sftp_chroot_dir
    • 기본값: /home/%u
    • 설명: 기본 sftp chroot 위치를 변경합니다.
  • ssh_client_roaming
    • 기본값: false
    • 설명: 실험적인 클라이언트 로밍 활성화
  • sshd_moduli_file
    • 기본값: '/etc/ssh/moduli'
    • 설명: SSH moduli 파일 경로
  • sshd_moduli_minimum
    • 기본값: 2048
    • 설명: logjam을 완화하기 위해 정의된 크기보다 작은 Diffie-Hellman 매개변수를 제거합니다.
  • ssh_challengeresponseauthentication
    • 기본값: false
    • 설명: challenge-response 인증이 허용되는지 여부를 지정합니다 (예: PAM을 통해)
  • ssh_client_password_login
    • 기본값: false
    • 설명: ssh 클라이언트에서 비밀번호 기반 인증을 허용하려면 true
  • ssh_server_password_login
    • 기본값: false
    • 설명: ssh 서버에서 비밀번호 기반 인증을 허용하려면 true
  • ssh_banner
    • 기본값: false
    • 설명: 로그인 시 배너를 출력하려면 true
  • ssh_banner_path
    • 기본값: '/etc/sshd/banner.txt'
    • 설명: SSH 배너 파일 경로
  • ssh_client_hardening
    • 기본값: true
    • 설명: 클라이언트 하드닝을 중지하려면 false
  • ssh_client_port
    • 기본값: '22'
    • 설명: 원격 호스트에 연결할 포트 번호를 지정합니다.
  • ssh_client_compression
    • 기본값: false
    • 설명: 클라이언트가 압축을 요청하는지 여부를 지정합니다.
  • ssh_compression
    • 기본값: false
    • 설명: 사용자가 성공적으로 인증한 후 서버 측 압축이 활성화되는지 여부를 지정합니다.
  • ssh_login_grace_time
    • 기본값: 30s
    • 설명: SSH 서버에 대한 성공적인 인증에 허용되는 시간을 지정합니다.
  • ssh_max_auth_retries
    • 기본값: 2
    • 설명: 연결당 허용되는 최대 인증 시도 횟수를 지정합니다.
  • ssh_max_sessions
    • 기본값: 10
    • 설명: 주어진 연결에서 허용되는 최대 열린 세션 수를 지정합니다.
  • ssh_print_debian_banner
    • 기본값: false
    • 설명: debian 특정 배너를 출력하려면 true
  • ssh_server_enabled
    • 기본값: true
    • 설명: opensshd 서버를 비활성화하려면 false
  • ssh_server_hardening
    • 기본값: true
    • 설명: 서버 하드닝을 중지하려면 false
  • ssh_server_match_address
    • 기본값: ''
    • 설명: 조건부 블록을 도입합니다. Match 줄의 모든 기준이 충족되면 다음 줄의 키워드는 구성 파일의 전역 섹션에 설정된 값을 재정의하며, 다른 Match 줄이나 파일 끝까지 적용됩니다.
  • ssh_server_match_group
    • 기본값: ''
    • 설명: 조건부 블록을 도입합니다. Match 줄의 모든 기준이 충족되면 다음 줄의 키워드는 구성 파일의 전역 섹션에 설정된 값을 재정의하며, 다른 Match 줄이나 파일 끝까지 적용됩니다.
  • ssh_server_match_user
    • 기본값: ''
    • 설명: 조건부 블록을 도입합니다. Match 줄의 모든 기준이 충족되면 다음 줄의 키워드는 구성 파일의 전역 섹션에 설정된 값을 재정의하며, 다른 Match 줄이나 파일 끝까지 적용됩니다.
  • ssh_server_match_local_port
    • 기본값: ''
    • 설명: 조건부 블록을 도입합니다. Match 줄의 모든 기준이 충족되면 다음 줄의 키워드는 구성 파일의 전역 섹션에 설정된 값을 재정의하며, 다른 Match 줄이나 파일 끝까지 적용됩니다.
  • ssh_server_permit_environment_vars
    • 기본값: no
    • 설명: yes는 ~/.ssh/environment 및 ~/.ssh/authorized_keys의 environment= 옵션이 sshd에 의해 처리되도록 지정합니다. openssh 버전 7.8 이상에서는 전역 "yes" 또는 "no" 설정 외에도 환경 변수 이름의 화이트리스트를 지정할 수 있습니다.
  • ssh_server_accept_env_vars
    • 기본값: ''
    • 설명: 클라이언트가 보낸 환경 변수 중 세션의 환경에 복사될 변수를 지정합니다. 여러 환경 변수는 공백으로 구분할 수 있습니다.
  • ssh_use_dns
    • 기본값: false
    • 설명: sshd가 원격 호스트 이름을 조회하고 원격 IP 주소에 대해 확인된 호스트 이름이 동일한 IP 주소로 다시 매핑되는지 확인할지 여부를 지정합니다.
  • ssh_server_revoked_keys
    • 기본값: []
    • 설명: ssh 서버가 항상 거부하는 폐기된 공개 키 목록. 알려진 취약하거나 손상된 키를 폐기하는 데 유용합니다.
  • ssh_max_startups
    • 기본값: '10:30:100'
    • 설명: SSH 데몬에 대한 최대 동시 인증되지 않은 연결 수를 지정합니다.
  • ssh_macs
    • 기본값: []
    • 설명: macs를 재정의하려면 이 목록을 변경하세요. 기본값은 defaults/main.yml에 있습니다.
  • ssh_kex
    • 기본값: []
    • 설명: kexs를 재정의하려면 이 목록을 변경하세요. 기본값은 defaults/main.yml에 있습니다.
  • ssh_ciphers
    • 기본값: []
    • 설명: ciphers를 재정의하려면 이 목록을 변경하세요. 기본값은 defaults/main.yml에 있습니다.
  • ssh_custom_options
    • 기본값: []
    • 설명: SSH 클라이언트 구성을 위한 사용자 지정 줄
  • sshd_custom_options
    • 기본값: []
    • 설명: SSH 데몬 구성을 위한 사용자 지정 줄
  • sshd_syslog_facility
    • 기본값: 'AUTH'
    • 설명: sshd에서 메시지를 기록할 때 사용되는 facility 코드
  • sshd_log_level
    • 기본값: 'VERBOSE'
    • 설명: sshd에서 메시지를 기록할 때 사용되는 상세 수준
  • sshd_strict_modes
    • 기본값: true
    • 설명: 로그인을 수락하기 전에 사용자의 파일 모드와 소유권 및 홈 디렉터리를 확인합니다.
  • sshd_authenticationmethods
    • 기본값: publickey
    • 설명: 사용자에게 액세스 권한을 부여하기 위해 성공적으로 완료해야 하는 인증 방법을 지정합니다. 선택한 인증 방법에 필요한 모든 변수를 설정해야 합니다. 기본값은 defaults/main.yml에 있습니다.

역할 변수에 나열되지 않은 설정 구성

위에 나열되지 않은 ssh 옵션을 구성하려면 ssh_custom_options (/etc/ssh/ssh_config용) 또는 sshd_custom_options (/etc/ssh/sshd_config용)를 사용하여 설정할 수 있습니다. 이러한 옵션은 파일의 시작 부분에 설정되므로 파일 아래쪽에서 옵션을 재정의할 수 있습니다.

플레이북 예시:

- hosts: localhost
  roles:
    - dev-sec.ssh-hardening
  vars:
    ssh_custom_options:
      - "Include /etc/ssh/ssh_config.d/*"
    sshd_custom_options:
      - "AcceptEnv LANG"

기본 포트 변경 및 멱등성

도구 다운로드