오픈소스보안 툴
상태바
오픈소스보안 툴
  • 데이터넷 관리자
  • 승인 2006.11.08 00:00
  • 댓글 0
이 기사를 공유합니다

Tech Info
효율적이고 경제적인 네트워크 유지관리 ‘한몫’
적절한 무료 툴 사용 ‘효과적’ … 침입자도 사용한다는 사실 ‘명심’

오픈소스 툴은 네트워크 보안을 테스트하는 경제적인 방법이다. 그러나 공격자와 방어자 모두 쉽게 이용할 수 있다는 단점도 있다. 이 가이드는 침입자들의 공격에 대비해 네트워크의 보안을 강화할 수 있도록 도와줄 것이다.

좋은 소식이 하나 있다. 많은 오픈소스 툴은 네트워크의 보안을 테스트하거나 네트워크를 개선하는 데 이용할 수 있다는 것이다. 이러한 툴은 인터넷이나 OS의 일부분으로 자유롭게 이용할 수 있고, 기존 보안 제품보다 폭넓은 범위를 갖는다. 종종 상용 제품보다 더 다양한 기능을 제공할 뿐 아니라 설치와 구하기도 쉽다.
물론 나쁜 소식도 있다. 공격자 역시 이러한 툴의 존재를 알고 있고, 이미 사용하고 있다는 것이다. 따라서 공격자들이 이런 툴을 사용할 수 있다는 것을 항상 명심해야 하며, 네트워크에서 이러한 일이 발생할 때 인지할 수 있는 방법을 터득해야 할 것이다.

네트워크 조사 ‘스타트’
오픈소스 네트워크 보안 툴은 세 가지의 주요 카테고리를 갖고 있다. 네트워크를 조사하는 것, 네트워크를 따르는 것, 네트워크를 변경하는 것이다.
네트워크를 조사하는 가장 일반적인 방법은 핑(ping) 명령어를 사용하는 것으로, 모든 OS에 표준화된 툴로 컴퓨터가 네트워크상에서 작동중인지, 존재하는지 등을 살펴볼 수 있다. 그러나 보다 효율적인 핑은 hping으로 일반적인 ICMP ECHO 요구를 전송하는 것 이상으로 핑을 향상시킨다.
hping은 어떤 방식의 패킷 유형도 모두 전송이 가능해 컴퓨터 또는 네트워크 장비가 제대로 작동하는지를 확인하려면 hping으로 비표준 준수를 손쉽게 할 수 있다. hping은 네트워크상에서 반응하는 컴퓨터를 찾기 위해 레이어 3를 사용한다.
이더넷 상에서 응답하는지 결정하기 위해 이더넷 ARP(Address Resolution Protocol)를 사용하는 arping도 있다. 이 방법은 대다수 컴퓨터에서 별다른 무리를 주지 않는데, 일반적으로는 소프트웨어 방화벽으로 차단되지 않는다. arping은 남용만 하지 않는다면, 해롭지 않다. 이더넷 상에서 임의의 컴퓨터에 권유하지 않은 ARP를 보낼 수 있다.

