지속적인 통합 툴인 Hudson(https://hudson.dev.java.net)은 기업 내부 즉 인트라넷용입니다. 회사 밖에서는 접근하지 않는다는 것을 기본으로 설정하게 되어있죠. 만약 인터넷 같은 외부에 노출이 되는 경우는 인증을 걸어서 아무나 컨트롤하지 못하도록 하는 것이 중요합니다.

구글에서 "hudson access control"이라고 검색해봤습니다. wiki페이지가 나오는군요.


첫번째 링크를 클릭해서 들어가면 Hudson 보안강화하기 위키페이지가 나옵니다.
http://hudson.gotdns.com/wiki/display/HUDSON/Securing+Hudson

보안 레벨을 다양하게 지원하는데, 토픽은 다음과 같습니다.

Topics


저는 간략하게 설정해 보았습니다. 아직 경험이 많지 않아서 성큼성큼 나아가기 힘드니까요.
Quick and Simple Security 페이지의 설명에서 발췌한 내용입니다.

$ java -jar hudson.war --argumentsRealm.passwd.user=password --argumentsRealm.roles.user=admin

이러한 형식으로 시작 옵션을 줍니다.

$ java -jar hudson.war --argumentsRealm.passwd.kenu=okjsp --argumentsRealm.roles.kenu=admin

user와 password 부분을 변경해 주면 됩니다. 그리고 Hudson 설정에서 보안을 사용한다고 설정해야 합니다.
Hudson 관리(Manage Hudson) > Configure System 메뉴를 선택합니다.

설정화면에서 위쪽 설정 옵션 중 Enable security를 체크합니다. 하단의 옵션은 Delegate  to servlet container 에 그 아래 옵션은 Legacy Mode 를 선택하고 저장하면 됩니다.


설정이 완료되고 옵션을 주어서 시작하면 다음과 같은 메시지를 볼 수 있습니다.


로그인 id별  권한처리도 가능하다 하니 위키 문서를 참고하시면 될 것입니다.

okjsp 사이트의 보안을 강화하기 위해서 작업을 시작했습니다. http://www.okjsp.pe.kr 외 에 https://www.okjsp.pe.kr 접속을 위한 것이죠. 현재 아직 인증서오류가 발생하고 있습니다. 아직 돈을 내지 않았기 때문이죠. ^^; 인증서 에이전시에 등록할 때 10만원 내외의 비용이 필요합니다.

인증서를 신청하기 전에 서버 작업이 필요합니다. 그에 대한 설명입니다.

jdk에는 인증서를 위한 도구가 포함되어 있습니다. keytool 이라는 프로그램입니다. bin 디렉토리 아래 javac와 같이 있죠.

[root@169s /root]$ rm -rf .keystore
[root@169s /root]$ $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA
keystore 암호를 입력하십시오: changeit
새 암호를 다시 입력하십시오: changeit
이름과 성을 입력하십시오.
  [Unknown]:  www.okjsp.pe.kr
조직 단위 이름을 입력하십시오.
  [Unknown]:  okjsp
조직 이름을 입력하십시오.
  [Unknown]:  okjsp
구/군/시 이름을 입력하십시오?
  [Unknown]:  Seoul
시/도 이름을 입력하십시오.
  [Unknown]:  Seoul
이 조직의 두 자리 국가 코드를 입력하십시오.
  [Unknown]:  KR
CN=www.okjsp.pe.kr, OU=okjsp, O=okjsp, L=Seoul, ST=Seoul, C=KR이(가) 맞습니까?
  [아니오]:  y

<tomcat>에 대한 키 암호를 입력하십시오.
        (keystore 암호와 같은 경우 Enter를 누르십시오):
[root@169s /root]$


위와 같은 절차를 거치면 root계정의 홈 디렉토리에 .keystore 파일이 생깁니다.

이 파일에서 인증서를 요청하기 위한 Certificate Signing Request (CSR) 파일을 생성합니다.

[root@169s /root]$ $JAVA_HOME/bin/keytool -certreq -keyalg RSA -alias tomcat -file certreq.csr
keystore 암호를 입력하십시오:
[root@169s /root]$ ls cer*
certreq.csr
[root@169s /root]$ cat certreq.csr
-----BEGIN NEW CERTIFICATE REQUEST-----
MIIBpzCCARACAQAwZzELMAk.........1IxDjAMBgNVBAgTBVNlb3VsMQ4wDAYDVQQHEwVTZW91
...
-----END NEW CERTIFICATE REQUEST-----


개인정보라 함은 이름, 주민번호, 휴대폰, 이메일 등을 조합해서 해당 사람에 대한 식별이 가능한 정보라고 합니다. SSL을 설치하는 이유는 로그인할 때 비밀번호가 암호화되어서 중간에서 packet sniffer 도구 등으로 탐지되지 않도록 하기 위함입니다.

개인사이트다, 뭐다 말이 많지만 주민번호 받지않는 회원가입이 있고 로그인이 있기 때문에 보안설정은 하는 게 좋을 듯 합니다. 그냥 익명의 사이트로 간다면 글에 대한 신뢰성이 바닥으로 떨어지기 때문입니다.

정보보호진흥원kisa에서 소개해준 업체들 좀 돌아다녀 봐야겠습니다. 싼 거 찾으러 말이죠. ^^;

관련정보: http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html

+ Recent posts