SSH 보안설정

Security 2007. 6. 11. 10:00

SSH 보안 강화하기
대부분의 리눅스 시스템 관리자들은 운영체제 설치 후 프로그램의 설정 파일을 수정하지 않고 기본값을 그대로 사용하는 경우가 많습니다. 설정파일이 어느 정도 보안 설정 후 배포되기도 하지만, 많은 설정 파일들은 그렇게 되어 있지 않으며 배포본에 따라서 다를 수도 있기 때문에 자주 사용하는 프로그램의 설정 파일을 확인하고 보안에 취약할 경우 수정을 해 주어야 합니다.

이번 호에서는 SSH 설정파일에 대하여 보안을 강화하는 방법을 알아 보도록 하겠습니다.

배포본은 RedHat 리눅스를 기본으로 하며 RedHat을 제외한 다른 배포본의 경우 다를 수 있습니다. RedHat 제외한 배포본의 경우 배포 홈페이지를 참조하시기 바랍니다.

SSH 설정 파일 위치: /etc/ssh/sshd_config (배포 버전에 따라 다를 수 있습니다.)

Root 로그인 차단
공격자 또는 내부 사용자가 root로 접근 가능할 경우 암호 무작위 입력으로 권한을 획득할 수 있습니다. 따라서, root 로그인을 차단, 일반 계정을 통하여 접근토록 하여야 합니다.
Root 로그인 허용이 yes로 되어 있으면 no로 수정합니다.

PermitRootLogin no

SSH2 사용하기
대부분의 ssh 취약성은 ssh2 보다는 ssh1과 관련된 것들이 많이 있습니다. 공격자로부터 최소한의 안전을 확보하기 위하여 ssh2 사용을 권장합니다.

Protocol 2

권한 분리
권한 분리는 잠재적인 보안 위험을 제한 하는데 여러분에게 도움을 줄 수 있습니다. 이 값은 기본값이 적용으로 되어 있으나, 적용되어 있지 않다면 활성화 시켜 주어야 합니다. 권한 분리는 데몬을 두 개의 파트로 구분하여 root로 실행되는 부분과 상위 권한 없이 chroot로 고립된 형태로 동작을 하게 됩니다. 예를 들어, 셸 명령을 실행하는 동안 버퍼 오버플로 공격이 발생할 경우 권한이 없는 프로세스 내에서 제어되므로 잠재적 보안 위험이 제한됩니다.

UsePrivilegeSeparation yes

Forwarding 막기
만약, TCP 포트와 X11에 대한 포워드 기능을 사용하지 않는다면 비활성화 하시기 바랍니다.

AllowTcpForwarding no
X11Forwarding no


호스트 기반 인증 차단
Rhosts 사용이나 hosts.equiv를 통한 인증을 차단합니다. Rhost는 보안상 취약함으로
비활성화 합니다.

IgnoreRhosts yes
HostbasedAuthentication no
RhostsRSAAuthentication no


[ Reference ]
http://docs.hp.com/ko/5991-6494/ch08s06.html
http://www.openssh.com

[저자] 안랩코코넛 SM사업부 권혁철 대리

[출처] 안랩코코넛 SECU-LETTER 6월호

'Security' 카테고리의 다른 글

Tomcat 보안 개요  (0) 2009.03.12
centos5 geoip patch하기  (0) 2008.07.30
MySQL DB 보안(1)  (0) 2007.06.11
FreeBSD 보안 하드닝 Tip  (0) 2007.06.11
[솔라리스 강좌] 설정 변경과 시스템 보안 설정  (0) 2006.06.11
, .