Download Securing Debian Manual

Transcript
Capítulo 5. Tornando os serviços em execução do seu sistema mais seguros
5.1.1
55
Executando o ssh em uma jaula chroot
O OpenSSH atualmente não suporta um método de chroot automático durante a conexão do usuário (a versão comercial
oferece esta funcionalidade). No entanto existe um projeto para fornecer esta funcionalidade também para o ssh, veja http:
//chrootssh.sourceforge.net, atualmente ele não esta empacotado para o Debian. Você poderá usar, no entanto, o
módulo pam_chroot como descrito em ‘Restringindo acessos de usuários’ on page 35.
Em ‘Ambiente chroot para SSH’ on page 137 você terá diversas opções para criar um ambiente chroot para o SSH.
5.1.2
Clientes do ssh
Se estiver usando um cliente SSH com um servidor SSH, você deverá ter certeza que ele suporta os mesmos protocolos que
são especificados no servidor. Por exemplo, se utilizar o pacote mindterm, ele somente utiliza a versão 1 . No entanto, o
servidor ssh utiliza, por padrão, a configuração para aceitar somente conexões para o protocolo da versão 2 (por razões de
segurança).
5.1.3
Desativando transferências de arquivos
Se não quiser que seus usuários transfiram arquivos do servidor ssh, você precisará restringir acesso ao sftp-server
e ao scp. Você poderá restringir o sftp-server configurando o sub-sistema Subsystem no arquivo /etc/ssh
/sshd_config. No entanto para restringir o acesso ao scp você deverá:
• bloquear o login de usuários ao servidor ssh (como descrito acima no arquivo de configuração ou configuração do
PAM).
• não fornecer shells validas para usuários que não tem permissão de realizar transferências de arquivos seguras. O
shell fornecido, no entanto, programas que podem tornar a conexão ao ssh útil, como o menu (estilo BBS). Caso
contrário, a opção anterior é a preferida.
5.2
Tornando o Squid mais seguro
O Squid é um dos servidores proxy/cache mais populares e existem algumas considerações de segurança que devem ser
levadas em conta. O arquivo de configuração padrão do squid nega todas as requisições de usuários. No entanto, o
pacote do Debian permite o acesso através de “localhost”, você apenas precisa configurar seu navegador adequadamente.
Configure o Squid para permitir acesso aos usuários confiáveis, máquinas ou redes definindo uma lista de controle de
acesso no arquivo /etc/squid.conf, veja o endereço Guia do Usuário Squid (http://squid-docs.sourceforge.
net/latest/html/book1.html) para mais informações sobre a definição de regras de ACLs. Note que o Debian oferece
uma configuração mínima para o Squid que prevenirá tudo, exceto a conexão de localhost em seu servidor proxy (que
é executado na porta padrão 3128) É necessária a personalização do arquivo de configuração /etc/squid.conf como
necessário. A configuração mínima recomendada (fornecida com o pacote) é mostrada abaixo:
acl all src 0.0.0.0/0.0.0.0
acl manager proto cache_object
acl localhost src 127.0.0.1/255.255.255.255
acl SSL_ports port 443 563
acl Safe_ports port 80
# http
acl Safe_ports port 21
# ftp
acl Safe_ports port 443 563
# https, snews
acl Safe_ports port 70
# gopher
acl Safe_ports port 210
# wais
acl Safe_ports port 1025-65535 # portas não registradas
acl Safe_ports port 280
# http-mgmt
acl Safe_ports port 488
# gss-http
acl Safe_ports port 591
# filemaker
acl Safe_ports port 777
# multiling http
acl Safe_ports port 901
# SWAT
acl purge method PURGE
acl CONNECT method CONNECT
(...)
# Somente permite acesso do cachemgr vindos de localhost
http_access allow manager localhost
http_access deny manager
# Somente permite requisições de purge vindas de localhost
http_access allow purge localhost
http_access deny purge
# Bloqueia requisições para portas desconhecidas
http_access deny !Safe_ports
# Bloqueia CONNECT a portas que não sejam SSL