Projeto e Instalação de Servidores Servidores Linux Aula 7 Samba, SSH e Prof.: Roberto Franciscatto
Samba Samba
Samba Samba Servidor de compartilhamento de arquivos e recursos de rede É compatível com estações de trabalho Windows e Linux
Samba Samba Instalação: apt-get install samba O arquivo principal (smb.conf) é dividido em várias partes: [global] configurações que afetam todo o Samba [homes] configurações do diretório para cada usuário [printers] configuração das impressoras compartilhadas
Samba Samba Instalação do SWAT (interface gráfica de gerenciamento do SAMBA): apt-get install swat Acesso via navegador: localhost:901
Samba Samba Cadastrando usuários: É necessário antes, cadastrar no servidor, com o seguinte comando: # adduser --disabled-login --no-create-home teste (onde teste é o nome do usuário criado)
Samba Samba Para cadastrar o usuário criado no servidor para o SAMBA, é necessário os seguintes passos: Menu Principal do SWAT, clique na opção Password Digitar o nome do usuário no campo User Name Senha nos campos New Password e Re-type New Password Clicar no botão Add New User Repetir os passos deste e do slide anterior para todos os usuários que se deseja cadastrar
Samba Samba Configurando os parâmetros globais: Opção Globals workgroup digitar o nome do grupo de trabalho string server digitar uma descrição para o servidor Samba security escolher USER valid users digitar o nome dos usuários que podem acessar este serviço, separados por vírgula
Samba Samba Configurando os parâmetros globais (cont.): host allow digitar o endereço IP das máquinas da rede com permissão para acessar os serviços host deny digitar o endereço IP das máquinas da rede que não possuem permissão para acessar os serviços Após efetuada as alterações clicar em Commit Changes
Samba Samba Configurando compartilhamentos: Opção Shares Digitar um nome para o compartilhamento e clicar em Create Share Clicar em Choose Share
Samba Samba Configurando compartilhamentos (cont.): Na opção comment, digitar um comentário para o compartilhamento path digitar o endereço da pasta que será compartilhada read only Yes = acessível somente como leitura No = acessível para gravação
Samba Samba Configurando compartilhamentos (cont.): hosts allow digitar o endereço IP das maquinas com permissão para acessar o compartilhamento hosts deny - digitar o endereço IP das maquinas sem permissão para acessar o compartilhamento Na opção browseable = Yes fica disponível na rede = No fica oculto na rede Commit Changes para salvar as alterações
Exercícios Samba Criar três usuários no servidor e habilitá-los no samba Configurar os parâmetros globais do samba Configurar três compartilhamentos de pastas diferentes variando as opções de configuração e realizando os testes das mesmas, via máquinas clientes no linux e windows.
SSH SSH
SSH SSH O SSH ou Secure Shell, pode ser simultaneamente um programa de computador e um protocolo de rede que: permite a conexão com outro computador na rede, de forma a executar comandos de uma unidade remota. Possui as mesmas funcionalidades do TELNET, com a vantagem da conexão entre o cliente e o servidor ser criptografada.
SSH SSH Vantagens em se utilizar SSH: ênfase na segurança mesmo que a rede local esteja comprometida você pode acessar de forma segura utiliza um conjunto de técnicas de criptografia são previstas respostas para vários tipos de ataques conhecidos
SSH SSH O SSH é dividido em dois módulos: sshd módulo servidor ssh módulo cliente Instalar o SSH no servidor apt-get install openssh-server Iniciar o servidor /etc/init.d/ssh start
SSH SSH Dicas importantes: Liberar a porta 22 (padrão SSH) Máquinas clientes devem ter o pacote openssh-client Configuração do servidor em: "/etc/ssh/sshd_config Configuração do cliente em: "/etc/ssh/ssh_config"
SSH SSH Logando via cliente SSH: ssh usuario@ip_do_servidor ssh l usuario ip_do_servidor ssh usuario@dominio.com.br
SSH SSH Configuração do cliente SSH Rodar aplicativos gráficos remotamente Editar /etc/ssh/ssh_config (no cliente) e substituir a linha ForwardX11 no por: ForwardX11 yes Ou logar com o X habilitado: Ex.: ssh X usuario@ip_do_servidor
SSH SSH Configuração do cliente SSH Compressão de dados Habilitar a linha: Compression = yes ou logar da seguinte forma: ssh C usuario@ip_do_servidor
SSH SSH Configuração do servidor SSH Editar arquivo /etc/ssh/sshd_config Porta = (Port 22) Controle de Acesso (ListenAddress 192.168.0.1) Usuários e Senhas (PermitRootLogin yes) (AllowUsers joao maria) (DenyUsers fulano ciclano) (PermitEmptyPasswords no)
SSH SSH Configuração do servidor SSH Editar arquivo /etc/ssh/sshd_config Banner = (Banner = /etc/ssh/banner.txt) X11 Forwarding = (X11Forwarding yes) SFTP = (Subsystem sftp /usr/lib/sftp-server)
Exercícios Exercícios Configurar um servidor usando o OpenSSH. Uma máquina é o servidor a outra o cliente que vai se conectar O cliente deve fazer conexões tanto em modo texto quanto interface gráfica, bem como tunelamento quando achar necessário. O cliente deve se logar via ssh, sftp (no linux) e via putty e filezilla no windows.
Exercícios Exercícios (2) Já o servidor deve aceitar conexões vindas somente da rede interna e somente do usuário do cliente. Não deve aceitar conexões como root e deve permitir conexões do tipo SFTP. Ainda faça upload de arquivos do cliente para o servidor e download no processo inverso O servidor não deve permitir senhas de login em branco, deve ainda deixar uma mensagem personalizada ao usuário no momento do login.
Os backups são uma parte importante da administração de qualquer servidor, por diversos motivos: desastres erro humano falhas de software e hardware
Problema Comum s precisam, quase sempre, serem feitos com o servidor em operação, sem atrapalharem o acesso dos usuários.
Problema Comum O nível de dificuldade também é um pouco maior, já que além de arquivos e pastas, é necessário salvar também: arquivos de configuração, bases de dados do MySQL e assim por diante.
Pastas que devem ser consideradas ao se fazer backup de um servidor: /var/www: (sites) /var/lib/mysql: (bases de dados do MySQL) /home: (arquivos de usuarios) /etc: (configurações do servidor) /var/log: (logs do sistema)
Exemplo de script de backup para a pasta /var/www e também as base de dados mysql:
#!/bin/sh # Acessa a pasta onde os backups serão salvos cd /var/backup # Cria uma variável contendo a data atual DATA=`date +%Y-%m-%d-%H.%M` # Faz backup da pasta /var/www tar -zcvf www-$data.tar.gz /var/www # Para o MySQL e faz backup das bases de dados /etc/init.d/mysql stop tar -zcvf mysql-$data.tar.gz /var/lib/mysql /etc/init.d/mysql start
Para automatizar a execução do script: adicionar uma entrada no arquivo "/etc/crontab": 59 4 * * * root /usr/local/bin/script-backup
com o rsync Outro grande aliado na hora de programar backups é o rsync. Ele permite sincronizar o conteúdo de duas pastas, transferindo apenas as modificações.
com o rsync Ele não trabalha apenas comparando arquivo por arquivo, mas também comparando o conteúdo de cada um. Se apenas uma pequena parte do arquivo foi alterada, o rsync transferirá apenas ela, sem copiar novamente todo o arquivo.
com o rsync Instalação: apt-get install rsync Exemplo de backup local: $ rsync -av /mnt/hda6/trabalho /mnt/backup/
com o rsync Exemplo de restauração do backup: $ rsync -av /mnt/backup/trabalho /mnt/hda6/trabalho/
com o rsync Exemplo de utilização do rsync remotamente: $ rsync -av --rsh= ssh -C -l tux /mnt/hda6/trabalho \ tux@192.168.0.1:/mnt/backup/ Exemplo de restauração de backup remoto: $ rsync -av --rsh= ssh -C -l tux tux@192.168.0.1:/mnt/backup/ \ mnt/hda6/trabalho
Monitorando a saúde do HD via SMART Tão importante quanto fazer backup é onde fazer backup Monitorar o HD é uma solução interessante para detectar possíveis problemas antes que estragos maiores aconteçam...
Monitorando a saúde do HD via SMART No linux tem-se o: smartmontools Instalação: apt-get install smartmontools
Monitorando a saúde do HD via SMART Primeiro passo: Comando essencial: smartctl Verificar se o smart está ativo no computador: Ex.: smart -i /dev/sda1 (onde /dev/sda1 deve ser substituído pelo dispositivo em questão)
Monitorando a saúde do HD via SMART Para ativar o SMART, deve-se utilizar o comando: smartctl s on /dev/sda1 Para um teste rápido deve-se utilizar o comando: smart t short /dev/sda1
Monitorando a saúde do HD via SMART Para exibir um relatório dos auto-teste realizados e o status de cada um, deve-se utilizar o comando: smart -l selftest /dev/sda1 (em um HD sem problemas, o resultado será Completed Without Error )
Monitorando a saúde do HD via SMART Um teste maior (cerca de uma hora) pode ser execução a partir do comando: smart -t long /dev/sda1
Monitorando a saúde do HD via SMART Para exibir um diagnóstico rápido da saúde do drive, pode-se utilizar o comando: smartctl -H /dev/sda1 (se aparecer o resultado PASSED significa que não foi detectado nenhum problema com o drive. Problemas eminentes no HD exibirão a palavra FAILING )
Monitorando a saúde do HD via SMART Por fim, para uma análise mais detalhada (com mais parâmetros testados), deve-se utilizar o comando: smartctl -A /dev/sda1 (coluna mais importante WHEN_FAILED, em um HD sem problemas, deve aparecer vazia, para todas as opções)
Exercícios Efetuar um teste curto e explicar (interpretar) os resultados encontrados Efetuar um teste longo e explicar (interpretar) os resultados encontrados Por fim, efetuar um teste de saúde do HD e habilitar o smart para iniciar automaticamente.
Dúvidas, sugestões ou questionamentos??? roberto.franciscatto@gmail.com