Você está na página 1de 58

Servidor Debian 9 'Stretch'

 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.

As instruções presentes neste guia são baseadas na versão 9 'Stretch' da


distribuição DebianGNU/Linux.

Este guia é para mim?


Este guia é para quem ...

 É um entusiasta do Linux e quer instalar um pequeno servidor 'caseiro' como exercício


para aprender mais sobre Linux.
 Tem algum muito tempo disponível para aprender, pesquisar e resolver problemas que
IRÃO aparecer.
 Não desiste facilmente perante a primeira dificuldade ou contrariedade.
Este guia NÃO É para quem ...

 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

Instalar, configurar e manter um servidor (Linux ou outro) requer um profissional altamente


treinado, dedicado e com muita experiência. E convém não esquecer que manter um
servidor é uma tarefa que nunca acaba e não é, certamente, o emprego mais fácil do
mundo…

Este guia é basicamente uma compilação do meu processo de aprendizagem, portanto


deve ser usado apenas como uma ferramenta de aprendizagem. E como exercício de
aprendizagem, este guia responde as minhas necessidades, não necessariamente às de
outros, pelo que deve ser usado apenas como uma base de trabalho para as pesquisas
pessoais.

E se este guia levantar mais perguntas do que respostas, parabéns: Está na direção
correta e pronto para voos mais ousados!

Como ler este guia

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.

Criar um Servidor Virtual no seu computador

Existem atualmente excelentes softwares de virtualização, dos quais se destacam dois


pela sua facilidade de utilização e que são ambos uma excelente plataforma de testes:

 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

Outra opção é a criação de um servidor virtual privado a um custo bastante reduzido.


Durante a criação do servidor é possível escolher o número de processadores, a
quantidade de memória RAM, o espaço de armazenamento em disco, o volume de tráfego
mensal, bem como o sistema operativo a instalar e a respetiva versão:

Fornecedor Custo Mensal CPU RAM Disco Tráfego Mensal

DigitalOcean $5 1 Core 1 GB 25 GB SSD 1 TB

Linode $5 1 Core 1 GB 25 GB SSD 1 TB

Vultr $5 1 Core 1 GB 25 GB SSD 1 TB

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.

Preparar o dispositivo de instalação


A maneira mais fácil de instalar o debian é a partir de um CD-Rom ou de uma chave USB.
A partir da Internet pode-se descarregar uma imagem do CD de instalação (ficheiro com a
extensão “.iso”) e gravar um CD ou prepara uma chave USB com essa imagem.

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.

Descarregar o ficheiro ISO de instalação

Suporte para múltiplas arquiteturas

O Debian 9 'Stretch' permite instalar pacotes a partir de múltiplas arquiteturas na mesma


máquina. Isso significa que é possível instalar pacotes de software de 32 bits e 64 bits na
mesma máquina e em simultâneo e ter todas as dependências relevantes corretamente
resolvidas automaticamente.

Pode descarregar o ficheiro ISO para múltiplas arquiteturas diretamente a partir de:

 http://cdimage.debian.org/cdimage/release/current/multi-arch/iso-cd/ (para múltiplas


arquiteturas).
Se preferir instalar uma versão específica para a arquitetura da sua máquina pode
descarregar um ficheiro ISO mais pequeno diretamente a partir de:

 http://cdimage.debian.org/cdimage/release/current/i386/iso-cd/ (para processadores de


32bits).
 http://cdimage.debian.org/cdimage/release/current/amd64/iso-cd/ (para processadores
de 64bits).
Versões anteriores estão também disponíveis nos arquivos da Debian:

 http://cdimage.debian.org/cdimage/archive/ (Debian CDs/DVDs archive)


Criar um CD-Rom de instalação

Utilizar um software de gravação que permita criar CD-Roms de arranque a partir de


imagens ISO. Notar que arrastar o ficheiro ISO para o software de gravação não é,
provavelmente, a melhor opção.

Criar uma pen USB de instalação

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.

A partir de um sistema linux, pode gerar um USB de instalação seguindo as intruções


em Guia de Instalação de Debian GNU/Linux, 4.3. Preparar Ficheiros para iniciar a partir
de USB Memory Stick

Configurar o arranque a partir do CD-Rom ou USB


Esta opção pode ser configurada no BIOS do PC. Deverá ser indicado o CD-Rom ou o
USB como o dispositivo de arranque prioritário.

Nalguns sistemas mais recentes, é possível escolher a partir de um menu qual o


dispositivo de arranque. O Guia de Instalação de Debian GNU/Linux poderá ajudar.

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.

Atenção a eventuais perdas de dados


Atenção: durante a instalação do sistema debian, o disco será formatado, pelo que todos
os dados serão destruídos! Verificar que o disco não tem dados importantes. Em caso de
dúvida, fazer primeiro cópias de segurança do seu conteúdo.

'root' ou utilizador normal?


Regra geral, nunca se deve trabalhar num sistema Linux como root (super-utilizador). Ter
sempre em conta que, como root, o utilizador tem todos os poderes, pelo que um pequeno
erro ao digitar um simples comando pode ser catastrófico para todo o sistema!

