Baixe o app para aproveitar ainda mais
Prévia do material em texto
SERVIÇOS WEB André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES OBJETIVOS: 1. DNS; 2. Servidor web; 3. FTP. Serviços Web DNS — Domain Name System André Luiz Carvalho Scampini — Vitória-ES Cada servidor na Internet, seja servidor web, servidor de e-mail, de transferência de arquivos (FTP), etc., deve ter o seu próprio endereço IP. Mas é muito difícil para os usuários lembrarem- se de cada endereço, distintamente, um a um. Por outro lado, máquinas não entendem nomes, mas sim, endereços — no caso do protocolo IP, as máquinas entendem endereços IP(v4). DNS André Luiz Carvalho Scampini — Vitória-ES � Para facilitar aos humanos a tarefa de memorizar um determinado domínio web, ou a localização de um certo servidor público... � e ao mesmo tempo, permitir às máquinas “entender” que o nome informado pelo usuário refere-se, na verdade, a um determinado endereço IP,... � foi criado o serviço DNS. André Luiz Carvalho Scampini — Vitória-ES � O DNS é uma aplicação no modelo TCP/IP que tem como finalidade converter nomes (facilmente memorizáveis pelos humanos) em endereços IP (com as quais as máquinas lidam) — sendo este tipo de resolução chamada de DIRETA;... � ... Ou, ao contrário, a obtenção de um endereço IP a partir do nome — sendo definida como resolução REVERSA. André Luiz Carvalho Scampini — Vitória-ES � Tais “obtenções” de nome por IP, ou vice- versa, são chamados de “mapeamento”. Informando-se a este serviço um determinado nome a aplicação é capaz de retornar seu respectivo endereço IP. Ou vice- versa. � O DNS (Domain Name System) é, portanto, fundamental para o correto funcionamento da rede, visto que hoje os acessos são feitos a partir dos nomes dos hosts. André Luiz Carvalho Scampini — Vitória-ES EXEMPLOS: • petrobras.com.br • vale.com • google.com.br • estacio.br André Luiz Carvalho Scampini — Vitória-ES � O DNS funciona de maneira distribuída, pois seria impraticável manter uma base centralizada para resolver todos os nomes. � Desta forma foram criados os Domínios. � Cada domínio deve possuir pelo menos 1 (um) servidor de nomes que seja responsável por ele, sendo que neste domínio ainda podem ser criados outros domínios abaixo da sua hierarquia. � Este novo domínio será delegado a outro servidor de nomes, ou ao mesmo. André Luiz Carvalho Scampini — Vitória-ES � Existem os domínios de primeiro nível ou raiz. � Entre os vários estão: .COM, .NET, .BR. � Para cada domínio deste deve existir uma entidade responsável pela sua manutenção. � No caso do Brasil, a entidade que cuida deste domínio é a REGISTRO.br (http://registro.br). Portanto cabe a esta entidade gerenciar todos os domínios que terminem com .BR. André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES � Para facilitar a identificação dos nomes, a REGISTRO.br possui vários domínios de segundo nível: � .COM.BR, � .EDU.BR, � .GOV.BR, � .ORG.BR. � Dependendo do domínio criado, a REGISTRO.br pode delegar o gerenciamento para uma Entidade, ou reter, ela mesma, o gerenciamento. André Luiz Carvalho Scampini — Vitória-ES Para resolver nomes em uma rede que utilize a arquitetura de protocolos TCP/IP, deve haver ao menos 1 (um) servidor de nomes, sendo ideal que haja 2 (dois). Esses servidores são chamados de “NS” — Name Servers, ou “servidores de nome”. CONSULTAS DNS André Luiz Carvalho Scampini — Vitória-ES Esses servidores executam 2 funções básicas: 1. Resolvem nomes de outros domínios, controlados por outros servidores, sob solicitação de seus clientes (chamados “Resolver”); e/ou 2. Controlam domínios e respondem às solicitações feitas por outros NS’s. André Luiz Carvalho Scampini — Vitória-ES 1. No primeiro caso, o servidor NS não controla o domínio que o cliente deseja acessar, e por isso, ele deve buscar a informação solicitada junto ao NS responsável por aquele domínio; 2. No segundo caso, ele responde pelo domínio em questão, e portanto, cabe a ele fornecer a informação solicitada. André Luiz Carvalho Scampini — Vitória-ES Existe uma ordem de eventos a ser seguida, a fim de se resolver nomes de domínios: 1. Se o NS for o responsável pelo domínio, ele mesmo responde à requisição do cliente; 2. Se não for responsável, verifica se a informação solicitada já consta em seu cache local — a fim de evitar tráfego desnecessário na Internet; 3. Se não constar, aí sim, ele vai buscar a informação junto ao NS responsável pelo domínio. André Luiz Carvalho Scampini — Vitória-ES Quando ele tem que buscar a informação na Internet, também é seguida uma ordem de eventos na pesquisa: 1. A primeira consulta é feita aos servidores root (raiz), ou servidores “ . ”, ou ainda, “root hints”. Nesse caso o NS quer saber: “quem responde por .br?” 2. Obtida a informação a consulta se repete, com o servidor seguinte, o qual responde por domínios “.br”. A ele é perguntado: “quem responde pelo domínio estacio.br?” André Luiz Carvalho Scampini — Vitória-ES 3. Por fim, a consulta chega ao servidor NS responsável pelo domínio “estacio.br”. A ele é perguntado (por exemplo): “qual é o IP do host ‘www’?”; 4. O NS do domínio “estacio.br” responde, e o NS que iniciou a consulta encaminha essa informação ao resolver, ao mesmo tempo em que armazena a informação em seu cache local, para futuras consultas. André Luiz Carvalho Scampini — Vitória-ES Servidor DNS local (ns.exemplo.com.br) Servidor-raiz d.root-servers.net Servidor da zona “.NET” I.GTLD-SERVERS.net Solicitante user.exemplo.com.br REQUISITA ACESSO A WWW.EXAMPLE.SAMPLE.COM Servidor de nomes intermediário ns.sample.com Solicitado – responsável pelo domínio example.sample.com: ns.example.sample.com Pesquisa recursiva Pesquisa iterativa 10 1 2 3 4 5 6 7 8 9 � Computadores em rede devem possuir pelo menos 1 (um) servidor DNS configurado em suas interfaces de rede. André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES ROOT SERVERS VeriSign, INC Cogent Communications U Maryland College Park, MD Department of Defense US Army VeriSign, INC 13 Servidores de nome-raiz em todo o mundo! NASA Mt View, CA Internet Software C, Palo Alto, CA USC-ISI Marina Del Rey, CA ICANN Marina Del Rey, CA RIPE, Londres NetNOD, Estocolmo WIDE Tóquio ROOT SERVERS ROOT SERVERS Endereço IP (v4 & v6) Localização a.root-servers.net 198.41.0.4, 2001:503:ba3e::2:30 VeriSign, Inc. b.root-servers.net 192.228.79.201 University of Southern California (ISI) c.root-servers.net 192.33.4.12 Cogent Communications d.root-servers.net 199.7.91.13, 2001:500:2d::d University of Maryland e.root-servers.net 192.203.230.10 NASA (Ames Research Center) f.root-servers.net 192.5.5.241, 2001:500:2f::f Internet Systems Consortium, Inc. g.root-servers.net 192.112.36.4 US Department of Defense (NIC) h.root-servers.net 128.63.2.53, 2001:500:1::803f:235 US Army (Research Lab) i.root-servers.net 192.36.148.17, 2001:7fe::53 Netnod j.root-servers.net 192.58.128.30, 2001:503:c27::2:30 VeriSign, Inc. k.root-servers.net 193.0.14.129, 2001:7fd::1 RIPE NCC l.root-servers.net 199.7.83.42, 2001:500:3::42 ICANN m.root-servers.net 202.12.27.33, 2001:dc3::35 WIDE Project André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES ESTRUTURA A estrutura do domínio é a seguinte: estacio.br. Servidor raiz (“root server”; ou “root hints”) Servidor da Zona (“root zone”) Servidor do Domínio (“name server”) André Luiz Carvalho Scampini — Vitória-ES “ . ” .net .com .br.com.br .ind.br petrobras.com.br galvani.ind.br vale.com André Luiz Carvalho Scampini — Vitória-ES Subdomínios, hierarquicamente, estão “abaixo” (isto é, à esquerda) do nome do domínio. Exemplo: www.receita.fazenda.gov.br HOST SUBDOMÍNIO DOMÍNIO André Luiz Carvalho Scampini — Vitória-ES �Subdomínios Internet devem ser registrados na autoridade competente (ex.: REGISTRO.br); �Subdomínios podem ser controlados pelo servidor autoritativo do domínio principal, porém, os subdomínios também podem ser delegados a qualquer outro servidor DNS; �O servidor DNS delegado de um subdomínio pode fazer novas delegações desse subdomínio; �Podem ser geograficamente distribuídos — isto é, podem se localizar em outros países e continentes; �Precisam estar contidos na árvore de domínio do domínio pai (receita� fazenda.gov.br). André Luiz Carvalho Scampini — Vitória-ES Pesquisa de Recursão é aquela em que um servidor consultado realiza a consulta em nome do solicitante, encaminhando-a para o servidor seguinte, e, depois, quando obtida a resposta desejada, informa-a ao solicitante. RECURSÃO & ITERAÇÃO André Luiz Carvalho Scampini — Vitória-ES Na Recursão alguém faz a pesquisa em nome de outro alguém, e informa-lhe a resposta desejada. “Recursão” refere-se a tudo que está diretamente ligado à entidade consultada, estando acima ou abaixo dela. André Luiz Carvalho Scampini — Vitória-ES “Iteração” significa “repetição”. Pesquisa de Iteração é aquela em que um servidor consultado indica ao solicitante onde ele pode obter a informação requerida, obrigando o solicitante a repetir (iterar) a consulta para o próximo servidor consultado. André Luiz Carvalho Scampini — Vitória-ES Servidor DNS local (ns.exemplo.com.br) 1 3 4 2 Servidor de nomes Autoritativo ns.sample.com Servidor da zona “.COM” I.GTLD-SERVERS.net Quem pode resolver para mim? I.GTLD-SERVERS.net pode resolver para você. 5 6 NS.SAMPLE.COM pode resolver para você. Eis a informação que pediu! Pesquisa recursiva Pesquisa iterativa André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES O “encaminhamento” (ou “forwarding”) é quando um servidor DNS de resolução de nomes encaminha o pedido de resolução para outro servidor DNS, tornando-se ele (o primeiro servidor) um Cliente DNS, ou “DNS Resolver”. O encaminhamento perfaz uma pesquisa recursiva, uma vez que o primeiro servidor pediu que outro servidor fizesse a resolução por ele, e lhe informasse a resposta. FORWARDING André Luiz Carvalho Scampini — Vitória-ES Servidor DNS local (ns.exemplo.com.br) Solicitante user.exemplo.com.br REQUISITA ACESSO A WWW.SAMPLE.COM Servidor-raiz d.root-servers.net Servidor da zona “.NET” I.GTLD-SERVERS.net Servidor de nomes Autoritativo ns.sample.com Pesquisa recursiva Pesquisa iterativa 1 2 3 4 5 6 7 8 9 10 ENCAMINHAMENTO André Luiz Carvalho Scampini — Vitória-ES Encaminhamento no BIND (arquivo /etc/bind/named.conf.options) Encaminhamento no DNS do Windows 2003 André Luiz Carvalho Scampini — Vitória-ES VANTAGENS: • Economia da banda passante do link Internet; � Para cada consulta realizada, mais banda é ocupada — considerando-se que a banda é ocupada com cada iteração necessária à resolução requerida. •Menor processamento do servidor DNS que faz o encaminhamento; • Formação de Cache no servidor que encaminha, assim como ocorre no DNS Resolver. André Luiz Carvalho Scampini — Vitória-ES Quando consultado por um cliente DNS (também conhecido como “DNS Resolver”), o Servidor DNS pode emitir 4 tipos de respostas: • Authoritative answer • Positive answer • Referral answer • Negative answer Servidor DNS local (ns.exemplo.com.br) Solicitante user.exemplo.com.br REQUISITA ACESSO A WWW.EXAMPLE.SAMPLE.COM RESPOSTAS DO DNS André Luiz Carvalho Scampini — Vitória-ES Authoritative answer: É quando o servidor DNS consultado é a autoridade para o domínio pesquisado. Isto é, é ele a autoridade de resolução de nomes e IP’s para aquele domínio. A informação consultada, portanto, cabe a ele responder. André Luiz Carvalho Scampini — Vitória-ES Positive answer: É quando o servidor DNS realiza a consulta com o outro servidor DNS (a autoridade do domínio), e a consulta é bem-sucedida, obtendo a resposta desejada. André Luiz Carvalho Scampini — Vitória-ES Referral answer: É quando o servidor DNS consultado indica qual o próximo servidor a ser consultado, de modo a resolver a pesquisa. Essa é a resposta típica das pesquisas iterativas. A resposta não contém a resolução do nome; apenas indica qual o próximo servidor a ser consultado na hierarquia, de modo a resolver a solicitação. André Luiz Carvalho Scampini — Vitória-ES Negative answer: É quando o servidor DNS realiza a consulta com o outro servidor DNS (a autoridade do domínio), e a consulta é mal-sucedida, e a resposta desejada não pode ser obtida. André Luiz Carvalho Scampini — Vitória-ES • A — Address: endereço IPv4 de um determinado host; ou seja, é o mapeamento de um nome para um endereço IPv4; • AAAA — Address IPv6: similar ao registro “A” é o mapeamento de um nome para um endereço IPv6; • CNAME — Canonical Name: apelido para um hostname. Mapeia o apelido a um registro “A” já existente; •MX — Mail eXchanger: indica o(s) FQDN(‘s), a(s) preferência(s) e o(s) endereço(s) do(s) servidor(es) de e- Mail do domínio ou subdomínio;... REGISTROS DNS André Luiz Carvalho Scampini — Vitória-ES • PTR — Pointer: aponta o hostname/domínio reverso associado a um endereço IP;... • SOA — Start Of Authority: indica o responsável pelas respostas autoritativas por um domínio; isto é, informa a autoridade para os dados do domínio. Também indica outras informações úteis, tais como: o número serial da zona DNS, tempo de vida do registro SOA, intervalo de replicação de zonas, etc.; • NS — Name Server: indica os servidores DNS para o domínio ou subdomínio; • TXT: permite a configuração da política de SPF (Sender Policy Framework); • ... E outros: DNAME, GPOS, KEY, KX, SIG, SRV, TKEY, TLSA, TSIG, etc. André Luiz Carvalho Scampini — Vitória-ES SPF (Sender Policy Framework): SPF é uma tecnologia de combate à falsificação de endereços de retorno dos e-mails (return-path). O mecanismo permite: � Ao administrador de um domínio: definir e publicar uma política SPF, onde são designados os endereços das máquinas autorizadas a enviar mensagens em nome deste domínio; e � Ao administrador de um serviço de e-mail: estabelecer critérios de aceitação de mensagens em função da checagem das políticas SPF publicadas para cada domínio. André Luiz Carvalho Scampini — Vitória-ES SPF (Sender Policy Framework)— continuação: O processo de publicação de uma política SPF é independente da implantação de checagem de SPF por parte do MTA, estes podem ou não ser feitos em conjunto. André Luiz Carvalho Scampini — Vitória-ES SPF (Sender Policy Framework)— continuação: exemplo.com. IN TXT “v=spf1 a mx ip4:192.0.2.32/27 –all” Neste caso a política estabelece que pode enviar mensagens em nome do domínio example.com uma máquina que satisfaça um dos seguintes critérios: � seu endereço IP deve ser um RR tipo A do domínio exemplo.com (a); � seja designada como MX do domínio exemplo.com (mx); ou � pertença ao bloco de endereços IP 192.0.2.32/27 (ip4). A cláusula “ -all ” diz que devem ser recusados (“ - ”, prefixo Fail) e-mails partindo de qualquer outro endereço IP (all). André Luiz Carvalho Scampini — Vitória-ES DNS do Windows André Luiz Carvalho Scampini — Vitória-ES DNSdo Windows André Luiz Carvalho Scampini — Vitória-ES DNS do Windows André Luiz Carvalho Scampini — Vitória-ES DNS do Windows André Luiz Carvalho Scampini — Vitória-ES DNS do Windows André Luiz Carvalho Scampini — Vitória-ES BIND André Luiz Carvalho Scampini — Vitória-ES DNS BIND no Linux, configurado pelo Webmin (Registro “A”). André Luiz Carvalho Scampini — Vitória-ES DNS BIND no Linux, configurado pelo Webmin (Registro “NS”). André Luiz Carvalho Scampini — Vitória-ES DNS BIND no Linux, configurado pelo Webmin (Registro “SOA”). André Luiz Carvalho Scampini — Vitória-ES Um domínio Internet deve possuir, ao menos, um servidor DNS que responda por ele (servidor autoritativo), mas é IDEAL que haja dois: � O “Primário” ou “Master”; e � O “Secundário” ou “Slave”. O primário é, como o nome sugere, o principal servidor de nomes (NS), e onde todas as configurações são feitas. O secundário é um servidor “backup”, o qual possui replicadas todas as informações configuradas no primário. MASTER & SLAVE André Luiz Carvalho Scampini — Vitória-ES As configurações são feitas no DNS Primário, ou “servidor autoritativo” (“authoritative server”) — o qual recebe esse nome justamente por ter todos os registros que descrevem a zona. Essas informações, então, são copiadas pelo servidor secundário, num processo chamado “zone transfer” — ou transferência de zona; ou ainda, “replicação de zonas”. André Luiz Carvalho Scampini — Vitória-ES Transferência de zona, ou “replicação de zona”, é, portanto, o processo pelo qual o conteúdo de um arquivo de zona DNS é copiado de um servidor DNS primário para um servidor DNS secundário. Uma transferência de zona ocorrerá em qualquer um dos seguintes cenários:... (próximo slide) André Luiz Carvalho Scampini — Vitória-ES � Ao iniciar o serviço DNS no servidor DNS secundário. � Quando expira o tempo de atualização. � Quando as alterações são salvas no arquivo de zona primária e há uma lista de notificação. Transferências de zona são sempre iniciadas pelo servidor DNS secundário. O servidor DNS primário simplesmente responde à solicitação de uma transferência de zona. André Luiz Carvalho Scampini — Vitória-ES Consultas ao servidor DNS via de regra são feitas pela porta UDP 53. Se você tiver um firewall em sua rede, e desejar permitir consultas externas ao seu servidor DNS, deve liberar acesso a ele por esse protocolo/porta. CONSULTAS DNS André Luiz Carvalho Scampini — Vitória-ES Contudo, o DNS também responde a requisições na porta TCP 53. A porta TCP 53 é usada para zone transfer, ou “transferência de zona”. Portanto, o servidor DNS primário deverá estar habilitado a receber requisições também pelo protocolo TCP, na porta 53. André Luiz Carvalho Scampini — Vitória-ES Essa ferramenta faz uma consulta aos servidores de resolução de nomes da rede (servidores DNS), configurados na interface de rede da máquina; e essa consulta é feita seja por FQDN (Fully Qualified Domain Name), seja por nome de domínio Internet, seja por IP. NSLOOKUP André Luiz Carvalho Scampini — Vitória-ES Na prática esse comando é bastante utilizado para se testar o funcionamento dos DNS’s da rede ou do ISP (Provedor Internet) e para testar conectividade Internet. Isso porque caso a consulta resulte em falha (timeout, no response...) isso pode significar uma falha no DNS Server ou na própria conexão à Internet, permitindo direcionar a solução para o verdadeiro problema. Por outro lado, caso a consulta resulte em sucesso, os servidores DNS e a conexão Internet poderão ser isentados de falhas. André Luiz Carvalho Scampini — Vitória-ES Contudo, o NSLOOKUP não é usado somente para testes de funcionamento de DNS. Ele também é usado para descobrir informações sobre um determinado domínio Internet. Ele é usado para descobrir informações sobre os servidores de nomes do domínio (NS’s), servidor de e- Mail (MX), faz pesquisas a registros “A”, e outros dados relacionados ao domínio pesquisado. André Luiz Carvalho Scampini — Vitória-ES Sua sintaxe básica é esta: Porém, uma sintaxe mais específica também pode ser usada: (Descobre informações sobre o registro SOA do domínio em questão... ATENÇÃO! Troque o parâmetro “SOA” por qualquer outro registro que queira pesquisar.) nslookup –q=SOA www.google.com.br nslookup www.google.com.br André Luiz Carvalho Scampini — Vitória-ES NSLOOKUP (NO LINUX) IP do DNS Primário; ou do DNS informado IP’s resolvidos! Pesquisando SOA do Dominio Informações solicitadas André Luiz Carvalho Scampini — Vitória-ES NSLOOKUP (NO WINDOWS) IP do DNS Primário; ou do DNS informado Informações solicitadas IP’s resolvidos! Pesquisando MX do domínio André Luiz Carvalho Scampini — Vitória-ES “WHOIS” (junção das palavras “Who is...?” – “Quem é...?”, em inglês) é uma forma de pesquisa que permite descobrir informações relacionadas a domínios Internet: suas redes, seus hosts, e o pessoal envolvido — de modo a se descobrir quem é proprietário daquele domínio, quem é o responsável técnico, qual a rede IP do domínio, quais os e-mails de contato, endereço de contato, quais os servidores DNS do domínio, etc. “WHOIS” André Luiz Carvalho Scampini — Vitória-ES Esse tipo de pesquisa é feito com fins de: • Pesquisa / informação; • Quem é o dono do domínio? • Qual é o endereço de contato? • Quais são os servidores DNS? • Investigação / apuração; • O domínio realmente existe? • Quem é o responsável técnico? • Qual é o e-mail para denúncia de abusos (SPAM, etc.)? • Esta é a rede IP de onde estão partindo os ataques “hackers”? • Saber se o domínio está vago e disponível para registro. • O domínio está vago? • Será que posso registrá-lo em meu nome? André Luiz Carvalho Scampini — Vitória-ES Uma consulta “WHOIS”, via de regra, é feita online (na Internet), devido à grande dinâmica desse tipo de informação: por exemplo, a qualquer momento uma informação sobre servidor DNS pode ser alterada; um e-mail pode ser modificado; ou o domínio pode mudar de dono... Etc. Na Internet existem vários websites que oferecem o serviço (gratuito) de pesquisa “WHOIS”. Existem, também, vários aplicativos que fazem essa pesquisa na Internet, bastando o computador estar conectado. Para domínios “.br” pode-se fazer pesquisa “WHOIS” no website da REGISTRO.br. Pesquisa “WHOIS” ao domínio “fazenda.gov.br” André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES Software de pesquisa “WHOIS”. André Luiz Carvalho Scampini — Vitória-ES Pesquisa “WHOIS” no Linux. Serviços Web Servidor WEB André Luiz Carvalho Scampini — Vitória-ES Serviço especializado na hospedagem de páginas web (“páginas Internet”), o qual atende às solicitações de conexão “http://”. Um “servidor web” armazena as páginas de um website e, quando solicitado por um cliente (browser Internet), por meio de uma conexão “http://”, envia- lhe os arquivos relacionados ao website por ele hospedado, permitindo a visualização e o acesso pelo usuário. SERVIDOR WEB André Luiz Carvalho Scampini — Vitória-ES Roteador ou modem doméstico Servidores Web do Google Roteadores de Grande Porte PORTA 80 TCP André Luiz Carvalho Scampini — Vitória-ES • Acessos HTTP: porta 80 TCP • Acessos HTTPS: porta 443 TCP • SINTAXE: Servidor.Domínio/diretório virtual/página ou arquivo • EXEMPLO: www.meudominio.com/downloads/index.aspx André Luiz Carvalho Scampini — Vitória-ES • OUTROS EXEMPLOS: Servidor.Domínio:porta/diretório virtual/página_arquivo • COMO FICA: intranet.meudominio.com:8080/downloads/index.aspx intranet.meudominio.com:8080/downloads/planilha.ziphttps://intranet.meudominio.com/files/planilha.zip André Luiz Carvalho Scampini — Vitória-ES Servidor de APLICAÇÃO BANCO DE DADOS Servidor de aplicação: ao mesmo tempo Servidor e Cliente do Servidor de Banco de Dados, ao repassar as solicitações da camada de interfaces (usuários). André Luiz Carvalho Scampini — Vitória-ES Microsoft IIS (servidor web da Microsoft) André Luiz Carvalho Scampini — Vitória-ES Microsoft IIS (servidor web da Microsoft) André Luiz Carvalho Scampini — Vitória-ES O diretório “/downloads/” do website...Website padrão (“default”) Outro website: “teste 1” Os arquivos do website (.html, .php, .asp..., fotos, arquivos para download, etc.) André Luiz Carvalho Scampini — Vitória-ES É possível publicar mais de um website no mesmo servidor web. Nesse caso, a diferenciação sobre qual website o internauta deseja visualizar, quando acessa o servidor web, é feita através de três formas essenciais de hospedagem: • Baseada em IP; • Quando existe mais de um endereço IP disponível — um para cada website hospedado. • Baseada em NOME; • Quando só existe um endereço IP disponível para todos os websites. Nesse caso, a diferenciação é feita pelo nome (URL) de cada site. • Baseada em PORTA. • Quando só existe um endereço IP disponível para todos os websites. Nesse caso, a diferenciação é feita pela PORTA de acesso de cada site. André Luiz Carvalho Scampini — Vitória-ES Principais servidores web no mercado: • Apache • IIS – Internet Information Services • lighttpd • Cherokee • gws • nginx (pronuncia-se: “Engine X”) • etc. André Luiz Carvalho Scampini — Vitória-ES SERVIDOR APACHE •Mais popular; •Mais antigo do mercado, atualmente; •Mais utilizado; • Open source (código livre); •Multiplataforma: roda em UNIX, Linux e Windows; • Presente em várias distribuições Linux; • Permite restringir o acesso tanto por IP quanto por usuário e senha; • Estável, robusto, confiável, seguro... Etc... Website oficial: https://www.apache.org/ André Luiz Carvalho Scampini — Vitória-ES O Apache pode ser instalado em uma variedade de sistemas operacionais. Independentemente da plataforma usada, um website hospedado terá, tipicamente, 4 diretórios: � htdocs � conf � logs � cgi-bin Vamos conhecê-los:... ESTRUTURA DE DIRETÓRIOS DO APACHE André Luiz Carvalho Scampini — Vitória-ES É o diretório padrão do Apache, o que significa que é o diretório público onde o conteúdo é disponibilizado aos clientes através da Internet (isto é, onde fica a página pública, a ser visitada pelos internautas). Contém todas as páginas estáticas e dinâmicas a serem servidas por meio das requisições HTTP que chegam dos clientes (browsers Internet). Por isso, é importante administrar cuidadosamente a segurança dos arquivos e subpastas contidas nesse local. HTDOCS André Luiz Carvalho Scampini — Vitória-ES É o diretório onde se localizam os arquivos de configuração. Arquivos de configuração são, basicamente, arquivos em texto plano (legível) onde diretivas são atribuídas a fim de controlar o comportamento e a funcionalidade do servidor web. CONF André Luiz Carvalho Scampini — Vitória-ES Cada diretiva é usualmente colocada em uma linha em separado, e comentada com o caractere “ # ” no início da linha, de modo que seja ignorada pelo servidor, até que essa diretiva seja descomentada (isto é, retirado o caractere “ # ” do início da linha); a partir daí, então, a diretiva passa a ser executada pelo Apache. CONF André Luiz Carvalho Scampini — Vitória-ES O arquivo de configuração do Apache é httpd.conf e por padrão, em ambientes Linux ele fica em...: /etc/httpd/conf/ Assim: /etc/httpd/conf/httpd.conf CONF André Luiz Carvalho Scampini — Vitória-ES É o diretório onde são guardados os “logs”, ou registros de eventos do servidor — e inclui os logs de acesso e de erro do Apache. O Apache provê uma série de diferentes mecanismos para registrar todos os eventos que ocorrem nele, desde solicitações iniciais, passando por processo de mapeamento de URL, até a resolução final da conexão, incluindo quaisquer erros que tenham ocorrido durante o processo. LOGS André Luiz Carvalho Scampini — Vitória-ES Além disso, módulos adicionais podem prover mais registros de eventos, ou incluir entradas nos arquivos de log, bem como aplicações tais como scripts PHP, ou outros “handlers” podem enviar mensagens de erro. Em ambientes Linux os arquivos de log ficam em: /var/log/apache2/ LOGS André Luiz Carvalho Scampini — Vitória-ES É o diretório onde são mantidos os scripts CGI. CGI (Common Gateway Interface) define a maneira como o servidor web interage com programas externos de conteúdo geral (external content-generating programs), os quais são geralmente referenciados como programas CGI, ou scripts CGI. Esses programas, ou scripts de shell são escritos para serem executados pelo Apache em nome dos clientes. CGI-BIN Serviços Web FTP — File Transfer Protocol FTP significa File Transfer Protocol (Protocolo de Transferência de Arquivos), e é uma forma bastante rápida e versátil de se transferir arquivos pela Internet, sendo, na verdade, o padrão para transferências de arquivos na web... Deve-se, entretanto, tomar cuidado na diferenciação entre transferência de arquivo e acesso a arquivo. Transferência de arquivo é o que o FTP provê, enquanto que acesso a arquivo é provido por aplicações. INTRODUÇÃO: CONCEITOS INICIAIS André Luiz Carvalho Scampini — Vitória-ES A transferência de arquivos, provida pelo FTP, copia um arquivo completo de um sistema a outro. Para usar o FTP é necessária uma conta de login no servidor, ou então, o servidor deverá permitir conexões anônimas (“anonymous FTP”). André Luiz Carvalho Scampini — Vitória-ES O FTP difere-se de outras aplicações porque utiliza duas conexões TCP para transferir arquivos: 1.) O control connection: É estabelecido em um modo cliente-servidor tradicional. O servidor provê uma abertura passiva em duas portas bem- conhecidas (well-known ports), no caso as portas 20 e 21, e aguarda pela conexão de um cliente. O cliente, por sua vez, faz uma abertura ativa para TCP pelas portas 20 ou 21, a fim de estabelecer o control connection. “CONTROL CONNECTION” André Luiz Carvalho Scampini — Vitória-ES O control connection permanece ativo por todo o tempo em que o cliente se comunicar com o servidor. Essa conexão é usada para comandos do cliente ao servidor, e para as respostas do servidor. André Luiz Carvalho Scampini — Vitória-ES 2.) Data connection: Criada a cada vez que um arquivo é transferido entre um cliente e um servidor. Perceba que essa conexão é mantida apenas enquanto durar a transferência do arquivo, encerrando-se logo em seguida. “DATA CONNECTION” André Luiz Carvalho Scampini — Vitória-ES O FTP possui dois modos de operação: passivo e ativo. • No modo ativo, o cliente contata o servidor usando uma porta vaga aleatória, como, por exemplo, a porta 1026 (sempre maior que 1023), endereçando o pacote à porta 21 do servidor. • O servidor contata o cliente de volta, usando a porta seguinte (do cliente) para enviar os dados. Isso não ocorre arbitrariamente. Para isso é usado o comando “PORT”. MODO ATIVO André Luiz Carvalho Scampini — Vitória-ES Se o cliente usou a porta 1026 para abrir a conexão, então o servidor enviará os dados na porta 1027. O cliente já estará com esta porta aberta, à espera da resposta do servidor. André Luiz Carvalho Scampini — Vitória-ES No modo ativo (“active mode”), o cliente FTP abre uma porta vaga aleatória, maior que 1023, e emite ao Servidor o número desta porta em que está escutando (escutassobre o fluxo de controle), endereçando o pacote à porta 21 do Servidor, e aguarda uma conexão vinda do mesmo. O servidor imediatamente contata o cliente de volta, usando a porta indicada pelo Cliente + 1, para enviar os dados. O uso da porta indicada + 1 é fruto do comando “PORT”, previamente enviado pelo cliente. André Luiz Carvalho Scampini — Vitória-ES 1. O Cliente comunica-se com o Servidor pela porta 21. Para isso, abre uma porta maior que 1023. Exemplo: 2020. Ele indica ao Servidor que o contate pela porta designada + 1 (2021). Isso é feito pelo comando “PORT”. 2. O Servidor comunica-se com o Cliente pela porta designada + 1 (2021). Servidor FTPCliente FTP 2 1 DEMONSTRANDO O “MODO ATIVO” André Luiz Carvalho Scampini — Vitória-ES Servidor FTPCliente FTP Cliente-FTP:1026 servidor-ftp.dominio.com.br ESTABLISHED Cliente-FTP:1027 servidor-ftp.dominio.com.br CLOSE_WAIT Porta designada Porta designada + 1 André Luiz Carvalho Scampini — Vitória-ES Servidor FTPCliente FTP Firewall PROBLEMA: um firewall pode bloquear a conexão vinda do servidor FTP! Por isso, conexões em modo ativo não são comuns! André Luiz Carvalho Scampini — Vitória-ES No modo passivo, o cliente também abre a conexão contatando a porta 21 do servidor; entretanto, ao invés de iniciar a conexão imediatamente, o servidor responde avisando que o cliente pode contatá-lo numa segunda porta, escolhida aleatoriamente (a 2026, por exemplo). O cliente inicia, então, uma nova conexão na porta especificada e o servidor responde enviando os dados. Esta porta fica reservada ao cliente pelo tempo que durar o tráfego de dados. MODO PASSIVO André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES Configuração de modo passivo nos clientes André Luiz Carvalho Scampini — Vitória-ES Tela do FileZilla Server 1. O Cliente comunica-se com o Servidor pela porta 21. Ele indica ao servidor que está trabalhando em modo passivo pelo comando “PASV”. 2. O Servidor responde ao Cliente, informando para conectar-se a ele por uma porta aleatória (ou pré-definida pelo administrador), maior que 1023. Exemplo: 3000. 3. O Cliente conecta-se ao Servidor pela porta designada (3000). Servidor FTPCliente FTP 2 1 3 DEMONSTRANDO O “MODO PASSIVO” André Luiz Carvalho Scampini — Vitória-ES Servidor FTPCliente FTP Como todas as conexões se originam da rede interna (LAN) para a rede externa (WAN), o firewall, usualmente, não bloqueia a comunicação (a não ser que haja regra específica impedindo). Por isso o modo passivo é o mais comum. Firewall André Luiz Carvalho Scampini — Vitória-ES A porta de conexão é informada da seguinte forma: IP, P1, P2 Exemplo: 192,168,0,1 ,70 ,25 Endereço IP P1 P2 INFORMANDO A PORTA DA CONEXÃO André Luiz Carvalho Scampini — Vitória-ES Como calcular/saber a porta: (P1 x 256) + P2 Exemplo (192,168,0,1,70,25): (70 x 256) + 25 = 17.945 André Luiz Carvalho Scampini — Vitória-ES O Protocolo FTP não possui uma solução nativa (própria do protocolo) para permitir conexões seguras. Exceto pela autenticação do usuário, o protocolo FTP, propriamente, não possui uma forma de troca segura de informações. Mas existem 2 maneiras de se realizar transferência segura de arquivos:... CONEXÕES SEGURAS AO SERVIÇO FTP André Luiz Carvalho Scampini — Vitória-ES • FTPS – FTP sobre SSL (Certificado Digital); • SFTP – Conexão SSH que permite transferência de arquivos seguindo o protocolo FTP. André Luiz Carvalho Scampini — Vitória-ES Utiliza o conceito de Certificado Digital, usado nas conexões HTTPS: no momento da conexão o Servidor FTP emite um Certificado Digital o qual, sendo aceito pelo cliente, permite troca criptografada de arquivos. Usualmente a conexão é feita pela porta TCP 990, em lugar da TCP 21. FTPS: FTP sobre SSL André Luiz Carvalho Scampini — Vitória-ES André Luiz Carvalho Scampini — Vitória-ES Tela do FileZilla Server André Luiz Carvalho Scampini — Vitória-ES FileZilla Server SFTP: FTP sobre SSH André Luiz Carvalho Scampini — Vitória-ES Acesso SFTP pelo Linux SERVIDORES FTP NO LINUX André Luiz Carvalho Scampini — Vitória-ES ProFTPD — o mais popular e utilizado, e disponível em várias distribuições Linux. Trabalha com SFTP e FTPES. VSFTPD — bastante apreciado por ser considerado muito seguro. Igualmente presente em várias distribuições Linux. Trabalha com FTP, FTPS, FTPES. PureFTPD — bem conhecido e respeitado, embora não tão utilizado. SERVIÇOS WEB André Luiz Carvalho Scampini — Vitória-ES
Compartilhar