새로운 접속
우리가 사용하는 또 다른 툴은 netcat으로, 인터넷 서비스에 접속하기 위해 UDP 포트 또는 TCP 상에서 인바운드 또는 아웃바운드 연결을 만든다. TCP 아웃바운드 모드에서 netcat은 텔넷과 유사하다. 그러나 입력과 출력 흐름에 대한 광범위하면서 뛰어난 지원을 한다.
netcat의 수신 능력을 결합하면 스스로 가공하지 않은 파일 전송을 쉽게 구성할 수 있다. 또한 HTTP, SMTP 등과 같은 대부분의 플레인 텍스트 TCP 인터넷 서비스에서 사용할 수도 있고, 네트워크상의 오픈 포트를 쉽게 조사할 수 있으며, 어떻게 대응하고, 무엇에 응답하는 지도 확인이 가능하다.
이러한 툴은 대부분 상호 대화식으로 네트워크에 질의를 한다. 하지만 namp와 같이 체계적인 툴을 종종 필요로 하고, 네트워크상에서 응답하는 컴퓨터를 식별한다. nmap로 많은 환경설정을 변화시킬 수 있는데, 여기에는 얼마나 빠르게 구동하는지, 어떤 프로토콜이 사용되는지 등도 포함된다.
nmap가 제공하는 데이터와 또 다른 오픈소스 프로브인 amap로 특정 포트에서 보다 심도 깊은 정보를 얻을 수 있다. nmap는 어떤 포트가 오픈이 되는지를 알려주는데, 일반적으로 이러한 포트들과 연관돼 있다. 예를 들면 25포트는 SMTP며, 이를 확인하기 위한 지능적인 기능을 갖추고 있지 않다면 포트 상에서 SMTP가 가능한 서비스에 응답한다.

주의를 기울여라
상용 패키지는 네트워크 트래픽을 기록하는 데 활용할 수 있지만, 그 이상은 기대할 수 없을 지도 모른다. 우리가 가장 선호하는 오픈소스 네트워크 모니터링 디바이스는 이더리얼(Ethereal)로 윈도, 리눅스, 맥은 물론 기타 OS에서 활용할 수 있기 때문이다. 다른 프로토콜을 모니터링하기 위해 플러그인을 완료하면, 이더리얼은 네트워크 스캐너로 강력하고 쉽게 사용할 수 있다.
또 다른 서버의 서브넷에 필수 툴은 arpwatch로, 이는 네트워크의 변화를 감시하고 이를 통지한다. 네트워크상에서 새로운 도구가 출현하거나 다른 IP주소를 이용해 시작할 때 arpwatch는 이를 알려준다. 즉, 회사내 동료가 네트워크상의 변화를 발생시킬 때 경고를 할 뿐이다.
그러나 이 툴의 실제 가치는 인증되지 않은 컴퓨터가 네트워크에 접속하거나 컴퓨터가 arping 또는 ettercap과 같은 인증되지 않은 ARP 응답을 보낼 때 변화를 막아준다는 것이다. 대다수의 네트워크 공격이 네트워크 게이트웨이 상에서 발생하기 때문에 부적절한 활동을 감시하기 위해 네트워크 경계에 귀 기울이는 것에 큰 도움이 된다.
우리가 가장 선호하는 오픈소스 툴은 스노트(Snort)로, 몇 가지 상용 침입 탐지 및 방지 시스템을 사용하고 있다. 스노트의 또 다른 측면은 환경설정이 GUI 기반인 대다수 상용 솔루션과 달리, 명령어 라인 인터페이스 상에서 이해되거나 설치된다. 물론 GUI는 다운로드를 통해 추가할 수도 있다. 스노트의 긍정적인 기능은 네트워크와 원격 컴퓨터에 사용되는 작동 시스템을 기록하기 위해 pOf(passive OS fingerprinting)와 결합이 쉽다는 것이다.

