예전 회사에서 보안 Kernel을 위해 PKI 알고리즘을 사용하여 실행화일 수행시 서명이 통과된 실행화일만 수행 가능하도록 했던 프로젝트라던지,  ETRI 프로젝트를 진행하면서 역할 기반한 인증서 발급 시스템의 Framework을 개발했던 기억이 난다.
모두 보안 이슈로서 허가받지 않은 행동이 이루어지는 것을 막고자 하는 열망에서 기인한 프로젝트 들이었다.

Linux의 Kernel에도 드디어 보다 진보된 보안 시스템이 도입되어 실용화 되었다. 그것이 바로 SELinux이다.
일단은 사용자, 프로그램, 프로세서 들의 주체와 파일, 디렉토리, 디바이스 등의 대상 리소스를 분리하여 각각의 범주를 정의하고 개별 리소스에 대해 각 범주를 설정한다는 측면에서 기존의 사용자 소유권에 기반한 보안 시스템보다 훨씬 안전한 보안을 보증해 주길 기대해 본다.

하지만, 덕분에 SELinux에 대한 이해 없이는 매 문제가 발생할 때 마다 구글 신공을 발휘해야할 처지에 놓였있다.

Http 데몬의 Listen 포트(8888)를 하나 추가하였는데 컥 커널에서 Bind시 에러가 발생하였다.
결국 문제는 SELinux와 결부되어 있었다.

[root@ProjectS conf.d]# service httpd restart
httpd 를 정지 중:                                          [  OK  ]
httpd: Could not reliably determine the server's fully qualified domain name, using 218.158.45.145 for ServerName
(13)Permission denied: make_sock: could not bind to address [::]:8888
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:8888
no listening sockets available, shutting down
Unable to open logs
                                                           [실패]
[root@ProjectS conf.d]#

semanage 명령을 사용하여 8888 포트를 http에 대해 접근을 허가한 후에 정상적으로 bind 될 수 있었다.
조만간 SELinux에 대한 이해가 필요할 듯 하다.

참고문서 :
  http://centos.pe.kr/owiki/index.php?url=centos&no=11
  http://www-128.ibm.com/developerworks/kr/library/l-selinux/index.html
  http://www.nsa.gov/selinux/

크리에이티브 커먼즈 라이센스
Creative Commons License
2007/12/30 18:06 2007/12/30 18:06
Tags:

Trackback Address :: http://www.codeforum.net/blog/pitoosung/trackback/137