From: Brian Somers <[EMAIL PROTECTED]> Subject: Re: Checking changes to listening ports in /etc/security Date: Thu, Sep 13, 2001 at 10:25:02PM +0100 > I like this idea. I think It would be worth making it diff against > /dev/null when netstat.today doesn't exist, so that the first time > this is run on a given machine, you get to see all the ports that are > open. Done. I duplicated the code of the second if[] since I could not easily come up with a version that does not use some kind of shell variable weirdness and still work the same way. I prefer to keep this clean and easy to understand. The attached patch makes /dev/null the first argument of diff when sockstat.today does not exist. > [.....] > +[ -n "$ignore" ] && cmd="egrep -v ${ignore#|}" || cmd=cat > [.....] > > I think this like is bogus. In fact, it looks like the > $daily_status_security_noamd periodic.conf tunable is broken. > > Oops ! I'll fix it after your changes go in. So far, two people like the change. Since I can't help in making the change go in, I trust that after checking I did not break anything that I missed in my tests, you'll either give me a 'go ahead' to send-pr or just commit this yourself? -giorgos
Index: security =================================================================== RCS file: /home/ncvs/src/etc/security,v retrieving revision 1.55 diff -u -r1.55 security --- security 4 Jul 2001 12:49:17 -0000 1.55 +++ security 13 Sep 2001 22:46:08 -0000 @@ -128,6 +128,29 @@ tee /dev/stderr | wc -l) [ $n -gt 0 -a $rc -lt 1 ] && rc=1 +# Show changes in listening tcp and udp ports: +# +[ -n "$ignore" ] && cmd="egrep -v ${ignore#|}" || cmd=cat +if ( sockstat -l46 | head -1 ;\ + sockstat -l46 | grep -v comsat | grep -v '^$' |\ + grep -v '^USER' | sort +5 ) | $cmd > $TMP ;then + if [ ! -f $LOG/sockstat.today ]; then + [ $rc -lt 1 ] && rc=1 + separator + echo "$host changes in listening ports:" + diff -b /dev/null $TMP + touch $LOG/sockstat.yesterday || rc=3 + mv $TMP $LOG/sockstat.today || rc=3 + elif ! cmp $LOG/sockstat.today $TMP >/dev/null 2>&1; then + [ $rc -lt 1 ] && rc=1 + separator + echo "$host changes in listening ports:" + diff -b $LOG/sockstat.today $TMP + mv $LOG/sockstat.today $LOG/sockstat.yesterday || rc=3 + mv $TMP $LOG/sockstat.today || rc=3 + fi +fi + # Show denied packets # if ipfw -a l 2>/dev/null | egrep "deny|reset|unreach" > ${TMP}; then