1.Apache  download
2.Openssl.org/source download

./config --prefix=/usr/ssl --openssldir=/usr/ssl/openssl


./configure --prefix=/usr/local/apache2.2 --enable-so --enable-shared=max --enable-ssl


 [root@localhost key]# openssl sha1 * > rand.dat
[root@localhost key]# openssl genrsa -rand rand.dat -des3 1024 > key.pem
[root@localhost key]# openssl req -new -key key.pem > csr.pem

tradekorea
====================================================================================
keytool -genkey -keyalg rsa -sigalg "SHA1withRSA" -alias kait -keystore kait

keytool -certreq -alias kait -keyalg rsa -sigalg "SHA1withRSA" -file csr.txt -keystore kait

www.kait.or.kr

Tomcat
[root@localhost key]# keytool -genkey -keyalg rsa -alias cs -keystore keystore

[root@localhost key]# keytool -certreq -alias cs -keyalg rsa -file csr.txt -keystore keystore

[root@localhost key]# keytool -import  -keystore keystore -trustcacerts -file SecureCA-G2.pem  -alias Intermediate

[root@localhost key]# keytool -import  -keystore keystore -trustcacerts -file cert.txt -alias cs


common name
unit
organ
local
state
kr
====================================================================================
WebTOb

CA -newreq

wscfl ?i sample.m




1. 관련 파일을 지정된 디렉토리에 저장합니다.
- ssleay32.dll, libeay32.dll 파일은 C:?WINNT?system 에 copy합니다.
- mod_ssl.so 은 C:?Program Files?Apache Group?Apache2?modules 에 copy합니다.

3. Httpd.conf 파일 설정.
- LoadModule ssl_module modules/mod_ssl.so 의 주석 처리를 제거합니다.
- 아래와 같은 내용이 있는지 확인합니다. (없으면 타이핑하여 추가합니다)
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>

4. ssl.conf 파일 설정
- Listen 443 을 주석 처리를 제거합니다.
SSLSessionCache none 을 주석 처리를 제거합니다.
SSLMutex none 을 주석 처리를 제거합니다.
<VirtualHost 192.168.xxx.xxx:443>
DocumentRoot “c:/my/webpages” ? 홈페이지 디렉토리
ServerName www.my-server.com:443 (or 192.168.xxx.xxx:443) ? URL 또는 IP
ServerAdmin my@email.com
ErrorLog logs/error_log
TransferLog logs/access_log
SSLEngine on
LogLevel info (없으면 타이핑하여 추가합니다)


아파치 재구동
- 2점대 $ apache ?D SSL (bin폴더 cmd에서 실행)
- 2.2점대 $ httpd ?D SSL
openssl rsa -in server.key.org -out server.key

openssl 설치

1. winnt/system32 디렉토리에 openssl.exe , ssleay32.dll , libeay32.dll 복사한다.
2. 도스창에서
  winnt/system32/regsvr32 libeay32.dll
  winnt/system32/regsvr32 ssleay32.dll (등록)
3. openssl 패스설정
  iis 4.0? 제어판 -> 시스템 -> 환경탭 -> path (openssl.exe 가 있는 디렉토리까지)
  iis 5.0? 제어판 -> 시스템 -> 고급 -> 환경변수 -> 시스템 변수
   - path (openssl.exe 가 있는 디렉토리까지)


Openssl 명령어

1. 아파치에서 키파일 패스워드 변경하는 방법.
 $ openssl rsa -des3 -in key.pem -out newkey.pem
 pass-phrase 를 물어보면...
 처음에는 기존 패스워드 입력, 두번째는 새로운 패스워드 입력.
 $ mv newkey.pem key.pem

2. 아파치에서 키파일 패스워드 삭제하는 방법
 $ openssl rsa -in key.pem -out newkey.pem

3. 아파치에서 키파일 삭제한 패스워드 복구하는 방법
 $ openssl rsa -in key.pem -des3 -out newkey.pem
 
4. 비밀키에 패스문(pass phrase) 설정하는 명령어
 $ openssl -in out filename.key(키파일) -des3 -out newfilename.key(패스문 없는 키파일)
        
5. pfx파일에서 키,인증서파일 추출하기
 $ pkcs12 -in filename.pfx -nocerts -out key.pem -> 키파일 추출
 $ pkcs12 -in filename.pfx -clcerts -nokeys -out cert.pem -> 인증서파일 추출



6. 키,인증서파일에서 .pfx파일로 변환하기
 $ pkcs12 -in cert.pem -inkey key.pem -export -out test.pfx

7. ?CSR 확인
 $ req -in filename(csr파일) -text

8. 인증서 확인
 $ x509 -in filename(인증서파일) -text -out outfilename(출력할 파일)

9. Global 인증서 쪼개서 보내기
 $ pkcs7 -in filename(인증서파일) -print_cert -out outfilename(출력할 파일)