잠재적인 장애 요인
dsniff는 사용이 간단하다. dsniff는 HTTP, POP3, IMAP, SMTP, FTP 등을 포함하는 많은 네트워크 프로토콜로부터 암호를 찾아낼 수 있고, 다른 오픈소스 툴은 NF3와 HTTP상에서 전송된 캡쳐 파일을 dsniff로 잡아 낼 수 있다. 이처럼 dsniff는 암호화가 왜 필요한 지를 극명히 보여준다. 특히 조직 내에서 암호화에 대한 반감을 여전히 받고 있다면, 도움이 될 것이다. 따라서 잠재적인 공격자에 의해 네트워크상에서 dsniff가 사용되고 있는 지 주의해야 한다.
dsniff가 그 자체로 수동적인 도구인 반면 ettercap은 요구받지 않은 ARP 응답을 사용함으로써 네트워크로 진입하려는 좀 더 진화된 능동적인 방법을 시도한다. 가령 장비 A가 장비 B에 통신을 시도한다면, etercap은 간섭을 통해 A에게는 ‘나는 B다’라고, B에게는 ‘나는 A다’라고 신호를 보낸다. 그러면 A와 B가 각각에게 패킷 보내기를 시도할 때, ettercap에게 실제로 통신을 하게 된다. ettercap은 패킷을 기록하고, 목적지 장비까지 전가하는 것이다. arping으로 감시를 못하면, A와 B 어느 쪽도 불법적인 행위가 일어나고 있다는 것을 인지하지 못할 것이다.
ettercap은 네트워크상에서 무언가 불법적으로 구동될 때 이를 알아보기 위한 툴로 신속하게 식별할 수 있고, 정지시킬 수 있는 수단이다. 테스트 네트워크에서 이를 확인하기 위해 arpwatch를 구동하면, 어떤 응답이 나오는지 바로 알 수 있을 것이다.
이러한 툴의 핵심은 조직 내의 IT관련자들만이 네트워크상에서 이러한 것들을 구동하려고 시도하는 것이 아니라는 것을 상기시켜준다는 것이다. 설령 방화벽을 갖추고 있더라도, 외부는 튼튼하지만 내부가 약하다면 네트워크 내부로 침투해 들어오는 침입자를 쫓을 수 없는 잘못된 방화벽 환경설정을 의미한다. 따라서 이러한 네트워크에 대비해 무료 툴을 사용하는 것을 고려해야 한다. 그러면 침입자들이 네트워크에서 볼 수 있는 것들이 무엇인지 알 수 있을 것이다.

오픈소스 보안 툴 베스트 프랙티스
적절한 유지관리로 잘 정돈된 네트워크는 침입에 대한 문제가 아마도 없을 것이다. 여기 오픈소스 툴 사용을 위한 베스트 프랙티스를 소개한다.
◆ 적절한 환경설정을 갖추고 있는 장비임을 확신하기 위해 ‘cfenging’과 같은 변화관리 프레임워크를 사용하라.
◆ 다수의 동일한 장비를 갖고 있다면, ‘rsync’와 같은 툴을 적용하라.
◆ 오픈소스 트립와이어(Tripwire)와 같은 툴로 시스템 파일을 관리하라.
◆ ‘logwatch’로 로그 파일을 관리하라.
◆ 최신 OS 패치를 유지하라.

DBAN (Darik's Boot And Nuke)
오픈소스 보안 툴이 화제의 중심이 되고는 있지만 네트워크 기반이 아닌 툴로 DBAN(Darik’s Boot And Nuke)도 논할 가치가 있다. DBAN은 단지 한가지 일만 하는 부팅 디스크다. 이는 컴퓨터의 하드 드라이브를 깨끗하게 하기 때문에 하드 드라이브 상에서 손상된 데이터를 복구할 수 없다.
DBAN은 밀리터리 형식(military-style)으로 포맷을 하기 때문에 정보를 얻기 원하는 사람들로부터 데이터를 감추는데 이용할 수 있다. 국제적인 스파이가 아니라면, 일반적으로 DBAN을 사용할 어떤 이유도 없다. 대신 전통적인 기업들은 바이러스나 웜에 의해 장비가 손상될 수 있을 경우 DBAN을 사용한다. 이는 즉시 완전하게 포맷을 하거나 깨끗하게 할 수 있기 때문이다.
DBAN은 옵션이 없는 부팅 CD로 사용시 조심해야 한다. 일단 작업이 시작되면 멈출 수 있는 방법이 없기 때문이다. CD를 집어넣고 컴퓨터를 다시 부팅한 후, 점심을 먹고 들어오면 장비는 깨끗해져 있을 것이다.
DBAN은 원초적인 무기로 파기를 원하지 않는 것에는 이를 사용하면 안될 것이다. 따라서 라벨을 명확히 붙이면, 부주의나 혼동으로 인한 파기를 예방할 수 있을 것이다.


댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.