kisarbl을 돌렸습니다.

환골탈태의 이미지

어제 오후부터 중국쪽에서 메일서버로 DOS 공격이 들어와서 어떻게 할까 고민하다가
C class 대역대를 하나씩 막으니 주변 대역대로 계속 옮겨다니며 들어오더군요.
그래서 IPT_RECENT와 IPT_CONNLIMIT로 방화벽에서 접속제한 설정했었는데
그래도 계속 조금씩 들어오는걸 보니 욱하는 마음에 GeoIP로 CN을 DROP 해버렸습니다.

근데 오늘은 국내외에서 스팸이 엄청 들어오는 겁니다.
이것때문에 고객서버 중 P4 계열 한 녀셕이 정신 못차리더군요..

그래서 kisarbl.or.kr에 등록하구 RBL을 구축해서 sendmail에서 막아버렸습니다.

----------------------------------------------------------------
Jun 27 16:08:25 hostname sendmail[17740]: ruleset=check_relay, arg1=[222.101.7.221], arg2=222.101.7.221, relay=[222.101.7.221], reject=553 5.3.0 Mail from 222.101.7.221 rejected;see http://www.kisarbl.or.kr/
Jun 27 16:08:27 hostname sendmail[18725]: ruleset=check_relay, arg1=[221.139.246.91], arg2=221.139.246.91, relay=[221.139.246.91], reject=553 5.3.0 Mail from 221.139.246.91 rejected;see http://www.kisarbl.or.kr/
... 생략...
----------------------------------------------------------------

잘 막힙니다.

그나저나 잘하는 짓인지 모르겠네요..

혹시 먼저 해보신분들 있으시면 조언과 충고를 부탁드립니다.

onlyperl의 이미지

크게 특별히 문제가 되거나 하는 부분은 없었습니다.
일반 메일 서버에서 발송 한 경우에는 화이트 IP를 구성 한다음관리를 하면됩니다.
다만 smtp서비스를 하는 경우에는 인증 이전에 접속을 차단 해버리기 때문에,
유동 IP의 접속자의 경우 문제가 될 수 있습니다.
이 경우에는 pop3 인증을 성공을 한 유저에 한해서 허용을 해주면되겠지요..

환골탈태의 이미지

그런데요 화이트리스트를 어떻게 만들어서 실행하는지를 모르겠네요
pop3 인증후 성공한 유저에 대해서 허용하는 것도
어떤 솔루션을 써야되는지 알려주시면 좋겠네요..
__________________________________________________
좀 더 편한 방화벽 스크립트를 만들자...

__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.

환골탈태의 이미지

화이트리스트를 급하게 적용해야 했기에 간단하게 해봤습니다.
제대로 하고 있는 건지 모르겠습니다. ^^

먼저 25번 포트로의 접속시만 rbldnsd를 적용할 수 있었고
stunnel과 같은 465/smtps를 사용하는 경우 127.0.0.1에서 포워딩 되면 적용이 힘들었습니다.

* 화이트 리스트 작성 내용
1. 정적인 화이트리스트와 pop3에 로그인이 성공한 화이트리스트 추출
화이트리스트 추출 주기는 5분
2. rbldnsd의 TTL과 Check 타임을 조정
TTL은 5분 Check 타임은 1분(기본값)으로 조정했습니다.

블랙리스트에 있더라도, pop3 인증에 성공하게 되면, 5분쯤 뒤에 화이트리스트에 포함이
되어서 정상적으로 메일을 송신할 수 있게 됩니다.

테스트는 많이 못했구요. 동작은 하고 있네요 ^^

더 좋은 방법이 있는지 알고 계시는 분은 조언 부탁드립니다.

/etc/crontab

# kisarbl
2 * * * * root /etc/cron.script/kisarbl.sh getspamlist &>/dev/null
*/5 * * * * root /etc/cron.script/kisarbl.sh whitelist &>/dev/null

/etc/named.conf

  // krrbl 설정
  zone "krrbl.or.kr" IN {
    type forward;
    forward first;
    forwarders {
      127.0.0.1 port 5353;
    };
  };

/etc/resolv.conf

search mydomain.com
nameserver 127.0.0.1

kisarbl.conf의 whitelist를 추출하는 부분
소스를 적었더니 깨지는 군요..첨부파일을 보시면 됩니다.

아래의 첨부파일은 /etc/cron.script/kisarbl.sh 스크립트 입니다.

__________________________________________________
좀 더 편한 방화벽 스크립트를 만들자...

__________________________________________________
모두 다 Hardy로 업그레이드 하고 있습니다.