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.2 Software
2.4.1 Data, hora e fuso f uso horário 2.4.2 Protocolo NTP 2.4.3 Servidor NTP
2.5 Utilizadores
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.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ório R epositórioss 2.2.5 Repositório backport backportss 2.2.6 Notificação de atualizaçõe atualizaçõess 2.2.7 Atualizações automáticas
2.3 Acesso Remoto
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.5.2 Quotas
3. Servidor Intranet 3.1 DNS
3.2 Dhcp
3.8.2 Git
3.9 Partilha de ficheiros
3.7.1 Spamassassin
3.8 Controlo de versões
3.6.1 ClamAV
3.7 Anti-spam
3.5.1 Certificados C ertificados Auto-Assinados 3.5.2 Certificados C ertificados LetsEncrypt
3.6 Anti-vírus
3.4.1 Servidor MySQL: MariaDB
3.5 Certificados SSL
3.3.1 Cache web: Squid
3.4 Base de dados
3.2.1 O protocolo DHCP 3.2.2 Servidor DHCP
3.3 Proxy Internet
3.1.1 O Protocolo DNS 3.1.2 Cache DNS 3.1.3 Servidor DNS Local
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.2 Protocolo SMTP
5.4.1 Fetchmail
5.5 Interface Webmail
5.3.1 amavisd-new 5.3.2 Filtro Anti-vírus 5.3.3 Filtro Anti-spam
5.4 Descarga de email
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.1.1 Servidor IMAP(S): Dovecot 5.1.2 Quotas
5.5.1 Roundcube
6. Monitorização 6.1 Ficheiros log
6.2 Monitorização do sistema
6.2.1 Munin 6.2.2 PhpSysInfo
6.3 Rede local
6.1.1 Logwatch
6.3.1 Arpwatch
7. Segurança 7.1 Ataques de força bruta
7.2 Deteção de rootkits
7.2.1 Rootkit Hunter
7.3 Auditoria de segurança
7.1.1 Fail2Ban
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 presentes neste guia são baseadas baseadas na versão 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 algum muito 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 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 auto-intitular Administrado Administradorr de Sistemas Sistemas só por ter lido este manual.
Agora a sério Instalar, configurar e manter um servidor (Linux ou outro) requer um profissiona profissionall 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 perguntas do que respostas, parabéns: parabéns: Está na direção correta e pronto para voos mais ousados 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. 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, sequencialmente, acompanhando acompanha ndo 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 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 plataforma de testes:
Virtualbox é um software opensource que pode se usado livremente e conta com uma
lista impressionante de possibilidades. possibilidades. É o software utilizado para o desenvolvimento deste guia. proprietário de virtualização que pode ser utilizado livremente e de VMWare software proprietário 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 Linux montando um servidor servidor caseiro pode ser ser uma experiência 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 si stema 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: