어제부터인가, 볼랜드포럼 서버가 좀 버벅였죠.
인터넷대란의 여파인가부다, 하고 그리 신경쓰지 않았었는데...
아무래도 너무 버벅여서 포럼 서버 안쪽을 여기저기 뒤져봤습니다.
그랬더니.. 헐~ 미국넘들로부터 엄청난 양의 스팸을 릴레이로 받고 있는데다, 그 스팸들의 수신자
대부분이 랜덤하게 만들어진 가짜 메일주소여서 수만통이 아웃박스에서 득실대고 있었던 겁니다.
제가 봤을 당시 55,000개 이상이 아웃박스에 득실대고 있더군요.
도무지 이해가 안되는 것이... 작년 초 정도에도 한번 릴레이로 난리를 친 적이 있어서, 릴레이
세팅을 확실히 막아놨는데 어떻게 릴레이 스팸이 들어오느냐 하는 겁니다.
여기서 잠깐...
메일이 전송되는 원리를 잘 모르시는 분들을 위해 릴레이를 설명드리면..
e메일의 전송과 관련된 중요한 프로토콜이 SMTP입니다.
메일이 인터넷을 도는 동안 발신자에서 출발해서 메일서버들 사이에 전달되는 메커니즘이 SMTP입니다.
메일 발신자로부터 자신의 메일서버로, 그리고 발신자의 메일서버로부터 수신자의 메일서버로 전달시켜
주는 프로토콜이 SMTP입니다.
(수신자 메일서버에서 수신자 메일클라이언트로의 전달은 SMTP가 아니라 POP3나 IMAPI 프로토콜을
이용하지요.)
그런데 이 SMTP 프로토콜은 인터넷의 가장 오래된 프로토콜 중 하나라서 단순하기 짝이 없습니다.
기본적으로는 보안성이라는 건 하나도 없지요.
대표적인 예가, SMTP 프로토콜에서는 발신자쪽도, 수신자쪽도 아닌 메일서버에 메일을 보낼 수 있다는
겁니다. 예를 들면 1111@yahoo.com이라는 넘이 2222@aol.com으로 메일을 보내는데, 중간 경유지로
볼랜드포럼 서버(borlandforum.com)를 이용할 수 있다는 겁니다.
이렇게, 수신자와 발신자 양쪽의 메일주소와 상관없는 메일서버를 경유지로 이용하는 것을 릴레이라고
합니다. 이런 특성을 주로 스팸메일 발송자들이 이용합니다. (거의 외국 넘들입니다)
왜 스팸메일 발송에 이용하냐면..
첫째로, 스팸메일을 많이 발송하는 메일 서버로 스팸메일 블랙리스트에 오르는 걸 피하기 위해서이고...
두번째는, 자기 컴퓨터에는 부하를 최소화시키고 남의 서버를 스팸메일 발송에 이용해먹기 위해섭니다.
그래서 대부분 메일서버는 관리자들이 릴레이 설정을 오프시켜놓는데요.
실수로라든가 아니면 메일서버의 기본 설정을 바꾸지 않는다든가 해서 릴레이 설정이 열리게 되면
하루도 안되어서 스팸메일 발송자들이 귀신같이 알아서 이용해먹습니다.
어쨌든...
메일서버의 아웃박스를 보니 메일이 수만개씩이나 쌓여있었는데요.
대부분이 보낸이 주소와 받는이 주소가 포럼과 무관한.. 릴레이 메일이었습니다.
메일서버의 아웃박스에 메일 파일들이 무려 5만5천여개나 쌓이는 바람에 시스템이 무쟈게
버벅이고 있어서... 릴레이된 스팸을 걸러서 삭제하는 간단한 프로그램을 짰습니다.
왜 따로 프로그램씩이 필요했냐 하면... 그중에는 아주 소수이지만 정상적인 메일도 몇개 섞여 있었기
때문이죠. 릴레이된 스팸메일들을 서버에서 삭제하는 데만 1시간 반 정도 걸렸습니다.
일단 이렇게 해서 한 고비를 넘겼습니다만.
작년 초에 릴레이 설정때문에 한번 실수한 이후로는 볼랜드포럼 서버에 릴레이 설정을 열어둔 적이
없는데 도대체 어떻게 릴레이 스팸이 들어오는가...
띠바...
근본적인 원인을 따지자면, 포럼에서 사용하는 메일 서버의 보안 문제였습니다.
SMTP 프로토콜에 비교적 최근에 추가된 새로운 명령으로 AUTH LOGIN이라는 것이 있습니다.
SMTP가 원래 보안성이 없기 때문에, 선택적으로 로그인을 할 수 있도록 추가된 명령이죠.
이넘을 쓰면 인코딩된 상태로 키와 유저네임, 패스워드를 주고받아 인증을 합니다.
그런데 필수는 아닙니다. 선택적이지요. 대부분 이 로그인 인증을 하지 않고 사용합니다.
포럼 서버가 윈도우2000인지라 윈도우용 메일 서버 프로그램중 MDaemon이라는 넘을 쓰고 있는데요.
아마 NT 서버를 운영하시는 분들 중 상당히 많은 분들이 이걸 쓰고 있으실 겁니다.
가격도 비교적 저렴한데다 성능이 아주 괜찮은 편이거든요.
그런데 다른 메일서버들도 마찬가지이겠지만, MDaemon에도 관리 목적으로 기본 시스템 메일계정이
하나 있습니다. 설치되면 기본적으로 만들어지는 계정입니다. 이 기본 계정의 이름이 MDaemon이지요.
문제는... 이 기본 계정의 패스워드까지 기본적으로 설정된다는 겁니다. 운영자에게 물어보지도 않고요.
그러니, MDaemon을 설치하고 별도로 신경을 쓰지 않으면 어느 컴퓨터나 똑같은 기본 패스워드가
설정된 계정이 하나 존재하게 되는 겁니다. 릴레이 스팸을 보내는 넘들이 바로 이 기본 계정의 기본
패스워드를 이용해서 로그인 인증을 하고는 릴레이를 하더군요. 접속후 인증이 되면 이미 메일서버의
정상 사용자이므로 예외적으로 릴레이를 허용하게 됩니다.
띠바.. 그러니깐, MDaemon이 처음 설치될 때 기본 계정인 MDaemon의 패스워드를 바꾸도록 사용자에게
물어봐야 하는 건데, 그걸 안하는 바람에 보안 문제가 생기게 되는 겁니다.
어쨌든.. 이 설정을 막아주려면, 기본 계정인 MDaemon의 패스워드를 바꾸거나 계정을 삭제할 수 있고..
혹은 인증이 된 사용자의 경우에도 릴레이를 허용하지 않도록 강제로 막아주면 됩니다.
한 서버가 장기간 스팸 릴레이로 이용되면, 얼마 안가 대형 사이트들에서 경고 메일이 날아옵니다.
경고 메일이라도 보내주는 넘은 그나마 친절한 거고... 어떤 넘들은 통보같은 건 아예 안하고 그냥
릴레이된 서버의 아이피로부터 오는 모든 메일을 블라킹해버립니다.
이런 릴레이 상태가 좀 더 오래가면... 위에서도 잠깐 언급했지만, 블랙리스트에 올라갑니다.
이 블랙리스트는 인터넷상의 많은 메일서버들이 공유하는데, 그러니 리스트에 올라가면 블랙리스트를
구독하는 메일서버들로는 메일이 안가게 되는 겁니다. 메일서버 관리자로서는 절대로 일어나서는 안되는
끔찍한 일이죠.
참나.. 꽤 좋은 평을 받고 있는 메일서버인 MDaemon의 뜻밖의 허술함에도 놀랬지만...
스팸메일러를 보내는 넘들의 잔머리에 경악했습니다.
MDaemon외에도 이렇게 기본 계정의 패스워드를 그냥 두는 메일서버들이 많이 있을텐데요.
메일서버를 관리하시는 분들은 한번씩 체크를 해보세요.
지금 자신이 관리하는 메일서버가 릴레이로 이용되고 있는 것은 아닌지...
그럼...
|