'2009/11'에 해당되는 글 27건

  1. 2009/11/30 DSR - Dynamic Source Routing Protocol
  2. 2009/11/29 USB 자동실행 Autorun 기능 차단 방법
  3. 2009/11/27 ipvsadm을 이용한 LVS 시스템 구축
2009/11/30 16:55

DSR - Dynamic Source Routing Protocol


* hop-by-hop 라우팅 프로토콜이 아닌 source routing 기반

* route discovery, route maintenance 메커니즘을 정의

* route discovery

- Source node가 Destination까지의 경로를 찾는 과정 (캐쉬에 경로가 없을 때)
- ROUTE REQUEST 패킷을 broadcast, 이는 망에서 flood 됨
- RREQ메시지에 route record 포함 -중간 노드에서 순서대로 추가
- 중복방지를 위한 sequence number
- Destination node에서 ROUTE REPLY 패킷을 전송
- Route discovery의 cost를 줄이기 위해 각 node는 source route의 캐쉬를 유지
--- learned, overheard
--- RREQ의 propagation 범위를 줄이는 효과


* route maintenance
- 사용중인 route를 monitor 하여 link failure 검출
--- link level ACK
--- passive ACK : 패킷을 next hop에 보낸후, next hop이 패킷을 forwarding하는지 overhearing
- Link failure를 검출한 host는 ROUTE ERROR패킷을 source에게 전송
- Cache 내에서 해당 route를 모두 삭제
 
* Route Discovery 최적화
- Overheard, Forward한 routing information을 cache함 - route discovery 빈도를 줄임
- ROUTE REQUEST 의 propagation을 줄이기 위해 cache된 route를 사용하여 응답
- ROUTE REPLY Storm이 발생할 수 있음 - 목적지 경로까지의 홉수에 비례하는 ‘delay’를 주어 방지, Source가 최단 경로를 먼저 받을 수 있음
 
* Route Maintenance 최적화
- 만약 overheard 패킷의 경로보다 더 빠른 경로를 알고 있으면, gratuitous Route Reply를 보내 더 빠른 경로를 유지할 수 있도록 함

- 각 노드는 RouteError를 야기했던 data packet을 복원하려는 시도를 함
- 받은 RouteError를 RouteRequest에 piggyback - stale 된 경로를 널리 알리기 위해
- RouteError메시지를 엿들어 자기 cache와 확인



* DSR이 다른 MANET 라우팅 프로토콜(DSDV,TORA,AODV)에 비해 좋은 성능


linux Source routing 적용 & 삭제 방법

** 적용방법 **

## 처음 상태
ezWall# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup 253

## 라우팅을 위한 rule 을 생성한다
ezWall# ip rule add from 192.168.1.50/32 table 200

## 생성된 후
ezWall# ip rule list
0:      from all lookup local
32765:  from 192.168.1.50 lookup 200
32766:  from all lookup main
32767:  from all lookup 253

## 생성된 rule 에 라우팅을 추가한다
ezWall# ip route add 0.0.0.0/0 via 192.168.1.35 table 200

## 생성된 후
ezWall# ip route list table 200
default via 192.168.1.35 dev eth3

## cache를 삭제하여 라우팅을 적용한다
ezWall# ip route flush cache

## 적용된 후 -- 라우팅 테이블 변경사항은 표시되지 않는다
ezWall# ip route
192.168.1.0/24 dev eth3  proto kernel  scope link  src 192.168.1.1
218.145.125.0/24 dev eth0  proto kernel  scope link  src 218.145.125.32
default via 218.145.125.1 dev eth0

ezWall# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U        40 0          0 eth3
218.145.125.0   0.0.0.0         255.255.255.0   U        40 0          0 eth0
0.0.0.0         218.145.125.1   0.0.0.0         UG       40 0          0 eth0

** 삭제방법 ** 

## 설정된 rule 을 삭제한다
ezWall# ip rule list
0:      from all lookup local
32765:  from 192.168.1.50 lookup 200
32766:  from all lookup main
32767:  from all lookup 253

ezWall# ip rule del from 192.168.1.50 table 200

## 삭제된 후
ezWall# ip rule list
0:      from all lookup local
32766:  from all lookup main
32767:  from all lookup 253

## cahe를 삭제하여 라우팅을 적용한다
ezWall# ip route flush cache

