4.3.11.3. SSH 보안의 다른 방법
프로토콜 버전
Red Hat Enterprise Linux 7과 함께 제공되는
SSH
프로토콜의 구현은 SSH 클라이언트에 대해 프로토콜의 SSH-1 및 SSH-2 버전을 계속 지원하지만 가능한 경우 후자만 사용해야 합니다. SSH-2 버전에는 이전 SSH-1보다 많은 개선 사항이 포함되어 있으며 대부분의 고급 구성 옵션은 SSH-2를 사용하는 경우에만 사용할 수 있습니다.
SSH
-2를 사용하여 SSH 프로토콜이 사용되는 인증 및 통신을 보호하는 범위를 최대화하는 것이 좋습니다. sshd
데몬에서 지원하는 프로토콜 버전 또는 버전은 /etc/ssh/sshd_config
파일의 프로토콜
구성 지시문을 사용하여 지정할 수 있습니다. 기본 설정은 2
입니다. SSH-2 버전은 Red Hat Enterprise Linux 7 SSH 서버에서 지원하는 유일한 버전입니다.
키 유형
ssh-keygen 명령은 기본적으로 SSH-2 RSA 키 쌍을 생성하는 반면,
-t
옵션을 사용하여 DSA 또는 ECDSA 키도 생성하도록 지시할 수 있습니다. ECDSA (Elliptic Curve Digital Signature Algorithm)는 동일한 대칭 키 길이에서 더 나은 성능을 제공합니다. 또한 더 짧은 키를 생성합니다.
기본이 아닌 포트
기본적으로
sshd
데몬은 TCP 포트 22
에서 수신 대기합니다. 포트를 변경하면 자동화된 네트워크 검사를 기반으로 하는 공격에 시스템의 노출이 줄어들어 모호성을 통한 보안이 향상됩니다. 포트는 /etc/ssh/sshd_config
구성 파일에서 Port
지시문을 사용하여 지정할 수 있습니다. 기본이 아닌 포트 사용을 허용하도록 기본 SELinux 정책을 변경해야 합니다. root
로 다음 명령을 입력하여 ssh_port_t
SELinux 유형을 수정할 수 있습니다.
~]# semanage -a -t ssh_port_t -p tcp port_number
위의 명령에서 port_number 를
Port
지시문을 사용하여 지정된 새 포트 번호로 바꿉니다.
루트 로그인 없음
특정 사용 사례에
root
사용자로 로그인할 가능성이 필요하지 않은 경우 PermitRootLogin
설정 지시문을 /etc/ssh/sshd_config
파일에서 no
로 설정하는 것이 좋습니다. 관리자는 root
사용자로 로그인할 가능성을 비활성화하여 일반 사용자로 로그인한 후 권한 있는 명령을 실행한 다음 루트
권한을 얻을 수 있는 사용자를 감사할 수 있습니다.
X Security 확장 사용
Red Hat Enterprise Linux 7 클라이언트의 X 서버는 X 보안 확장을 제공하지 않습니다. 따라서 클라이언트는 X11 전달을 통해 신뢰할 수 없는 SSH 서버에 연결할 때 다른 보안 계층을 요청할 수 없습니다. 대부분의 애플리케이션은 이 확장 기능이 활성화된 상태에서 실행할 수 없었습니다. 기본적으로
/etc/ssh/ssh_config
파일의 ForwardX11Trusted
옵션은 yes
로 설정되어 있으며 ssh -X remote_machine (신뢰할 수 없는 호스트)과 ssh -Y remote_machine (trusted host) 명령 사이에 차이가 없습니다.
주의
신뢰할 수 없는 호스트에 연결하는 동안 X11 전달을 사용하지 않는 것이 좋습니다.