No entanto, para instalar pacotes de software ou para configurar um sistema é, geralmente


necessário ter privilégios de super-utilizador (root), uma vez que um utilizador normal não
pode, regra geral, editar ficheiros de configuração, parar ou iniciar serviços, etc.

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.

Para terminar a sessão como root, utilizar o comando exit:

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.

Para iniciar a instalação selecione a opção Install e carregar em [ENTER].

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.

Para efeitos de compatibilidade, iremos selecionar English:


Em seguida, deverá ser indicada a localização geográfica do servidor. Baseado na língua
selecionada, é apresentada a lista de países, nos quais não consta Portugal, pelo que
selecionamos other:
Selecionar a região:
E finalmente o país:
Mais uma vez, por questão de compatibilidade, iremos escolher o inglês como opção de
localização:
Escolher também o tipo de teclado utilizado:
O instalador irá agora carregar mais alguns componentes antes de passar à configuração
da rede.

Configuração de rede
A configurado de rede requer, basicamente, a atribuição de um endereço IP e um nome ao
sistema.

O endereço IP e demais parâmetros de rede podem ser obtidos automaticamente a partir


de um servidor DHCP ou configurados manualmente.

Configuração automática

O instalador tenta configurar automaticamente o sistema usando o protocolo IPv6:


Caso não consiga finalizar a configuração IPv6, o instalador tenta obter um
endereço IP automaticamente, a partir de um servidor DHCP:
A configuração automática de rede foi bem sucedida:
Configuração manual

Caso o instalador não consiga obter automaticamente um endereço IP, ou caso o


processo seja interrompido, será necessário configurar manualmente a rede.
Neste caso, selecionar a opção Configurar manualmente a rede:
Indicar o endereço IP do sistema. Este endereço deve ser único na configuração da rede
local:
Indicar a máscara de rede ou aceitar a sugerida:
O gateway é o dispositivo pelo qual a rede interna acede à Internet, sendo normalmente o
endereço do router/modem do nosso fornecedor de acesso à Internet:

Indicar o gateway ou aceitar o sugerido:


O endereço do servidor DNS será também o indicado pelo nosso fornecedor de acesso
àInternet. Normalmente é o mesmo endereço do router.

Indicar o endereço do servidor DNS ou aceitar o sugerido:


Nome do Sistema
Indicar o nome pelo qual o sistema será reconhecido na rede. Tal como o endereço IP,
este nome deverá ser único na rede local:
Indicar o domínio. Se não tiver registado o seu próprio domínio, deve ser utilizado um
domínio inexistente, como “casa.rede” ou “home.lan”. Não utilizar nomes de domínios que
existam na realidade, tais como “google.com” ou “linux.org”, para evitar problemas na
resolução de nomes.
Utilizadores e passwords
O instalador requer a configuração de 2 contas de sistema ou logins. A primeira, “root”, é
uma conta especial, privilegiada e com plenos poderes; a segunda será a de um utilizador
“normal”, com poderes limitados por segurança.

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.

A opção “Particionamento guiado” permite criar, de um modo fácil e rápido, as partições de


acordo com o pretendido:
Escolher o disco onde criar as partições. Em Linux, os discos com
interface SCSI ou SATA são nomeados sda, sdb, etc, enquanto que os discos com
interface IDE (ou PATA) são nomeados hda, hdb, etc.
Escolher a opção “Partição /home separada”:
Em resumo, serão criadas 3 partições:

Partição Conteúdo

/ (root) Onde serão instalados os ficheiros de sistema

swap Memória virtual

/home Onde serão armazenados os ficheiros dos utilizadores


Atenção: as partições serão formatadas, pelo que todos os dados existentes serão
eliminados.
A formatação das partições pode demorar algum tempo, dependendo do tamanho do disco
e do tipo de hardware.
Instalação do sistema base
O instalador irá proceder em seguida à instalação dos pacotes necessários para criar um
sistema base. Este processo pode demorar algum tempo.

Numa primeira fase são descarregados, verificados e instalados alguns pacotes


essenciais:
Depois os pacotes base do sistema são instalados:
Segue-se a preparação e instalação do kernel linux:
E, finalmente, é efetuada a configuração do kernel linux:
Configuração do gestor de pacotes "apt"
A distribuição debian tem um poderoso sistema de gestão de pacotes de software,
chamado “apt”, que facilita a actualização ou instalação de novos pacotes a partir de várias
fontes, nomeadamente a partir de repositórios existentes na Internet.

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”.

Em primeiro lugar, deve-se escolher o país:


Em seguida, escolher o mirror mais próximo:
Caso se utilize um proxy para aceder à Internet, devemos indicar o endereço do proxy:
Uma vez configurado, o apt irá verificar se existem eventuais actualizações
no mirror definido:
Caso hajam actualizações disponíveis, estas são imediatamente descarregadas para
actualização do sistema:
Concurso de popularidade
A comunidade debian mantém um concurso de popularidade interno, como meio de obter
algumas estatísticas dos pacotes e sistemas instalados.

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!

Você também pode gostar