apache 2.x에 사설 ssl 인증서 설치하기

아파치와 mod_ssl에 연동하는 부분에 대해서는 따로 설명하지 않겠습니다.

개인키 생성
openssl genrsa -des3 -out server.key 1024

csr 키 생성
openssl req -new -key server.key -out server.csr

개인키에서 패스워드 삭제하기
openssl rsa -in server.key -out server.key.insecure
mv server.key server.key.secure
mv server.key.insecure server.key

CA 인증서 생성

openssl x509 -req -days 1280 -in server.csr -signkey server.key -out server.crt

apache 2.x 설정

Include conf/extra/httpd-ssl.conf 주석 해제

httpd-ssl.conf 설정

<VirtualHost 192.168.100.1>

#   General setup for the virtual host
DocumentRoot "/www/test"
ServerName www.test.com
ServerAdmin sysadmin@test.com
ErrorLog "/logs/test.com-error_log"
TransferLog "/logs/test.com-access_log"

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.
SSLEngine on

SSLCertificateFile "/usr/local/apache2/conf/server.crt"
SSLCertificateKeyFile "/usr/local/apache2/conf/server.key"


마지막으로 아파치를 재구동 해줍니다.
/usr/local/apache2/bin/apachectl restart

https://도메인 접속

출처 : http://richlino.egloos.com/1930758

by 인처리 | 2010/03/29 14:40 | 서버 | 트랙백 | 덧글(0)

tcpdump 명령어 간단한 요약

tcpdump 명령어의 수많은 옵션중 직접 사용해본 몇가지(이해 한 것만) 요약해 놓는다.
화면 캡처하는걸 깜박했다.

-A ......... 패킷의 내용을 ASCII코드로 화면에 보여준다.
-c8 ........ 8개의 패킷을 캡쳐하고 종료한다.
-D ......... 패킷을 캡쳐하는데 사용할 수 있는 인터페이스를 보여준다.
-i ......... 사용할 인터페이스를 지정한다.
             -D옵션의 결과로 나오는 숫자도 사용이 가능하다.
-n ......... 호스트명과 포트번호를 숫자로 표시한다.
-q ......... 프로토콜 정보를 간략하게 보여준다.
-t ......... 패킷을 캡쳐한 시간을 출력하지 않는다.
             시간 출력을 다루는 옵션이 더 있다. -tt, -ttt, -tttt
-v ......... 좀더 자세한 정보를 보여준다.
             -vv, -vvv 옵션도 있다.
-x ......... 패킷의 내용을 16진수로 보여준다.
             -xx 옵션도 있다.
-X ......... 패킷의 내용을 16진수와 ASCII코드로 보여준다.
             -XX 옵션도 있다.

! 를 붙이면 조건이 반대가 된다.
src 192.168.10.100            패킷의 출발지 ip가 192.168.10.100인 패킷
dst 192.168.10.100            패킷의 목적지 ip가 192.168.10.100인 패킷
src or dst  192.168.10.100    패킷의 출발지ip나, 목적지 ip가 192.168.10.100인 패킷
host 192.168.10.100           패킷의 출발지ip나, 목적지 ip가 192.168.10.100인 패킷


src net 192.168.10.0/24       패킷의 출발지 주소가 192.168.10.0/24 네크웍에 해당하는 패킷
dst net 192.168.10.0/24       패킷의 목적지 주소가 192.168.10.0/24  네크웍에 해당하는 패킷
net 192.168.10.0/24           패킷의 출발지 주소나 목적지 주소가 192.168.10.0/24 네크웍에 해당하는 패킷


src port 22         소스포트가 22번인 패킷을 캡쳐한다.
dst port 22         목적지포트가 22번인 패킷을 캡쳐한다.
port 22             소스포트나, 목적지 포트가 22번인 패킷을 캡쳐한다.
portrange 1-1024    소스포트나, 목적지 포트가 1-1024번인 패킷을 캡쳐한다.



원본 출처 : http://withcom.kr/b_l_tip/399

by 인처리 | 2010/03/17 11:21 | 서버 | 트랙백 | 덧글(0)

rootkit hunter

간단하게 이용할 수 있는 보안 점검 tool 하나를 소개하려고 합니다.

rootkit은 허가없이 시스템 관리자의 권한을 얻고, 그 권한을 이용해서 자신이 목적하는 어떠한 작업을 수행하기 위한 소프트웨어들을 이야기 합니다.  자주 쓰는 명령어의 파일을 변조하기도 하고, 커널 모듈과 같은 형태로 동작하기도 합니다.

겉으로는 정상적인 작업을 수행하는 것처럼 보이기 때문에 설치 여부를 파악하기 힘들고, 일부 커널 레벨에서 동작하는 경우에는 더 어렵습니다. 요즘 이슈가 되고 있는 여러가지 가상화 환경에서는 이러한 rootkit들이 커널보다도 더 높은 레벨에서 동작하는 경우도 있어서 점점 더 확인이 어려운 문제가 있습니다.