## 삭제된 후 -- 라우팅 테이블 변경사항은 표시되지 않는다
ezWall# ip route
192.168.1.0/24 dev eth3  proto kernel  scope link  src 192.168.1.1
218.145.125.0/24 dev eth0  proto kernel  scope link  src 218.145.125.32
default via 218.145.125.1 dev eth0

ezWall# netstat -nr
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.1.0     0.0.0.0         255.255.255.0   U        40 0          0 eth3
218.145.125.0   0.0.0.0         255.255.255.0   U        40 0          0 eth0
0.0.0.0         218.145.125.1   0.0.0.0         UG       40 0          0 eth0



출처 : http://cafe.naver.com/kbnetworking
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0
2009/11/29 13:37

USB 자동실행 Autorun 기능 차단 방법


최근 들어 대용량과 빠른 속도 그리고 휴대성을 고루 갖춘 USB 이동식 저장 매체 (외장형 하드디스크, USB 메모리 스틱 등)의 사용이 많아지면서 USB (Universal Serial Bus)를 통해 전파되는 악성코드의 감염 피해도 증가하고 있다.

감염된 USB 이동식 저장 매체를 사용하는 경우, 사용자 PC의 USB 단자에 연결만 해도 감염되므로 주의가 필요하다.

USB 이동식 저장 매체를 통해 전파되는 악성코드에 대한 이해와 안전하게 USB 이동식 저장 매체를 사용하는 방법에 대해 알아보자.

 

● Autorun (자동실행)이란?

       AUTORUN은 CD-ROM 장치에 CD를 넣거나 이동식 디스크를 USB 포트에 연결할 경우,
       자동으로 사용자가 원하는 특정 프로그램을 실행할 수 있도록
       윈도우에서 사용자 편의를 위해 제공하는 편리한 기능이다.
       그런데 이 자동실행 (Autorun) 기능이 악성코드 감염에 빈번히 악용되고 있다.

       이동식 저장소 장치가 악성코드에 감염됐거나
       악성코드를 자동으로 실행할 수 있는 자동실행 파일이 복사된 경우,
       사용자가 모르는 자동 실행을 통해 시스템이 악성코드에 감염될 수 있으며,
       악성코드 감염 시 정보유출 및 타 악성코드 추가설치 등 다양한 피해가 발생할 수 있다.

       Windows 7에서는 자동실행을 악용한 악성코드의 전파를 조금이나마 줄이기 위해
       CD나 DVD와 같은 읽기 전용 미디어에 대해서는 기존의 자동실행이 동작하지만,
       이동식 저장소 장치의 경우에는 자동실행 옵션을 해제시켜
       사용자의 컴퓨터를 안전하게 지킬 수 있게 했다. 

 

[그림 1] USB 디스크 자동 실행 팝업 창

 

● Autorun 악성코드 감염 경로 및 증상

       USB 메모리는 컴퓨터에 연결하면 이동식 디스크로 설정되어 편리하게 사용할 수 있다.
       이동식 디스크에 데이터를 읽고 쓰려면 [내 컴퓨터]를 이용해
       이동식 디스크를 클릭해서 들어가게 된다.
       이때 해당 이동식 디스크의 루트(최상위) 폴더에 autorun.inf 파일이 존재한다면
       그 파일을 먼저 실행하고 디스크를 열게 되는데, 이 점을 악용하여 악성코드가 전파된다. 

       Autorun 악성코드는 다른 악성코드와 마찬가지로
       이메일, P2P, 보안 취약 홈페이지 등 다양한 매체를 통해 컴퓨터가 감염된 후,
       컴퓨터에 연결되어 있는 USB 메모리 등 이동형 저장장치 또는 하드디스크 드라이브의
       루트 폴더에 Autorun.inf 파일과 악성코드를 복사함으로써 감염된다.
       그런데 복사되는 Autorun.inf 파일을 숨김 속성으로 은닉하기 때문에
       육안으로 쉽게 발견할 수 없다. 

       악성코드에 감염된 USB 메모리 등을 컴퓨터에 연결하면
       Autorun.inf 파일에 의해 사용자는 인지할 수 없지만 악성코드가 자동 실행되면서
       해당 컴퓨터에 다른 유형의 악성코드들을 설치, 실행시키고
       이러한 악성코드들은 해당 컴퓨터에 연결되는 모든 이동형 저장장치를 감염시켜
       자신을 전파하거나 자료유출, 해킹 등 공격자가 의도한 각종 악성행위를 수행한다. 

       실제 중국에서 제작되어 국내에 전파되는 게임핵 (GameHack : 온라인 게임의
       계정 정보를 외부로 유출하는 악성코드)의 경우, 이런 방식을 사용하여 전파되고 있다.
       이런 악성코드는 이동식 디스크가 연결되는 순간 바로 감염이 되고,
       사용자가 이를 인지하기가 매우 어려워
       한번 감염되면 지속적으로 감염되는 악순환이 반복되고 있다. 

