[FUG-BR] Firewall Pró Ativo

Joao Rocha Braga Filho goffredo em gmail.com
Quinta Março 18 13:14:47 BRT 2010


2010/3/18 Felipe N. Oliva <felipe.no88 at yahoo.com.br>:
> Tenho o bruteblock em alguns servidores para controle de conexão no
> smtp, ele le o arquivo de log e adiciona automaticamente o ip com um
> determinado numero de conexões em uma tabela do ipfw.

Aqui estão. Algumas linhas foram quebradas, mas com um pouco de
atenção pode-se ver como consertar. São basicamente as regex.

ssh.conf:

---- 8x ---- Cut Here ---- Corte aqui ----
# Sample configuration file for the OpenSSH daemon

# regexp rule. Please rember that you MUST specify only one match for
# ip address to block
#
# this regexp for the OpenSSH server matches lines like:
#
# comment: auth via key only
#sshd[72593]: Illegal user hacker from 1.2.3.4
#
# comment: pwd auth, but no such user
#sshd[72593]: Failed password for illegal user sammmm from 1.2.3.4
#
# comment: correct user, but wrong password
#sshd[72626]: Failed password for samm from 1.2.3.4
#
# Versao aprimorada de regras implementada em 18/11/2006
# A versao anterior estah num arquivo com a data no final do nome.
regexp          = sshd.*Illegal user \S+ from
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
regexp1         = sshd.*Failed password for (?:illegal user )?\S+ from
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
regexp2         = sshd.*Did not receive identification string from
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
regexp3         = sshd.*Invalid user \S+ from
(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})
regexp4         = sshd.*reverse mapping checking getaddrinfo for .*
.(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}). failed - POSSIBLE BREAK-IN
ATTEMPT!


# Number of failed login attempts within time before we block
max_count       = 4

# Time in seconds in which all failed login attempts must occur
# Modificado por Joao Rocha em 30/08/2006.
#within_time     = 60
within_time     = 300

# Time in seconds to block ip in firewall

# 10 minutes
# Modificado por Joao Rocha em 30/08/2006.
#reset_ip       = 600
reset_ip       = 14400

# IPFW table number to add "bad" hosts
# Modificado por Joao Rocha em 30/08/2006.
#ipfw2_table_no = 1
ipfw2_table_no = 0
---- 8x ---- Cut Here ---- Corte aqui ----

ftp:

---- 8x ---- Cut Here ---- Corte aqui ----
# Sample configuration file for the ProFTPD daemon

# regexp rule. Please rember that you MUST specify only one match for
# ip address to block
#
# this regexp for the ProFTPD server matches lines like:
#
# proftpd[71905]: server.com (hack.com[1.2.3.4]) - USER hacker: no such user
# proftpd[72020]: server.com (hack.com[1.2.3.4]) - USER hacker (Login failed)
#
# Illegal user test from 10.0.0.1
# Failed password for illegal user x from 10.0.0.1 port x ssh2
# Failed password for x from 10.0.0.1 port x ssh2
#regexp         = (?:did not receive identification string
from|illegal user .+ from|failed .+ for (?:illegal user )?.+
from).*\b(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}).*
#regexp=Did not receive identification string from 10.0.0.1
#regexp=proftpd.*\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]\) - USER \S+
(?:no such user|\(Login failed)
regexp  =ftpd.*: FTP LOGIN FAILED FROM (\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})



# Number of failed login attempts within time before we block
max_count       = 4

# Time in seconds in which all failed login attempts must occur
#within_time     = 60
within_time     = 300

# Time in seconds to block ip in firewall

# 10 minutes
#reset_ip       = 600
reset_ip       = 14400

# IPFW table number to add "bad" hosts
#ipfw2_table_no = 0
ipfw2_table_no = 0

---- 8x ---- Cut Here ---- Corte aqui ----

Acrescente a seguinte linha no

---- 8x ---- Cut Here ---- Corte aqui ----
auth.info;authpriv.info | exec /usr/local/sbin/bruteblock -f
/usr/local/etc/bruteblock/ssh.conf

auth.info     | exec /usr/local/sbin/bruteblock -f
/usr/local/etc/bruteblock/ftp.conf

---- 8x ---- Cut Here ---- Corte aqui ----

João Rocha.


>
> Joao, voce poderia enviar os arquivos de configuração para ssh e ftp?
>> 2010/3/17 Davi Vercillo C. Garcia <davivcgarcia at bsd.com.br>:
>>
>>> Fala pessoal,
>>>
>>>
>>>>> Sua indagação despertou em mim a curiosidade de saber como softwares como
>>>>> fail2ban interagem com PF ou IPtables.
>>>>>
>>> De acordo com o site oficial...
>>>
>>
>> Eu uso o BruteBlock para bloquear IPs que tentam fazer muito ssh
>> e muito ftp, e obtém erros de conexão. Ele recebe do syslog as
>> mensagens de erro, compara com uma regex, e coloca em uma
>> table se passa de um número de tentativas em um determinado
>> tempo. Mas no final de 2006 fiz um outro uso para ele.
>>
>> Eu fiz uma regex para verificar setup de conexão a uma porta TCP 25,
>> e se tiver muitas tentativas em 1 minuto, ele coloca em uma table
>> que é usada em uma regra que proíbe conexões SMTP.
>>
>> A quem interessar, eu posso mandar os arquivos de regras.
>>
>>
>> João Rocha.
>>
>>
>>> "Fail2ban scans log files like /var/log/pwdfail or
>>> /var/log/apache/error_log and bans IP that makes too many password
>>> failures. It updates firewall rules to reject the IP address."
>>>
>>> Achei bem legal... não conhecia essa ferramenta... =P
>>>
>>> Abraços,
>>> --
>>> Davi Vercillo C. Garcia
>>> http://www.google.com/profiles/davivcgarcia
>>>
>>> "Waste time in learning things that do not interest us, deprives us of
>>> discovering interesting things."
>>> - Carlos Drummond de Andrade
>>> -------------------------
>>> Histórico: http://www.fug.com.br/historico/html/freebsd/
>>> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>>>
>>>
>>
>>
>>
>>
>
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>



-- 
"Sempre se apanha mais com as menores besteiras. Experiência própria."

goffredo at gmail.com


Mais detalhes sobre a lista de discussão freebsd