보안 특히 LAN의 보안에서 가장 중요한 것은 sniffer program에 대한
대처 방안이다. sniffer를 이용할 경우 공격자는 쉽게 (너무 쉽게)
자신이 원하는 호스트의 아이디와 패스워드를 가로챌 수 있기
때문이다.
sniffer가 동작하는 원리는 다음과 같다.
대부분의 컴퓨터(UNIX, DOS)에 제공되는 네트워크 모니터링 프로그램
또는 특별히 공격을 위해서 제작한 sniffering 프로그램을 이용하면
LAN(Ethernet과 같은 버스 LAN)의 모든 통신 메시지(packet)을 볼 수 있다.
그것이 자신에게 오는 패킷이든 아니든 일단 컴퓨터는 랜상의
모든 메시지를 일단 받고나서 자신에게 온 것일 경우에는 OS에서 응용
프로그램이나 OS의 상위 계층에서 처리하도록 하고 아닐 경우에는
버리도록 되어있는 게 보통이다.
하지만 네트워크의 감시나 점검을 위해 모든 메시지(패킷)을 볼 수 있는
인터페이스를 제공하는 것이 보통이다. BSD UNIX에서는 BFS라는
인터페이스를 제공하고 있으며, SUN의 경우에도 /dev/nit라는
인터페이스를 제공하고 있다.
물론 관리자의 경우에만 이러한 인터페이스를 사용할 수 있도록 하여
아무나 네트워크의 통신 내용을 쉽게 볼 수 없게는 하고 있지만 관리자의 계정을
가진 공격자에 대해서는 거의 무방비가 되는 것이다.
telnet이나 rlogin을 통해 외부에서 내부로 또는 내부에서 외부로
연결을 시도할 경우 평문의 패스워드와 아이디가 랜을 통해 전달되게
되므로 누구든 관리자 권한을 가지고 네트워크 모니터링 프로그램인
etherfind나 snoop, tcpdump 등을 수행하여 현재 랜에서 흐로고 있는
패킷을 그대로 읽을 수 있다.
다시 말해서 네트워크를 통해서 telnet이나 rlogin을 사용하여
원격 로그인을 하는 경우는 자신의 아이디와 패스워드를 남에게 그대로
알려주는 것과 같은 바보같은 경우이다.
실례로 한 네트워크 회사가 해커의 공격을 받았는데 그 네트워크 회사를
경우한 거의 모든 아이디와 패스워드가 침해받은 적이 있다고 한다.
숫자상으로는 수만개라고 하니까 sniffering의 위력을 실감할 수 있다.
현재 학교와 같은 상태에서 Kerberos와 같은 인증 시스템을 설치한다는 것은
무리가 따르므로 각 연구실에서 원격 로그인을 자제하든가.. 연구실 단위의
kerberos를 설치하는 것이 바람직하며, 여의치 않을 경우
secure telnet이나, skey와 같은 프로그램을 설치하여 외부에 패스워드가
노출되지 않도록 하여 사용하는 것이 바람직할 것 같다.
이것도 저것도 못하겠다고 하더라도 적어도 관리자(root) 계정으로
랜을 통해 로그인 하는 바보같은 행동은 금했으면 한다.
자세한 것은 what에게 멜을 보내 주세요!!