[그림 2] USB를 통한 악성코드 전파 개요도 ⓒ 한국정보보호진흥원

 

● Autorun을 통한 악성코드의 형태

       USB 메모리가 악성코드에 감염된 경우,
       일반적으로 오토런(autorun.inf) 파일과 실행형 파일(*.com, *.exe)이 생성되어 있으며
       때로는 휴지통으로 위장하여 RECYCLER 혹은 RECYCLERED 등의 폴더를 생성한 후
       그 폴더 안에 바이러스 실행형 파일을 숨겨둔다.
       심한 경우에는 정상적인 폴더나 파일을 숨김 속성으로 변경하여
       사용자가 윈도우 탐색기를 열었을 때 아무것도 없는 것처럼 보이게 하기도 한다.
       그리고 바이러스 실행형 파일은 보통 숨김 속성(H : Hidden)과
       시스템 파일(S : System)로 위장하며,
       또한 읽기 전용(R : Read only) 속성까지 부여하기도 한다.
       (읽기 속성은 덮어쓰기나 다른 곳으로의 이동에 제한이 있음) 

(1)   USB 메모리에 감염되는 악성코드의 경우, 대부분 숨김 속성으로 위장하고 있으므로
       윈도우 탐색기의 기본 설정 상태에서는 볼 수가 없다.
       윈도우 탐색기에서 숨김 속성의 파일을 보기 위해서는 
[도구] → [폴더 옵션] →
       [보기] 메뉴에서 [숨김 파일 및 폴더 표시]에 체크를 해야 한다.

[그림 3] D드라이브에 숨겨진 autorun.inf 파일

  

[그림 4] USB에 숨겨진 autorun.inf 파일

(2)   폴더를 열기 전 마우스 오른쪽 버튼으로 확인해보면 보지 못했던 메뉴가 있다.
       감염된 드라이브의 마우스 우측 버튼 메뉴에 "Auto"라는 문구가 포함되어 있다.

[그림 5] 감염된 디스크 (좌)와 정상 디스크 (우)

(3)   autorun.inf 의 내부에는 악성코드의 경로가 저장되어 있다.

 

● Autorun 악성코드 사례

 ●   TextImage/Autorun

       TextImage/Autorun 은 Win-Trojan/Autorun 변형이 USB 저장 장치를 통해서
       자신을 자동 실행시키기 위해 생성하는 inf 파일이며,
       이동형 저장장치에 생성한 파일을 통해 전파된다.

[그림 6] Autorun 악성코드 사례 Ⅰ

 ●  Win-Trojan/Autorun

       Win-Trojan/Autorun은 특정 악성코드에 의해 Autorun.inf 파일이 생성되며,
       특정 드라이브 디렉토리에 생성된 Autorun.inf 파일은
       해당 드라이브를 열려고 시도하면 연결된 악성파일이 자동실행되어
       이동식 디스크를 포함한 모든 디스크드라이브에 감염된다. 

       자체 전파 기능은 없으며 사용자가 메일, 메신저, 게시판, 자료실 등에서
       실행 파일을 다운로드하여 실행하거나
       다른 악성코드(웜, 바이러스, 트로이목마)에서 드롭된 파일이다. 

[그림 7] Autorun 악성코드 사례 Ⅱ

[그림 8] Autorun 악성코드 사례 Ⅲ

 

