98..Etc/Server2009. 6. 2. 18:32
반응형

인터넷 정보 서비스 및 FTP 서비스 설치

FTP는 IIS(Microsoft Internet Information Services)에 의존하기 때문에 IIS와 FTP 서비스가 컴퓨터에 설치되어 있어야 합니다. IIS와 FTP 서비스를 설치하려면 다음과 같이 하십시오.

참고: Microsoft Server 2003 제품군에서는 IIS를 설치할 때 FTP 서비스가 기본적으로 설치되지 않습니다. 컴퓨터에 IIS를 이미 설치했다면 Control PanelAdd or Remove Programs 도구를 사용하여 FTP 서비스를 설치해야 합니다.

  1. Start를 누르고 Control Panel을 가리킨 다음 Add or Remove Programs를 누릅니다.
  2. Add/Remove Windows Components를 누릅니다.
  3. Components 목록에서 Internet Information Services (IIS)를 누르고(이 때 확인란은 선택하지 않음) Details를 누릅니다.
  4. 다음 확인란을 아직 선택하지 않았으면 선택합니다.

    Common Files
    File Transfer Protocol (FTP) Service
    Internet Information Services Manager

  5. 설치할 그 밖의 다른 IIS 관련 서비스나 하위 구성 요소 옆에 있는 확인란을 선택한 다음 OK를 누릅니다.
  6. Next를 누릅니다.
  7. 메시지가 나타나면 Windows Server 2003 CD-ROM을 컴퓨터의 CD-ROM 또는 DVD-ROM 드라이브에 넣거나 해당 파일 위치의 경로를 제공한 다음 OK를 누릅니다.
  8. Finish를 누릅니다.

이제 IIS와 FTP 서비스가 설치되었습니다. FTP 서비스를 사용하려면 먼저 구성해야 합니다.

FTP 서비스 구성

익명 연결만을 허용하도록 FTP 서비스를 구성하려면 다음과 같이 하십시오.

  1. Internet Information Services Manager를 시작하거나 IIS 스냅인을 엽니다.
  2. Server_name(여기서 Server_name은 서버 이름임)을 확장합니다.
  3. FTP Sites를 확장합니다.
  4. Default FTP Site를 마우스 오른쪽 단추로 누른 다음 Properties를 누릅니다.
  5. Security Accounts 탭을 누릅니다.
  6. 아직 선택하지 않았다면 Allow Anonymous Connections 확인란을 선택한 다음 Allow only anonymous connections 확인란을 선택합니다.

    Allow only anonymous connections 확인란을 선택한 경우 익명 연결만을 허용하도록 FTP 서비스를 구성합니다. 사용자는 사용자 이름과 암호를 사용해서 로그온할 수 없습니다.
  7. Home Directory 탭을 누릅니다.
  8. 아직 선택하지 않았다면 ReadLog visits 확인란을 선택한 다음 아직 선택 취소하지 않았다면 Write 확인란을 선택 취소합니다.
  9. OK를 누릅니다.
  10. Internet Information Services Manager를 종료하거나 IIS 스냅인을 닫습니다.

이제 들어오는 FTP 요청을 받아들이도록 FTP 서버가 구성되었습니다. 사용 가능하게 만드려는 파일을 액세스용 FTP 게시 폴더에 복사하거나 이동합니다. 기본 폴더는 drive:\Inetpub\Ftproot(여기서 drive는 IIS가 설치되어 있는 드라이브임)입니다.



출처 : http://support.microsoft.com/default.aspx?scid=kb;ko;323384

Posted by 1010
98..Etc/Server2009. 4. 6. 14:50
반응형
이 글은 인터넷 검색을 통해서 정리했음을 밝힙니다.

WAS(Web Application Server)란?
-데이터베이스 조회나 일반적인 비즈니스 로직에 대한 처리를 위해 다양한 언어로 개발된 인터넷/인트라넷 환경의 소프트웨어를 지짗한다.
-서버기반의 application system을 위한 최적화된 실행환경을 제공하는 엔진
-Web Server와 DBMS를 연계 3-tier을 구현하는 Middle ware
-Web 비지니스 로직을 구현하는 가장 효과적인 Solution

WAS의 기능
- 환경에서의 최적의 트랜잭션 처리
- 웹 기반 애플리케이션들에 대한 분석 처리
- 분산된 웹 기반 어플리케이션 통합관리
- 웹 환경에서의 트랜잭션 모니터링

WAS의 역할
- 웹서버는 사용자(클라이언트)가 요청을 보내오면 그 명령에 대한 처리를 실행하고 다시 사용자에게 답변을 보내주는 역할을 수행합니다. 그런데 요청한 것들 중에 자체적으로 처리할 수 없는 것들을 톰캣과 같은 컨테이너나 아님 php 모듈과 같이 처리할 수 있는 곳으로 넘겨 처리 결과를 받아와서 사용자에게 넘겨주는 역할을 수행하는게 꼭 해야되는 기능 중에 하나입니다.

톰켓은 jsp를 실행 할 수 있는 컨테이너입니다. 웹서버에서 jsp를 요청하면 톰켓에서는 jsp파일을 servlet으로 변환하여 컴파일을 수행하고 서블릿의 수행 결과를 웹서버에 전달하게 됩니다.

- Tomcat
Java진영 Open Source Group인 Apache Software Foundation에서 공식적으로 사용하고 있는 Servlet-Container입니다.
또 Web server인 Apache의 기능을 내장하고 있어서, 그 자체로도 Web server기능을 할 수 있습니다. 하지만 분명히 톰캣은 WAS입니다.
(참고: IIS의 경우에는 출발은 web server이었는데, WAS로 구분하지 않고 그 자체로 WAS기능으로 포함시켜 왔습니다. 그래서 구분하자면 Web+WAS입니다.)

- 밴더별 WAS
크게 마이크로소프트 플랫폼과 비 마이크로소프트 플랫폼으로 나뉘어 볼 수 있다.
비 마이크로소프트 플랫폼은 유닉스나 솔라리스 등의 운영체제에 오라클 DBMS, 그리고 별도의 미들웨어 제품을 얹어서 사용하며, 이 때문에 비 마이크로 소프트 플랫폼은 하나같이 표준 J2EE스펙을 완벽하게 준수한다는 사실을 장점으로 내세움.

- JSP가 컴파일되어 Servlet에 적재되는 시점
더 자세한 정보는 링크를 통해..

[출처] JSP가 컴파일되어 Servlet Container에 적재되는 시점|작성자 행복마녀

http://blog.naver.com/tjddhr1168/10026420652

클라이언트에서 JSP를 요청했을 때 해당 JSP의 Servlet 객체가 Servlet 컨테이너에 있는지 없는지 검사하게 되고, 있다면 바로 실행에 들어가지만 없다면 다시 Servlet 생성루틴을 거치게 됩니다. 만약, 여러분이 JSP파일을 수정하였다면 Java Server Page는 수정 검사루틴을 가지고 있기 때문에 JSP파일이 수정되었는지 검사한 후 수정되었다면 .jsp파일을 .class로 컴파일하고 Servlet Container에 다시 적재하는 과정을 밟게 됩니다. 다음의 그림은 JSP실행루틴을 도식화한 그림입니다.

사용자 삽입 이미지
위의 그림은 JSP의 작업 흐름도를 보여 주고 있습니다. 제일 먼저 Webserver나 Servlet 엔진에서 클라이언트의 요청을 받게 됩니다. 서버에서 요청을 받게되면 바로 JSP Handler즉, JSP Container Process라고 불리우는 루틴을 거치게 되면서 Servlet 객체존재여부와 파일변경여부를 확인하게 됩니다. 변경되었다면 새로 source파일을 생성하고 그리고 compile과정을 거쳐 실행하게 되고 그리고 이미 로딩되어 있는데 변경처리되지 않았다면 기존에 존재하는 것을 이용하게 됩니다. 로딩을 하지않았다면 처음부터 로딩을 시작하여 source파일을 만들고 compile과정을 거쳐 새로 실행합니다. 다른 서블릿들도 Servlet Container에 적재하는 과정을 반복하게 됩니다.
Posted by 1010
98..Etc/Server2008. 12. 1. 13:05
반응형

ㅁ samba 패키지 복사
 samba-3.0.23c-2.i386.rpm

ㅁ 패키지 설치
 rpm -Uvh samba-3.0.23c-2.i386.rpm

ㅁ samba 설정
 /etc/samba/smb.conf 파일 수정

ㅁ samba 사용자 추가
 smbpasswd -a 계정명

ㅁ 서비스 재시작
 service network restart
 service smb restart


ㅁ 기타 삼바 관련 자료
***********************************************************
* SAMBA 서버
***********************************************************

* 설치
삼바서버패키지 : samba-3.0.8-0.pre1.3
삼바클라이언트 패키지 : samba-client-3.0.8-0.pre1.3
삼바서버와 클라이언트에서 모두 사용하는 파일들 패키지 : samba-common-3.0.8-0.pre1.3
삼바서버 웹관리 패키지 : samb-swat-3.0.8-0.pre1.3
삼바서버 설정툴 패키지 : system-config-samba-1..21-1


# wget http://ftp.superuser.co.kr/pub/fedora/core3/RPMS/samba-3.0.8-0.pre1.3.rpm
# wget http://ftp.superuser.co.kr/pub/fedora/core3/RPMS/samba-client-3.0.8-0.pre1.3.rpm
# wget http://ftp.superuser.co.kr/pub/fedora/core3/RPMS/samba-common-3.0.8-0.pre1.3.rpm
# wget http://ftp.superuser.co.kr/pub/fedora/core3/RPMS/samb-swat-3.0.8-0.pre1.3.rpm
# wget http://ftp.superuser.co.kr/pub/fedora/core3/RPMS/system-config-samba-1..21-1.rpm
# rpm -Uvh --nodeps samba-3.0.8-0.pre1.3.rpm
# rpm -Uvh --nodeps samba-client-3.0.8-0.pre1.3.rpm
# rpm -Uvh --nodeps samba-common-3.0.8-0.pre1.3.rpm
# rpm -Uvh --nodeps samb-swat-3.0.8-0.pre1.3.rpm
# rpm -Uvh --nodeps system-config-samba-1..21-1.rpm


설치된 주요 파일들
/etc/logrotate.d/samba : 삼바로그를 관리하기 위한 삼바로그 로테이트 스크립트 파일
/etc/init.d/smb : 삼바데몬(nmbd, smbd)을 실행(종료, 재시작)하기 위한 스크립트파일
/etc/sysconfig/samba :삼바 제어판 설정파일
/usr/bin/smbstatus : 삼바서버에 로그인한 정보를 확인하기 위한 유틸리티
/usr/sbin/nmbd : 삼바 NetBIOS 데몬
/usr/sbin/smbd : 윈도우서버와 파일 및 프린터공유를 위한 삼바 주데몬
/usr/bin/smbclient : 삼바 클라이언트 유틸리티로서 삼바서버로 접속이 가능하도록 제공함.
/usr/bin/smbmount : 삼바 원격마운트 유틸리티
/usr/bin/smbumount : 삼바 원격마운트 해제 유틸리티
/etc/samba : 삼바의 주된 디렉토리
/etc/samba/lmhosts : 삼바서버 NetBIOS 호스트파일(삼바서버에서 사용하는 호스트정보파일)
/etc/samba/smb.conf : 삼바서버의 주설정파일
/usr/bin/smbpasswd : 삼바사용자 생성, 삭제 및 삼바사용자 패스워드 설정, 변경 유틸리티
/usr/bin/testparm : 삼바서버 설정파일(smb.conf)점검 유틸리티
/etc/xinetd.d/swat : 삼바서버의 웹관리를 위한 xinetd환경의 삼바설정파일
/usr/sbin/swat : 삼바서버 웹관리툴
/usr/bin/system-config-samba : X환경에서의 삼바설정 유틸리티
/var/log/samba/ : 삼바로그 저장 디렉토리
/etc/samba/smbusers : 리눅스ID와 삼바ID가 다를 경우에 이를 매칭하기 위한 매칭 테이블파일


