Serviços de Rede
Alberto Felipe Friderichs BarrosServiços são funções implementadas por algum protocolo cujo objetivo é oferecer recursos ou automatizar tarefas na rede.
SSH, SMTP, DHCP, DNS, FTP, LDAP, TELNET, HTTP, SNMP, POP, ICMP...
Protocolos
O Dynamic Host Configuration Protocol é um protocolo de rede utilizado para atribuir automaticamente informações de TCP/IP para os clientes da rede. A ideia é facilitar o gerenciamento da rede, evitando que o administrador precise configurar manualmente cada máquina.
Funcionamento
O DHCP utiliza a porta 67 do protocolo UDP, logo não é orientado a conexão está na camada de aplicação mas funciona basicamente nas camadas 2 e 3 (Rede e Enlace) do modelo de referência OSI
Funcionamento
O servidor não necessita estar na mesma rede que os hosts, no entanto deve-se configurar o roteador para permitir pacotes broadcast.
# apt-get install isc-dhcp-server
# service isc-dhcp-server start # service isc-dhcp-server restart # service isc-dhcp-server status # service isc-dhcp-server stop
Daemon
ddns-update-style none; default-lease-time 600; max-lease-time 7200; authoritative; subnet 10.1.1.0 netmask 255.255.255.0 { range 10.1.1.2 10.1.1.253 option routers 10.1.1.254; option domain-name-servers 8.8.8.8; option broadcast-address 10.1.1.255; } host SERVER {
hardware ethernet 00:0F:B0:55:EA:13; fixed-address 10.1.1.1;
}
Log de Erros
# tail -f /var/log/syslog
#grep dhcpd /var/log/syslog
Concessões Ativas
# cat /var/lib/dhcp/dhcpd.leases | less
Serviço # dhcpd -t
Instale e configure o servidor DHCP de acordo com o projeto lógico da rede. Após a instalação do serviço, desconecte o cabo de rede;
O Secure Shell é um programa de computador e ao mesmo tempo protocolo de rede que permite realizar conexões remotas para um host de forma segura, ou seja, criptografada
O protocolo foi desenvolvido por Tatu Ylönen na Universidade de Tecnologia de Helsinki, em 1995. Hoje em dia ele é usado, basicamente, para fazer o login, executar comandos em máquinas remotas e transferir arquivos entre os hosts.
SSH
O SSH utiliza a porta 22 do protocolo TCP, logo é orientado a conexão está na camada de aplicação do modelo de referência OSI.
# apt-get install ssh openssh-server
sshd_config
Port 22 AllowUsers usuário DenyUsers usuário ForwardX11 no Compression = yes ServerAliveInterval 120 ListenAddress 192.168.1.1 Protocol 2,1 PermitRootLogin no Banner = /etc/ssh/banner.txtChaves de autenticação
Por mais seguras que sejam as senhas, sempre existe uma pequena possibilidade de descobrir. Ao invés de depender da senha para acessar o servidor SSH, pode-se utilizar 1 par de chaves de autenticação, onde a chave pública é instalada nos servidores que serão acessados e a chave privada fica na máquina local que gerou. Comando: ssh-keygen -t rsa
Instale o SSH Server e realize uma conexão entre duas Vm Linux.
Atividade
Samba é um programa de computador, utilizado em sistemas operacionais do tipo Unix, permitindo que seja feito gerenciamento e compartilhamento de arquivos em uma rede Microsoft.
O Samba foi criado por Andrew Tridgell em 1992 como projeto para interconectar o DOS que utilizava o sistema de arquivos NFS com o Linux. Resumidamente criou um programa que por meio de engenharia reversa analisou o protocolo SMB/CIFS e conseguiu desenvolver o SAMBA.
Com o servidor Samba, é possível compartilhar arquivos, compartilhar impressoras e controlar o acesso a determinados recursos de rede com igual ou maior eficiência que servidores baseados em sistemas operacionais da Microsoft.
Todo trabalho feito pelo Samba é provido de grande segurança, uma vez que há grande rigor nos controles dos recursos.
Em relação ao seu concorrente, Windows Server, o Samba é mais completo, apresenta menos erros, além do que, como deve ser instalado em um servidor GNU/Linux, a possibilidade de ter o servidor infectado por vírus é MÍNIMA.
O Samba é um software livre que está disponível sob a licença GPL. Muitas distribuições Linux já o incluem, mas caso queira instalá-lo, é possível baixá-lo de seu site oficial: www.samba.org
# apt-get install samba
SAMBA
smb.conf
[global]# nome do servidor de arquivos netbios name = ifsc
# nome do grupo de trabalho ou do domínio workgroup = ifsc
server string = Servidor Samba security = user [rede] # diretório compartilhado path = /home/ifsc public = yes browseable = yes writable = no
Instale o SAMBA e compartilhe a pasta /public. em modo público em seguida acesse o compartilhamento por outro computador da rede e crie arquivos.
Atividade
Editar o arquivo /etc/apt/sources.list
deb http://ftp.ca.debian.org/debian/ jessie main contrib non-free deb-src http://ftp.ca.debian.org/debian jessie main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free deb http://ftp.ca.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.ca.debian.org/debian jessie-updates main contrib non-free deb http://ftp.ca.debian.org/debian/ jessie-backports main contrib non-free
File transfer protocol, é um protocolo para a transferência de arquivos sendo o protocolo padrão da pilha TCP/IP para esta função. O programa que o implementa do lado do servidor é chamado de servidor FTP, e o programa que o implementa do lado do cliente é chamado de cliente FTP.
FTP
O FTP opera sobre o protocolo TCP para realizar as suas comunicações. Pode operar em dois modos diferentes: modo ativo e passivo. Ambos operam utilizando duas portas TCP entre o cliente e o servidor;
• Uma porta é utilizada para a transferência de comandos. • Outra porta é utilizada para a transferência de arquivos.
O problema que ocorre com mais frequência no FTP envolve a transferência de arquivos através de servidores Proxy, Firewall e dispositivos de conversão de endereços (NAT). Na maioria dos casos, estes dispositivos permitem que a conexão de controle (envio de comandos) seja estabelecida, ou seja, o cliente faz logon com sucesso. Porém, ao tentar realizar a transferência dos arquivos, o cliente aparentemente para de responder. Isto ocorre porque o dispositivo de segurança bloqueia a conexão que está tentando ser estabelecida pelo servidor ao cliente no modo ativo;
A solução para este problema é a utilização de conexões no modo passivo, uma vez que a conexão de dados (transferência de arquivos) é inicializada pelo cliente e não pelo servidor FTP.
Instalação do servidor FTP no Debian:
# apt-get install proftpd
FTP
Clientes FTP no Windows (exemplos):
FTP
Configuração do servidor FTP: /etc/proftpd/proftpd.conf
Descomente a linha abaixo para garantir que os usuários somente terão acesso aos seus respetivos diretórios /home, sem poder navegar por toda a árvore de diretórios do servidor.
DefaultRoot ~
1 - Crie o arquivo welcome.msg no diretório /etc/proftpd/
Digite o texto: Welcome to IFSC Computer Science FTP Server!!!
2 - Modifique a linha abaixo:
DisplayLogin welcome.msg
Para:
DisplayLogin /etc/proftpd/welcome.msg
FTP
1 - Instale e configure o servidor FTP (ProFTP) no Debian.
2 - Teste a conexão com o servidor através de um cliente FTP.
Atividade
O servidor APACHE é um servidor WEB livre criado em 1995 por Rob McCool, sendo atualmente o servidor WEB mais utilizado em todo o mundo.
• Um servidor WEB tem a função de disponibilizar as páginas associadas à um endereço específico, por exemplo: www.lages.ifsc.edu.br
• Este, por sua vez, processa requisições HTTP (Hyper Text Transfer Protocol) ou HTTPS (HTTP + SSL – Secure Socket Layer) enviadas pelos clientes. • Após processadas, as requisições são respondidas com o conteúdo
solicitado ou com avisos de possíveis erros.
Apache
• Além de operar no Linux, o APACHE também possui versões para Windows, Novell Netware e OS/2.
• O APACHE é capaz de executar código em PHP, Perl, Shell Script e ASP. • A utilização mais comum do APACHE é combinada como o banco de dados
MySQL e a linguagem de programação web PHP.
Apache
Instalação do servidor Apache no Debian:
# apt-get install apache2
Obs: Após a instalação o servidor já estará rodando. Para acessá-lo abra um
browser e digite o IP do servidor, será aberta a página padrão do servidor WEB.
Apache
Apache
Um único servidor pode prover acesso à diversos endereços WEB diferentes. Esta configuração é realizada através de VirtualHost.
• No diretório /etc/apache2/sites-available estão contidas as configurações de todos os sites disponíveis no servidor Apache.
• No diretório /etc/apache2/sites-enabled estão contidas as configurações de sites ativos no momento. Os arquivos deste diretório são links simbólicos para os arquivos do diretório /etc/apache2/sites-available
Apache
Criando um novo website e substituindo o website padrão do servidor:
Vá ao diretório /var/www/ onde são armazenados todos os websites.
Crie um diretório chamado website_cc
Apache
Entre neste diretório e crie um arquivo chamado index.html. # vi index.html
O arquivo index.html deve conter o código abaixo: <html>
<header>
<title>Hello world page!!!</title> </header>
<body>
Hello world!!! </body>
Apache
Após isto vá ao diretório /etc/apache2/sites-available.
Copie o arquivo 000-default.conf com o nome website_cc.conf.
Apache
Edite o arquivo website_cc.conf e modifique a linha abaixo:
# DocumentRoot /var/www/html
Apache
1 - Vá ao diretório /etc/apache2/sites-enabled e remova o link 000-default.conf.
# cd /etc/apache2/sites-enabled # rm -f 000-default.conf
2 - Crie um link simbólico para o arquivo website_cc.conf do diretório /etc/apache2/sites-available.
# ln -s ../sites-available/website_cc.conf .
3 - Reinicie o servidor Apache.
Adicionando o PHP
Instale o PHP5.# apt-get install php5
Para testar o PHP no Apache vá ao diretório /var/www/website_cc, renomeie o arquivo index.html para index.old e crie o arquivo index.php com o conteúdo abaixo: # cd /var/www/website_cc # mv index.html index.old # vi index.php <?php phpinfo(); ?>
Adicionando o MySQL
Instale o servidor MySQL.# apt-get install mysql-server php5-mysql
Instale uma ferramenta de administração web do servidor PHP para facilitar a sua administração.
# apt-get install phpmyadmin