● Autorun 악성코드 예방 및 대응 방법

       자동실행 기능을 악의적으로 이용하는 Autorun 악성코드는
       여러 PC에서 감염된 USB 저장매체를 연결하고 폴더를 여는 행위를 통해
       빠르게 전파되며, 치료를 한다고 해도 계속 연결할 때마다 재감염이 이루어져
       사용자의 올바른 USB 저장매체 사용이 요구된다. 

       또한 이동식 저장장치를 통해 전파되는 악성코드 변종이 확산될 경우
       정보유출, DDoS 악용 등 추가적인 피해가 발생할 수 있으므로
       예방 및 치료에 주의를 기울여야 한다. 

       안티바이러스가 설치되어 있고, 실시간 감시 중이라면
       대부분 바이러스에 감염되기 전에 미리 실행을 차단하고 바이러스를 치료할 수 있지만
       워낙 변종이 많고 널리 퍼지고 있어 자동실행 기능을 아예 꺼놓는 것이
       USB 악성코드 감염을 예방하는 좋은 방법이 될 수 있다. 

       USB 이동식 저장 매체를 안전하게 사용하는 방법은 다음과 같다.

 1.  Shift 키를 누른 상태에서 연결한다.

       CD를 넣거나, USB 메모리를 연결하기 전에
       키보드의 쉬프트(Shift)를 누른 상태에서 연결하면 자동 실행을 방지할 수 있다. 

 2.  USB 자동실행 기능을 해제한다.   

       윈도우에서는 자동실행 기능이 기본적으로 활성화 되어 있으므로,
       자동실행 기능을 꺼주어야 한다.
       서비스를 중단하거나, 레지스트리의 수정 또는 윈도우의 그룹 정책 설정을 통해
       이동식 저장매체 프로그램의 자동실행 기능을 차단할 수 있다. 

 3.  자동실행 방지 프로그램을 설치한다.  

       무료로 배포하는 USB 메모리 감염 바이러스 실행 차단 프로그램을 이용하면
       자동실행을 차단할 수 있다. 

 4.  [선택한 동작 항상 실행]옵션은 체크 해제한다.

       [선택한 동작 항상 실행]이라는 옵션이 체크된 채로 [폴더를 열어 파일 보기]가
       수행된다면, 이 후에 이 장치가 연결될 때 마다 자동으로 탐색기를 이용하여
       폴더가 열리게 되며, 이 때 Autorun.inf 가 동작하게 되므로 체크를 해제한다. 

 5.  연결시마다 최신 백신으로 검사를 수행한다.

       USB 저장매체의 경우 여기저기 시스템에 연결하는 경우가 많으므로
       악성코드의 감염에 쉽게 노출될 수 있다.
       그러므로 USB 저장매체를 사용할 때는
       반드시 최신 백신을 통해 악성코드가 있는지 검사를 한 후, 사용하도록 한다. 

 6.  폴더를 열 때 탐색 방식으로 디스크를 연다.

       [내 컴퓨터]나 [윈도우 탐색기]를 통해 디스크 드라이브 열기를 하는 경우,
       악성코드가 자동으로 실행될 수 있으므로
       탐색기를 이용해 접근할 경우에는 왼쪽 버튼 더블 클릭보다는
       마우스 오른쪽 버튼을 눌러 [탐색(X) ]명령을 실행하도록 한다.


윈도우에서 자동실행은 explorer.exe 프로세스를 통해 관리된다.
CD나 이동식 미디어 안에는 Autorun.inf라는 이름의 파일을 포함할 수 있으며, 루트 디렉터리에 위치해 있다. 이 파일 안에 CD가 삽입되면 수행되는 동작에 대한 내용이 담겨져 있다.

CD를 넣거나, USB 메모리를 삽입할 때 [Shift] 키를 누르고 있으면 자동실행은 무시된다.
또한 시스템 관리자에 의해 영구적으로 차단할 수도 있다.
레지스트리 키 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CDRom 안에 있는 [AutoRun] 서브키를 0으로 설정함으로써 실행을 막을 수 있다.

그러나 Autorun이 비활성화되었다 할지라도 더블 클릭 또는 Enter 키를 누르거나, 기본 탐색기 환경 메뉴 명령어를 실행하면, 자동실행 기능이 있는 CD가 삽입되어 있는 경우, 자동실행이 동작하게 된다.

윈도우에서 직접 자동실행을 중지시키는 방법에 대해 살펴보자.

 