* 삼바서비스 데몬
- 삼바데몬 시작
# /etc/init.d/smb start
# /usr/sbin/smbd -D
# /usr/sbin/nmbd -D


* 삼바 설정파일 smb.conf 다루기
/etc/samba/smb.conf 파일의 설정에는 다음과 같이 기본적으로 세부분으로 나뉘어져 있습니다.
  1. 글로벌 설정: 이 설정은 삼바서버가 공유하는 자원들에 공통적으로 적용할 기본값을 설정하는 곳이다.
                  이 글로벌설정은 [global]이라는 선언으로 시작하는 부분이다.
  2. 자동홈디렉토리 : 리눅스 사용자들의 홈디렉토리를 로그인홈으로 사용하기 위한 설정으로서 [homes]로 시작하는 부분의 설정이다.
  3. 프린터설정 : 네트워크 공유프린트에 대한 설정부분으로서 [printers]로 시작하는 부분의 설정이다.


- unix charset = cp949
  dos charset = cp949
  display charset = cp949
  리눅스(유닉스) 문자셋, 도스문자셋, 그리고 디스플레이 문자셋을 각각 설정한다.


- workgroup = superuser
  workgroup옵션에는 NT도메인명 또는 워크그룹명을 지정하면 된다.
  작업그룹명이므로 윈도우에서 Workgroup으로 사용하는 이름을 입력한다.


- server string = SUPERUSER File Server
  삼바서버의 이름쯤으오 생각하면 된다.


- hosts allow = 192.168.1. 192.168.2. 127.
  이 옵션은 삼바서버의 보안을 위하여 매우 중요한 옵션이다.
  이 옵션은 삼바서버로의 접근을 허용하기 위한 설정이다.


- load printers = yes
  자동프린트 목록을 사용하기 위한 값으로 yes를 주면 된다.
  네트워크 프린터를 삼바서버에서 관리하도록 하려면 반드시 yes로 설정한다.


- printcap name = /etc/printcap
  printcap파일의 위치가 다른 곳에 있다면 그곳을 지정한다.


- printing = bsd
  사용하는 프린터가 표준이 아니라면 주석처리를 하는 것이 좋다.
  현재 지원되는 프린터시스템의 종류로는 bsd, sysv, plp, lprng, aix, hpux, qnx 등이 있다.


- guest account =pcguest
  삼바서버의 guest사용자를 허용하고자 할 때에는 이 주석을 제거한다.
  이 옵션은 삼바서버에 손님권한으로 접속할 때 어떤 권한을 부여할 것인가를 설정한다.
  가능한 시스템에 특별한 권한이 없는 nobody와 같은 권한으로 설정한다.


- log file = /var/log/samba/log.%m
  이 설정은 삼바서버로 접속하는 개별 사용자들의 호스트정보를 %m 으로 받아서 개별 로그파일을 생성하도록 한다.
- log file = /var/log/samba/smbd.log
  접속한 호스트별로 로그파일을 사용하지 않는다면 하나의 로그파일을 사용할 수도 있다.


- max log size = 50
  로그파일의 용량크기를 KB단위로 제한하기 위한 옵션이다.
  제한하지 않으려면 0을 입력한다.


- security = share
  보안모드를 설정하는 것으로서 대부분의 삼바접속자들에게는 user레벨이 가장 알맞다.
  user레벨을 설정하면 삼바서버에 접속하는 사용자는 반드시 윈도우에서 사용하는 로그인ID와 동일해야 한다.
  만약 위의 설정과 같이 share레벨은 공유디렉토리등에 설정하는 것으로서 ID와 패스워드의 인증엇이 접속하는 것을 허용하는 레벨이다.
  또한 server레벨은 별도의 인증서버에서 ID와 패스워드인증을 받도록하는 레벨이다.
  가능하면 삼바서버보안을 위하여 user레벨을 사용하는 것이 좋다.


- password server = <NT-Server-Name>
  위의 security 옵션값이 server로 설정되었을 때에만 설정할 수 있는 옵션으로서 인증서버로 사용할 서버를 지정하는 옵션이다.


- password level = 8
  패스워드 문자로 대소문자를 조합하여 사용할 문자의 개수를 지정한 옵션이다.


- username level = 8
  삼바사용자명을 대소문자 조합하여 사용할 문자의 개수를 지정한 옵션이다.


- encrypt passwords = yes
  패스워드를 암호화하여 사용하려면 "encrypt passwords" 옵션값을 yes로 설정한다.


- smb passwd file = /etc/samba/smbpasswd
  이 옵션은 삼바사용자들의 암호파일의 위치를 지정한 것이다.


- unix password sync = Yes
  passwd program = /usr/bin/passwd %u
  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authenticateion*tokens*updated*successfully*
  삼바사용자가 원격지에서 삼바패스워드를 변경할 수 있도록 하기위한 설정이다.
  이 설정을 사용하여 원격에서 패스워드를 변경하도록 허용하려면 앞의 encrypt passwords옵션값에 yes라고 해야하고 smb passwd file옵션에 반드시 삼바사용자패스워드파일의 경로를 지정한다.


- username map = /etc/samba/smbusers
  대부분 삼바에서 사용하는 ID와 리눅스계정ID는 동일하게 사용한다.
  만약 삼바사용자명과 리눅스 계정사용자명을 다르게 사용할 경우에 이를 매칭할 수 있도록 하기 위한 옵션이다.
  매칭테이블 파일을 /etc/samba/smbusers 파일로 사용하는 설정이다.


- include = /etc/samba/smb.conf.%m
  이 옵션은 삼바접속자의 플랫폼에 따라서 각기 다른 설정파일을 적용할 수 있도록 지원하기 위해 사용하는 옵션이다.
  %m 은 접속자 시스템의 NetBIOS이름으로 대체되어 접속한 사용자의 플랫폼종류에 따라서 각기 다른 삼바설정파일을 적용할 수 있다.


- socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  삼바서비스 성능향상을 위한 옵션이다. speed.txt 파일을 참조하라.


- interfaces = 192.168.12.2/24 192.168.13.2/24
  삼바서버에서 두개 이상의 네트워크 인터페이스(NIC)를 사용하도록 지원하기 위한 옵션이다.


- remote browse sync = 192.168.3.25 92.168.5.255
  remote annouce = 192.168.1.255 192.168.2.44
  지역서브넷에서 삼바서버를 잘 인식하도록 하기 위하여 자기자신을 알리도록 한다.


- local master = no
  이 옵션은 특정 서브네트워크내에서 삼바서버가 로컬마스트브라우즈가 되도록 하는 옵션이다.


- os level = 33
  이 옵션은 마스터브라우즈 선거(master browser elections)에서 이 서버의 우선구너을 가질 수 있도록 허용한다.


- domain master = yes
  삼바서버가 Domain Master Browser가 되도록 한다.
  삼바가 Domain Master Browser가 되면 서브네트워크들로부터 브라우즈 목록을 수집하는 역할을 한다.


- domain logons = yes
  삼바서버를 윈도우95기반의 워크스테이션에 대한 도메인로그인서버 역할을 하도록 하려면 이 옵션을 사용하라.


- logon script = %m.bat
  각 플랫폼별 또는 각 사용자별로 로그온스크립트(login script)를 구분하여 사용할 수 있도록 한다.


- logon path = \\%L\Profiles\%U
  오직 윈도우95 또는 윈도우NT에서 로우빙프로파일(roving profile)을 어디에 저장해 둘것인가를 지정하는 설정이다.


- wins support = yes
  윈도우 인터넷네임서비스인 WINS를 지우너하기 위한 섹션이다.


- wins server = w.x.y.z
  WINS 서버를 지정한다.


- wins proxy = yes
  WINS프락시 : WINS기능이 없는 클라이언트 대신 질의에 답하도록 하기위한 옵션이다.


- dns proxy = no
  DNS의 nslookup을 사용하여 NetBIOS이름을 찾을 것인가 아닌가를 지정하는 옵션이다.


- preserve case = no
  short preserve case = no
  대소문자를 유지보존할 것인가를 지정하는 옵션이다.


- default case = lower
  DOS파일들의 기본 문자는 대문자로 인식한다.
  만약 lower로 설정하면 소문자로 인식한다.


- case sensitive = no
  대소문자의 구분을 할것인가 말것인가를 지정하는 옵션이다.


- [homes]
  comment = Home Directories
  browseable = no
  writable = yes
  사용자들의 홈디렉토리서버스에서 사용하는 기본적인 설정값이다.


- [netlogon]
  comment = Network Logon Service
  path = /home/netlogon
  guest ok = yes
  writable = no
  share modes = no
  도메인로그온 기능을 사용하기 위한 netlogin을 위한 설정이다.


- [Profiles]
  path = /home/profiles
  browseable = no
  guest ok = yes
  로우빙프로파일(roving profile)을 지정하려면 주석을 제거한다.


- [printers]
  comment = All Printers
  path = /var/spool/samba
  browseable = no
  guest ok = no
  writable = no
  printable = yes
  BSD타이의 프린트시스템을 가지고 있다면 개별 설정없이 바로 사용할 수 있다.


- [tmp]
  comment = Temporary file space
  path = /tmp
  read only = no
  public = yes
  삼바사용자들의 임시공유 디렉토리로 사용하기 위한 설정이다.


- [public]
  comment = Public Stuff
  path = /home/samba/public
  public = yes
  read only = no
  write list = @staff


  삼바사용자라면 누구나 접근이 가능한 공유디렉토로서 staff그룹에 등록된 사용자들을 제외한 일반사용잗ㄹ은 읽기전용으로만 사용할 수 있다.


* 삼바클라이언트 유틸리티 smbclient
사용형식 : smbclient '\\서버\서비스' [-U 삼바사용자] [패스워드] [옵션]
# smbclient -L localhost  -> 리눅스서버에 설치되어 있는 삼바서버의 접속 및 운용상태 확인
# smbclient '\\files\papa' -U papa -> 원격지의 file이라는 로스트로 papa라는 계정을 이용하여 삼바서버로 접속
  서버명으로 file이라는 호스트명을 사용하려면 /etc/samba/lmhosts파일에 호스트정보가 등록되어 있어야 한다.
# smbclient -L 192.168.0.100
# smbclient -U papa -L 192.168.0.100


* 삼바 원격마운트를 위한 smbmount와 smbumount
사용형식 : smbmount //호스트명(또는 IP)/서비스 /마운트포인트
           smbumount /마운트포인트
# smbmount //192.168.0.100 /tmp/share
# smbumount /tmp/share


* 삼바 사용자 관리
- 새로운 삼바사용자 생성과 패스워드 설정하기
  삼바서버에서 사용자를 드록하기 위해서는 smbpasswd라는 명령어를 사용한다.
  삼바사용자의 삼바패스워드 또는 smbpasswd라는 명령어를 사용한다.
  삼바사용자를 새로 생성하기 전에 리눅스 계정생성을 먼저해야 한다.
# useradd dhan
# passwd dhan
# smbpasswd -a dhan
- 삼바사용자 패스워드 변경하기
  root 사용자일 경우 : smbpasswd [options] [username]
  root 사용자가 아닌 경우 : smbpasswd [options]
- 삼바사용자 사용하지 못하도록 사용중지 설정하기
# smbpasswd -d dhan -> 사용 중지
# smbpasswd -e dhan -> 사용 재개
- 삼바사용자 삭제하기
# smbpasswd -x dhan


