Servidor Debian 9
Servidor Debian 9
Servidor Debian 9
0. Antes de Iniciar
0.0 Sobre este Guia
1. Instalação
1.0 Antes de Iniciar
1.1 Guia de Instalação do Debian 9 'Stretch'
2. Configuração
2.0 Antes de iniciar
2.1 Rede local
2.1.1 Diagrama da Rede
2.1.2 Endereço IP estático
2.1.3 Nome do sistema
2.1.4 Agregação de interfaces de rede
2.1.5 Interface de rede virtual
2.2 Software
2.2.1 Gestor de pacotes APT
2.2.2 Atualizações de software
2.2.3 Atualização dos processos em curso
2.2.4 Repositórios
2.2.5 Repositório backports
2.2.6 Notificação de atualizações
2.2.7 Atualizações automáticas
2.3 Acesso Remoto
2.3.1 O protocolo SSH
2.3.2 Servidor Ssh
2.3.3 Acesso via SSH sem password
2.4 Relógio do sistema
2.4.1 Data, hora e fuso horário
2.4.2 Protocolo NTP
2.4.3 Servidor NTP
2.5 Utilizadores
2.5.2 Quotas
3. Servidor Intranet
3.1 DNS
3.1.1 O Protocolo DNS
3.1.2 Cache DNS
3.1.3 Servidor DNS Local
3.2 Dhcp
3.2.1 O protocolo DHCP
3.2.2 Servidor DHCP
3.3 Proxy Internet
3.3.1 Cache web: Squid
3.4 Base de dados
3.4.1 Servidor MySQL: MariaDB
3.5 Certificados SSL
3.5.1 Certificados Auto-Assinados
3.5.2 Certificados LetsEncrypt
3.6 Anti-vírus
3.6.1 ClamAV
3.7 Anti-spam
3.7.1 Spamassassin
3.8 Controlo de versões
3.8.2 Git
3.9 Partilha de ficheiros
3.9.1 Servidor SMB: Samba
3.10 Servidor multimedia
3.10.1 Servidor dlna
4. Servidor Internet
4.1 Servidor HTTP
4.1.1 Apache2
4.1.2 Apache2 + Ssl
4.1.3 Apache2 + Php7
4.1.4 Apache2 + Php7 + MySQL
5. Servidor de Email
5.1 Protocolo IMAP
5.1.1 Servidor IMAP(S): Dovecot
5.1.2 Quotas
5.2 Protocolo SMTP
5.2.1 Servidor SMTP: Postfix
5.2.2 Servidor SMTP com autenticação SASL
5.2.3 Relay SMTP
5.3 Filtragem de Email
5.3.1 amavisd-new
5.3.2 Filtro Anti-vírus
5.3.3 Filtro Anti-spam
5.4 Descarga de email
5.4.1 Fetchmail
5.5 Interface Webmail
5.5.1 Roundcube
6. Monitorização
6.1 Ficheiros log
6.1.1 Logwatch
6.2 Monitorização do sistema
6.2.1 Munin
6.2.2 PhpSysInfo
6.3 Rede local
6.3.1 Arpwatch
7. Segurança
7.1 Ataques de força bruta
7.1.1 Fail2Ban
7.2 Deteção de rootkits
7.2.1 Rootkit Hunter
7.3 Auditoria de segurança
7.3.1 Debsecan
7.4 Firewall
7.4.1 UFW
0.0 Sobre este Guia
Este guia ilustra, passo a passo, a instalação e configuração de um servidor Debian
GNU/Linux caseiro, cobrindo não só o sistema de base, mas também diversos serviços de
rede, como o servidor de correio, servidor internet, até aos sistemas de segurança e
monitorização do sistema.
Atenção
Este guia tem apenas objetivos educativos e de aprendizagem. Como qualquer guia, este
também pode ter algumas incorreções, ou estar sujeito a interpretações incorretas. Em
nenhum caso deverei ou poderei ser responsabilizado por qualquer tipo de dano resultante
do uso deste guia.
Quer uma maneira fácil de impressionar o chefe com um servidor empresarial feito
por copiar/colar e pronto a funcionar.
Não conhece nada sobre Linux e/ou computadores em geral.
Pensa que pode fazer um servidor e descansar para o resto da vida.
Acha que se pode auto-intitular Administrador de Sistemas só por ter lido este manual.
Agora a sério
E se este guia levantar mais perguntas do que respostas, parabéns: Está na direção
correta e pronto para voos mais ousados!
Este guia está organizado de forma sequencial, de acordo com a lógica de configuração
de um servidor e suas dependências. Isto quer dizer que, por exemplo, a configuração de
rede deve estar terminada com sucesso para iniciar a instalação e configuração de um
servidor web.
Portanto, a melhor maneira de ler este guia é seguindo a sua estrutura sequencialmente,
acompanhando as instruções passo a passo.
No entanto, para facilitar a consulta, este guia também está organizado por assunto, em
diversos capítulos e secções e artigos.
Experimentar primeiro
Uma boa maneira de experimentar sem compromisso antes de começar a sério, é fazer
uma instalação virtual.
Virtualbox é um software opensource que pode se usado livremente e conta com uma
lista impressionante de possibilidades. É o software utilizado para o desenvolvimento
deste guia.
VMWare software proprietário de virtualização que pode ser utilizado livremente e de
forma gratuita.
Criar um Servidor Virtual Privado na Cloud
Fórum
Existe também um Fórum Servidor Debian com um tema específico sobre a 1.
Instalação para colocar questões ou sugestões.
Não me responsabilizo!
Como qualquer guia, este também pode ter algumas incorreções, ou estar sujeito a
interpretações incorretas. Em nenhum caso deverei ou poderei ser responsabilizado por
qualquer tipo de dano resultante do uso deste guia. Fica o aviso legal!
Have fun!
Aprender mais sobre o Linux montando um servidor caseiro pode ser uma experiência de
aprendizagem esclarecedora e divertida. Porque não experimentar?
Referências
Guia de Instalação de Debian GNU/Linux
Debian GNU/Linux Installation Guide
Referências Debian
Debian Reference
Debian Documentation
Documentação Debian
VirtualBox
VMWare Player
DigitalOcean
Linode
Vultr
1.0 Antes de Iniciar
Nota
Este Guia é baseado na versão oficial Debian 9 'Stretch', também conhecida como “estável”
(“stable”).
Para saber mais sobre as versões do Debian GNU/Linux consulte Versões/Lançamentos
Debian.
Nos mirrors da debian, existem várias imagens de CDs e DVDs de instalação, desde um
“mini” CD de 32Mb até a um conjunto de DVDs com vários Gb e praticamente todo o
software disponível nos repositórios da debian.
Como o objectivo é instalar um servidor, a melhor opção é fazer uma instalação mínima e,
em seguida, instalar os pacotes de software necessários a partir da Internet. Assim, basta
descarregar uma pequena imagem netinst (cerca de 250Mb) a partir dos servidores
da Debian.org: https://www.debian.org/distrib/netinst.
Para descarregar o ficheiro ISO, procurar um mirror debian o mais próximo possível. Uma
lista de mirrors está disponível em https://www.debian.org/CD/http-ftp.
Pode descarregar o ficheiro ISO para múltiplas arquiteturas diretamente a partir de:
Tembém pode ser utilizado uma pen USB como dispositivo de arranque.
Nos sistemas Windows, um modo fácil de preparar uma chave USB de arranque e
instalação é usar o UNetbootin.
Esta configuração varia consoante o sistema e BIOS instalado, pelo que, em caso de
dúvidas, consultar a documentação ou o Guia de Instalação de Debian GNU/Linux.
A regra a aplicar é a do bom senso: sempre que possível, trabalhar como utilizador normal;
apenas em caso de absoluta necessidade, mudar para root e apenas durante o tempo
estritamente necessário.
O comando su permite mudar de identidade. Pode ser utilizado para um utilizador normal
se tornar root, caso conheça a respetiva password:
1 fribeiro@server:~$ su - root
2 Password:
3 root@server:~#
A partir deste momento e para todos os efeitos, é o utilizador root que está ativo.
1 root@server:~# exit
2 logout
3 fribeiro@server:~$
1.1 Guia de Instalação do Debian 9
'Stretch'
Arranque do CD-Rom
Inserir o CD-Rom de instalação do debian na drive e iniciar ou reiniciar o sistema.
Não esquecer que é necessário configurar o arranque a partir do CD-Rom. Para isso
devemos verificar ou alterar as definições do BIOS ou, carregar na tecla que permite
selecionar o dispositivo de arranque.
Localização
Após alguns segundos, deverá ser escolhido a língua de instalação, que será também a
língua utilizada pelo sistema.
Configuração de rede
A configurado de rede requer, basicamente, a atribuição de um endereço IP e um nome ao
sistema.
Configuração automática
Root
Para a conta do super-utilizador (root) é apenas pedida a password, uma vez que essa
conta tem sempre como “login” predefinido o nome “root”. Como este é o utilizador com
maiores privilégios, deve ser escolhida uma password difícil de “crackar”.
Confirmar a password da conta root para verificar que não houve erros ao digitar:
Utilizador normal
Um utilizador normal, sem privilégios especiais, deve também ser criado. Indicar o nome
completo desse utilizador:
Indicar o login do utilizador:
Escolher uma password:
E confirmar a password:
Relógio do sistema e fuso horário
Se possível, o instalador irá tentar sincronizar o relógio do sistema a partir de um dos
servidor de tempo disponíveis na Internet. Para permitir acertar correctamente o relógio do
sistema, uma lista de fusos horários válida para o país escolhido previamente é
apresentada.
Particionamento do disco duro
O particionamento consiste em organizar o disco em várias áreas ou partições, cada uma
com um objectivo ou tipo de ficheiros específico. O instalador Debian oferece diversas
opções e estratégias de particionamento do disco duro.
Neste caso optamos por dividir o disco em duas partições, uma para a instalação do
sistema (“/” ou “root”) e outra para armazenar dados (“/home”). Uma terceira partição de
memória virtual (“swap”) será também criada.
Partição Conteúdo
Em primeiro lugar, o apt propõe verificar o conteúdo de outros CD-Roms do debian, o que
iremos declinar.
Para uma eficiente instalação de pacotes a partir da Internet, deve-se seleccionar o
repositório geograficamente mais próximo, utilizando um “mirror”.
No entanto, a instalação deste pacote força a instalação de vários outros dos quais
depende, o que não é desejável nesta fase, pelo que se deve seleccionar NO:
Selecção do software a instalar
O instalador permite a instalação automática de diversas configurações de sistema. Como
queremos personalizar totalmente o nosso sistema, anulamos qualquer selecção existente
de modo a instalar apenas uma base com um mínimo de funcionalidades.
Instalação do gestor de arranque "grub"
O sistema está praticamente instalado, mas para que possa arrancar, deve ser instalado o
gestor de arranque “grub” no master boot record (MBR) do disco.
O grub irá tentar encontrar eventuais outros sistemas operativos que estejam instalados
em paralelo no mesmo sistema:
A instalação do grub no master boot record (MBR) do disco é essencial para o arranque do
sistema:
O “grub” deverá ser instalado no disco de sistema:
Finalmente é instalado o grub no disco de arranque:
Terminar a instalação
A instalação está terminada. Retirar o CD-Rom de instalação da drive e escolher
“continuar” para terminar a instalação e arrancar com o novo sistema Debian 9 'Stretch':
O primeiro arranque do sistema
Se este ecran for mostrado, parabéns, a instalação foi bem sucedida!
Login
O primeiro login:
Um sistema linux com um mínimo de funcionalidades, mas extremamente sólido, está
pronto para ser expandido à medida das nossas necessidades!