● 서비스 중단을 이용한 방법

       [Shell Hardware Detection] 서비스를 중단시켜
       자동 실행 기능이 실행되지 않도록 할 수 있다.
       [Shell Hardware Detection] 서비스란 윈도우 탐색기가 드라이브 혹은 메모리카드와
       같은 장치를 자동으로 인식하고 반응하도록 하는 서비스다.
       이 서비스를 중단시키면 윈도우 탐색기가 USB 이동저장 매체가 연결되었음을
       인지하지 못해 결국 자동실행 기능을 작동시키지 않는다.
       다만, 이 방법을 쓸 경우 USB는 물론 USB 카메라나 스캐너와 같은 주변장치에 대한
       자동실행 기능도 비활성화 시킨다는 점을 알아야 한다.

 1.  Windows XP의 경우

       [내 컴퓨터] 마우스 오른쪽 버튼 → [관리] → [서비스 및 응용프로그램] → [서비스] →
       [Shell Hardware Detection] 중지 (사용안함) 

 2.  Windows Vista의 경우

       [제어판] → [시스템 및 유지 관리] → [관리 도구] → [서비스] →
       [Shell Hardware Detection] 중지 (사용안함)

[그림 1-1] 컴퓨터 관리 창

[그림 1-2] Shell Hardware Detection 서비스 중단을 통한 자동실행 기능 차단

  

● 레지스트리 수정을 이용한 방법

       특정 레지스트리 설정을 변경함으로써 자동실행 기능이 실행되지 않도록 할 수도 있다.
       [NoDriveTypeAutoRun]의 설정값이 0x91일 경우 알려지지 않은 드라이브 타입,
       네트워크 드라이브에 대해 자동실행을 허용하지 않는다.
       특히 0x95는 USB와 같은 이동식 저장장치에 대해서도 자동실행을 허용하지 않는다.
       따라서 이 레지스트리의 값을 0x95 혹은 모든 드라이브 타입에 대해
       자동실행을 허용하지 않겠다는 0xFF로 설정한다면
       더 이상 해당 드라이브 타입에 대해 윈도우 자동실행 기능이 동작하지 않게 된다. 

 1.  Windows XP의 경우

       HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\
       Policies\Explorer
       [NoDriveTypeAutoRun] = dword : 00000091 (자동 실행 설정 / 기본값)
       [NoDriveTypeAutoRun] = dword : 00000000 (자동 실행 설정)
       [NoDriveTypeAutoRun] = dword : 000000ff (자동 실행 해제) 

 2.  Windows Vista의 경우

       HKEY_USERS\{S-1-5-21-2765388612-2812426355-2310320014-500}\Software\
       Microsoft\Windows\CurrentVersion\Policies\Explorer 

 ※   {}안의 경로는 PC마다 다를 수 있으므로 레지스트리 편집기의 [찾기] 기능으로
       [NoDriveTypeAutoRun]을 검색하면 위치를 쉽게 알 수 있다.

[그림 2-1] 실행 창에서 regedit를 입력한 후 확인 버튼을 클릭한다.

[그림 2-2] 레지스트리 편집기 창

[그림 2-3] DWORD 값을 FF로 설정한다.

[그림 2-4] 특정 레지스트리 설정 변경을 통한 자동실행 기능 차단

 

● 윈도우의 그룹 정책 설정을 이용한 방법

       Windows XP Home Edition이 아닌 Windows XP Professional Edition을 사용하고
       있다면 윈도우의 그룹 정책 편집기를 이용하여 직접 자동 실행을 끌 수도 있다.

 ※   Windows Vista의 경우에는 [사용자 구성] → [관리 템플릿] → 
       [Windows 구성 요소] → [자동 실행 정책]을 선택한다. 

(1)   그룹 정책 편집기를 실행하기 위해 [시작] → [실행]을 선택하거나,
       [윈도우 + R] 키를 눌러 실행창을 연다.
       실행창이 나타나면 [gpedit.msc]를 입력한 후, [확인] 버튼을 클릭한다.

[그림 3-1] gpedit.msc를 입력한다.

(2)   그룹 정책 창이 열리면 왼쪽 트리 메뉴에서 [사용자 구성] → [관리 템플릿] →
       [시스템] 을 선택하고, 오른쪽 화면에서 [자동실행 사용 안 함]을 더블 클릭한다.

[그림 3-2] 윈도우 그룹 정책 설정 창

(3)   [자동 실행 사용 안 함] 등록 정보 창에서 [사용]을 선택하고,
       자동실행을 허용하지 않을 드라이브로 [모든 드라이브]를 선택한다.
       이제 모든 드라이브의 자동실행이 중지된다.

[그림 3-3] 자동 실행 사용 안 함 등록 정보 창

[그림 3-4] 윈도우의 그룹 정책 설정을 통한 자동실행 기능 차단

 