* 삼바서버의 로그인정보 확인을 위한 smbstatus
사용형식 : smbstatus [-P] [-b] [-d] [-L] [-p] [-S] [-s <설정파일>] [-u 삼바계정]
# smbstatus  -> 현재 삼바서버로 로그인되어 있는 사용자들을 확인
# smbstatus -b  -> 삼바서버로 로그인한 삼바사용자염을 간단하게 확인
# smbstatus -u papa -> 특정 계정의 삼바사용자의 로그인 정보만을 확인


* 삼바서버의 NetBIOS 호스트 파일 lmhosts
이 파일의 주된 목적은 삼바에서 사용할 호스트명정보(주로 IP주소)를 쉽게 찾을 수 있돍 하기위한 것이다.
이 파일에 등록된 호스트정보를 이용하여 smbclient와 같은 삼바유틸리티에서 등록된 호스트의 삼바서버로 접속할 때에 호스트명만으로 사용할 수 있다.


* 삼바설정파일 점검하기 위한 testparm
사용형식 : testparm [-s] [-h] [-x] [-L <서버명>] 설정파일명 [호스트 IP]
# testparm
# testparm -l 192.168.0.100


* 삼바서버를 이용한 웹폴더 구축
- 웹폴더 사용을 위한 삼바서버 설정
# useradd dhan
# passwd dhan
Changing password for user dhan.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
# smbpasswd -a dhan
New SMB password:
Retype new password:
Added user dhan.
# vi /etc/samba/smb.conf
[dhan]
comment dhan web folder
path = /home/dhan
valid users = dhan
read only = no
writable = yes
public = no
browseable = yes
printable = no
crate mask = 0750
# /etc/init.d/smb restart
- 개인 PC의 탐색기에서 운격삼바디스크 사용하기
- 웹브라우즈에서 웹폴더 형식으로 사용하기


출처 : http://bronks.tistory.com/75

Posted by 1010
98..Etc/Server2008. 12. 1. 12:58
반응형
정통부, 보안서버 구축 가이드 배포


이 가이드는
▲보안서버의 종류와 구축 절차
▲SSL방식 보안서버 구축 요령
▲응용프로그램방식 보안서버 구축 요령
▲웹호스팅업체의 보안서버 구축 요령
▲웹 페이지 적용 방법
등이 제시되어 보안서버를 설치하려는 웹사이트 운영자에게 실질적인 도움을  주도록 기획되었다.
Posted by 1010
98..Etc/Server2008. 12. 1. 11:54
반응형

보안서버를 구축하게 되면 아래와 같이 구동 시에 비밀번호를 입력해야 합니다. 이때 간단한 설정으로 자동으로 비밀번호를 입력할 수 있습니다.

가. 비밀번호 자동 입력

[root@smson bin]# ./apachectl startssl
[Thu Oct 30 15:18:43 2008] [alert] httpd: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
Apache/1.3.33 mod_ssl/2.8.24 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide us with the pass phrases.

Server analysis.wsos.co.kr:443 (RSA)
Enter pass phrase:

Ok: Pass Phrase Dialog successful.
./apachectl startssl: httpd started

[root@smson ssl]# vi pw.sh
#!/bin/sh
echo "password"
[root@smson ssl]# vi /usr/local/apache-ssl/conf/httpd.conf
<IfModule mod_ssl.c>
#   Pass Phrase Dialog:
#   Configure the pass phrase gathering process.
#   The filtering dialog program (`builtin' is a internal
#   terminal dialog) has to provide the pass phrase on stdout.
#SSLPassPhraseDialog  builtin
SSLPassPhraseDialog  exec:/usr/local/apache-ssl/conf/ssl/pw.sh

 나. 부팅시 자동 시작

 리눅스가 부팅 할때 /etc/rc* 에 있는 파일들을 실행합니다. rc 뒤에 붙은 숫자는 run level을 뜻합니다. 리눅스는 부팅 시에 run level을 지정할 수 있는데 일반적인 작업에서 사용되는 run level은 3입니다. 아래와 같이 간단한 스크립트를 작성하여 링크를 시켜 주시면 됩니다.

[root@smson bin]# cat apachectlstartssl
#!/bin/sh
/usr/local/apache-ssl/bin/apachectl startssl
[root@smson bin]# cd /etc/rc
rc          rc1.d       rc3.d       rc5.d       rc.d        rc.sysinit 
rc0.d       rc2.d       rc4.d       rc6.d       rc.local   
[root@smson bin]# cd /etc/rc3.d/
[root@smson rc3.d]# rm -rf S99apache
[root@smson rc3.d]# ln -s /usr/local/apache-ssl/bin/apachectlstartssl S99apache
[root@smson rc3.d]# ls -al
total 12
drwxr-xr-x    2 root     root         4096 Oct 30 17:50 .
drwxr-xr-x   10 root     root         4096 Oct 30 17:30 ..
lrwxrwxrwx    1 root     root           15 Jun 17  2005 K03rhnsd -> ../init.d/rhnsd
...
lrwxrwxrwx    1 root     root           43 Oct 30 17:50 S99apache -> /usr/local/apache-ssl/bin/apachectlstartssl
lrwxrwxrwx    1 root     root           41 Jun 17  2005 S99mysql -> /usr/local/mysql/share/mysql/mysql.server
[root@smson rc3.d]#

Posted by 1010
98..Etc/Server2008. 12. 1. 11:53
반응형

1. 개인키 생성

개인키 생성

개인키는 1024bit 로 생성하는 것이 좋습니다. 기본값은 512bit 입니다. 개인키 분실시에는 인증서를 재발급 받아야 하기에 잘 백업해 두어야 한다.


2. 인증요청서( CSR ) 생성

CSR( Certificate Signing Request )은 SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서입니다. CSR은 ASCII 텍스트 파일로 생성됩니다. CSR을 생성할 때 서버의 식별명을 입력하게 됩니다.식별명은 각 서버를 공유하게 나타내는 이름으로 다음과 같은 정보를 포함합니다.

CSR 생성

주의사항

  • Common Name 에는 인증서를 설치할 사이트의 도메인의 이름을 정확하게 입력하셔야 합니다.
  • Common Name 에는 IP 주소, 포트번호, 경로명, http:// 나 https:// 등은 포함할 수 없습니다.
  • CSR 항목에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 68 문자를 넣을 수 없습니다.
  • CSR 생성 후 서버에 개인키 (Private Key) 가 생성됩니다. 개인키를 삭제하거나 분실할 경우 인증서를 발급 받아도 설치가 불가합니다. 따라서 꼭 개인키를 백업 받아 두셔야 합니다.
  • 정보입력과정 마지막에 나오는 A challenge password 와 An optional company name 두 항목은 입력하지 마시고 Enter 만 누르고 넘어가야 합니다. 두 정보가 입력될 경우 잘못된 CSR 생성될 수 있습니다.


3. 테스트 인증서 생성 및 웹서버에 설정

SSL 테스트 인증서

테스트 인증서를 생성 후 웹서버에 아래와 같이 개인키와 인증서를 설정해 주신 후 재 시작 합니다.

인증서 설정


4. 웹브라우저에서 확인

보안경고

공인된 인증기관에서 발급되지 않은 인증서의 경우는 사용자가 처음 요청시에 위와 같이 '보안경고' 창을 노출합니다. 브라우저 하단 또는 상단의 열쇠모양의 아이콘을 클릭하여 인증서를 확인 하실 수 있습니다.

인증서 확인


5. 인증서 신청 및 발급

위에서 생성된 CSR 파일을 보면 base64 형식의 내용을 확인 하실 수 있습니다. 이문서의 첫 줄 -----BEGIN … 부터 마지막 줄 -----END … 까지 복사하여 지정된 SSL 접수페이지에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송하면 접수가 완료됩니다.

대부분의 업체가 이메일을 통해 인증서를 수신하게 되는데, 보통 도메인인증파일과 루트인증파일 두 개를 압축해서 전달합니다.
인증서를 해당 서버에 저장 후 httpd.conf 파일에 설정해 주시면 됩니다.

국내구분 외산 국산
명칭 Comodo TrustSSL thwate VeriSign KICA
가격 40,000 300,000 240,000 440,000 120,000

SSL 인증서의 경우 가격이 저렴하다고 해서 SSL 보안서버의 성능이 떨어지거나 신뢰도가 낮은 것은 아닙니다. 가격은 브랜드 인지도, 로열티, 취급수수료에 의해 결정이 됩니다. 도메인 주소가 업체별로 차이가 있는 것과 동일하다고 생각하시면 됩니다. 각 업체별로 다양한 상품이 있는데, 값비싼 상품일수록 책임보험료가 높게 책정되어 있습니다. 문제가 발생 시에 발급기관에서 문제 발생 시에 책정된 보험료를 해당 사이트 사용자에게 보상을 해 주는데, 회원수가 많거나 회원들의 중요정보를 취급하는 경우가 아니고서는 비싼 상품을 선택할 필요는 없습니다.

내부의 서비스 운영 형태에 따라서 Wildcard 또는 Multi-Domain 인증서를 사용하시면 됩니다.  최근에는 해당 호스팅업체에서도 리셀러 방식의 판매대행을 하고 있고 가격도 더 저렴하기에 현재 서비스를 받고 있는 업체에 문의해 보는 것도 좋은 방법인 것 같습니다.


6. 인증서 확인

인증서 확인


7. 기타

보안경고

"보안경고창"은 해당 페이지 소스 내 오브젝트중에 https:// 가 아닌 http:// 로 절대경로가 지정된 것이 있어서 그렇습니다. 이를테면 웹페이지의 이미지 경로를 다른 도메인의 것을 사용했을 때, 해당 요청이 https 아닌 http라서 보안이 안 되는 요청이 있다는 경고창입니다.

HTTP 암호화

HTTP 패킷을 보았을 때 관련 정보가 암화화 된 것을 확인 하실 수 있습니다.

8. 참고

Posted by 1010
98..Etc/Server2008. 12. 1. 11:52
반응형

보안서버 SSL 

먼저 Apache와 mod_ssl의 버전을 확인 후에 알맞은 openssl 을 설치해야 합니다. 해당 정보는 www.openssl.org , www.modssl.org 에서 확인 하실 수 있습니다. 알맞는 버전을 확인 후 해당 사이트에 소스를 다운로드 합니다.

보안서버 SSL

1. openssl 설치

[root@smson openssl-0.9.8]# tar xvfz openssl-0.9.8.tar.gz
[root@smson openssl-0.9.8]# ./config --prefix=/usr/local --openssldir=/usr/local/openssl
[root@smson openssl-0.9.8]# make; make install
[root@smson openssl-0.9.8]# ls -al /usr/local/openssl/
total 36
drwxr-xr-x    6 root     root         4096 Oct 29 00:08 .
drwxr-xr-x   24 root     root         4096 Oct 29 00:07 ..
drwxr-xr-x    2 root     root         4096 Oct 29 00:08 certs
drwxr-xr-x    6 root     root         4096 Oct 29 00:07 man
drwxr-xr-x    2 root     root         4096 Oct 29 00:08 misc
-rw-r--r--    1 root     root         9381 Oct 29 00:08 openssl.cnf
drwxr-xr-x    2 root     root         4096 Oct 29 00:08 private


2. mod-ssl 모듈 Apache 소스에 설정

[root@smson work]# tar xvfz mod_ssl-2.8.24-1.3.33.tar.gz
[root@smson work]# cd mod_ssl-2.8.24-1.3.33
[root@smson mod_ssl-2.8.24-1.3.33]# ./configure --with-apache=../apache_1.3.33 --with-ssl=../openssl-0.9.8 --prefix=/usr/local/apache-ssl

