[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Script Firewall
From: |
Standler meir |
Subject: |
Re: [shell-script] Script Firewall |
Date: |
Thu, 12 Nov 2009 08:36:29 -0800 (PST) |
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 <address@hidden> escreveu:
De: jimmy <address@hidden>
Assunto: Re: [shell-script] Script Firewall
Para: address@hidden
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"
> meuemail@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]