Linux 방화벽 iptables & DDoS 방어?

PF로 DDoS 공격을 어느정도 막으면서, iptables에서도 가능한지 궁금해졌습니다. PF 처럼 쉽게 공격 IP를 완전하게 차단하는 방법은 찾지 못했지만, IP당 시간당 연결수를 제한하는 방법은 있네요.

iptables -N SSHSCAN
iptables -A INPUT -p tcp –dport 22 -m state –state NEW -j SSHSCAN
iptables -A SSHSCAN -m recent –set –name SSH
iptables -A SSHSCAN -m recent –update –seconds 300 –hitcount 3 –name SSH -j DROP

5분동안 22포트에 똑같은 IP가 3번 이상의 TCP 연결이 들어오면 그 이후로는 막습니다. 즉 5분간 3개의 연결만을 허용합니다. SSH 돌리기 신공은 막을수 있겠지만, DDoS 공격을 차단하기는 부족한 기술인듯하네요.

using-iptables-to-block-brute-force-attacks 문서를 보시면, 자세한 설명이 있고, 공격 아이피에 대해서 로깅을 하는 방법도 있습니다. 로그 분석해서 iptables rule을 등록해주면 공격 아이피에 대해서 차단할수 있을듯하네요. 하지만 이 방법 말고 더 쉬운 방법이 없을까 고민중입니다.

여러가지 로그 파일에서 로그인 실패를 모니터링해서 공격을 막아주는 fail2ban 이라는 툴도 있네요. 설명은 여기를 참고하세요. 역시 DDoS 방어용은 아니지만, 로그 분석을 통해서 방화벽에 IP 등록하는걸 응용할수 있을듯합니다.

최근
Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort 책을 보기 시작했는데 좀더 좋은 방어 방법 찾으면 다시 글 올리겠습니다.

One thought on “Linux 방화벽 iptables & DDoS 방어?

  1. realcom

    궁금한점은.. 위 iptalbe 에 등록함으로써, 소스ip 가 변경되어 지는것을 어느 정도 막을 수 있다는 말씀인가요??
    brute-force-attacks 무작의 대입 attack 으로 서버에 소스를 넣어 어느정도 막는것이 가능하지만..

    DDos 같은 경우는 소스IP 가 지속적으로 변경되므로.. 효율성은 제로에 가깝지 않을까 싶어서요..

    저희 고객중에 DDos 로 고생하시는데.. 관리 입장에서 돈안쓰고 몬가 해드릴 방법이 없군요.. 에휴..

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>