* MaxClients 값을 튜닝하기 위해 아래와 같이 HARD_SERVER_LIMIT 값을 수정한다.
[root@ihelpers apache_1.3.33]# vi src/include/httpd.h
#define HARD_SERVER_LIMIT 1024


3. Apache 설치

[root@smson apache_1.3.33]# export SSL_BASE=../openssl-0.9.8
[root@smson apache_1.3.33]# ./configure --prefix=/usr/local/apache-ssl --enable-module=so --enable-rule=SHARED_CORE  --enable-shared=max --enable-module=ssl  --enable-shared=ssl  --enable-module=rewrite  --enable-shared=rewrite  --enable-module=expires  --enable-shared=expires
[root@smson apache_1.3.33]# make
[root@smson apache_1.3.33]# make certificate  -- 테스트인증서 생성시 필요(생략해도 큰 문제 없음)
[root@smson apache_1.3.33]# make install

보안서버 SSL

4. 설정

보안서버 SSL

보안서버 SSL의 경우는 헤더도 암호화가 되므로 일반적인 웹사이트 설정처럼 443 포트를 공유할 수 없기에, 다른 도메인에 대한 추가 설정 시에는 443 포트가 아닌 다른 포트를 사용해야 합니다. 이와 같은 이유로 많은 도메인에 대한 설정이 필요할 경우는 Wildcard SSL 또는 Multi-Domain SSL 인증서를 고려해 보는 것이 좋습니다.

아래는 현재 저희가 설정하여 사용하고 있는 설정값 예 입니다.

[root@smson conf]# vi httpd.conf

DocumentRoot "/data1/wwwroot/analysis/html"
ServerName analysis.wsos.co.kr
ServerAdmin root@smson
ErrorLog /dev/null
TransferLog /dev/null
CustomLog /dev/null common

SSLPassPhraseDialog  exec:/usr/local/apache-ssl/conf/ssl/pw.sh

SSLLog      /var/log/ssl_engine_log

SSLCertificateFile $path/analysis_wsos_co_kr.crt
SSLCertificateKeyFile $path/analysis_wsos_co_kr.key
SSLCACertificateFile $path/analysis_wsos_co_kr.ca-bundl



5. 실행

보안서버 SSL

아래와 같이 '-DSSL' 로 SSL 보안서버 모드로 실행된 것을 확인 하실 수 있습니다.  일반 웹서비스는 'start' 옵션으로 실행하시면 됩니다.  실행 시에 비밀번호 자동입력 및 부팅시 자동실행과 같은 내용은 아래 내용을 참고하여 주십시오.

보안서버 SSL


6. 참고



출처 : http://sangmo.tistory.com/132

Posted by 1010
98..Etc/Server2008. 12. 1. 11:50
반응형

보안서버 구축 가이드- Ver 0.9 - (pdf)