● 수동 삭제 방법

(1)   USB 메모리에 감염되는 악성코드 (Autorun.inf)의 경우, 대부분 숨김 속성으로
       위장하고 있으므로 윈도우 탐색기의 기본 설정 상태에서는 볼 수가 없다.
       윈도우 탐색기에서 숨김 속성의 파일을 보기 위해서는 [내 컴퓨터] → [도구]  → 
       [폴더 옵션]  → [보기]  → [고급 설정] → [보호된 운영 체제 파일 숨기기] 해제  → 
       [숨김 파일 및 폴더 표시]에 체크를 해야 한다.

[그림 4-1] 폴더 옵션의 보기 창

(2)   탐색기에서 Autorun.inf 를 검색하여 발견되면 해당 파일을 삭제한다.

[그림 4-2] Autorun.inf 파일 삭제를 통한 자동실행 기능 차단


최근 컴퓨터를 사용하는 사람이라면 대부분 USB 메모리를 사용하고 있다.
데이터를 저장하거나 이동시킬 때 USB가 많은 편리성을 주기 때문이다.
또한 USB 메모리는 디지털카메라, MP3 플레이어, PMP, 네비게이션 등등 디지털 기기간에 데이터를 전달하는 수단으로 널리 사용되고 있다.

그런데 USB 메모리 스틱과 같은 휴대용 저장 매체를 대상으로 공격하는 Autorun 악성코드가 기승을 부리고 있다. 이 악성코드는 CD-ROM 드라이브에 CD를 삽입하거나, 메모리 스틱을 USB 포트에 끼우는 순간 윈도우의 자동실행 기능을 통해 전파되며, 네트워크뿐 아니라 사용자 시스템의 정상적인 동작을 방해한다. 또한 Autorun 악성코드에 감염된 메모리 스틱을 컴퓨터에 부착해 놓는 경우에는 악성코드를 삭제 (또는 치료, 안전지대로 이동)한 후에도 재부팅을 하면 다시 생성된다.

이러한 문제점을 해결하는 원천적인 방법으로 Autorun.inf 파일을 자동으로 읽어 실행되는 기능을 꺼버리면 더이상 감염되지 않는다. 하지만 해당 기능을 끄는 방법이 일반인들이 하기에는 어려운 부분이 많아 이러한 설정을 한번에 할 수 있는 툴을 소개한다.

자동실행 방지 툴은 이동형 저장매체인 USB나 CD/DVD를 통해 감염될 수 있는 악성코드들을 예방할 수 있도록 오토런(Autorun) 기능을 제어해주는 프로그램으로 USB 드라이브나 메모리를 자주 사용하는 사용자들에게 유용하다.

무료로 다운받을 수 있는 자동실행 방지 프로그램들을 살펴보자.

 

