[Develope]/Security

쓰레기로 생성된 iptables의 notrack

하늘을닮은호수M 2011. 8. 24. 22:22
반응형
~/Work/Study/security/iptables/del_notrack.sh.html

#
#!/bin/sh
# Script for deleting notrack
#

rule_count=`iptables -t raw -L MEDIA_NOTRACK | awk '{print $1}' | grep -v "^target" | grep -v "^Chain" | wc -l`
echo "rule num is " $rule_count

for(( i = 1; i <= ${rule_count}; i++ ))
do
    let "idx = ${rule_count}-${i}+1";
    #echo "index is ${idx}"
    rule=`iptables -t raw -L MEDIA_NOTRACK ${idx} | awk '{print $1}' | grep -v "^target" | grep -v "^Chain"`

    if [ "${rule}" == "NOTRACK" ]
    then
        iptables -t raw -D MEDIA_NOTRACK ${idx}
        echo "delete rule ${idx} of Chain MEDIA_NOTRACK"
    fi
done


FIREWALL을 관리하는 프로세스의 재기동 등의 이유로 어느 상황에 쓰레기로 남은 NOTRACK들을 지울 필요가 있었다.
하지만, IPTABLES에서 NOTRACK만을 구분해 지우는 것이 rule_num에 의해 이루어지는 문제가 있어,
한 번에 지우기 위한 스크립트를 작성하였다.

raw라는 table에 MEDIA_NOTRACK을 만들어 그 아래에 NOTRACK들을 관리했다면,
MEDIA_NOTRACK의 모든 rule을 돌면서(마지막 rule부터 처음 rule까지),
rule의 target이 NOTRACK인 것을 지우도록 하였다.
반응형

'[Develope] > Security' 카테고리의 다른 글

비밀번호 수준 체크  (0) 2008.12.02
해킹방지 - 암호유출프로그램  (0) 2008.09.01