|
|
(418 revisões intermediárias por 2 usuários não estão sendo mostradas) |
Linha 1: |
Linha 1: |
| = Administração de Servidores= | | '''Semestre''': 4º |
| | <!--=Objetivo= |
| | Instrumentalizar os alunos para administrar e gerenciar redes de computadores e servidores, de forma que possam configurar e controlar os dispositivos que compõe uma rede local e prover serviços de rede aos usuários, instalar e configurar aplicações de rede em servidores, incluindo questões de permissão de acesso aos usuários e segurança das informações. |
|
| |
|
| ==Carga Horária== | | =Ementa= |
| 72 horas
| | Instalação de aplicativos em servidores. |
| | Sistema de arquivos e permissão de acesso. |
| | Administração de usuários e grupos. |
| | Cotas de disco e políticas de backup. |
| | Servidores de arquivo. |
| | Configurações de rede e roteamento estático e dinâmico. |
| | Servidores de acesso centralizado a sistemas. |
| | Servidor DNS. |
| | Servidores de aplicação (Web, correio eletrônico, acesso remoto e outros). |
| | Redes Privadas Virtuais (VPN). |
| | Segurança e firewall. |
| | --> |
| | ==Plano de ensino== |
| | *[[PLANO DE ENSINO - TADS:Administração de Servidores]] |
|
| |
|
| == Ementa == | | <!--=Histórico da Disciplina= |
| *Instalação de aplicativos em servidores. | | *[[TADS:Administração de Servidores: 2019-2|2019-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]]) |
| *Sistema de arquivos e permissão de acesso.
| | *[[TADS:Administração de Servidores: 2018-2|2018-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]]) |
| *Administração de usuários e grupos.
| | *[[TADS:Administração de Servidores: 2017-2|2017-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]]) |
| *Cotas de disco e políticas de backup.
| | *[[TADS:Administração de Servidores: 2016-2|2016-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]]) |
| *Servidores de arquivo.
| | *[[TADS:Administração de Servidores: 2015-2|2015-2]]: (Prof. [[Usuário:Evandro.cantu | Evandro Cantú]]) |
| *Configurações de rede e roteamento estático e dinâmico.
| | --> |
| *Servidores de acesso centralizado a sistemas. | | ==Conteúdo Programático== |
| *Servidor DNS.
| | ===Servidor Linux=== |
| *Servidores de aplicação (Web, correio eletrônico, acesso remoto e outros).
| | *[[Introducao a Administracao de Servidores|Introdução a Administração de Servidores]] |
| *Redes Privadas Virtuais (VPN).
| |
| *Segurança e firewall. | |
| | |
| == Bibliografia Básica==
| |
| *SIEVER, E. et all. Linux: O guia essencial. 5 ed. Porto Alegre: Bookman, 2006.
| |
| *VALLE, O. T. Administração de Redes com Linux: Fundamentos e práticas. Florianópolis: IFSC, 2010.
| |
| *SCHRODER, C. Redes Linux - Livro de Receitas. Rio de Janeiro: Alta Books, 2008.
| |
| *FERREIRA, R. E. Linux: Guia do administrador do sistema, 2 ed. Novatec, 2008. | |
| *SOUZA, R. F. Administração de Servidores Linux: Passo-a-passo para pequenas empresas. Fortaleza: Clube de Autores: 2012.
| |
| | |
| ==Bibliografia Complamentar==
| |
| *MORIMOTO, C. E. Servidores Linux: Guia prático. Meridional: 2008.
| |
| *TIBET, C. V. Linux: Administração e suporte. São Paulo: Novatec, 2001. | |
| *VIANA, E. R. C. Virtualização de Servidores Linux Para Redes Corporativas: Guia Prático. Ciência Moderna: 2008.
| |
| *KUROSE, J. F.; ROSS, K. W. Redes de Computadores e a Internet: Uma abordagem top-down. 5 ed. Addison Wesley, 2010.
| |
| *COMER, D. E. Interligação em Redes com TCP/IP. Vol. 1, 5 ed. Rio de Janeiro: Campus, 2006.
| |
| | |
| ==Materiais disponíveis na Wiki sobre Administração de Servidores== | |
| *[[Introdução a Administração de Servidores]] | |
| *[[Servidor Linux]] | | *[[Servidor Linux]] |
| *[[Administração de Usuários e Grupos]] | | *[[Administracao de Usuarios e Grupos|Administração de Usuários e Grupos]] |
| *[[Permissões de acesso a arquivos e diretórios]] | | *[[Permissoes de acesso a arquivos e diretorios|Permissões de acesso a arquivos e diretórios]] |
| *[[Cotas em disco]] | | *[[Cotas em disco]] |
| *[[Programação do Shell]] | | *[[Programação do Shell]] |
| *[[Agendamento de Tarefas]] | | *[[Agendamento de Tarefas]] |
| *[[Cópias de Segurança]] | | *[[Copias de Seguranca|Cópias de Segurança]] |
| *[[Servidor SSH]] | | *[[Servidor SSH]] |
| *[[Rede e Roteamento]]
| | |
| **[[NAT]]
| | ===Servidores de Aplicação=== |
| **[[Protocolo DHCP]]
| |
| **[[Laboratório: NetKit DHCP e NAT]]
| |
| *[[DNS]]
| |
| **[[Servidor DNS]]
| |
| **[[Laboratório: NetKit DNS]]
| |
| *[[Servidor Web]] | | *[[Servidor Web]] |
| *[[Servidor FTP]]
| |
| *[[Servidor Samba]] | | *[[Servidor Samba]] |
| *[[Servidor Proxy]] | | *[[Servidor Proxy]] e [[Firewall]] |
|
| |
|
| = Ano Letivo 2015-2 = | | ===Contêineres=== |
| *Professor: Evandro Cantú <evandro.cantu@ifpr.edu.br>
| | *[[Docker]] |
| *Encontros: 2a feira: 19h15-20h45 / 4a feira 21h00-22h30 - 4 aulas/semana
| |
| *Atendimento paralelo: 4a feira - 18h00-19h00.
| |
| ----
| |
| == Diários de Aula == | |
|
| |
|
| ===22/fev 2016 (4 aulas)=== | | ===Servidores em Nuvem=== |
| ;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:
| | *AWS (Amazon) |
| *'''Endereço IP público''' do Servidor: '''200.17.101.10''' | | *FireBase (Google) |
| *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. | | *Digital Ocean |
| *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
| |
| *[[Mídia:'''Roteiro''' para exportar '''servidor Ubuntu''' para '''máquina virtual''']]: Elaborado por Matheus Marques Martines. | |
|
| |
|
| ;[[Servidor Samba]]
| | = Diários de Aula = |
|
| |
|
| ====Tarefa 8====
| | Diários de aula disponibilizados na plataforma '''Moodle IFPR''' (https://ava.ifpr.edu.br). |
| ;Servidor Samba: Instalar '''servidor Samba''', incluindo compartilhamento do diretório '''home''' para acesso via rede, diretório compartilhado sem senha, e diretório com acesso seguro para grupos de usuário.
| |
| | |
| ;[[Servidor Proxy]]
| |
| | |
| ====Tarefa 9====
| |
| ;Servidor Proxy: Instalar '''servidor Squid''' e configurar para permitir acesso somente de computadores da rede local, incluindo regras '''ACL''' para bloquear o acesso a alguns sites.
| |
| | |
| ===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 '''[https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-14-04 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===
| |
| ;[[Servidor Web]]:
| |
| | |
| ===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===
| |
| ;[[Programação do Shell]]
| |
| | |
| ===28/out===
| |
| ;[[Cotas em disco]]
| |
| ====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===
| |
| ;[[Permissões de acesso a arquivos e diretórios]]
| |
| | |
| ====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===
| |
| ;[[Administração de Usuários e Grupos]]
| |
| | |
| ====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===
| |
| ;[[Servidor Linux]]:
| |
| *dpkg e wget;
| |
| *Gerenciador de processos;
| |
| *Sistema de arquivos.
| |
| | |
| ===03/out (sábado)===
| |
| ;[http://wiki.ubuntu-br.org/ComandosBasicos Comandos Básicos Linux]
| |
| | |
| ===30/set===
| |
| ;[[Servidor Linux]]: Instalação e configuração.
| |
| | |
| ====Tarefa 1====
| |
| ;[http://200.17.101.9/wiki/index.php/Servidor_Linux#Instala.C3.A7.C3.A3o_e_configura.C3.A7.C3.A3o 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
| |
|
| |
|
| | ---- |
| | [[Usuário:Evandro.cantu|Evandro.cantu]] ([[Usuário Discussão:Evandro.cantu|discussão]]) 11h09min de 4 de março de 2021 (-03) |
| ---- | | ---- |
|
| |
|
| [[Categoria:TADS]] | | [[Categoria:TADS]] |