● USB Guard 

       USB Guard는 국가정보원 국가사이버안전센터 (http://ncsc.go.kr)가 제공하는
       USB 이동 저장 매체의 자동실행 방지 전용 프로그램이다.
       usbguard는 악성코드를 실행하기 위해 꼭 필요한 autorun.inf 파일을 존재하지 않는
       파일로 맵핑해 대체함으로써 궁극적으로 악성코드가 실행되지 못하게 한다. 

       국가사이버안전센터 홈페이지에서 다운받은 프로그램(usbguard.exe)을 실행하면
       [자동실행 차단 상태입니다.] 등 현재의 윈도우 설정을 보여주며,
       [자동실행 차단] 버튼을 클릭하면 기능이 즉시 적용되며,
       컴퓨터를 재시작하더라도 자동실행 차단 기능은 계속 유지된다.
       [자동실행 허용] 버튼을 클릭하면 기능이 해제되나 꼭 필요한 경우에만 사용하고
       즉시 기능을 복원해야 한다.

[그림 1-1] USB Guard 파일 다운로드 창 (http://ncsc.go.kr/data/usbguard.exe)

[그림 1-2] USB Guard 실행 화면

[그림 1-3] USB Guard를 통한 이동식 저장매체 자동실행 차단 과정

[그림 1-4] USB Guard를 통한 자동실행 차단 상태

 

● 안철수연구소 Autorun 실행 방지 툴

       안철수연구소에서 제공하는 Autorun 실행 방지 프로그램을 다운로드 받아
       파일을 실행하게 되면 아무런 창이 나타나지 않지만,
       이미 설정이 다 된 것이므로 안심하고 이동형 디스크를 연결해도 된다.

[그림 2-1] Autorun 실행 방지 툴 다운로드 창
http://kr.ahnlab.com/downLoadFreeVaccine.ahn?filename=usbblock.exe

[그림 2-2] 다운받은 usbblock.exe 파일

 

● Panda USB Vaccine

       Panda USB Vaccine은 스페인의 보안업체인 Panda Security사에서 무료로 배포한다.
       이 프로그램은 악성코드를 검색 / 삭제해주는 프로그램이 아니라 자동실행을 금지해주는
       기능만을 제공하므로 다른 백신 프로그램과 같이 사용하는 것이 좋다.
       프로그램은 Computer vaccination과 USB drive vaccination의
       2가지 기능으로 제공된다. 

 1.  Computer Vaccination

  
     Computer Vaccineation은 USB나 CD/DVD와 같은 이동식 저장매체에서
       자동 실행되는 것을 막아주는 기능을 제공한다.
       Vaccinate Computer를 눌러서 기능을 활성화하면 되고,
       기능 제거시에는 Remove Vaccine을 클릭하면 된다. 

 2.  USB drive Vaccination

       USB drive Vaccination은 USB 드라이브에 autorun.inf 악성코드가
       전송되는 것을 막을 수 있다.
       프로그램을 실행한 후 USB 드라이브를 연결하면 USB 드라이브가 선택이 되고,
       Vaccinate USB 버튼을 클릭하면 기능이 활성화된다.

[그림 3] Panda USB and AutoRun Vaccine 다운로드
        http://www.pandasecurity.com/homeusers/downloads/usbvaccine



출처 : http://blog.naver.com/itexpert2007
저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0
2009/11/27 22:29

ipvsadm을 이용한 LVS 시스템 구축


Linux Virtual Server 란?

1대의 서버로 증가하는 사용자들을 처리하기 힘들때 2대이상의 서버를 구축하여 로드  하는 운영 시스템이다.

 

일반적으로 DNS의 라운드 로빈  로드 밸런싱 하는 방법이 있으나, LVS 시스템은 라운드 로빈 방식  아니라 총 4가지 방법으로 로드 밸런싱을 할수 있어 사용자의 상황에  대처할수 있다.

 

1. 라운드 로빈(round-robin)

로드 밸런서로 들어오는 요청들을 차례대로 순차적으로 각각의 서버로 할당하는 

DNS 로도 쉽게 구현이 가능한 방식이다.

 

2. 가중 라운드 로빈(weighted round-rovin)

동작 자체는 라운드 로빈 방식이지만, 로드 밸런싱을 할 서버들이 각각  사양일 경우 서로 다른 가충치를 설정하여 요청들을 할당하는 방식이다.

 

3. 최소 연결(least connection)

 서버들중에서 가장 적은 수의 요청을 처리하고 있는 서버를 선택하여 요청을  할당하는 방식이다. 이 방식의 장점은 서버들의 현재 부하 상태를 동적으로  요청을 처리할수 있다.

 

4. 가중  연결 (weighted least connection)

 연결 방식을 따르지만, 가중 라운드 로빈 방식과 마찮가지로 각 서버에  다른 가중치를 설정하여 요청들을 할당할수 있다.

 

 시스템에서 NAT, DR(Direct routing) IP터널링 으로 구성이 가능하지만 여기서는 DR방식으로 

 

DR(Direct rounting) 기본 구성도는 아래 링크를 참고  바랍니다.

http://wiki.kldp.org/Translations/html/Virtual_Server-KLDP/VS-DRouting.gif

 

 

이제  시스템을 구축해보자

 

모든 설명은 레드햇 기반인 CentOS  버전을 기준으로 설명한다.

웹서버 2대에 대해서 1대의 LVS 가  밸런싱을 하는 방식에 대해서 설명한다.

 

Virtual IP  192.168.10.10

Real IP(Web1) = 192.168.10.20

Real IP(Web2) = 

 

LVS 서버에 yum명령을 사용하여 ipvsadm 을 설치한후 

 

#yum -y install ipvsadm

# ipvsadm 
IP Virtual Server version 1.2.1 (size=4096)
 LocalAddress:Port Scheduler Flags
  -> RemoteAddress:Port          Forward Weight ActiveConn InActConn

#

 

이렇게 나오면 제대로 설치가 된것이다.

 

이제 LVS 서버에 사용할 Virtual IP를 설정해보자.

 

# ifconfig eth0:1 192.168.10.10 netmask 255.255.255.0 up

 

ifconfig 를 사용한 네트워크 설정은 서버가 재부팅이 되면 사라지기때문에,

 파일을 생성해주자.

 

또한 해당 시스템을 통해 다른  패킷이 포워딩 될수 있도록 수정하자.

 

#vi 

net.ipv4.ip_forward=1

 

#sysctl 

 

이제 설치한 ipvsadm 에 새로운 서비스를 

 

#ipvsadm -A -t 192.168.10.10:80 -s rr

192.168.10.10 IP의 tcp 80번포트를 라운드 로빈(rr) 방식으로 새로운 서비스로 

자세한 명령어 옵션은 ipvsadm --help 로 확인해보자

참고로  언급된 4가지 스케쥴링 방법을 모두 적용가능하다

예) ipvsadm  -t 192.168.10.10:80 -s wlc (가중 최소 연결)

 

 추가가 끝났으면, 로드 밸런싱을 할 대상 서버들의 Real IP를 추가해준다.

 

#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.20:80 -g

#ipvsadm -a -t 192.168.10.10:80 -r 192.168.10.30:80 -g

#ipvsadm -L

IP Virtual Server version  (size=4096)
Prot LocalAddress:Port Scheduler Flags
   -> RemoteAddress:Port           Forward Weight ActiveConn InActConn
TCP  192.168.10.10:http rr
   ->           Route   1      0         0
   -> 192.168.10.30:http         Route   1      0          

 

LVS서버의 설정은 끝났다. 하지만 이 정보는  재부팅이 되면 날아간다.

재부팅후에 정보가 남아 있도록 약간의 작업을  진행해주자.

 

#/etc/rc.d/init.d/ipvsadm save

 ipvsadm on

참고) ipvsadm save 명령을 내리면 /etc/sysconfig/ipvsadm  설정 값이 저장된다.

 