이런 점에서 z/vm이 가장 안전하다고 할 수 있겠네요 ^^;

rkhunter는  이름에서도 알 수 있듯이 주 기능은 시스템에 rootkit이 설치되어 있는지를 검사하는 것입니다. 거기에 더해서, 주요 파일들의 소유권과 권한에 대한 점검과 데몬들의 설정 중에서 보안에 취약한 부분이 있는지 검사하는 기능을 가지고 있습니다. POSIX를 지원하는 OS들에는 대부분 사용이 가능하며 zlinux를 포함한 linux에서는 기본 설정을 수정없이 사용할 수 있습니다. 비슷한 tool로는  chrootkit 가 있습니다.

rkhunter의 홈페이지는 http://rkhunter.sourceforge.net/ 이며, 다운로드는 http://www.rootkit.nl/projects/rootkit_hunter.html 에서 받을 수 있습니다. 현재 최신버전은 1.3.4이네요.

[설치]

다운받은 파일을 압축을 풀면 “rkhunter-버전”과 같은 디렉토리가 생성됩니다.  

[root@newmain src]# ls
rkhunter-1.3.4.tar.gz
[root@newmain src]# tar xzf rkhunter-1.3.4.tar.gz
[root@newmain src]# ls
rkhunter-1.3.4  rkhunter-1.3.4.tar.gz

새로 생성된 디렉토리에는 files라고 라는 디렉토리와 installer.sh가 있는데 files 디렉토리에 README 파일을 보면 설치 방법이 나와 있습니다. 
[root@newmain src]# cd rkhunter-1.3.4
[root@newmain rkhunter-1.3.4]# ls
files  installer.sh

[root@newmain rkhunter-1.3.4]# ./installer.sh –layout default –install

Checking system for:
 Rootkit Hunter installer files: found. OK
 Available file retrieval tools:
    wget: found. OK
Starting installation/update

Checking PREFIX /usr/local: exists, and is writable. OK
Checking installation directories:
 Directory /usr/local/share/doc/rkhunter-1.3.4: exists, and is writable. OK
- 중간생략 -

Installation finished.
You have new mail in /var/spool/mail/root

[실행방법]

여러가지 옵션이 있는데 가장 간단한 사용법은 check 옵션을 사용합니다. 검사 항목에 대한 자세한 출력 내용은 길어서 생략합니다.

[root@newmain ~]# rkhunter  –check

[ Rootkit Hunter version 1.3.4 ]

Checking system commands…
Checking for rootkits…

Checking the network…

Checking the local host…

Checking application versions…

System checks summary
=====================

File properties checks…
    Required commands check failed
    Files checked: 130
    Suspect files: 6

Rootkit checks…
    Rootkits checked : 118
    Possible rootkits: 0

Applications checks…
    Applications checked: 7
    Suspect applications: 3

점검 결과는 /var/log/rkhunter.log 로 저장됩니다.

점검 결과중에는 단순히 xinetd를 이용하는 서비스가 실행중이라는 이유로 warning으로 표시하는 등  아쉬운 점이 있습니다만,  tripwire라고 하는 파일변조를 탐지하는 tool과 연동도 되고 간편하게 보안 점검사항들을 확인해 보는 용도로 사용하기에는 좋을 것 같습니다.

요즘 DDOS 공격 같은 보안 문제들이 자주 발생하고 있는데,  zlinux의 경우 대부분이 사내망에서만 사용해서 상대적으로 안전한 편이지만  일부 환경에서는 외부에서 접속이 가능하도록 개방되어 있는 시스템들도 운영되고 있어서 앞으로는  zlinux의 보안에도 관심을 가져야 할 것 같습니다.

원본 출처 - http://www.zlinuxtoday.com/z/?p=244

by 인처리 | 2010/03/16 16:50 | 서버 | 트랙백 | 덧글(0)

FTP 연결과정(passive, Active)

FTP Passive mode Active mode

 

FTP 서버의Passive 모드는명령어연결(Control connection)데이터연결(Data Connection)분리해서접속하는방식이다.

 

1. Active 모드


Active
모드는클라이언트가보내준정보를기준으로서버에서클라이언트의Data 포트에접속을시도한클라이언트의요청에따라데이터를전송하는방식이다.

하지만Ip 공유기등사설IP에서접속을시도할경우클라이언트의Data 포트가막힐가능성이있기때문에500 Illegal PORT command 같은오류를출력할있다.

명령은전달이되었지만실제적으로전송을담당하는데이터포트가막혀서데이터를전송못할가능성이있다.

연결과정

1. FTP 클라이언트에서-> FTP서버IP xxx.xxx.xxx.xxx 포트21 번으로접속

2. FTP서버의21 포트-> FTP클라이언트1023(n) 이상의Command 포트로응답(서버에서클라이언트의Command 포트로응답. FTP클라이언트Command 포트는random 할당된.)

