denyhosts ignorando /etc/hosts.allow

2

Estou executando Ubuntu 13.10 (não LTS, eu sei ...). Eu tenho denyhosts instalado. Eu tenho /etc/hosts.deny e /etc/hosts.allow . Eu adicionei 2 IPs a hosts.allow (home + work). No entanto, sempre que eu faço login a partir desses IPs, recebo um e-mail informando que ocorreu um login suspeito.

Eu tentei formatar meu arquivo hosts.allow de duas formas diferentes. Nem parece funcionar.

O primeiro:

...
sshd: iii.i.i.iii : allow
sshd: iii.i.i.iii : allow

O segundo:

...
sshd: iii.i.i.iii
sshd: iii.i.i.iii

Eu não sei se isso está relacionado, mas se eu percebi algo que não posso explicar.

Se eu correr

$ sudo service denyhosts restart
 * Stopping DenyHosts denyhosts                                                                                                                                                                                                                                        [ OK ] 
/etc/init.d/denyhosts: 44: test: /etc/hosts.deny: unexpected operator
 * Starting DenyHosts denyhosts  

Mas se eu procurar por um erro em hosts.deny ou hosts.allow, não consigo encontrar nenhum:

sudo test -e /etc/hosts.allow
sudo test -e /etc/hosts.deny

E antes que eu esqueça, meu arquivo /etc/denyhosts.conf :

...
# Most operating systems:
HOSTS_DENY = /etc/hosts.deny
#
# Some BSD (FreeBSD) Unixes:
HOSTS_DENY = /etc/hosts.allow
...

Como o comentário diz, /etc/hosts.allow é aparentemente usado em alguns Unixes BSD. Esse é o problema? Em alguns guias que li para o Ubuntu, aparentemente isso não é.

EDITAR:

O arquivo /etc/init.d/denyhosts é executado:

HOSTS_DENY=$(grep ^HOSTS_DENY $CONFIG  | cut -d = -f 2)

que no meu caso retorna hosts.allow e hosts.deny .

    
por Simon 28.03.2014 / 13:57

2 respostas

2

Você tem os dois descomentados, então está me levando a acreditar que o denyhosts está usando /etc/hosts.allow . Comente a segunda linha HOSTS_DENY e reinicie os denyhosts.

Se você ainda receber os emails, você precisa adicionar SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = NO ao seu arquivo denyhosts.conf. Isso requer DenyHosts 0.6 ou superior. Veja este para detalhes.

Você também precisará criar um arquivo allowed-hosts com seus endereços IP confiáveis, um por linha. Isso vai na mesma pasta definida por WORK_DIR na configuração.

    
por 28.03.2014 / 14:05
3

Você precisa comentar a linha HOSTS_DENY = /etc/hosts.allow , já que você está no Ubuntu e não em uma caixa BSD.

Em seguida, você precisa entender como os arquivos hosts.(allow|deny) são processados. Os serviços que usam esses arquivos sempre verificam hosts.allow antes de hosts.deny e param na primeira correspondência. Portanto, se você conceder acesso a um endereço IP em seu arquivo hosts.allow , o acesso será concedido independentemente do conteúdo de hosts.deny . Você não precisa se preocupar se o denyhosts adicionar mais endereços a esse arquivo. O arquivo hosts.allow basicamente permite que você adicione endereços IP à lista de permissões.

Veja a página hosts_access(5) man para mais informações.

    
por 28.03.2014 / 14:31