이제 LVS 서버의 설정은  끝이 났다.

 

이제 서비스 되어질 웹서버 2대에  설정한다.

설정방법은 2대다 동일하기 때문에 1대만 설명하겠다.

 

먼저 웹서버에서도 가상 디바이스를 설정하여 Virtual IP를 추가해야한다.

 위에 설명되어 있다. 참고바란다.

 

여기서 의문점이 생긴다.  가상 디바이스를 추가하여 Virtual IP를 할당해주어야 하는데.

여기서 ARP  발생할수 있다. 그렇다면 ARP는 무엇인가.

 

ARP란?

IP주소를 해당 MAC주소로 바꿔주는 프로토콜을 말한다. 네트워크장비는 기본적으로  통신을 하기때문에 IP주소를 MAC주소로 변환을 해줘야 통신이 가능해진다.

클라인트가 가상 IP를 요청했을 때 동일 네트워크에 Virtual  2개 이상 갖고 있기 때문에 경우에 따라서 Real Server에서 응답을  경우가 있다고 한다. 이렇게 되면 로드밸런싱이 되지 않기 때문이다.
arptables_jf를 이용해서 응답하지 않도록 해줘야 한다.

#yum -y arptables_jf

#arptables -i  -A IN -d 192.168.10.10 -j DROP
#arptables -i eth0 -A  -d 192.168.10.10 -j mangle --mangle-ip-s 192.168.10.20
#/etc/rc.d/init.d/arptables_jf save
#chkconfig arptables_if 

 

arptables_jf save 명령 사용시에도  /etc/sysconfig/arptables 파일에 값이 기록되어 저장된다.

 

 을 이용하여 LVS 시스템을 Direct Routing 구성으로 구축해보았다.

ps) 단순히 rr(라운드 로빈) 방식만을 취한다면 차라리 DNS  로빈 설정이 훨신 수월하고 편리하다는 느낌이다. 하지만 위에 언급된 4가지  운영 상황에 맞게 설정할수 있어 충분히 장점이 될것 같고, L4 등도 고가라 도입하기가 쉽지 않을떄 한번 고려해볼만한 LVS 시스템이라 생각된다.


출처 : 리눅스포탈

저작자 표시
크리에이티브 커먼즈 라이선스
Creative Commons License

Trackback 0 Comment 0