보안서버 구축 가이드
- Ver 0.9 -
2007. 2
주 의 사 항
이 가이드의 사용에는 어떠한 제한도 없지만 다음과 같은 사항에 주의하여야 합니다.
◦ 문서 내에 언급된 상표, 제품명 등에 대한 권리는 각 상표 또는 제품을 소유한
해당 기업에 있으며, 설명을 위해 특정 회사 제품명이나 화면이 표시된 경우
보안서버 구축을 위한 참고자료로써의 고유 목적 외에 어떠한 다른 목적도
없으며 그렇게 이용되어서도 안됩니다.
◦ 문서 내에 기술된 예시 등은 일반 사용자, 기업 등에 있을 수 있는 고유한
환경을 고려하지 않았으므로 실제 환경에서는 그대로 적용되지 않을 수 있습니다.
그러므로 각 장에 기술된 내용을 적용할 때에는 먼저 각 사용자, 기업의 고유한
환경에 적합한지 확인할 필요가 있으며, 내용의 오류로 인해 발생하는 피해에
대하여 본 가이드의 발행기관은 책임을 지지 않습니다.
※ 이 가이드의 내용 중 오류를 발견하였거나 내용에 대한 의견이 있을 때에는
securekorea@kisa.or.kr로 해당 내용을 보내주시기 바랍니다.
가이드의 구성
이 가이드는 사용자들의 이해를 돕기 위하여 다음과 같이 구성되어 있습니다.
Ⅰ 장과 Ⅱ 장은 사용자들이 반드시 알아야 하는 기본적인 사항들입니다. 꼭 읽어보시고
각 업체의 환경에 적합한 보안서버를 선택해야 합니다.
보안서버 구축 방법을 선택하였다면, Ⅲ 장 ~ Ⅴ 장 중 상황에 맞는 내용을 참조하시면 됩니다.
각 장에 소개되는 설치 방법과 오류시 대처방법을 숙지한 후 보안서버 구축 전문업체에
연락하시면 보다 자세한 안내를 받을 수 있습니다.
Ⅵ 장은 보안서버를 구축한 후, 실제 웹페이지에서 수정해야 할 내용에 관한 가이드입니다.
웹페이지 적용 방법과 실제 사례를 포함하고 있으며, 보안서버가 적용되었는지 확인하는
방법을 알아보실 수 있습니다.
Ⅶ 장은 정보통신부에서 추진하고 있는 보안서버 구축 확대에 관한 FAQ를 정리한 것입니다.
2005년부터 현재까지 웹사이트 운영자들이 자주 질문하신 내용을 정리한 것이므로
우선 궁금하신 내용이 있는지 확인한 후 추가적인 문의는 보안서버전문협의회 홈페이지
(www.kisia.or.kr/secureserver)를 참조하거나 securekorea@kisa.or.kr로 문의하시기 바랍니다.
부록에는 멀티도메인 SSL 인증서와 SSL 가속기에 대한 설명이 포함되어 있습니다.
목 차 내 용
Ⅰ. 보안서버란
- 보안서버의 정의 및 필요성
- 보안서버 관련 규정
Ⅱ. 어떻게 시작하지?
- 보안서버의 종류
- 전문 구축업체 목록 및 연락처
Ⅲ. SSL 방식 보안서버 구축하기
- SSL 방식 보안서버 소개 및 설치방법
- 오류시 대처방법
Ⅳ. 응용프로그램 방식 보안서버 구축하기
- 응용프로그램 방식 소개 및 설치방법
- 오류시 대처방법
Ⅴ. 웹호스팅업체의 보안서버 구축하기
- 웹호스팅서비스 이용자와 제공업체를 위한
보안서버 구축절차
Ⅵ. 웹페이지 수정 및 적용 확인하기
- 웹페이지 적용방법 및 사례
- 보안서버 적용 확인하는 방법
Ⅶ. 제도 관련 FAQ - 보안서버 구축 확대 관련 질문과 답변
부록 - 멀티도메인 SSL 인증서 및 SSL 가속기 소개
목 차
Ⅰ. 보안서버 (Secure Server)란 ··························································1
1. 보안서버의 정의 ·······················································································1
2. 보안서버 구축의 필요성 ·········································································1
가. 정보유출 방지(sniffing 방지) ··························································1
나. 위조사이트 방지(phising 방지) ······················································2
다. 기업의 신뢰도 향상 ··········································································2
3. 보안서버 관련 규정 ·················································································3
Ⅱ. 어떻게 시작하지? ·············································································4
1. 보안서버의 종류 ·······················································································4
가. SSL 방식 ·····························································································4
나. 응용프로그램 방식 ············································································5
2. 보안서버 구축 전문업체 ·········································································6
3. 보안서버 구축 절차 흐름도 ···································································7
Ⅲ. SSL 방식 보안서버 구축하기 ······················································8
1. 소개 및 인증서 발급 절차 ·····································································8
가. 개요 ······································································································8
나. 보안서버 구축 절차 ··········································································9
2. 설치 과정 ·································································································10
2.1 IIS 서버에서의 설치 과정 ·······························································10
가. 개인키 생성 및 CSR 생성 방법 ················································10
나. SSL 설정 ···························································································16
2.2 아파치 서버에서의 설치 과정 ························································19
가. 아파치 서버에 Openssl과 MOD_SSL의 설치 방법 ·················19
나. 개인키 생성 및 CSR 생성 방법 ··················································21
다. 인증서 설치 방법 ············································································22
3. 오류 발생시 대처방법 ···········································································24
Ⅳ. 응용프로그램 방식 보안서버 구축하기 ··································30
1. 소개 및 보안서버 구축 절차 ·······························································30
가. 개요 ····································································································30
나. 보안서버 구축 절차 ········································································31
다. 프로토콜 설명 ··················································································33
2. 설치 과정 ·································································································34
가. 클라이언트 모듈 설치 ····································································34
나. 서버 모듈 설치 ················································································35
다. 사이트 접속 ······················································································36
3. 오류 발생시 대처방법 ···········································································38
Ⅴ. 웹호스팅업체의 보안서버 구축하기 ·········································40
1. 보안서버 구축 절차 ···············································································40
2. 보안서버 구축 전 확인사항 체크 ·······················································41
가. 발급 도메인에 대한 정보 확인 ····················································41
나. CSR 생성 및 보안서버 적용 ························································43
3. 웹호스팅서비스 제공업체의 고려사항 ···············································43
가. 서비스 제공 서버에서 개별 인스턴스로 서비스가 가능한지 여부 ····· 43
나. SSL 보안 포트 서비스 가능 여부 ···············································44
다. SSL 서비스 가능 여부 ···································································44
라. 인증서 신청하기 ··············································································45
4. 보안서버 구축상태 확인 ·······································································46
Ⅵ. 웹 페이지 수정 및 적용 확인하기 ···········································47
1. 웹 페이지 수정 방법 및 사례 ·····························································47
가. 전체 페이지 암호화하기 ································································47
나. 페이지별 암호화하기 ······································································50
다. 프레임별 암호화하기 ······································································53
라. 체크박스를 이용한 선별적 암호화하기 ······································60
2. 보안서버 적용 확인하기 ·······································································62
가. 보안서버 적용 확인 방법 ······························································62
나. 인증서의 암호화 상태 확인 방법 ················································65
Ⅶ. 제도 관련 FAQ ··············································································69
부록 A. 멀티도메인 SSL 인증서 소개 ···········································74
부록 B. SSL 가속기 소개 ···································································84
그림목차
<그림 1-1> 보안서버 구축의 필요성 ··························································2
<그림 2-1> SSL 방식의 보안서버 실행 확인 ·············································5
<그림 2-2> 응용프로그램 방식의 보안서버 실행 확인 ····························5
<그림 2-3> 보안서버 구축 절차 흐름도 ······················································7
<그림 3-1> SSL 방식의 보안서버 개념도 ···················································8
<그림 3-2> SSL 방식 보안서버 구축 절차 ·················································9
<그림 3-3> Mod-SSL 설치 확인 예 ····························································20
<그림 4-1> 응용프로그램 방식 보안서버 구축 절차 ······························31
<그림 4-2> 서버 플랫폼의 구성 ··································································32
<그림 4-3> 응용프로그램 방식 프로토콜 ··················································34
<그림 4-4> 암호화 모듈 설치를 위한 보안경고창 ································36
<그림 4-5> 암호화 모듈 설치 ······································································37
<그림 4-6> 암호화 통신 확인 ······································································37
<그림 5-1> 웹호스팅업체의 보안서버 구축 절차 ····································41
<그림 5-2> WHOIS를 통한 도메인 정보 확인 ········································42
<그림 5-3> Mod-SSL 설치 확인 예 ····························································45
<그림 6-1> 평문 통신을 위한 HTML 소스코드 ······································48
<그림 6-2> https 프로토콜을 호출하기 위한 HTML 소스코드 ··········· 48
<그림 6-3> 아파치 서버에서의 Redirection ··············································49
<그림 6-4> HTML Tag를 이용한 Redirection ·········································49
<그림 6-5> Javascript를 이용한 Redirection ············································50
<그림 6-6> 페이지별 암호화 대상 메뉴 ····················································50
<그림 6-7> 페이지별 암호화 대상 메뉴의 소스코드 ······························51
<그림 6-8> SSL이 적용된 페이지의 경고창 ·············································51
<그림 6-9> http 평문 통신 주소가 호출되는 웹페이지의 속성 ···········52
<그림 6-10> https를 통한 암호화 통신 ·····················································52
<그림 6-11> http를 통한 평문 통신 ···························································52
<그림 6-12> 프레임이 포함된 웹페이지 ····················································54
<그림 6-13> topmenu.htm을 https로 호출하기 ·······································54
<그림 6-14> topmenu.htm과 main.htm을 https로 호출하기 ················55
<그림 6-15> 비암호화된 페이지 호출하기 ················································55
<그림 6-16> HTTP 호출시 80 포트 모니터링 결과 ································56
<그림 6-17> topmenu.htm만 암호화하여 호출하기 ································56
<그림 6-18> topmenu.htm의 내용만 암호화된 모니터링 결과 ············57
<그림 6-19> topmenu.htm과 main.htm을 https로 호출하기 ················58
<그림 6-20> index.html의 내용만이 모니터링된 결과 ···························58
<그림 6-21> https를 이용한 호출 ·······························································59
<그림 6-22> https 호출시 80 포트 모니터링 결과 ·································59
<그림 6-23> 로그인시 보안접속 체크박스를 이용하기 위한 HTML 소스코드······61
<그림 6-24> 평문 통신 ··················································································63
<그림 6-25> 암호화된 통신 ··········································································63
<그림 6-26> 암호화 통신이 이루어지고 있음을 보여주는 자물쇠 이미지 ····· 64
<그림 6-27> 보안이 적용된 웹페이지 등록정보 ······································65
<그림 6-28> 보안이 적용된 웹페이지 접속 ··············································66
<그림 6-29> 자물쇠 이미지를 통한 암호화 방식 확인 ··························66
<그림 6-30> 보안이 적용된 웹페이지의 등록정보 중 인증서 버튼 ····· 67
<그림 6-31> 보안이 적용된 웹페이지의 인증서 기본 정보 확인 ········ 67
<그림 6-32> 보안이 적용된 웹페이지의 인증서 상세정보 확인 ··········68
<그림 A-1> 멀티도메인 SSL 인증서의 CN이 있는 도메인과 없는 도메인의 동작····· 76
<그림 A-2> 암호화 통신이 이루어지고 있음을 보여주는 자물쇠 이미지 ····· 76
<그림 A-3> 다수의 CN이 포함된 멀티도메인 SSL 인증서 ··················77
<그림 A-4> 보안이 적용된 웹페이지 속성 확인 ·····································77
<그림 A-5> 아파치 서버에서 평문 통신을 위한 가상호스팅 설정 ······ 78
<그림 A-6> 아파치 서버에서 암호화 통신을 위한 가상호스팅 설정 ······· 79
<그림 A-7> CMD command 실행 모습 ····················································80
<그림 A-8> IIS 관리자에서 Site Identifier와 Host header 값 확인 ···80
<그림 A-9> SecureBindings 메타베이스 추가 ··········································81
<그림 A-10> SecureBindings을 통한 443 포트 공유 ······························81
<그림 A-11> SecureBindings 제거 ······························································81
보안서버 구축 가이드 1
Ⅰ. 보안서버(Secure Server)란
1. 보안서버의 정의
보안서버란 인터넷상에서 사용자 PC와 웹 서버 사이에 송수신되는
개인정보를 암호화하여 전송하는 서버를 의미합니다. 또한 보안서버는
해당 전자거래 업체의 실존을 증명하여 고객과 웹 서버간의 신뢰를
형성하고, 웹 브라우저와 웹 서버간에 전송되는 데이터의 암/복호화를
통하여 보안 채널을 형성합니다.
인터넷상에서 송․수신되는 개인정보의 대표적인 예로는 로그인시 ID/
패스워드, 회원가입시 이름/전화번호, 인터넷 뱅킹 이용시 계좌 번호/
계좌 비밀번호 등이 해당됩니다.
인터넷 상에서 암호화되지 않은 개인정보는 가로채기 등의 해킹을 통해
해커에게 쉽게 노출될 수 있으므로, 웹 서버에 보안서버 솔루션을
설치하면 해커가 중간에 데이터를 가로채도 암호화 되어 있어 개인정보가
노출되지 않습니다.
2. 보안서버 구축의 필요성
가. 정보유출 방지(sniffing 방지)
학교, PC방, 회사 등의 공용 네트워크를 사용하는 PC에서 보안서버가
구축되지 않은 사이트로 접속할 경우, 개인정보가 타인에게 노출될
가능성이 매우 높습니다. 스니핑 툴(sniffing tool)을 사용할 경우
다른 사람의 개인정보(ID/패스워드/이메일/주민번호/주소/전화번호 등)을
손쉽게 얻을 수 있습니다. 따라서 보안서버는 개인정보보호를 위해서
반드시 필요합니다.
2 보안서버 구축 가이드
나. 위조사이트 방지(phising 방지)
보안서버가 구축된 사이트를 이용하여 피싱(phishing) 공격을 시도하기는
어렵습니다. 따라서 보안서버가 구축된 사이트는 피싱에 의한 피해를
줄일 뿐만 아니라 고객의 신뢰를 얻을 수 있습니다.
다. 기업의 신뢰도 향상
고객의 개인정보를 안전하게 관리하는 기업이라는 이미지를 부각시킬 수
있습니다. 인터넷상의 암호화되지 않은 개인정보는 가로채기 등의
해킹을 통해 해커에게 쉽게 유출될 수 있습니다. 암호화된 개인정보는
해킹을 당해도 보호받을 수 있습니다.
<그림 1-1> 보안서버 구축의 필요성
※ 피싱(Phishing)이란, 개인정보(private data)와 낚시(fishing)를 합성한 조어로써,
금융기관 등의 웹사이트나 거기서 보내온 메일로 위장하여 개인의 ID 및
패스워드, 신용카드번호, 계좌정보 등을 빼내 이를 불법적으로 이용하는
사기수법을 뜻한다.
보안서버 구축 가이드 3
3. 보안서버 관련 규정
보안서버 구축 관련 규정은 아래와 같으며, 전체 법조항이 필요하신 경우는
정보통신부 홈페이지(www.mic.go.kr)나 법제처 홈페이지(www.moleg.go.kr)를
참조하시기 바랍니다.
1. 정보통신망 이용촉진 및 정보보호 등에 관한 법률
▶ 제28조(개인정보의 보호조치) 정보통신서비스제공자등은 이용자의 개인정보를 취
급함에 있어서 개인정보가 분실·도난·누출·변조 또는 훼손되지 아니하도록 정보
통신부령이 정하는 바에 따라 안전성 확보에 필요한 기술적·관리적 조치를 하여야
한다. <개정 2004.1.29>
▶ 제67조 (과태료) ②다음 각 호의 어느 하나에 해당하는 자는 1천만원 이하의 과태료
에 처한다. <개정 2004.1.29>
8의2. 제28조의 규정을 위반하여 기술적·관리적 조치를 하지 아니한 자
2. 정보통신망 이용촉진 및 정보보호 등에 관한 법률 시행규칙
▶ 제3조의2(개인정보의 보호조치) ①법 제28조의 규정에 의한 개인정보의 안전
성 확보에 필요한 기술적·관리적 조치는 다음 각호와 같다.(중간 생략)
4. 개인정보를 안전하게 저장·전송할 수 있는 암호화기술 등을 이용한 보안조치
(이하생략)
3. 개인정보의 기술적⋅관리적 보호조치 기준
▶ 제5조(개인정보의 암호화) ②정보통신서비스제공자등은 정보통신망을 통해 이용자
의 개인정보 및 인증정보를 송·수신할 때에는 보안서버 구축 등의 조치를 통해
이를 암호화해야 한다. 보안서버는 다음 각호의 어느 하나의 기능을 갖추어야 한
다. <개정 2007.1.29>
1. 웹서버에 SSL(Secure Socket Layer) 인증서를 설치하여 개인정보를 암호화하
여 송․수신하는 기능
2. 웹서버에 암호화 응용프로그램을 설치하여 개인정보를 암호화하여 송․수신하
는 기능
③정보통신서비스제공자등은 이용자의 개인정보를 PC에 저장할 때에는 이를 암
호화해야 한다.
4 보안서버 구축 가이드
Ⅱ. 어떻게 시작하지?
1. 보안서버의 종류
보안서버는 구축 방식에 따라 크게 「SSL 방식」과 「응용프로그램 방식」
2가지로 구분할 수 있습니다. 보안서버를 구별하는 방법은 아래와
같습니다.
가. SSL 방식
「SSL 인증서」를 이용한 보안서버는 사용자 컴퓨터에 별도 보안 프로그램
설치가 필요없으며, 웹 서버에 설치된 「SSL 인증서」를 통해 개인정보를
암호화하여 전송합니다. 보안서버 구축에 소요되는 비용이 상대적으로
저렴하지만 주기적으로 인증서 갱신을 위한 비용이 소요됩니다.
로그인 페이지 등 보안이 필요한 웹페이지에 접속한 상태에서
브라우저 하단 상태 표시줄에 자물쇠 모양의 마크로 확인할 수 있으며,
웹사이트의 구성 방법에 따라 자물쇠 모양의 마크가 보이지 않을 수
있습니다.
보안서버 구축 가이드 5
<그림 2-1> SSL 방식의 보안서버 실행 확인
나. 응용프로그램 방식
암호화 응용 프로그램을 이용한 보안서버는 웹 서버에 접속하면 사용자
컴퓨터에 자동으로 보안 프로그램이 설치되고 이를 통해 개인 정보를
암호화하여 전송합니다.
웹사이트 접속 시 초기화면이나 로그인 후 윈도우 화면 오른쪽 하단
작업표시줄 알림영역에 다음 그림과 같은 암호화 프로그램 실행여부를
확인할 수 있으며, 응용프로그램에 따라 모양은 다르게 나타날 수
있습니다.
<그림 2-2> 응용프로그램 방식의 보안서버 실행 확인
6 보안서버 구축 가이드
2. 보안서버 구축 전문업체
보안서버 구축 방법과 절차에 관한 보다 구체적인 내용은 다음의
「보안서버전문협의회」회원사 중 선택하여 문의하거나 평소 알고 있는
보안서버 구축 전문업체를 통하여 자세한 설명을 받을 수 있습니다.
회사명 홈페이지 연락처
SSL 방식 솔루션 공급 업체
한국전자인증(주) www.crosscert.com 1588-1314
한국정보인증(주) www.kica.net (02) 360-3065
이모션 www.trust1.co.kr (02) 542-1987
(주)한국무역정보통신 www.tradesign.co.kr (02) 6000-2162
(주) 한비로 comodossl.co.kr 1544-4755
(주)닷네임코리아 www.anycert.co.kr 080-456-7770
나인포유 www.certkorea.co.kr (02) 3444-2750
(주)아이네임즈 cert.inames.co.kr (02) 559-1006
응용 프로그램 방식 솔루션 공급 업체
한국전자인증(주) www.crosscert.com 1588-1314
이니텍(주) www.initech.com (02) 2140-3553
한국정보인증(주) www.signgate.com (02) 360-3065
(주)케이사인 www.ksign.com (02) 564-0182
드림시큐리티 www.dreamsecurity.com (02) 2233-5533
시큐리티 테크놀로지(STI) www.stitec.com (02) 558-7391
펜타시큐리티시스템(주) www.pentasecurity.com (02) 780-7728
소프트포럼 www.softforum.co.kr (02) 526-8423
(주)코스콤 www.signkorea.co.kr (02) 767-7224
엠큐릭스(주) www.mcurix.com (02) 2253-8882
유넷시스템(주) www.unetsystem.co.kr (02) 390-8000
보안서버 구축 가이드 7
☑ 서버의 운영은 어떻게 하고 계신가요?
↓ ↓
단독 서버 운영 웹호스팅서비스 이용

