TADS:Administração de Servidores: 2015-2
INF-405 - Administração de Servidores
Curso: Tecnologia em Análise e Desenvolvimento de Sistemas
Componente Curricular: Administração de Servidores
Professor: Evandro Cantú <evandro.cantu@ifpr.edu.br>
Turma: 01/2014
Período Letivo: Quarto
Ano: 2015
Carga horária: 60
Horários de Aulas:
Horário Semanal de Atendimento ao Estudante:
Semestre 2015-2
MATERIAIS DE APOIO
- Wiki do Campus Foz do Iguaçu
- Introdução a Administração de Servidores
- Servidor Linux
- Administração de Usuários e Grupos
- Permissões de acesso a arquivos e diretórios
- Cotas em disco
- Programação do Shell
- Agendamento de Tarefas
- Cópias de Segurança
- Servidor SSH
- Rede e Roteamento
- DNS
- Servidor Web
- Servidor FTP
- Servidor Samba
- Servidor Proxy
- Firewall
DIÁRIOS DE AULA
29/fev 2016 (4 aulas)
- Avaliação envolvendo a apresentação do servidor pela equipe e questionamentos individuais
- Agenda de avaliações:
- 18h40: Bruno e Matheus Marques;
- 19h00: Frederik e Igor Leite
- 19h20: Roberto
- 19h40: Clelionei e João Pedro
- 20h00: Lucas Mendonça e Tiago
- 20h20: João Paulo
- 20h40: Lucas Guerra
- 21h00: Douglas e Igor Matheus
- 21h20: Luis Felipe
Chegar com 20 min de antecedência para caso de adiantamento.
26/fev 2016
Finalização de tarefas pendentes.
24/fev 2016
- Servidor Proxy
- Arquivo de configuração Squid e finalização da Tarefa 9.
- Firewall
- Implementação de firewall com iptables.
Tarefa 10
- Firewall com Iptables
- Pesquise e construa um script com algumas regras de segurança com Iptables para seu Servidor Ubuntu, justificando as regras escolhidas por meio de comentários no script.
22/fev 2016 (4 aulas)
Tarefa 8
- Servidor Samba
- Instalar servidor Samba e incluir os seguintes compartilhamentos de arquivos:
- Compartilhar o diretório home para acesso via rede;
- Compartilhar diretório para acesso público sem senha;
- Compartilhar diretório com acesso seguro para grupos de usuário, incluindo um diretório para o grupo alunos e outro para o rupo professores.
- Servidor Proxy
- Servidor Squid
Tarefa 9
- Servidor Proxy
- Instalar servidor Squid e configurar para permitir acesso de computadores da rede local, e incluir regras ACL com as seguintes restrições:
- Bloquear o acesso a alguns sites especificados em lista própria;
- Bloquear o acesso a determinados computadores da rede local em horários específicos;
- Bloquear o acesso a sites em função de palavra chave.
Exportar servidor Ubuntu para máquina acessível na Internet
Os Servidores Ubuntu deverão exportados para uma máquina virtual rodando em um servidor acessível da Internet, com as seguintes caracteríscas:
- Endereço IP público do Servidor: 200.17.101.10
- Contas de usuário e senha: Cada aluno da turma tem uma conta no servidor, pertencente ao grupo sudo, identificada pelo primeiro nome, com exceção dos nomes repetidos (igorl, igorq, lucasg, lucasm, joaot, joaop). Após o primeiro acesso, importante trocar a senha.
- Acesso via SSH: O acesso ao servidor com IP público será via SSH. Uma vez acessado o servidor os servidores individuais também serão acessados via IP privado da rede interna.
- Endereços IP privados dos servidores individuais: Os servidores individuais receberão IP fixo, segundo a seguinte listagem:
- 192.168.10.20: Professor
- 192.168.10.21: Bruno e Matheus
- 192.168.10.22: Clelionei e João Pedro
- 192.168.10.23: Douglas e Igor Matheus
- 192.168.10.24: Frederik e Igor Leite
- 192.168.10.25: João Paulo
- 192.168.10.26: Lucas Guerra
- 192.168.10.27: Lucas Mendonça e Thiago
- 192.168.10.28: Luis
- 192.168.10.29: Roberto
- Roteiro para exportar servidor Ubuntu para máquina virtual
- Elaborado por Matheus Marques Martines.
- Acesso ao Servidor Ubuntu com navegador modo gráfico via SSH
- É possível rodar aplicativos gráficos via SSH, para tal, no acesso ao servidor digitar os seguintes parâmetros:
ssh -X -C usuario@200.17.101.10
- com isto o X11 vai exportar qualquer aplicativo gráfico que for executado.
A partir de um navegador gráfico, como o firefox, rodando no servidor 200.17.101.10, será possível acessar o servidor Ubuntu rodando na máquina virtual 192.168.10.2?.
17/fev 2016
- Serviços adicionais para permitir a manutenção de VirtualHosts em um Servidor Web
- Cotas em disco para Servidores Web: As Cotas em disco são um recurso importante para disciplinar o uso do espaço em disco disponível para cada VirtualHost disponibilizar as conteúdo na Web. Para tal, as cotas em disco devem ser ativadas para os administradores dos VirtualHosts e aplicadas no diretório /var/www/html, ou no diretório na qual o conteúdo Web ficará armazenado.
- Acesso remoto com Servidor SSH
- Acesso com Servidor FTP
Tarefa 7
- Servidor FTP
- Instalar servidor FTP para usuários e também FTP Annonymous com acesso somente em leitura no diretório público.
15/fev 2016
- Instalação Servidor Web TomCat
- Versão TomCat 8: Este servidor deverá ser utilizado na apresentação do trabalho da disciplina Desenvolvimento Web III (Prof. Felippe), sobre aplicação Java Web.
Continuação da Tarefa 6
10/fev 2016
Revisão servidor PHP e MySQL
Continuação da Tarefa 6
06/fev 2016 (sábado)
- Apresentação
- Certificados SSL -> Frederik
Continuação da Tarefa 6
03/fev 2016
- Apresentação
- MySQL -> Matheus Marques
Tarefa 6
- Servidor LAMP
- Implementar um servidor LAMP (Apache/MySQL/PHP) e servidor Tomcat. Hospedar nos servidores:
- Site para a equipe em um VirtualHost no servidor Apache para páginas HTML básicas.
- Site para cliente 1 em um VirtualHost no servidor Apache que inclua scripts em PHP e acesso ao banco de dados MySQL.
- Site para cliente 2 no servidor Tomcat que inclua scripts em JSP (Java Server Pages) e acesso ao banco de dados MySQL.
- Suporte para páginas pessoais para os usuários, incluindo no mínimo uma página para cada membro da equipe.
23/dez
- Confraternização alunos TADS
21/dez
19/dez (sábado)
Apresentação dos exercícios sobre Laboratório: NetKit DNS e Servidor Web.
16/dez
- Aplicação Web
- Papel do navegador e do servidor Web e os protocolos envolvidos.
- Protocolo HTTP
- Regras para troca de mensagens entre o cliente e o servidor Web.
- Servidor Web
- Servidor Apache
07, 09 e 14/dez
- DNS
- Serviço de Nomes de Domínio
- Servidor DNS
- Implementação de um servidor para uma Zona de Domínio
- Laboratório: NetKit DNS
- Implementação de um cenário de testes para o servidor DNS
25 e 30/nov e 02/dez
- Rede e Roteamento
- Servidor DHCP.
- Laboratório: NetKit DHCP e NAT
23/nov
- Rede e Roteamento
- Configuração das Interfaces e NAT.
18/nov
- Cópias de Segurança
- Continuação da Tarefa 5: Backup incremental.
16/nov
- Cópias de Segurança
- Backup total.
- Servidor SSH
- Acesso com chave pública de autenticação.
Tarefa 5
- Backup total
- Criar um servidor remoto para ser acessado via SSH para ser utilizado para armazenar arquivos de backup total:
- Utilizar como servidor remoto o Ubuntu Server de uma outra equipe.
- Criar no servidor remoto uma conta especial para ser acessada pelo script de backup, por exemplo, bkuser. Definir como diretório home deste usuário um diretório especial para guardar os arquivos de backup, por exemplo /backup (este diretório poderia ser montado em uma partição exclusiva para backup).
- Gerar a chave de autenticação pública no cliente (ssh-keygen) que vai rodar o script de backup e copiá-la para o servidor remoto (ssh-copy-id), que vai armazenar os backups .
- Criar na máquina cliente um script de backup que identifique e salve diariamente os diretórios /home e /dados e que depois transfira os mesmos para o servidor remoto.
- Agendar a tarefa usando o agendamento de tarefas.
- Backup incremetal e Backup total
- Criar um script de backup para ser armazenado em um servidor remoto, combinando:
- Armazenar de arquivos de backup total realizados mensalmente, mantendo o histórico dos arquivos e nomeando-os com a identificação do mês;
- Atualizar de arquivos de backup incremental, usando rsync, executado diariamente.
14/nov (sábado)
- Agendamento de Tarefas
- Crontab
- Cópias de Segurança
- Backups
11/nov
- Programação do Shell
- Resolução dos exercícios.
- Agendamento de Tarefas
09/nov
- Cotas em disco
- Revisão
07/nov (sábado)
Avaliação dos servidores
Avaliações individuais
- Igor Matheus (Ñ), Igor Leite (ok), João Paulo (Ñ), Lucas Moraes (ok), Roberto (ok) e Victor (Ñ)
04/nov
28/out
Tarefa 4
Criar cotas em disco para usuários e grupos para controle do espaço de armazenamento dos diretórios /home e /dados. O ideal seria que estes diretórios tivessem sido montados em partições separadas. Como não foi montado desta forma, vamos aplicar o sistema de quotas a partição / (raiz) do sistema.
- Atribuir quota de 1MB por usuário e 5MB por grupo.
- Atribuir 500 inodes por usuário e 500 inodes por grupo.
- Testar o funcionamento do sistema de quotas.
26/out
Continuação Tarefa 3.
21/out
Tarefa 3
Criar diretórios para utilização compartilhada para os usuários dos grupos primários e secundários:
- Grupos primários: Alunos e Professores
- Grupos secundários: Arduino, PHP, Mobile, etc
Alocar os diretórios no seguinte subdiretório:
/dados/professores /dados/alunos /dados/arduino ...
- Permissões
- Definir para os diretórios as seguintes permissões:
- Diretório home do usuário: Leitura, Escrita e Execução somente para o Dono do diretório;
- Diretório professores: Leitura, Escrita e Execução para o Dono e para o Grupo do diretório;
- Diretório alunos: Leitura, Escrita e Execução para o Dono e para o Grupo do diretório;
- Diretórios para grupos secundários: Leitura, Escrita e Execução para o Dono e para o Grupo, e acesso a Leitura e Execução para os Outros.
Verifique a permissão padrão do diretório home que está sendo utilizada quando um usuário é criado. Se necessário, utilize o comando umask para que novos usuários fiquem com a permissão indicada.
Testar as permissões de acesso com diferentes tipos de usuário.
19/out
Continuação Tarefa 2.
14/out
Continuação Tarefa 2.
07/out
Tarefa 2
Criar contas de usuário e grupo para todos os alunos e professores da turma:
- Grupos primários: Alunos e Professores
- Grupos secundários: Arduino, PHP, Mobile, etc
- Verificar com a turma os grupos de interesse para formar os grupos secundários.
- Cada usuário deve pertencer a um grupo primário e pode pertencer a um ou mais grupos secundários.
Requisitos para as contas de usuário e grupo:
- Estabelecer regramento para os nomes de login
- Por exemplo: nome: João Paulo de Souza -> login: jsouza
- Cadastrar cada usuário incluindo as seguintes informações: Nome Completo, Telefone, email.
- Cadastrar as senhas (1234) e solicitar para os usuários fazerem a troca e testar a conta através ssh.
Exemplo:
groupadd Alunos groupadd Professores groupadd Arduino adduser --ingroup Alunos jsouza adduser jsouza Arduino
- No exemplo foram criados três grupos Alunos, Professores e Arduino; em seguida foi criado o usuário jsouza no grupo primário Alunos; depois o usuário jsouza foi incluído no grupo secundário Arduino.
Alteração da senha
passwd jsouza
Verificar arquivos /etc/passwd e /etc/group fazendo os ajustes diretamente com o editor vi caso necessário.
- finger
- Instalar o aplicativo finger com apt-get e verificar se as informações dos usuários estão corretas. Veja que com o finger é possível identificar se os usuários estão ativos no sistema.
05/out
- dpkg e wget;
- Gerenciador de processos;
- Sistema de arquivos.
03/out (sábado)
30/set
- Servidor Linux
- Instalação e configuração.
Tarefa 1
- Instalação e configuração do Servidor Linux
- Instalar o servidor em uma máquina virtual do VirtualBox:
- Escolher basic server install;
- Definir memória RAM de 512MB, pois teremos várias máquinas virtuais em um mesmo hardware;
- Além do servidor básico, instalar o Servidor OpenSSH, para poder acessá-lo remotamente (os demais serviços serão instalados posteriormente).
- Na configuração da máquina virtual no VirtualBox, estabelacer a configuração de rede do Servidor Linux como Placa em modo Bridge, para que o servidor fica na mesma rede local dos demais computadores do laboratório;
- Verificar a configuração de rede do Servidor Linux com ifconfig;
- Testar conectividade com ping entre o Servidor Linux a a máquina hospedeira;
- Conectar-se remotamente ao Servidor Linux com ssh.
- Instalação do servidor Web apache
- Instalar o servidor Web com apt-get;
- Testar funcionamento do servidor a partir de um navegador na máquina hospedeira.
- Instalação de outros serviços
- Instalar e testar navegador lynx;
- Instalar e testar o aplicativo traceroute.
- Teclado ABNT Brasil
- Caso tenha instalado versão em inglês do teclado, o mesmo pode ser ajustado com o comando:
setxkbmap -model abnt2 -layout br
- Executar aplicativos gráficos via SSH
- É possível executar aplicativos gráficos via SSH fazendo alguns ajustes no servidor:
vim /etc/ssh/sshd_config
- Altere as linhas no arquivo sshd_config:
Protocol 2 PermitRootLogin without-password X11Forwarding yes
- Reinicie o serviço:
/etc/init.d/ssh restart
- Conecte-se ao servidor via SSH usando:
ssh -X -C user@server
- Chame o aplicativo normalmente.
28/set
- Introdução a Administração de Servidores
- Servidor Linux
- Origem e conceitos gerais