Olá Jimmy, Grato pela atenção.
Vou tentar explicar resumidamente e de forma bem clara. A função do script é ficar ouvindo o log messages..... e toda vez que aparecer no log as palavras mismatch ou Wrong password ele pega o IP que gerou essa mensagem adiciona uma regra de bloqueio para este ip ustilizando o iptables, salva essas informações num arquivo e me manda por e-mail. Basicamente é isso. Setiveres alguma sugestão eu agradeço. Att, Stanley --- Em qui, 12/11/09, jimmy <[email protected]> escreveu: De: jimmy <[email protected]> Assunto: Re: [shell-script] Script Firewall Para: [email protected] Data: Quinta-feira, 12 de Novembro de 2009, 10:25 saudações, On Wed, Nov 11, 2009 at 04:10:57AM -0800, Standler meir wrote: > > > Olá Gurus, > > Alguém poderia me ajudar com o script abaixo? > Quando rodo ele fica dando essa mensagem: > > grep: [ ou [^ descasados > grep: [ ou [^ descasados esse tipo de erro ocorre quando se inicia uma lista de caracteres e esta não é terminada com o par dos colchetes. > > Aceito qualquer sugestão de melhorias. pelo menos para mim, apenas melhorias não resolvem o seu problema, creio que você precise estudar mais sobre as ferramentas que deseja utilizar, não cheguei a analisar o seu código, mas me pareceu bastante confuso. > > Desde já grato pela atenção dos amigos. > > ------------ --------- --------- --------- --------- --------- - > > #!/bin/sh > > idjits=`basename $0` > TMPFILE=`mktemp /tmp/${idjits} .XXXXXX` || exit 1 > > messages=/var/ log/asterisk/ messages > time=`tail -n 2 /var/log/asterisk/ messages | sed -n '1p' | awk '{print > $2}' | awk -F : '{print $1":"}'` > > day=`tail -n 2 /var/log/asterisk/ messages | sed -n '1p' | awk '{print > $1}'` > > echo "grep \"$day $time\" $messages" |sh|\ > awk '/Wrong password/{print $11}'|\ > sed 's:'\''::g'| sort -u|grep -vi [a-z] >> $TMPFILE > > echo "grep \"$day $time\" $messages" |sh|\ > > awk '/Wrong password/{print $10}' |\ > sed 's:'\''::g'| sort -u|grep -vi [a-z] >> $TMPFILE > > echo "awk '/mismatch/{ print $11}' $messages" |sh|\ > > grep -vi [a-z]|sed 's:'\''::g' > > echo "Creating rules" > > for i in `cat $TMPFILE|sed 's:for::g'` > > do > > echo "iptables -A INPUT -s $i -p udp --dport 5060:5061 -j REJECT > --reject-with icmp-host- > > prohibited" > /etc/dbeats > > echo "iptables -A INPUT -s $i -p tcp --dport 5060:5061 -j REJECT > --reject-with icmp-host- > > prohibited" > /etc/dbeats > > sort /etc/dbeats2 | uniq > /etc/deadbeats > > echo "Limpar Firewall" > > iptables -F > > echo "Reloading normal rules" > > sh /etc/firewall > > echo "Adding deadbeats" > > sh /etc/deadbeats > > done > > date > /tmp/blocked > echo >> /tmp/blocked > > echo "grep \"$day $time\" $messages" |sh|\ > > awk '/Wrong password/{print $11}'|\ > sed 's:'\''::g'| sort -u|grep -vi [a-z] >> /tmp/blocked > > echo "grep \"$day $time\" $messages" |sh|\ > > awk '/Wrong password/{print $10}'|\ > sed 's:'\''::g'| sort -u|grep -vi [a-z] | mail -s "Acessos Bloqueados" > meuem...@gmail. com > > rm -f $TMPFILE > > ____________ _________ _________ _________ _________ _________ _ -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------ --------- --------- ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