☑ 보안서버 종류와 전문업체를 결정하셨나요? ↓
↓ ↓
Ⅲ.
SSL 방식
보안서버 구축하기
Ⅳ.
응용프로그램 방식
보안서버 구축하기
Ⅴ.
웹호스팅업체의
보안서버 구축하기
웹 서버 기종 확인 구축 절차 확인
구축 절차 및
구축 전 확인사항 체크
↓ ↓ ↓ ↓
IIS 서버에서의
설치 과정
아파치 서버에서의
설치 과정
보안서버 설치 및
구축 완료
웹호스팅서비스
제공업체와의 협의 및
보안서버 설치
↓ ↓ ↓ ↓
오류시 대처방법 오류시 대처방법 보안서버 구축 확인
↓ ↓
Ⅵ. 웹페이지 수정 및 적용 확인하기
<그림 2-3> 보안서버 구축 절차 흐름도
3. 보안서버 구축 절차 흐름도
지금까지 보안서버의 개념과 종류 등 보안서버를 구축하기 전에
필요한 사항들을 간단하게나마 알아보았습니다. 이제부터는 본격적으로
보안서버 구축 방법에 대하여 알아보겠습니다. 현재 기업의 상황을
확인하시고 아래 절차 흐름도를 참고하여 자신에게 필요한 내용을 찾아
각 장으로 이동하시면 됩니다.
8 보안서버 구축 가이드
Ⅲ. SSL 방식 보안서버 구축하기
1. 소개 및 보안서버 구축 절차
가. 개요
SSL은 Secure Sockets Layer의 머리글이며, 1994년 Netscape에 의해
전세계적인 표준 보안 기술이 개발되었습니다.
SSL 방식은 웹 브라우저와 서버간의 통신에서 정보를 암호화함으로써
도중에 해킹을 통해 정보가 유출되더라도 정보의 내용을 보호할 수 있는
기능을 갖춘 보안 솔루션으로 전세계적으로 수 백 만개의 웹사이트에서
사용하고 있습니다.
아래는 SSL 보안에 대해 그림으로 간단하게 설명해 놓은 것입니다.
<그림 3-1> SSL 방식의 보안서버 개념도
인증기관(Certification Authorities)에서 제공하는 SSL 인증서를 발급받아
웹 서버에 설치하게 되면 웹사이트 이용자들의 거래, ID/패스워드,
개인정보 등을 암호화하여 송수신할 수 있습니다.
보안서버 구축 가이드 9
나. 보안서버 구축 절차
SSL 방식의 보안서버 구축 절차는 다음과 같습니다.
서버의 종류 확인
IIS 서버 / 아파치 서버 등
↓ ↓
2.1
IIS 서버에서의 설치 과정
2.2
아파치 서버에서의 설치 과정
...
↓ ↓
개인키 생성 및 CSR 생성 개인키 생성 및 CSR 생성
↓ ↓
SSL 인증서 발급
인증기관에 CSR 제출 및 인증서 발급 신청