여기까지는Passive 모드와동일

3. FTP서버의20FTP-data포트-> 클라이언트n+1 FTP-data포트로접속요청(서버에서클라이언트의data포트로접속요청), 서버ftp-data포트(20) -> 클라이언트ftp-data포트(n+1)접속요청, syn 요청

4. FTP클라이언트n+1 FTP-data포트에서-> FTP서버의20FTP-data포트로응답(클라이언트에서서버의data포트로응답), 클라이언트ftp-data(n+1) 에서서버ftp-data(20)으로응답syn+ack

5. 서버ftp-data(20) -> 클라이언트ftp-data(n+1) 수신응답, ack, data 전송.

 

*실제로포트번호는정해진것이아닌1023포트이상에서서버나클라이언트가정함

연결과정에있어서클라이언트는서버에접속할때PORT xxx,xxx,xxx,xxx,yy,nn 이런식의메세지를전달한다. 여기서xxx IP Address나타내고포트는마지막부분yy,nn 부분이다.

포트번호는(yy * 256) + nn 으로결정이되어클라이언트의포트를서버에알려준다.

 

2.  Passive 모드

 

Passive 모드는데이터포트와명령포트전부클라이언트에서서버로연결을하는방식이다.클라이언트의공유기의간섭없이서버와의통신이가능하다. 하지만클라이언트에서접속하는있어서열어포트가서버의방화벽에서막혀있지않아야한다.

연결과정

1. FTP 클라이언트에서-> FTP 서버IP xxx.xxx.xxx.xxx 포트21번에접속

2. FTP 서버의21포트-> 클라이언트1023(n) 이상의포트(서버에서클라이언트의Command 포트로응답). 여기까지는Active 모드와동일

3. 클라이언트ftp-data n+1 포트-> FTP서버의Passive 설정된범위의포트로접속요청(클라이언트에서접속), 클라이언트ftp-data포트(n+1) -> 서버ftp-data포트(passive port range)접속요청, syn 요청

4. FTP서버의Passive 설정된범위의포트-> 클라이언트n+1 포트로수신응답. syn+ack

5. 클라이언트ftp-data n+1 포트-> 서버의Passive 설정된범위의포트로응답. ack

   Connection 이루어지고, data 전송.


포트의범위는서버의서비스에간섭이없는범위내에서적당히설정한다. 여기서적당히는클라이언트의접속량에따라다르다. 서비스의경우8080포트등으로운영이있고IRC 기타서비스의간섭이없는범위내에서포트를설정해야한다. 보통1000~2000 사이의범위를정해서포트를열어둔다.

 

 

 

 

3. 설정방법

* 아래설정방법에서시작끝은포트범위를나태낸다.

LINUX 서버

- wu-ftpd

/etc/ftpaccess
passive ports 0.0.0.0/0
시작

proftpd

/etc/proftpd/conf/proftpd.conf

PassivePorts 시작

 

- vsftpd

/etc/vsftpd/vsftpd.conf

pasv_enable=YES

pasv_min_port=시작

pasv_max_port=

* 리눅스서버의Passive 모드설정할때는ip_conntrack 모듈이필요하다. 모듈은열려있는포트가몇번포트에의해서연결이되었는지정보를담고있다.

정보를담고있는부분은/proc/net/ip_contrack 존재한다. 커널모듈을등록시켜줘야한다.

modprobe ip_conntrack

modprobe ip_conntrack_ftp

Iptable 설정

/etc/sysconfig/iptable-config 파일내의IPTABLES_MODULES 항목을추가하거나주석을제거한다.

IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp"

iptables -A INPUT -p tcp --sport 1024:65535 --dport [포트시작]:[포트끝] -m state --state ESTABLISHED,RELATED -j ACCEPT

Windows 서버
1.
시작- 제어판- 관리도구- 인터넷정보서비스- 로컬컴퓨터- 속성- 메타베이스직접편집허용체크

2. C:\%SystemRoot%\system32\inetsrv\metabase.xml 열기

3. PassivePortRange="시작-" 으로수정

4. metabase.xml 저장

5. IIS 재시작

6. Ipsec, 또는방화벽에설정한포트번호추가

* Windows 2000 에서는HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Msftpsvc\Parameters\ REG_SZ 값으로PassivePortRange 값을추가한다.

 

by 인처리 | 2010/03/15 16:57 | 서버 | 트랙백 | 덧글(0)

윈도우 perf monitor Logical Disk 않보일때

기본적으로 윈도우 깔릴때 퍼포먼스 모니터에 disk 관련 모니터링은 off 되어있다.
diskperf -Y를 하면 Logical, Physical 디스크에 대한 모니터링이 가능하다.
단 재부팅 필요.

by 인처리 | 2007/12/28 15:04 | 서버 | 트랙백 | 덧글(0)

◀ 이전 페이지다음 페이지 ▶