10. 개인키와 공개키 보기
 $ rsa -in key.key -text

11. rsa 개인키 보여줌(pem 형식)
 $ rsa -in key.key -check

12. 모듈을 보여줌
 $ rsa -in key.key -modulus x509 -in cert.pem -modulus

13. text 형식을 pem 형식으로 바꾸기
 $ x509 -in filename.txt -out filename.pem

14, DER 형식을 pem 형식으로 바꾸기
 $ x509 -in cert.cer -inform DER -out cert.pem -outform PEM
 (참고로 웹로직을 사용하는 유닉스 환경에서는 이에 해당하는 명령어가..
 $ java utils.der2pem derFile명이다.
 (예, $java utils.der2pem designkey.der) east4620

15.pem 형식을 DER 형식으로 바꾸기
 $ x509 -in cert.pem -inform PEM -out cert.der -outform DER



* 인증서 finger.spc와 finger.pvk를 pfx형태로 변환합니다.
> pvkimprt -pfx finger.spc finger.pvk

* pfx형태로 변환된 파일을 openssl을 사용하여 pem으로 변환합니다.
> openssl pkcs12 -in finger.pfx -out finger.pem

* 변환된 pem파일을 pkcs형식의 keystore로 변환합니다.
> openssl pkcs12 -export -in finger.pem  -name finger -out finger.p12

* 변환한 p12형식의 인증서로 jarsigner를 통해 jar파일에 서명합니다.
> jarsigner -keystore finger.p12 -storepass finger21 -storetype pkcs12 SignedAppletDemo.jar finger

* 서명이 잘 되었는지 확인
> jarsigner -verify SignedAppletDemo.jar


-------------------------------------------------------
openssl pkcs12 -export -in 파일명(1번에서 합친 파일명) -name finger -out finger.p12



---------selt sign------
openssl req -new -x509 -nodes -out test.pem -keyout test.pem -days 365

1. Demo CA 설정
- 현재 디렉토리에 demoCA 디렉토리 생성 : mkdir demoCA
- demoCA 디렉토리 안에 시리얼 파일 생성 : serial 이란 이름의 text 파일에 00 을 적는다.
- index 파일 생성 :  index.txt 란 이름으로 빈 파일을 만든다.

2. CA 인증서 생성
- CA 개인키 생성 :  openssl genrsa -des3 -out ca.key 1024
- Self-Signed CA 인증서 생성 :  openssl req -new -x509 -days 365 -key ca.key -out ca.crt

3. 하위 인증서 생성 (예: HTTPS Web 서버용..)
- server 개인키 생성 : openssl genrsa -des3 -out server.key 1024
- server 인증서 발급을 위한 요청파일 생성 : openssl req -new -days 365 -key server.key -out server.csr
- server 인증서 발급 : openssl ca -in server.csr -out server.crt -keyfile ca.key -cert ca.crt -outdir .

위 작업의 결과로 server.crt 라는 server용인증서가 생성되고 index 파일에 발급내역이, serial이 16진수로 1씩 증가한다.

4. 인증서 인코딩 포멧 변경
- openssl 이 생성하는 인증서의 인코딩은 발급 시 옵션을 주지 않으면 디폴트가 PEM (base64 encoding)이다.
- Java 등에서 사용하기 위한 DER 포맷(바이너리)으로 변경은 다음과 같이 수행한다.
   : openssl x509 -in ca.crt -out ca.der -outform DER

5. 인증서 내용 보기
- openssl x509 -in ca.crt -text   (PEM 포맷인 경우)
- openssl x509 -in ca.der -inform DER -text (DER 포맷인 경우)


------------
Oracle

SSLWalletPassword password

opmnctl [verbose] stopproc ias-component=HTTP_Server
opmnctl [verbose] startproc ias-component=HTTP_Server

Posted by 으랏차
,
Virtual Host 참고사항 : http://bban2.tistory.com/134

-------------------------------------------------------------------------------------------

Virtual Host - Mixed Name & IP-based Virtual Host

1-1. Mixed Named & IP-based Virtual Host 설정

[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

990 NameVirtualHost 192.168.0.7:80

1012 <VirtualHost 192.168.0.7:80>
1013     ServerAdmin root@bban2.co.kr
1014     DocumentRoot /var/www/html
1015     ServerName www.bban2.co.kr
1016 </VirtualHost>                                    - Named-based Virtual Host
1017
1018 <VirtualHost 192.168.0.7:80>
1019     ServerAdmin root@bban2.co.kr
1020     DocumentRoot /www2
1021     ServerName www2.bban2.co.kr
1022 </VirtualHost>                                   - Named-based Virtual Host
1023
1024 <VirtualHost 10.10.33.3:80>            
1025     ServerAdmin root@bban2.co.kr
1026     DocumentRoot /www1
1027     ServerName www1.bban2.co.kr
1028 </VirtualHost>                                   -  IP-based Virtual Host

[root@localhost ~]# httpd -t
Syntax OK

-------------------------------------------------------------------------------------------

1-2. Forward Zone 파일 설정

[root@localhost ~]# vi /var/named//chroot/var/named/dns.for
[root@localhost ~]# cat /var/named//chroot/var/named/dns.for
$TTL    86400
@               IN SOA  bban2.co.kr. root.bban2.co.kr. (
                                       42              ; serial (d. adams)
                                       3H              ; refresh
                                       15M             ; retry
                                       1W              ; expiry
                                       1D )            ; minimum
               IN NS           bban2.co.kr.
               IN A            192.168.0.7
www             IN A            192.168.0.7

www1            IN A            10.10.33.3
www2            IN A            192.168.0.7

[root@localhost ~]# rndc reload
server reload successful

-------------------------------------------------------------------------------------------

1-3. /www2 폴더 생성

[[root@localhost ~]# mkdir /www2
[root@localhost ~]# cd /www2
[root@localhost www2]# vi index.html
[root@localhost www2]# cat index.html
Hello!!
Here's www2.bban2.co.kr

Named-based Virtual Host

-------------------------------------------------------------------------------------------

1-4. http 서비스 재시작

[root@localhost network-scripts]# service httpd restart
httpd 를 정지 중:                                          [  OK  ]
httpd (을)를 시작 중:                                      [  OK  ]

-------------------------------------------------------------------------------------------

1-5. 웹브라우저에서 홈페이지 확인

[root@localhost network-scripts]# host www.bban2.co.kr
www.bban2.co.kr has address 192.168.0.7
[root@localhost network-scripts]# host www1.bban2.co.kr
www1.bban2.co.kr has address 10.10.33.3
[root@localhost network-scripts]# host www2.bban2.co.kr
www2.bban2.co.kr has address 192.168.0.7

www.bban2.co.kr


www1.bban2.co.kr


www2.bban2.co.kr


저작자 표시 비영리 변경 금지
Posted by 으랏차
,

SIS

카테고리 없음 2009. 6. 16. 15:33

1. 수동적(Passive)공격 : 네트워크나 시스템 정보를 보기만 하는것

   스니핑 : 전화도청처럼 네트워크에서 주고받는 데이터(패킷)를 스니퍼등의 툴을이용해 몰래 훔쳐봄.

             Promiscuous Mode를 지원하는 네트워크어텝터가 작동되어 있는 경우 서브넷을 통과하는 모든 패킷들을 볼수 있게됨.


2. 능동적(Active)공격 : 네트워크나 시스템의 취약점을 이용해 데이터를 변조하거나 수정하는것

  1) 세션하이제킹

    - TCP Sequence Number Attacks : 공격자가 TCP프로토콜 중 시퀀스 넘버를 예상해서 TCP패킷을 임의로 조작하여 자신을 위장하는

      방법으로 IP 스푸핑 이라는 해킹기법에서 사용됨

 

    -  IP Spoofing : 자신을 타인이나 다른 시스템에게 속이는 행위. 예를들면 특정호스트에만 접근권한이 주어진 경우 공격자는 자신이

       특정호스트로부터 접근하려는 것처럼 속이려 하는 것이다. 즉 자신의 주소를 속여서 상대방에게 정상적인 인증을 받아내는것을

       일컬음.

 

     - Dns Spoofing : DNS를 기반으로한 인증체계를 속이는 공격방법.

 

   2) DOS

      -Teardrop : ip 조각들을 정확하게 조정하기 않음으로써 생기는 공격. 보통 시스템은 MTU에 기초하여 그보다 큰 것은 체크하는

        반면   작은것은 정상적으로 체크하지 않는다. 공격자들은 이점을 이용하여 교묘하게 짜맞춰진 작은 패킷들을 목표시스템으로

        보냄으로써 시스템의 Crash를 야기 시키는 공격.

 

      - Smurf공격 : ip spoofing과 ICMP의 조합으로 이루어진 공격으로 공격자, 증폭네트웍, 목표시스템의 3가지 구성된 요소필요.

       

      -TCP SYN Flooding공격 : TCP의 취약점을 이용한 공격형태. TCP연결시 시행되는 3way Handshaking의 특징을 이용한 공격으로 초기

        SYN패킷을 빠르게 반복적으로 계속하여 목표 시스템에 보내는것이다.

 

      - 메일폭풍 : 한 호스트에 계속 메일을 보냄으로써 그 호스트의 메일 시스템을 마비시키는것.

 

    3) 기타(자바 애플릿, 소스라우팅 문제)

 

※참고문헌 : 정보보호 핵심지식,도서출판 정일

Posted by 으랏차
,