신청자 상세정보 입력 및 결재
↓ ↓
IIS 서버에 설치 및 SSL 설정 아파치 서버에 설치 및 SSL 설정
↓ ↓
3. 오류 발생시 대처방법
<그림 3-2> SSL 방식 보안서버 구축 절차
① SSL 방식의 보안서버를 사용하기 위해서는 운영하고 있는 웹 서버에
보안서버 인증서가 설치되어야 합니다. 보안서버 인증서는 운영 중인
웹 서버에서 '인증서 만들기'를 이용하여 생성합니다.
※ 발급이 완료된 인증서는 재발급 또는 변경이 불가능하기 때문에 새로
발급받으셔야 하며, 새로 발급받을 시 비용이 발생할 수 있으니 CSR
생성시 절대 주의 바랍니다.
② 먼저 운영하는 웹 서버에서 개인키를 만든 후, CSR 파일을 생성하여
인증기관에 보안서버 인증서 발급을 신청합니다.
CSR(Certificate Signing Request)이란 인증서 요청파일의 약어로서
운영하는 URL 및 운영하는 회사의 정보 등이 입력됩니다.
10 보안서버 구축 가이드
③ 인증기관에 CSR을 이용하여 인증서를 신청할 때 회사의 담당자
정보 등을 입력합니다. 인증서 발급 심사 후에 신청 시 입력한
담당자의 E-mail 주소로 인증서가 발급됩니다.
④ 발급받은 인증서를 운영 중인 웹 서버에 설치하게 되면 SSL 방식의
보안서버 설정을 완료하게 됩니다.
서버호스팅 서비스를 받고 있는 고객의 경우에는 서버에 대한 관리자
권한이 고객에게 있기 때문에 고객이 직접 CSR 생성 및 인증서 발행 후에
설치를 진행해야 하며, 호스팅 서비스 제공업체에게 보안서버 구축
대행을 요청하게 되면 설치대행비가 부과될 수 있습니다.
SSL 방식의 보안서버 구축은 서버의 운영체제에 따라 적용절차가
모두 다르므로, 가장 많이 사용되는 IIS와 아파치 서버를 중심으로
설명하겠습니다. IIS 서버에 설치하는 경우는 2.1의 내용을 참고하시고,
아파치 서버에 설치하는 경우는 2.2의 내용을 참고하시기 바랍니다.
향후 다른 종류의 서버에 SSL 방식의 보안서버를 설치하는 방법을
추가해 나갈 예정입니다.
2. 설치 과정
2.1 IIS 서버에서의 설치 과정
가. 개인키 생성 및 CSR 생성 방법
① 웹사이트 속성 선택
시작→프로그램→관리도구→인터넷 서비스 관리자→웹사이트→속성
보안서버 구축 가이드 11
② 등록정보 화면에서 디렉토리 보안을 클릭한 후 서버 인증서를
클릭합니다.
③ 웹 서버 인증서 마법사를 시작합니다. ‘새 인증서를 만듭니다’를
선택합니다.
12 보안서버 구축 가이드
④ ‘요청을 준비하지만 나중에 보냅니다’를 선택합니다.
⑤ 인증서를 만들 이름을 입력하시기 바랍니다.
이름은 인증서의 별칭이므로 쉬운 것으로 입력하여 주시기 바랍니다.
인증서 키의 길이는 1,024가 표준입니다. 비트 길이가 너무 크면
서버에서 인지하지 못할 경우도 있습니다.
보안서버 구축 가이드 13
⑥ 조직 및 조직 구성 단위를 입력합니다.
조직은 회사의 영문 전체 이름을 입력하고, 조직 구성단위는 영문
부서명을 입력합니다.(모든 내용은 영문으로 입력합니다)
⑦ 인증받을 도메인 이름을 입력하시기 바랍니다.
14 보안서버 구축 가이드
⑧ 지역 정보를 입력합니다.(모든 내용은 영문으로 입력합니다.)
⑨ 인증서 요청파일(CSR)을 저장합니다.
보안서버 구축 가이드 15
⑩ 신청한 내용을 다시 한 번 확인합니다.
⑪ 인증서 신청을 완료합니다.
⑫ CSR 내용을 인증기관에게 메일로 송부하시던지 인증서 신청화면에
붙여 넣으신 후 인증서 신청을 진행하시면 됩니다.
자, 이제 인증기관의 발급 절차에 따라서 인증서가 발급됩니다.
16 보안서버 구축 가이드
나. SSL 설정
① 웹사이트 속성 선택
시작→프로그램→관리도구→인터넷 서비스 관리자→웹사이트→속성
② 등록정보 화면에서 디렉토리 보안을 클릭한 후 서버 인증서를
클릭합니다.
보안서버 구축 가이드 17
③ 보류중인 요청을 처리합니다.
④ 보류 중인 요청 처리-메일을 통하여 받은 인증서(-----begin 부터
end-----까지)를 저장한 파일을 선택합니다. 인증서 파일을 선택한 후
다음 버튼을 누릅니다.
18 보안서버 구축 가이드
⑤ 인증서 요약 - 현재 설치하시고자 하는 인증서의 내용이 보여집니다.
만약에 신청하신 내용과 일치하지 않으면, 경고 메시지가 뜨며,
인증서가 설치되지 않습니다. 그럴 경우에는 현재의 요청을 삭제하신 후,
새로운 인증서를 신청하셔야 합니다.
⑥ 인증서 설치 후의 설정 - 기본 웹 사이트의 등록정보에서 웹사이트 탭을
선택합니다. 웹 사이트 확인 섹션에서 고급 버튼을 클릭해서 SSL 포트에
443을 설정해줍니다.(기본적으로 443을 사용하지만, 사이트 운영자가
1~65535 범위내에서 임의로 포트번호를 설정할 수 있습니다)
보안서버 구축 가이드 19
⑦ 인증서 설치 확인 - 인증서가 정확히 설치되었는지 인증서가 설치된
홈페이지를 통해 확인할 수 있습니다.
https://인증서 신청 URL에 접속해서 하단에 노란자물쇠 버튼이
뜨는지 확인합니다. 만일 443이 아닌 다른 포트로 SSL 포트를
적용하였을 경우에는 주소창 뒤에 포트번호를 지정해야 확인할 수
있습니다.(예 : https://www.kisa.or.kr:442)
⑧ 이제 SSL 인증서의 설치가 완료되었습니다. Ⅵ장으로 이동하셔서
실제 웹페이지를 어떻게 수정해야 하는지 알아보겠습니다.
2.2 아파치 서버에서의 설치 과정
가. 아파치 서버에 Openssl과 MOD_SSL의 설치 방법
아파치 서버에서 SSL 통신을 가능하게 하기 위해서는 OpenSSL과
mod_ssl이 필요합니다.
우선, 현재 서비스 중인 Apache 서버에 Mod_SSL이 설치되어 있는지를
httpd -l 옵션을 사용하여 Mod_SSL.c 또는 Mod_SSL.so가 있는지 확인하시기
20 보안서버 구축 가이드
바랍니다. 만일 설치되어 있다면 ‘나. 개인키 생성 및 CSR 생성 방법’ 과정으로
이동하시기 바랍니다.
<그림 3-3> Mod-SSL 설치 확인 예
OpenSSL은 최신버전으로 설치하는 것을 권장하지만 서버의 환경에
따라서 적합한 버전으로 설치하는 것이 좋습니다. 서버 환경에 맞는
OpenSSL 버전은 www.openssl.org에서 확인할 수 있습니다.
또한 Mod_SSL은 반드시 Apache 버전에 맞는 것을 설치하셔야 하며
www.modssl.org에서 Apache 버전을 확인 한 후 그에 맞는 mod_SSL을
다운받아 설치하시기 바랍니다.
① OpenSSL의 설치(www.openssl.org)
압축풀기
$ gzip -cd openssl-0.9.6.tar.gz | tar xvf -
$ ./config$ make$ make installconfig
☞ prefix를 주지 않았을 때에는 /usr/local/ssl 디렉토리에 설
치가 됩니다.
다른 디렉토리에 설치를 하고자 한다면 다음과 같이 합니다.
$ ./config --prefix=/usr/local --openssldir=/usr/local/openssl
☞ OpenSSL의 실행파일은 /usr/local/ssl/bin에 설치되고
인증서비스를 위한 파일들은/usr/local/openssl 아래의
디렉토리에 생성됩니다.
보안서버 구축 가이드 21
② mod_ssl의 설치 (www.modssl.org)
압출풀기
$ gzip -cd apache_1.3.19.tar.gz | tar xvf
$ gzip -cd mod_ssl-2.8.1-1.3.19.tar.gz | tar xvf
파일의 다운로드와 압축풀기가 끝나면 mod-ssl 설정을 합니다.
mod-ssl 설정
$ cd mod_ssl-2.8.1-1.3.19
$ ./configure \
--with-apache=../apache_1.3.19 \
--with-ssl=../openssl-0.9.6 \
--prefix=/usr/local/apache
③ Apache Server 설치(www.apache.org )
$ cd ../apache_1.3.x
$ SSL_BASE=../openssl-0.9.6 \
./configure \
--prefix=/usr/local/apache \
--enable-module=ssl \
$ make
$ make certificate
$ make install
나. 개인키 생성 및 CSR 생성 방법
① 랜덤 넘버 생성
$ openssl md5 * > rand.dat
② 키 쌍 생성
$ openssl genrsa -rand rand.dat -des3 -out 1024 > key.pem
☞ 개인키 비밀번호를 입력하며 반드시 기억해야 합니다. (암호를
분실할 경우 SSL 사용을 위한 apache를 구동할 수 없습니다)
22 보안서버 구축 가이드
③ 생성된 키 쌍을 이용하여 CSR생성
$ openssl req -newkey key.pem > csr.pem
☞ 여기서 key.pem은 단계 ②에서 생성한 키 이름이며 csr.pem은
출력 CSR 파일의 이름입니다.
다음 정보를 입력하라는 메시지가 나타납니다. (모든 내용은 영문으로
작성해야 하며, 아래는 입력 예입니다)
Country(국가 코드) KR
State/province (시/도의 전체 이름) Seoul
Locality(시,구,군 등의 이름) Songpa-gu
Organization(회사 이름) test (이니셜 또는 약자 금지. Full name입력)
Organization Unit(부서명) : team
Common Name (host name + domain name) : cert.kisa.or.kr
"추가 속성"을 입력하라는 메시지가 나타나면 그냥 넘어가셔도 무방합니다.
④ CSR 제출
생성된 CSR(예:csr.pem)의 내용은 다음과 같습니다.
-----BEGIN CERTIFICATE REQUEST-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0ZTEh
MB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNAQkB
FgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV1LQG
fcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwEA
AaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE REQUEST-----
CSR 내용을 인증기관에게 메일로 송부하시던지 인증서 신청화면에
붙여넣으신 후 인증서 신청을 진행하시면 됩니다.
인증기관의 발급 절차에 따라서 인증서가 발급됩니다.
다. 인증서 설치 방법
보안서버 구축 가이드 23
① 메일로 받은 인증서를 복사하여 파일로 저장합니다.(예: Cert.pem)
-----BEGIN CERTIFICATE-----
MIIBETCBvAIBADBXMQswCQYDVQQGEwJBVTETMBEGA1UECBMKU29tZS1TdGF0Z
TEhMB8GA1UEChMYSW50ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMRAwDgYJKoZIhvcNA
QkBFgFgMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL6nPTy3avNgbubx+ESmD4LV
1LQGfcSh8nehEOIxGwmCPlrhTP87PaA0XvGpvRQUjCGStrlQsd8lcYVVkOaytNUCAwE
AAaAAMA0GCSqGSIb3DQEBBAUAA0EAXcMsa8eXgbG2ZhVyFkRVrI4vT8haN39/QJc9
BrRh2nOTKgfMcT9h+1Xx0wNRQ9/SIGV1y3+3abNiJmJBWnJ8Bg==
-----END CERTIFICATE-----
② 아파치 서버에 적절한 위치에 저장합니다.
③ 환경설정 파일(httpd.conf 또는 ssl.conf)을 수정합니다.
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot /Apache/htdocs
ServerName @@ServerName@@:443
ServerAdmin cs@crosscert.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLCertificateFile /Apache/ssl/cert.pem → 인증서 파일 경로
SSLCertificateKeyFile /Apache/ssl/key.pem → 개인키 파일 경로
④ 아파치를 재구동합니다.
./apachectl startssl
아파치 서버에서 SSL을 사용하기 위한 시작 명령어인 startssl을
실행하면 개인키의 비밀번호를 묻는데, 이 비밀번호는 이전의
설치과정 중 ‘나. 개인키 생성 및 CSR 생성 방법’ 중 ② 키 쌍 생성시
입력한 개인키 비밀번호를 입력하시면 됩니다.
이제 SSL 인증서의 설치가 완료되었습니다. Ⅵ장으로 이동하셔서
실제 웹페이지를 어떻게 수정해야 하는지 알아보겠습니다.
24 보안서버 구축 가이드
인증서는 저마다 고유한 유효기간을 가지고 있는데, 이 기간이
지난 인증서를 계속 설치해 두는 경우에 나오는 경고창입니다.
3. 오류 발생시 대처방법
① 인증서를 발급받은 사이트 주소와 실제로 접속한 사이트 주소가 다른 경우
예를 들어 www.kisa.or.kr로 인증서를 발급받아 설치한 후 실제 적용은
login.kisa.or.kr로 걸어두는 경우와 같이 인증서를 발급받은
주소와 실제로 접속한 주소가 다른 경우에 위와 같은 경고창이
나오게 됩니다.
② 인증서가 유효하지 않은 경우
보안서버 구축 가이드 25
이 경우는 웹 서버 인증서를 발급한 인증기관을 웹 브라우저가
인식하지 못하는 경우로써, 브라우저에는 기본적으로 신뢰할 수 있는
인증기관 리스트가 내장되어 있는데 그 리스트에 없는,
즉 신뢰할 수 없는 인증기관에서 발급된 인증서를 설치한 경우에
발생하는 경고창입니다. 실제로는, 웹 서버에서 자체적으로 만든
인증서를 설치한 경우에 가장 많이 생깁니다.
말 그대로 보안된 항목 https와 보안되지 않은 항목 http를 모두
포함하고 있어 나타나는 보안경고창입니다. https://를 이용해서
암호화 통신을 하고자 하는 페이지의 소스에 http://를 이용하여
그러나, 보통의 경우 인증서가 설치된 사이트에 접속하는 PC의
날짜가 잘못되어 있어서 생기는 경우가 가장 많습니다.
③ 브라우저가 웹 서버 인증서를 신뢰할 수 없는 경우
④ 보안된 항목 https와 보안되지 않은 항목 http를 모두 포함하는 경우
26 보안서버 구축 가이드
호출하는 이미지 등이 존재할 때 보안경고창이 나타나는 것입니다.
이 경우 ‘아니오’ 버튼을 눌러 표시되지 않는 http 항목의 소스를
절대경로를 써서 https로 호출하시면 됩니다.
한 페이지 안에 http://와 https://의 두 프로토콜이 존재하기 때문입니다.
예) HTTP://[로그인 폼 입력 페이지]
∇HTTPS://[로그인 서버 처리]
HTTP://[로그인 완료 페이지]
예를 들어, http://www.kisa.or.kr에서 https://www.kisa.or.kr
/login.jsp로 접속할 때 /login.jsp안에 http://www.kisa.or.kr로
호출하는 직접적인 소스가 있기 때문입니다.
해결방법 : http://리턴URL을 Script를 통해서 Return URL을
설정해 주시면 됩니다.
⑤ 한 페이지에 http://와 https://의 두 프로토콜이 존재하는 경우
⑥ 운영중인 웹 서버를 같은 기종으로 변경하려 합니다.
개인키와 인증서를 백업하신 후 재설치하여 사용이 가능합니다.
서버 이전 또는 변경 전 설치 업체에게 반드시 사전 문의 후
작업을 진행하시기 바랍니다.
보안서버 구축 가이드 27
이 에러는 아래와 같은 이유로 발생합니다.
ⅰ. https 디렉토리에 파일이 존재하지 않을 경우
ⅱ. 서버의 방화벽이나 end-user의 방화벽에서 443 포트가
차단되었을 경우
ⅲ. https 서버가 다운되었을 경우
ⅳ. SSL Certificate 파일이 정상적이지 않을 경우
ⅴ. 웹 브라우저에서 ssl 3.0으로 셋팅이 되어 있지 않을 경우
인증서가 정상적으로 설치되었는지를 확인하시고 서버에서 https를
위한 포트를 활성화 되었는지 확인하시기 바랍니다. 또한 방화벽과
L4 스위치 등 보안장비가 있다면 https를 위한 해당 포트를
모두 허용하여 주시기 바랍니다. IIS 서버의 경우 ‘Netstat –na |
findstr 포트번호’, 아파치 서버의 경우 ‘Netstat –na | grep
포트번호' 명령어를 이용하여 https를 위한 포트가 활성화되어
있는지 확인할 수 있습니다. 위의 모든 내용을 확인한 후에도
정상적으로 동작하지 않을 경우 해당 업체에게 문의하시기 바랍니다.
CSR을 생성하실 경우 해당 정보는 모두 영문으로 작성하여
주셔야 하며 특수문자는 사용하시면 안됩니다. 또한 입력을
요청하는 모든 내용을 입력하시고 다시 한 번 작업을 하시기 바랍니다.
위의 모든 내용을 확인 한 후에도 정상적으로 동작하지 않을 경우
해당 업체에게 문의하시기 바랍니다.
⑦ 운영중인 웹 서버 종류를 다른 기종으로 변경하려 합니다.
개인키와 인증서를 백업하신 후 재설치하여 사용이 가능합니다.
다만 일부 웹 서버 종류는 인증서 및 개인키의 호환이 안되는 경우가
있으니 서버 이전 또는 변경 전 설치 업체에게 반드시 사전 문의 후
작업을 진행하시기 바랍니다.
⑧ https로 접속하면 페이지를 표시 할 수 없다는 페이지가 보입니다.
⑨ CSR 생성이 정상적으로 되지 않습니다.
28 보안서버 구축 가이드
⑩ 아직 도메인이 없는데 IP를 대상으로 인증서 발급이 가능합니까?
인증서는 고유의 식별자를 대상으로 발급됩니다. 즉 개인은
주민등록번호를 기준으로 발급되며 법인은 사업자등록번호로
발급되고, 서버는 도메인을 기준으로 발급되기 때문에 IP 또는
서버이름으로는 발급되지 않습니다. 따라서 도메인을 등록하시거나
서버의 호스트 이름으로 인증서를 신청하셔야 합니다.
⑪ 서브(Secondary) 도메인에 대해서도 보안서버를 적용하고 싶습니다.
어떤 방법이 있을까요?
일반적인 보안서버 인증서는 Host*Domain 단위로 발급되고
적용되게 됩니다. 다른 Host*Domain에 대해서도 보안을 적용하고자
한다면 전문업체와 협의하여 적합한 제품을 구축하셔야
합니다.
⑫ SSL 인증서를 발급 받았는데 도메인의 IP를 변경해도 괜찮은가요?
인증서는 특정 IP로 제한하여 발급되지 않으며, www.test.co.kr처럼
도메인 이름으로 발급이 됩니다. 따라서 IP를 변경해도 무관합니다.
⑬ 인증서 기간이 만료되어 새로 발급받으려고 하는데 CSR 파일을
전에 사용하던 것으로 가능한가요?
보통 웹 서버에서 예전에 사용하던 CSR 파일의 사용이 가능합니다.
그러나 보안상의 이유로 추천하지 않습니다. 인증서를 갱신하실 때마다
새로이 CSR 파일을 생성하시는 것이 좋습니다. 또한 웹 서버
종류마다 반드시 CSR을 생성해야 하는 서버가 있으니 새로
발급받으시기 전에 전문업체에게 문의하시기 바랍니다.
보안서버 구축 가이드 29
⑭ 보안서버가 구축되었는지 확인을 어떻게 하나요?
일반적으로 보안서버가 구축되어 있으면 https://URL로 확인이
가능합니다. 하지만 https://URL을 통해서도 확인이 되지 않는
경우가 있으니 전문업체에게 확인을 하시면 보다 정확하게 진단을
받으실 수 있습니다.
⑮ 우리가 사용하고 있는 서버에 보안서버 설치가 가능하나요?
기본적으로 모든 웹 서버에는 인증서 방식의 보안서버가 설치
가능하지만 서버 환경에 따라서 별도의 작업이 필요할 수도 있습니다.
보안서버 신청 및 설치 전에 전문업체에게 문의하신 후 작업을
진행하시기 바랍니다.
반드시 확인이 필요한 서버는 Apache, Tomcat 등이 있습니다.
출처 : http://jinjin707.tistory.com/117
Posted by 1010
98..Etc/Server2008. 11. 27. 13:17
반응형

