2007/05/07

Solaris 10 Update 3의 새로운 기능 "Secure by Default"

솔라리스 10 U3에는 여러 가지 기능이 좋아졌습니다만, 그 중에서 가장 독특한 기능의 변화는 Trusted Extension이라는 보안 강화 기능인데 , 이는 미군에서 요구하는 보안 등급을 준수하게 해주는 보안 강화 기능으로 매우 강력한 보안 구성 환경으로써, 실제로 이 기능을 구성하여 가동할 수 있다면, 웬만한 보안 소프트웨어는 거의 살 필요가 없을 정도입니다. 이 기능은 다소 복잡한 구성에 대한 이해가 필요하니 별도로 소개를 하도록 하겠습니다. 아울러, 솔10 U3는 보안을 위해서 "Secure By Default"라는 기능을 추가로 제공하고 있는데, 이름 자체에서 언급하는 의미 그대로를 해석하면, "기본적으로 보안이 강화된" 이라고 볼 수 있겠습니다.

최근에 솔라리스는 소스가 공개되었고, 이에 따른 솔라리스 소스의 문제점을 찾아내어 해킹을 시도하는 사례가 증가될 수 있다는 판단이 있었던 것 같습니다. 리눅스가 오픈 소스하에서 이런 문제때문에 상당히 괴롭힘을 당해왔다는 것을 생각해보면 쉽게 이해할 수 있는 일이라 할 수 있겠습니다.

따라서, 솔라리스10 U3(11/2006) 설치 과정중에는 Secure By Default를 하겠냐고 물어보는 과정이 있습니다. 이 과정에 동의를 하고, 구성을 사용하게 되면 솔라리스는 외부 접속을 위해서 ssh를 제외한 모든 원격 접속 서비스인 telnet, XDMCP 서비스등을 모두 disable 되거나 localhost에게만 허용하도록. 때문에, 그 이전 버젼을 사용하던 사용자들은 이런 내용의 사전 습득이 없으면 다소 당황할 수 있게 됩니다.

현재 모드를 알 수 있는 방법은 없으며, 관련 네트웍 서비스를 모두 오픈(사용할 수 있도 하거나) 혹은 '제한'을 두는 두가지의 명령만 있습니다. 사용법은

#/usr/sbin/netservices open
혹은
#/usr/sbin/netservices limited

입니다.

솔라리스10을 정상 설치후 telnet 서비스나 혹은 X-window 관련 서비스가 정상적으로 작동이 되지 않는다면 위의 명령어로 서비스를 오픈한 후 사용하시면 됩니다.

그러나, 안정적인 보안환경을 유지 및 사용하기 위해서는 ssh를 사용할 것을 강력하게 권고합니다.
ssh와 함께 제공되는 데이타 암호화 툴을 이용함으로써 tcp spoofing이나 암호 데이타의 snooping등을 원천적으로 봉쇄할 수 있게됩니다.

복수개의 노드를 관리하기 위해서 rlogin, rsh, rcp등을 사용하던 사용자들도 ssh기반의 환경으로 옮겨서 사용할 것을 강력하게 권고합니다.

기능
unsecured 방법
Secured 방법

터미널 접속 서비스
telnet
ssh

원격 실행
rsh,rexec
ssh

화일 전송
rcp,ftp
scp, sftp

X Window 접속 및 Display
XDMCP
ssh -X


솔라리스의 ssh 서비스를 이용하기 위해서는 일반 사용자를 만들어서 사용하는 것이 바람직합니다. 솔라리스10 Update3에서 설치과정중 "Secure By Default"를 사용하는 것으로 설정하게 되면, 서버는 telnet으로 접속할 수 없게 되어 ssh를 사용해야 하는데, 솔라리스 개발자가 잠깐 졸았는지(?) ssh 서버가 root access를 허용하지 않도록 구성되어 있습니다.

따라서, root로 접속할 수 없게 되는 것이죠. 때문에, 설치를 정상적으로 한후, console(콘솔)에서 ssh 서버가 root로 로그인하는 것을 하용하도록 구성을 변경할 필요가 있습니다. 구성하는 법은 다음과 같이 합니다.

#cp /etc/default/login /etc/default/login.backup
#sed 's/CONSOLE=/#CONSOLE=/g' /etc/default/login > /tmp/login
#cp /tmp/login /etc/default/login

#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
#sed 's/PermitRootLogin no/PermitRootLogin yes/g' /etc/ssh/sshd_config > /tmp/sshd_config
#cp /tmp/sshd_config /etc/ssh/sshd_config
#svcadm restart ssh

와 같이 실행함으로써 ssh가 root로 로그인할 수 있도록 할 수 있습니다.

X-window 로그인이나 애플리케이션 화면출력(Display)를 위해서는 클라이언트쪽(PC나 노트북등)에 X server를 지원하는 운영체제(solaris, linux)를 사용한다면 ssh -X를 쉽게 사용할 수 있습니다. 만약, windows나 Mac을 사용하는 경우라면 ssh -X를 이용한 원격 디스플레이를 지원하는 X server 에뮬레이션 소프트웨어를 사용하셔야 합니다.

* 도움이 되었으면 Google AdSense 살짝 찍어주세요 *