Apache 웹서버에 SSL를 적용하기 위해 아래 두 항목이 웹서버에 설치되어 있어야 합니다.

- Openssl 암호화 라이브러리
- Mod_ssl 모듈

위 두 항목이 웹서버에 설치되어 있다면 개인키를 생성하고 생성된 개인키를 바탕으로 CSR 파일을 생성합니다.
생성된 CSR 파일을 한비로에 접수하여 정식 인증서를 발급받습니다.
발급된 인증서를 웹서버에 설치하게 되면 SSL 설정을 완료하게 됩니다.

위 일련의 진행사항은 아래와 같은 절차를 따르게 됩니다.

1. openssl 라이브러리 설치상태 확인
2. mod_ssl 모듈 설치상태 확인
3. 개인키 생성
4. CSR 생성
5. 한비로에 접수
6. 정식 인증서 발급
7. SSL 설정
사용자 삽입 이미지


1. Openssl 라이브러리 설치상태 확인

먼저 SSL를 설치하고자 하는 웹서버에 openssl 라이브러리 설치상태를 find 명령어를 활용하여 아래와 같이 확인합니다.
사용자 삽입 이미지
위와 같은 값을 보인다면 openssl 라이브러리 모듈은 rpm으로 설치된것입니다.
만약에 경로가 /usr/local 아래 있다면 모듈은 소스로 설치된 것입니다.
rpm으로 설치된 것이라면 rpm -qa 명령어를 사용하여 openssl-devel 설치여부도 함께 점검합니다. 버전에 따라 라이브러리 버전이 아래보이는 값과 차이가 있을수 있습니다.

사용자 삽입 이미지
Openssl 은 암호화 처리를 위한 독립 모듈로 최신버젼으로 설치하는 것을 권장합니다.


2. Mod-ssl Openssl 라이브러리 설치상태 확인

Openssl 과 마찬가지로 웹서버의 mod_ssl 설치여부를 점검합니다.
Apache 웹서버는 두가지 방식으로 모듈설치를 지원하고 있습니다. 정적과 동적인 방식으로 정적으로 설치된 경우는 아파치의 재설치까지 요구되며 동적인 경우는 손쉽게 모듈 설치가 가능합니다.
Apache 가 /usr/local 아래 설치된 것을 기준으로 아래와 같은 방식으로 확인합니다.

정적으로 설치된 mod_ssl 모듈확인
사용자 삽입 이미지

동적으로 설치된 mod_ssl 모듈확인
사용자 삽입 이미지

웹서버에 설치된 모듈중 mod_so.c 를 먼저 확인후 동적으로 설치된 모듈중 mod_ssl.so 를 확인합니다.
동적으로 설치된 경우 apache 설치 디렉토리의 module 이나 libexec 디렉토리내에 mod_ssl.so 의 존재여부를 확인합니다.


3. 개인키 생성

Openssl 명령어를 이용하여 웹서버의 RSA키( 1024비트 암호화 )를 생성합니다. ( sslhanbiro.key 는 임의로 지정된 키값입니다. 원하는 이름으로 키를 생성합니다. )
패스워드를 지정하게 됩니다. 이때 입력된 패스워드는 차후 여러차례 사용되므로 본인만이 알 수 있는 패스워드로 지정해 주시는 것이 좋습니다.
사용자 삽입 이미지
이때 생성되는 개인키는 반드시 백업을 받아놓고 사용하는 것이 좋습니다.
생성된 키는 아래와 같이 확인이 가능합니다. 패스워드를 확인 하는데 이때는 키생성시 입력한 패스워드를 입력합니다.
개인키 생성까지 완료되면 이제 CSR 생성을 하게됩니다.
사용자 삽입 이미지


4. 인증요청서( CSR ) 생성

*발급이 완료된 인증서는 재발급 또는 변경이 불가하므로 CSR 생성시 절대 주의 바랍니다.

☞ CSR ( Certificate Signing Request ) 이란?


SSL 서버를 운영하는 회사의 정보를 암호화하여 인증기관으로 보내 인증서를 발급받게 하는 일종의 신청서입니다.
CSR은 ASCII 텍스트 화일로 생성됩니다.
CSR을 생성할 때 서버의 식별명을 입력하게 됩니다. 식별명은 각 서버를 공유하게 나타내는 이름으로 다음과 같은 정보를 포함합니다.

Country Name ( 국가코드) [] : KR
State or Province Name ( 지역 ) [] : Seoul
Locality Name ( 시/군/구 ) [] : Seocho
Organization Name ( 회사명 ) [] : Hanbiro Inc
Organizational Unit Name ( 부서명 ) [] : Linux Team
Common Name ( 서비스도메인명 ) [] : www.hanbiro.com
Email Address [] : hanbiro@hanbiro.com

☞ CSR 항목에 대한 설명

Country Name : 이것은 두 자로 된 ISO 형식의 국가 코드입니다.
State or Province Name : 시 이름을 입력해야 하며 약어를 사용할 수 없습니다.
Locality Name : 이 필드는 대부분의 경우 생략이 가능하며 업체가 위치한 곳를 나타냅니다.
Organization : 사업자 등록증에 있는 회사명과 일치되는 영문회사명을 입력하시면 됩니다.
Organization Unit : "리눅스 관리팀", "윈도우 관리팀" 등과 같이 업체의 부서를 입력할 수 있습니다.
Common Name : 인증받을 도메인주소를 입력하시면 됩니다.

이 정보로 웹 사이트를 식별하므로 호스트 이름을 변경할 경우 다른 디지털 ID를 요청해야 합니다.
호스트에 연결하는 클라이언트 브라우저가 디지털 ID의 이름과 URL이 일치하는지를 확인합니다.

☞ CSR 항목 입력시 주의사항
* Common Name 에는 인증서를 설치할 사이트의 도메인의 이름을 정확하게 입력하셔야 합니다.
* Common Name 에는 IP 주소, 포트번호, 경로명, http:// 나 https:// 등은 포함할 수 없습니다.
* CSR 항목에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 68 문자를 넣을 수 없습니다.
* CSR 생성후 서버에 개인키 (Private Key) 가 생성됩니다. 개인키를 삭제하거나 분실할 경우 인증서를 발급받아도 설치가 불가합니다. 따라서 꼭 개인키를 백업받아 두셔야 합니다.
* 정보입력과정 마지막에 나오는 A challenge password 와 An optional company name 두 항목은 입력하지 마시고 Enter 만 누르고 넘어가야 합니다. 두 정보가 입력될 경우 잘못된 CSR 생성될 수 있습니다.

↘ 위 주의사항을 유의하여 아래와 같은 절차로 CSR 생성을 진행합니다.
사용자 삽입 이미지

↘ 생성된 CSR 정보는 아래처럼 확인이 가능합니다.
사용자 삽입 이미지


5. 한비로에 접수--->6. 정식 인증서 발급

생성된 CSR 을 출력하면 아래와 같은 base64 형식의 문서를 볼 수 있습니다.
사용자 삽입 이미지

이문서의 첫 줄 -----BEGIN … 부터 마지막 줄 -----END … 까지 복사하여 지정된 SSL 접수페이지에 복사하여 붙여 넣은 뒤 입력정보와 함께 전송하면 접수가 완료됩니다.

7. 인증서 설치

접수한 CSR 파일이 정상적으로 생성되었다면 별다른 문제없이 인증서를 발급 받을 수 있습니다.
인증서 파일은 신청시 기록한 Email 주소를 통해 인증서를 첨부파일로 수신하게 됩니다.

① 인증서 서버에 복사

메일로 받은 인증서 파일을 압축을 해제하시면 AddTrustExternalCARoot.crt,UTNAddTrustServerCA.crt, 도메인.crt 3개의 파일을 보실 수 있습니다.
여기에서 필요한 파일은 UTNAddTrustServerCA.crt,도메인.crt 2개의 파일입니다.
이 파일을 서버에서 적절한 위치에 복사합니다.

② 웹서버 환경설정

아파치가 설치된 디렉토리로 이동하여 conf 디렉토리내의 httpd.conf 파일의 복사본을 만들어 둡니다.
웹서버 설정의 기본이 되는 파일로 만일의 경우를 대비하여 백업본을 유지하는 것이 좋습니다.
백업이 완료되면 vi 편집기를 이용하여 httpd.conf 내용중 아래사항을 설정하신 정보에 맞게끔 수정합니다.

httpd.conf 예문
사용자 삽입 이미지

1. <VirtualHost 127.0.0.1:443> 127.0.0.1 를 사용하는 장비의 아이피로 변경
 - 443 : SSL 통신포트번호 입니다. 일반적으로 웹서버는 80 포트를 사용합니다.
2. SSLEngine 스위치 off 를 on 으로 변경해 줍니다.
3. SSLCertificateFile / SSLCertificateKeyFile 에는 인증서의 설치경로와 개인키 파일의 경로를 적어 줍니다.

③ root 인증서 경로설정

SSLCACertificateFile 에는 root 인증서 위치를 알려주는 것으로 유저의 브라우저에 신뢰받는 CA리스트가 없을 경우를 위해 경로를 반드시 지정해 주어야 합니다.


④ 웹서버 재실행
사용자 삽입 이미지

설정파일의 정상적인 수정여부를 점검하기 위한 체크 ./httpd -t
수정된 사항의 적용을 위해 아파치 데몬정지 ./apachectl stop
아파치 데몬 활성화 ./apachectl startssl ( 아파치 데몬 활성화는 ./apachectl start 로 가능합니다. 여기에 ssl 를 붙여줌으로서 ssl 를 사용하게 됩니다. )

초기 개인키 생성시 입력했던 패스워드를 기억하시고 계실겁니다. SSL 실행을 위해 패스워드를 물어보는데 이때 개인키 생성시 입력했던 패스워드를 입력하시면 SSL 웹데몬이 활성화 됩니다.

⑤ 웹서버 포트점검

아래와 같이 활성화된 데몬의 포트를 점검해 봅니다.
사용자 삽입 이미지

⑥ 웹서비스 동작상태 점검

인터넷 주소창에 https://사용도메인 와 입력후 해당 페이지의 정상적인 동작 여부를 점검합니다.
SSL 설정한 사이트에 대한 정상적인 서비스 상태 점검
사용자 삽입 이미지

페이지 하단을 보시면 열쇠 아이콘이 보이게 됩니다. 아이콘을 클릭하게 되면 위와 같이 인증서 정보를 확인하실수 있습니다.


출처 :http://www.comodossl.co.kr/SSL/InstallGuide/Apache.htm

Posted by 1010