Grupo Handbook
Handbook de
Questões de TI comentadas para concursos Além do gabarito
Volume 6
Suporte de Infraestrutura Parte 1 Fundação Cesgranrio
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Prefácio Este é o volume 6 da série Handbook de Questões de TI Comentadas para Concursos Além
do Gabarito, que traz para você uma coletânea especial de questões da área de suporte de infraestrutura selecionadas de provas organizadas pela Fundação Cesgranrio. Entre as provas das quais as questões foram selecionadas, estão a primeira prova para Analista de Suporte para o BNDES em 2008, a prova para Analista de Suporte de Infraestrutura para a Petrobras aplicada em 2008, e, também, a prova para Analista de Sistemas Suporte para o IBGE aplicada em 2010. Notoriamente, a Fundação Cesgranrio vem sendo a responsável pela organização de concursos de TI de alta concorrência e visibilidade, como os do BNDES, e os da Petrobras e suas subsidiárias. Mais recentemente, a Fundação Cesgranrio também foi a escolhida para realizar os concursos do Banco Central e de outras instituições do ciclo de gestão do Governo Federal. Uma interessante características das provas aplicadas pela Fundação Cesgranrio é o fato das questões possuírem pesos diferentes, o que exige dos candidatos ainda mais sagacidade. Além disso, é comum que sejam cobrados temas recentes de TI, como forma de selecionar pro ssionais atualizados e dinâmicos. Por isso, o Grupo Handbook de TI preparou para você uma edição especial com questões da área de suporte de infraestrutura, abordando temas clássicos e modernos da computação. Este volume é especialmente útil para todos que desejam prestar concursos na área de suporte, em especial, aqueles organizados pela Fundação Cesgranrio. Bons estudos,
Grupo Handbook de TI
Página 1 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Direitos Autorais Este material é registrado no Escritório de Direitos Autorais (EDA) da Fundação Biblioteca Nacional. Todos os direitos autorais referentes a esta obra são reservados exclusivamente aos seus autores. Os autores deste material não proíbem seu compartilhamento entre amigos e colegas próximos de estudo. Contudo, a reprodução, parcial ou integral, e a disseminação deste material de forma indiscriminada através de qualquer meio, inclusive na Internet, extrapolam os limites da colaboração. Essa prática desincentiva o lançamento de novos produtos e enfraquece a comunidade concurseira Handbook de TI. A série Handbook de Questões de TI Comentadas para Concursos Além do Gabarito é uma produção independente e contamos com você para mantê-la sempre viva.
Grupo Handbook de TI
Página 2 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Canais de Comunicação O Grupo Handbook de TI disponibiliza diversos canais de comunicação para os concurseiros de TI.
Loja Handbook de TI Acesse a nossa loja virtual em
http://www.handbookdeti.com.br
Serviço de Atendimento Comunique-se diretamente conosco através do e-mail
faleconosco@handbookdeti.com.br
Twitter do Handbook de TI Acompanhe de perto promoções e lançamentos de produtos pelo nosso Twitter
com/handbookdeti
Página 3 de 136
www.handbookdeti.com.br
http://twitter.
Handbook de Questões de TI Comentadas para Concursos
1.
Assuntos relacionados:
Volume 06 Edição 1
Servidor de Aplicações, Java, J2EE, Máquina Virtual Java (JVM),
Heap,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 31
- Suporte
Um servidor Linux, que roda, exclusivamente, um servidor de aplicação Java EE, possui 2 GB de memória RAM e 1 CPU. A única aplicação em execução atinge, em momentos de pico, 50 usuários simultâneos. Para que essa aplicação tenha um desempenho adequado, o tamanho máximo da Heap da JVM pode ser con gurado para (a). 100 threads. (b). 32 MB. (c). 60 threads. (d). 2 GB. (e). 512 MB.
Solução: O Java EE (Enterprise Edition) é uma plataforma de desenvolvimento de sistemas em Java. A plataforma inicialmente era conhecida por Java 2 Platform Enterprise Edition (J2EE), até ter seu nome trocado para Java EE, o que ocorreu na versão 5. A plataforma JEE oferece uma série de componentes e funcionalidades que permitem a implementação de software Java distribuído.
Uma descrição sucinta da destinação e das
características gerais da plataforma JEE pode ser encontrada na Wikipedia:
A Plataforma Java (Enterprise Edition) difere-se da Plataforma Java Standard Edition (Java SE) pela adição de bibliotecas que fornecem funcionalidade para implementar software Java distribuído, tolerante a falhas e multi-camada, baseada amplamente em componentes modulares executando em um servidor de aplicações. Ela é voltada para aplicações multicamadas, baseadas em componentes que são executados em um servidor de aplicações... Ela contém bibliotecas desenvolvidas para o acesso a base de dados, RPC, CORBA, etc. Devido a essas características a plataforma é utilizada principalmente para o desenvolvimento de aplicações corporativas. Os servidores de aplicação mencionados na descrição acima, em linhas gerais, são softwares que provêem um ambiente onde as aplicações podem executar. Uma aplicação Java usualmente é dividida em 2 partes: uma parte que executa no cliente e uma outra parte que executa no servidor. O servidor em si é dividido em diferentes contain-
ers que oferecem diferentes serviços às aplicações. Entre os serviços mais comuns oferecidos pelos containers estão a execução da lógica de negócio, serviços de mensagens, serviços de gerenciamento de conexões a bancos de dados, serviços de segurança etc. Entendido o conceito de servidores de aplicação, agora vamos falar um pouco sobre JVM (Java Virtual Machines).
Página 4 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Quando um código Java é compilado, ele dá origem a um programa codi cado nos chamados
bytecodes. Os bytecodes são uma espécie de código intermediário, que só pode ser executado por uma JVM. Uma JVM, por sua vez, é um programa que converte os bytecodes em código executável de máquina, que pode então ser executado pela máquina física. Em última instância, são os conceitos de bytecodes que garantem a portabilidade dos códigos Java. Independente do sistema operacional ou plataforma física onde tenha sido desenvolvido o programa Java, os bytecodes sempre serão os mesmos.
Com isso, para executar o pro-
grama Java em outro sistema, basta que se tenha uma JVM especí ca, capaz de converter os bytecodes para o código de máquina apropriado. Agora, vamos ao que realmente interessa para alcançarmos a resposta da questão. A heap da JVM é uma área de memória onde todos os objetos das aplicações que estão sendo executadas pela JVM residem. Além dos objetos criados nas aplicações, a heap ainda possui uma área de memória reservada para outras funções da JVM. Portanto, para que as aplicações executem com desempenho adequado, é necessário con gurar bem o tamanho da heap. As alternativas A e C estão erradas, simplesmente, porque o tamanho da heap não é de nido em termos do número de threads, mas sim em termos de quantidade de memória. Já a alterativa D está errada pois não faz sentido alocar toda a memória do sistema (no caso, 2GB) exclusivamente para a JVM. O sistema operacional sequer irá permitir a realização desta operação, visto que boa parte da memória já estará sendo utilizada pelo próprio sistema operacional. Com isto, nos restam as alternativas B (32 MB) e D (512 MB). O enunciado da questão diz que o servidor possui 1 CPU, e que, em momentos de pico, a aplicação em execução atinge 50 usuários simultâneos. O fato de o servidor possuir apenas 1 CPU implica dizer que, em momentos de alta utilização da aplicação, haverá muitas trocas de contexto, ou seja, muitas alternâncias entre os processos em execução. Em princípio, a alteração da quantidade de memória não irá afetar a quantidade de trocas de contexto, porém irá permitir que as múltiplas threads (que serão criadas para atender uma grande quantidade usuários simultâneos) estejam sempre na memória principal, o que pode conferir maior desempenho à aplicação. Como o enunciado não presta informações sobre o consumo de memória das threads individuais que são geradas para atender cada um dos usuários simultâneos, e levando ainda em consideração que o tamanho default da heap (ou seja, um tamanho que atende os requisitos de desempenho de uma aplicação média) da JVM varia entre 16MB a 64MB, podemos a rmar que, para maximizar o desempenho da aplicação, o ideal seria con gurar o tamanho máximo da heap para 512MB. Portanto, a resposta da questão é a alternativa E.
Página 5 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
2.
Volume 06 Edição 1
Assuntos relacionados: Sistemas Operacionais, Linux, Shell, Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 34 Um servidor Linux de produção apresenta, esporadicamente, um erro conhecido, no qual um determinado processo (cgi.rb) ocupa 99% de CPU indeterminadamente.
Você, como
operador, é instruído a matar esse processo para que o desempenho do servidor volte à situação normal. Que seqüência de operações deve ser feita? (a). Localizar no /proc o processo problemático e executar o comando halt. (b). Descobrir o número do processo com ps e executar o comando kill. (c). Veri car o id do processo no arquivo /var/log/err e apagá-lo do /proc. (d). Reiniciar o servidor e apagar, recursivamente, o /proc. (e). Reiniciar o serviço de rede e apagar o /var/run/cgi.rb.pid.
Solução: O comando utilizado no linux para matar um processo é o comando kill. Este comando envia por padrão a mensagem de TERM ao processo que for passado como parâmetro, informando ao mesmo que ele deve ser nalizado. O parâmetro a ser passado, entretanto, não é o nome do processo e sim seu numero de identi cação (pid process id). A sintaxe do comando neste caso é:
kill <pid> Exemplo: kill 3568 Para obtermos o pid de um processo no linux a partir de seu nome utilizamos o comando ps. Para se obter a lista de todos os processos em execução em um dado momento executamos o comando:
ps ax A opção a informa que desejamos listar os processos de todos os usuários e não apenas os processos do usuário com que estamos logados. Isto é necessário pois em geral os processos de serviços são executados com a conta de usuários do sistema. A opção x informa que desejamos listar não somente os processos que estejam associados a um terminal, mas também os processos que rodam em background, o que é o caso dos processos que rodam como serviços. O comando ps ax retornaria informações como as mostradas abaixo.
Página 6 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
PID TTY 1 ? 2 ? 3 ? 4 ? 5 ? 6 ? 7 ? 9 ? 10 ? 15 ? 16 ? ... ... ... 28458 ? 28484 ? 28485 ? 28489 ? 29213 ?
STAT Ss S< SN S< S< S< S< S< S< S< SN
Ss S Ss S Ssl
TIME 0:06 0:33 0:03 0:00 0:01 0:00 0:00 0:00 0:00 0:14 0:02
Volume 06 Edição 1
COMMAND init [3] [migration/0] [ksoftirqd/0] [watchdog/0] [events/0] [khelper] [kthread] [xenwatch] [xenbus] [migration/1] [ksoftirqd/1]
0:00 0:00 0:00 0:00 0:54
sshd: candidat [priv] sshd: candidat@pts/0 -jailshell -jailshell /usr/sbin/clamd
Desta forma, devemos primeiramente descobrir o número do processo com o comando ps e depois matar o processo utilizando o comando kill , conforme indicado na alternativa (B). Avaliando as demais alternativas vemos que na alternativa (A) é mencionada a pasta /proc. Em sistemas operacionais linux existe uma pasta /proc no sistema de arquivos que é uma representação do estado atual do kernel, isto é, do conteúdo de alguns endereços de memória aonde está situado o kernel do sistema operacional. Sua principal utilidade consiste em ser um meio simples de obter informações. Apesar de poder ser utilizado para obter detalhes sobre um determinado processo é preciso antes obter seu número de identi cação (pid). Desta forma, não é possível localizar no /proc o processo problemático, o que elimina a alternativa (A). A pasta /proc também não pode ser utilizada para matar um processo, o que elemina de as alternativas (C) e (D). A alternativa (A) ainda menciona o comando halt do linux, que é utilizado para rebootar, paralisar ou desligar o computador, não sendo utilizado para matar um processo especí co. A alternativa (E) menciona um arquivo na pasta /var/run.
Na pasta /var/run de sis-
temas linux alguns processos, ao serem criados, geram um arquivo com extensão pid aonde informam o seu número de identi cação (pid). Esta poderia ser uma forma de obter o pid de um serviço. Entretanto, o simples fato de apagar este arquivo não causa a nalização do processo associado e desta forma a alternativa (E) ca eliminada.
Página 7 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
3.
Assuntos relacionados:
Volume 06 Edição 1
Redes de Computadores, Serviços de Rede, Protocolos de Rede,
DNS,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 36
- Suporte
Uma pequena empresa disponibiliza um site na Internet em uma infra-estrutura própria. O servidor de DNS apresenta problemas de sobrecarga devido a um grande número de consultas realizadas. Considerando-se que não há mudanças freqüentes de endereços IP e que as consultas, oriundas de usuários legítimos, são relacionadas ao servidor WEB, que alteração pode ser feita na con guração do servidor DNS para reduzir consideravelmente sua sobrecarga? (a). Forçar que respostas sejam enviadas sempre via UDP. (b). Aumentar o TTL para respostas positivas. (c). Colocar o IP do default gateway como uma entrada estática no ARP. (d). Eliminar o excesso de registros do tipo A. (e). Criar um registro CNAME e PTR para o servidor WEB.
Solução: Originalmente, o mapeamento de nomes em endereços era todo registrado em um único arquivo, chamado HOSTS.TXT. Esse arquivo era gerenciado por uma entidade chamada NIC (Network Information Center). A distribuição das atualizações desse arquivo era feita via FTP, o que consumia uma banda muito grande. Ao longo do tempo, o per l do usuário de redes e da Internet mudou muito, ocorrendo um grande crescimento das redes locais, que possuíam suas próprias necessidades de mapear nomes que só faziam sentido em seus ambientes. Da mesma forma, o per l das aplicações de Internet evoluiu, surgindo a necessidade de se criar um sistema de mapeamento de nomes mais geral e e ciente. Foi neste contexto que surgiu o DNS. O DNS é (1) um banco de dados distribuído implementado em uma hierarquia de servidores de nome, e (2) um protocolo de camada de aplicação que permite que hospedeiros consultem o banco de dados distribuído. Para tratar a questão da escala, o DNS usa um grande número de servidores organizados, de maneira hierárquica e distribuída. Os principais componentes do DNS são:
•
Domain Name Space (Espaço de Nomes): é uma especi cação para uma árvore estruturada para armazenar os espaços de nomes.
Esta árvore é dividida em ZONAS
não-superpostas. Normalmente, cada zona tem um servidor de nome principal (onde os registros são mantidos em disco) e um ou mais servidores secundários;
•
Resource Records (Registro de Recursos): A principal função do DNS é mapear nomes de domínios em registros de recursos (não somente endereço IP). Um registro de recurso é uma tupla de cinco campos: Domain_name (normalmente existem muitos registros, de tipos diferentes, para cada domínio); TTL (tempo de vida do registro quando em cache); Class (IN quando relacionado à Internet, outros códigos são raramente encontrados); Type (tipo de registro); e Value (sua semântica depende do tipo de registro). Os principais tipos de registro existentes são apresentados a seguir na Tabela 1.
Página 8 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Tipo
Signi cado
Valor
SOA
Início de autoridade
Parâmetro para essa zona
A
Endereço IP de um host Inteiro de 32 bits
MX
Troca de mensagens de correio
Prioridade,
domínio
disposto
a
aceitar correio eletrônico NS
Servidor de nomes
Nome
de
um
servidor
para
este
domínio CNAME
Nome canônico
Nome de domínio
PTR
Ponteiro
Nome alternativo de um endereço IP
HINFO
Descrição de host
CPU
e
sistema
operacional
em
ASCII TXT
Texto
Texto ASCII não-interpretado
Tabela 1: principais tipos de registros de recursos do DNS para o IPv4.
•
Name Servers (Servidores de Nomes): são programas servidores que detêm informação sobre a estrutura da árvore de domínio e também tem a capacidade de registrar informações. Resumidamente, há quatro classes de servidores de nomes: servidores de nomes raiz (cerca de 13 servidores); servidores DNS de domínio de nível superior (.int, .com, .mil, .net, .br, .jp, etc. - cerca de 200 servidores); servidores DNS com autoridade (chamados de AUTHORITH - os que detêm os registros de recursos de servidores, localizados em sua zona, que podem ser acessados publicamente); e servidores intermediários;
•
Resolvers (Resolvedores):
são programas, executados tanto nos clientes quanto nos
servidores, que extraem informações dos Name Servers em resposta a requisições feitas por clientes. Esses programas são aptos a responder as consultas diretamente ou então encaminhar a consultas caso a informação não esteja disponível naquele Name Server. São programas que podem ser acessados diretamente por programas de usuários ou rotinas do sistema operacional sem a necessidade de utilização de protocolos;
•
Cache DNS: é uma característica muito importante, usada para aumentar o desempenho das respostas as consultas DNS e reduzir o número de mensagens DNS. Em cada elemento da cadeia (cliente, servidores local, secundários, primários, com autoridade, de nível superior etc.)
informações (registros) de respostas podem ser armazenadas
em memória local. Para evitar o uso de registros desatualizados, é associado a cada registro um número TTL (Time to Live) que determina seu tempo de vida. O TTL deve ser de nido de acordo com a frequência de atualização dos registros. Com foi mencionado na explicação sobre o Cache DNS, sua principal nalidade é aumentar o desempenho das consultas DNS. No entanto, há que se ter cuidado com a desatualização dos registros em cache, de modo que as consultas não seja respondidas erroneamente. Voltando ao enunciado da questão, foi mencionado que não há mudanças frequentes de
endereços IP e que as consultas, oriundas de usuários legítimos, são relacionadas ao servidor WEB. Nessas condições, podemos a rmar que seria possível aumentar TTL das respostas positivas, de modo que as consultas subsequentes sejam respondidas diretamente pelo cache, sem o risco de as informações cache estarem inconsistentes. Portanto, a resposta da questão é a alternativa B.
Página 9 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
4.
Assuntos relacionados:
Volume 06 Edição 1
Sistemas Operacionais, Virtualização, Máquina Virtual, Coman-
dos UNIX, Java, Máquina Virtual Java (JVM),
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 37
- Suporte
Suponha duas máquinas M1 e M2 com os seguintes serviços: M1 - Servidor de correio Post x em Linux, arquitetura x86. M2 - Servidor WEB IIS em Windows 2003, arquitetura x86. Uma terceira máquina M3 (x86) com Windows 2000 será criada para execução dos serviços das máquinas M1 e M2, tornando esses dois últimos servidores máquinas virtuais.
Que
software pode ser utilizado para isso? (a). JIT-Server (b). V-IDS (c). Wine (d). chroot (e). VMWare
Solução: Antes de analisarmos cada alternativa, faremos uma breve introdução sobre o conceito de Virtualização e Máquina Virtual. A Virtualização faz com que os recursos computacionais possam ser divididos e compartilhados por vários ambientes simultaneamente, permitindo, por exemplo, a execução de múltiplos sistemas operacionais em um único hardware físico. O que temos, basicamente, é um software que parece e funciona como um hardware que realmente não existe (Máquina Virtual). A Máquina virtual é um ambiente isolado que compartilha os recursos de um hardware real através de um monitor de máquinas virtuais (VMM - Virtual Machine Monitor ). Podemos ver o VMM, também conhecido com hypervisor, como um sistema operacional para sistemas operacionais, capaz de criar uma ou mais máquinas virtuais sobre uma única máquina real. Este Monitor pode ser implementado de duas formas diferentes (Vide Figuras 1 e 2). Neste ponto, você pode estar se perguntando por que utilizar máquinas virtuais? Abaixo, apresentamos algumas vantagens:
•
sistemas operacionais e aplicações não dependem do hardware físico;
•
facilidade na manutenção de hardwares;
•
menos problemas com atualizações de hardware;
•
novas opções de recuperação de desastres;
•
hardware virtual padronizado;
•
extremamente fácil de criar uma imagem da máquina virtual;
Página 10 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
• •
Volume 06 Edição 1
o sistema operacional e suas aplicações são con gurados uma única vez; possibilidade de fazer o backup da máquina virtual inteira copiando apenas alguns arquivos;
• •
muitas VMs podem executar em um mesmo servidor físico; maior e melhor utilização de recursos, reduzindo o tempo em que o processador ca ocioso;
•
as máquinas virtuais não são afetadas por outras máquinas virtuais.
Existem, contudo, algumas desvantagens:
• •
menor performance em relação ao uso de um servidor sem virtualização; limitações do hardware virtual em relação ao físico.
Figura 1: o monitor é implementado entre o hardware e os sistemas convidados (textitguest system).
Figura 2: o monitor é implementado como um processo de um sistema operacional real subjacente, denominado sistema an trião (textithost system). Agora, partiremos para a análise de cada alternativa. (A) ERRADA A compilação textitJust-In-Time (JIT) é uma técnica amplamente utilizada no aperfeiçoamento do desempenho da Máquina Virtual Java (JVM, do inglês textitJava Virtual Machine), convertendo, em tempo de execução, instruções de um formato para outro, por
Página 11 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
exemplo, de textitbytecode para código de máquina. Esta técnica é normalmente utilizada para incrementar o desempenho de programas executados - na verdade, interpretados - em máquinas virtuais. Em sistemas computacionais baseados em máquinas virtuais, como Java, o processo de compilação traduz o código fonte para uma representação intermediária conhecida pelo termo textitbytecode.
Esta representação intermediária não está associada a nenhum código de
máquina especí co e pode ser transportada para várias arquiteturas de computador distintas.
Em cada arquitetura especí ca, essa representação intermediária é interpretada - ou
executada em uma máquina virtual. Nos ambientes que oferecem o recurso de JIT, a máquina virtual responsável pela execução dos textitbytecodes resultantes da compilação do programa fonte realiza a tradução desse textitbytecode para código de máquina nativo enquanto o executa. No caso mais comum, cada trecho de código é traduzido no instante em que está para ser executado pela primeira vez, daí derivando o nome textitjust-in-time . Neste escopo, o JIT-Server é adotado para otimizar chamadas constantes a classes/métodos de Java, estando mais preparado para sessões que duram dias/semanas/meses. Apesar da sobrecarga da expressão Máquina Virtual, lembre-se que JVM não virtualiza um sistema real (virtualiza apenas uma aplicação), portanto, a alternativa está errada. (B) ERRADA Comando ou software inexistente. Alternativa, obviamente, errada. (C) ERRADA Wine (textitWINE Is Not an Emulator - Wine Não é um Emulador) é uma ferramenta para sistemas UNIX que permite a execução de algum software especi camente concebido para o Microsoft Windows. Trata-se de uma implementação livre das bibliotecas do Windows no Linux, não sendo, portanto um emulador, pois ele não faz nenhuma emulação para executar softwares para Windows. O Wine funciona como uma camada que expõe uma API compatível com a do Windows; ao serem executadas as diferentes funções, o Wine irá traduzi-las para rotinas em UNIX cujo resultado seja idêntico. O WINE atua então apenas como um tradutor ou um interpretador de linha de comando, muito parecido com um shell. Se o Wine fosse de fato um emulador e uma máquina virtual perfeita, a princípio, todos os programas do Windows deveriam rodar no Linux sem problemas, o que, de fato, não ocorre. Logo, alternativa errada. (D) ERRADA O comando chroot do sistema operacional Unix permite que super-usuários transformem o diretório raiz no diretório especi cado como parâmetro:
# chroot <diretório> A partir da execução do comando acima, a pasta especi cada em <diretório> passa a ser
Página 12 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
vista pelo sistema como se fosse o diretório raiz, fazendo com que todos os comandos sejam executados dentro da mesma. Alternativa, obviamente, errada. (E) CORRETA VMware é um software de virtualização que permite a instalação e utilização de um sistema operacional dentro de outro, dando suporte real a softwares de outros sistemas operacionais. Usando software de virtualização como o VMware é possível executar um ou mais sistemas operacionais simultaneamente num ambiente isolado, criando máquinas completas (virtuais) que rodam dentro de uma mesma máquina real. Do ponto de vista do usuário e do software não se nota diferença entre a máquina real e a virtual. Saiba que o VMware não se trata de um emulador, pois ou o processador (com tecnologia AMD-V ou Intel VT-x) executa diretamente o código da máquina virtual ou o código é convertido de forma que o processador não precise trocar o contexto para o modo real. Dentre as utilidades do Vmware, podemos citar:
•
testar uma aplicação em várias plataformas;
•
dar suporte a diversas aplicações e sistemas operacionais;
•
migrar e consolidar servidores antigos, concentrando-os em uma máquina só;
•
testar sistemas operacionais novos;
•
manter a compatibilidade de hardware;
•
criar redundância contra falhas e segurança adicional contra intrusão.
Concluímos, assim, que esta alternativa está correta.
Página 13 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
5.
Assuntos relacionados: Redes de Computadores, Protocolos Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 39
Volume 06 Edição 1
de Rede, IPv4,
Observe as a rmativas abaixo, relacionadas a datagramas IPv4. I Em situaçþes de congestionamento, os datagramas com o bit DF igual a 1 devem ser descartados. II A remontagem de datagramas sempre ocorre no destino. III Quando a MTU de uma rede Ê menor que o campo o set do datagrama a ser trafegado, ocorre a fragmentação. Estå(ão) correta(s) a(s) a rmativa(s) (a). I, somente. (b). II, somente. (c). I e II, somente. (d). II e III, somente. (e). I, II e III.
Solução: Um datagrama IP consiste em uma parte de cabeçalho e uma parte de texto. O cabeçalho tem uma parte xa de 20 bytes e uma parte opcional de tamanho variåvel. O formato do cabeçalho Ê mostrado na Figura 3.
Figura 3: cabeçalho IPV4. Abordaremos, agora, cada item.
Sobre o Item I Na verdade, o bit DF (Don't Fragment - NĂŁo Fragmentar) ordena que os roteadores nĂŁo fragmentem o datagrama, porque a mĂĄquina de destino ĂŠ incapaz de juntar os fragmentos novamente.
Por exemplo, quando um computador ĂŠ reinicializado, sua ROM solicita que
uma imagem de memĂłria seja enviada a ela como um Ăşnico datagrama. Marcando-se o datagrama com o bit DF, o transmissor sabe que ele chegarĂĄ em um Ăşnico fragmento, mesmo que isso signi que que o datagrama deve evitar uma rede de pacotes pequenos que esteja no
PĂĄgina 14 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
Volume 06 Edição 1
melhor caminho, e seguir por uma rota menos adequada. Somente quando o datagrama não puder ser entrege ao seu destino sem fragmentação Ê que ele pode ser descartado. Portanto, o item estå errado.
Sobre o Item II Caso DF assuma o valor lĂłgico 0, os roteadores poderĂŁo fragmentar o datagrama.
Neste
caso, utiliza-se o campo Identi cation para permitir que o host de destino determine a qual datagrama pertence um fragmento recĂŠm-chegado (todos os fragmentos de um datagrama contĂŞm o mesmo valor de Identi cation ). Nesta situação (de fragmentação) ĂŠ imprescindĂvel o uso do bit MF (More Fragments Mais Fragmentos). Todos os fragmentos, exceto o Ăşltimo, tĂŞm esse bit com o valor lĂłgico 1, necessĂĄrio para que o host destino saiba quando chegaram todos os fragmentos de um datagrama. Quando todos os fragmentos estĂŁo disponĂveis no host destino, o datagrama nal ĂŠ remontado e passado para o protocolo indicado no campo do cabeçalho (campo Protocol ). Portanto, o item estĂĄ correto.
Sobre o Item III A MTU (Maximum Transfer Unit - Unidade de TransferĂŞncia MĂĄxima) ĂŠ determinada pelas caracterĂsticas fĂsicas da rede. Ela representa o tamanho no qual o IP se baseia para determinar a necessidade ou nĂŁo da fragmentação de datagramas. Na prĂĄtica, a MTU geralmente tem 1500 bytes (o tamanho da carga Ăştil Ethernet) e, portanto, de ne o limite superior de tamanho de segmentos. Quando o IP ĂŠ requisitado por outro protocolo para o envio de um pacote, ele veri ca qual interface local deve ser utilizada e busca a MTU associada a ela. Comparando o tamanho do datagrama com o da MTU, o IP decide pela fragmentação ou nĂŁo. JĂĄ o campo o set informa a que ponto do datagrama atual o fragmento pertence.
To-
dos os fragmentos de um datagrama, com exceção do Ăşltimo, devem ser mĂşltiplos de 8 bytes, a unidade elementar de fragmento. Como sĂŁo fornecidos 13 bits, existem no mĂĄximo 8192 fragmentos por datagrama, resultando em um tamanho mĂĄximo de datagrama igual a 65.536 bytes, um a mais que o campo Total length (inclui tudo o que hĂĄ no datagrama cabeçalho e dados). Portanto, nĂŁo hĂĄ nenhuma relação entre a MTU e o campo o set, assim, item estĂĄ errado. ConcluĂmos que a alternativa
B estĂĄ correta.
PĂĄgina 15 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
6.
Assuntos relacionados:
Volume 06 Edição 1
Arquitetura de Computadores, Avaliação de Desempenho Com-
putacional, Throughput de Processamento,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 41
- Suporte
Seja A uma máquina hipotética com tempo de ciclo de 5 ns e sem paralelismo no nível de instrução.
Assumindo-se que cada estágio demora um ciclo de relógio, qual opção indica
uma latência e um número de estágios no pipeline de uma máquina hipotética B su cientes para que B tenha uma largura de banda de processador superior ao da máquina A? (a). 12 ns de latência e 2 estágios. (b). 14 ns de latência e 2 estágios. (c). 20 ns de latência e 5 estágios. (d). 24 ns de latência e 3 estágios. (e). 28 ns de latência e 4 estágios.
Solução: Esta é uma questão em que o candidato precisa mais de habilidades matemáticas do que conhecimentos profundos em informática, neste caso na área de arquiteturas de computadores. Para que não se tenha dúvidas, vamos explicitar rapidamente cada conceito relevante que aparece no enunciado.
• tempo de ciclo:
equivale a um ciclo de relógio, que é o inverso da frequência de
trabalho do processador. No caso da máquina hipotética A, como o tempo de ciclo é de 5ns, conclui-se que o seu processador trabalho na frequência de 200 MHz (inverso de 5ns);
• estágio:
uma subdivisão de instrução de baixo nível (adição, subtração, shift, etc.);
• número de estágios no pipeline:
número necessário de estágios para execução de
uma instrução de baixo nível. Em algumas arquiteturas reais de mercado, o número necessário de estágios para execução de uma instrução de baixo nível é dependente da instrução. Contudo, no caso hipotético desta questão, esse detalhe não é considerado;
• latência:
tempo em que um estágio é executado;
• largura de banda de processador:
quantidade de instruções executadas em um
intervalo de tempo. Este conceito também é chamado de throughput (vazão) de processamento. Como o enunciado especi ca que não há paralelismo no nível de instrução, ou seja, somente uma instrução é executada por vez, o throughput de um processador pode ser calculado com a seguinte equação:
throughput = (número de estágios no pipeline)/latência No caso da máquina A, temos que o throughput é 200 milhões de instruções por segundo (1/5ns). Ao calcularmos o throughput de cada alternativas, temos: a) 2/12ns = 166,67 milhões de instruções por segundo b) 2/14ns = 142,86 milhões de instruções por segundo
Página 16 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
c) 5/20ns = 250,00 milhões de instruções por segundo d) 3/24ns = 125,00 milhões de instruções por segundo e) 4/28ns = 142,86 milhões de instruções por segundo Perceba, portanto, que a única alternativa que traz um throughput maior que o throughput da máquina A é a letra c.
Página 17 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
7.
Assuntos relacionados: Alta Disponibilidade, Soluções Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 43
Volume 06 Edição 1
de Armazenamento, RAID,
Em relação a um arranjo de sete discos em RAID nível 2, pode-se a rmar que (a). somente um dos discos é dedicado à paridade. (b). em caso de falha em um disco, haverá perda de dados. (c). não exige muito processamento do controlador de disco. (d). utiliza tiras de tamanho xo -
n
setores em cada.
(e). é utilizado código de Hamming para redundância de informação.
Solução: RAID (Redundant Array of Inexpensive/Independent Disks ) é uma classe de dispositivo de E/S cuja ideia fundamental é o uso de um conjunto de discos con gurados de tal forma a comportarem-se como um único disco de grande capacidade de armazenamento e de alto desempenho de escrita/leitura, além de con abilidade de armazenamento e robustez a falhas. O RAID nível 2 trabalha por palavra (diferentemente dos RAIDs de nível 0 e 1 que trabalham com tiras de dados), dividindo seus bits pelos discos existentes e intercalando-os com bits de paridade.
Uma palavra de 4 bits, por exemplo, poderia ser dividida em 4 discos,
acrescentando-se mais 3 discos para paridade (em código Hamming ), o que resultaria em uma palavra de 7 bits, com os bits 1, 2 e 4 destinados ao controle de paridade, proporcionando redundância da informação para prevenção de possíveis falhas. Para seu efetivo funcionamento, deve haver sincronismo entre a posição do braço e a posição rotacional dos sete discos.
Desta forma, possibilita-se a escrita de uma palavra de 7 bits
codi cada por Hamming, um bit em cada disco. Com esse esquema, a falha de um disco não causa qualquer problema, pois sua perda equivale a perder um bit por palavra, o que é facilmente gerenciado pelo código de Hamming. Em contrapartida, exige-se muito do controlador de discos (controlador de RAID), já que ele deve efetuar uma soma de veri cação de Hamming a cada tempo de bit. (A) ERRADA Face ao exposto, observa-se que a alternativa (A) está incorreta, pois a paridade é dividida por mais de um disco, à medida que o tamanho da palavra cresce. Os RAIDs de nível 3 e 4 organizam-se de forma a concentrar os bits de paridade em um único disco. O RAID de nível 4 possui um disco dedicado apenas à paridade. (B) ERRADA A alternativa (B) também está incorreta, pois a falha de um disco não ocasiona perda de dados devido à utilização do código de Hamming. O RAID nível 0 não possui quaisquer redundância ou controle de erro, ocasionando perda de dados no caso de falha em um disco
Página 18 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(alguns estudiosos nem consideram esse esquema um RAID verdadeiro). (C) ERRADA Conforme explanado, uma das desvantagens do RAID nível 2 é a grande exigência de processamento por parte do controlador de discos devido à constante veri cação dos dados codi cados por Hamming. Desta forma, a alternativa (C) está incorreta ao comentar sobre o processamento do controlador de disco. (D) ERRADA Como o RAID de nível 2 trabalha com palavras em vez de tiras de dados, a alternativa (D) está incorreta. Além dos RAIDs nível 0 e 1, os RAIDs nível 4 e 5 também utilizam tiras de dados para organização da informação armazenada. (E) CORRETA A alternativa (E) está correta ao a rmar que o RAID nível 2 utiliza o código Hamming para proporcionar redundância de dados.
Página 19 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
8.
Assuntos relacionados: Protocolos de Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 51
Volume 06 Edição 1
Rede, Protocolo SIP,
O usuário A deseja estabelecer uma chamada com o usuário B utilizando o protocolo SIP (Session Initiation Protocol). Supondo que B esteja disponível para atender a ligação de A, a seqüência de requisições e respostas na criação da chamada é (a). A envia INVITE, B responde ACK, A envia ACK, B envia OK 200. (b). A envia INVITE, B responde OK 200, A envia ACK. (c). A envia INVITE, B responde OK 200. (d). A envia CONNECT, B responde ACK. (e). A envia CONNECT, B responde CONNECT-ACK, A envia ACK.
Solução: O SIP (Session Initiation Protocol ) é um protocolo da camada de aplicação usado para estabelecer, modi car e terminar sessões ou chamadas multimídia.
Essas sessões podem
ser conferências, e-learning, telefonia pela Internet (VoIP) e aplicações similares. Ele é um protocolo baseado em texto, similar ao HTTP e SMTP, desenhado para iniciar, manter e terminar sessões de comunicação interativa entre usuários. Tais sessões incluem: voz, vídeo, chat, jogos interativos e realidade virtual. Ele foi de nido pelo IETF (Internet Engineering
Task Force ) e vem se tornando o padrão de fato em telefonia IP. Como podemos observar acima, temos um Protocolo de multi serviços que além de possibilitar o tráfego de voz, também podemos utilizar para uma série de serviços de multimídia. O SIP funciona numa arquitetura cliente/servidor e suas operações envolvem apenas métodos de requisição e respostas, como observado também no HTTP. Os métodos de requisição do SIP são os seguintes:
• INVITE:
indica que o usuário está sendo convidado a participar de uma sessão mul-
timídia. O corpo da mensagem pode conter uma descrição da sessão, utilizando-se o protocolo de descrição de sessão SDP (Session Description Protocol );
• ACK: mensagem recebida como resposta nal a um INVITE. A requisição ACK pode conter o SDP de descrição da sessão negociada entre ambos os clientes. Se não contiver o SDP, o usuário chamado pode assumir a descrição dada pelo primeiro
INVITE,
se
houver;
• OPTIONS:
faz uma pergunta sobre quais métodos e extensões são suportados pelo
servidor e pelo usuário descrito no campo de cabeçalho <To:>. O servidor pode responder a esta pergunta com o conjunto de métodos e extensões suportado pelo usuário e por ele mesmo;
• BYE:
usado para liberar os recursos associados a uma ligação e forçar a desconexão
da mesma;
• CANCEL: cancela uma requisição que ainda esteja pendente, ou seja, em andamento. Uma requisição é considerada pendente, se e somente se, ela não foi atendida com uma resposta nal;
Página 20 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
• REGISTER:
Volume 06 Edição 1
um cliente usa este método para registrar o alias (apelido) do seu
endereço em algum servidor SIP. Veja a sequência das mensagens de requisição e a mensagem de resposta na ligação de um usuário A para um usuário B:
•
(1) Usuário A quer criar uma ligação entre A e o B para isso envia uma requisição SIP
•
(2) O usuário B decide se juntar à sessão (sessão pode ser aberta), para isso envia uma
INVITE para o usuário B; resposta de Sucesso
•
200 OK para o usuário A;
(3) En m, o usuário A indica que a negociação da sessão acabou e a sessão está aberta enviando uma requisição ACK contendo a negociação nal para o usuário B.
Como podemos observar, a alternativa
B é a correta.
Página 21 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
9.
Assuntos relacionados: Segurança da Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 52
Volume 06 Edição 1
Informação, Autenticação Forte,
Qual opção apresenta um conjunto de métodos que caracteriza uma autenticação forte? (a). Utilização de senha, dados pessoais aleatórios e PIN. (b). Reconhecimento de retina e impressão digital. (c). Uso de crachá magnético, chave física e crachá com código de barras. (d). Reconhecimento facial e de íris. (e). Reconhecimento de padrão de voz e utilização de senha.
Solução: O conceito mais amplamente aceito de autenticação forte está relacionado ao conceito de autenticação de múltiplos fatores (Multiple Factor Authentication). Este tipo de autenticação exige o uso de, ao menos, dois fatores de autenticação de categorias diferentes para a veri cação da identidade do usuário. Os fatores usados para autenticação se dividem em três categorias, a saber:
•
algo que o usuário saiba: nesta categoria estão incluídas todas as formas de autenticação aonde sejam solicitadas informações que o usuário deve memorizar, tais como senhas, números PIN, dados pessoais, etc.;
•
algo que o usuário possua: nesta categoria estão incluídas todas as formas de autenticação aonde o usuário seja solicitado a dar provas da posse de algum objeto, tais como apresentar um smart card, informar dados gerados por um token, etc.;
•
algo que o usuário seja: nesta categoria estão incluídas todas as formas de autenticação onde o usuário seja solicitado a apresentar características físicas que o distingue dos demais, tais como leitura de digitais, leitura de íris, etc.
Posto isto, podemos perceber que, apesar de todas as alternativas apresentadas na questão solicitarem múltiplas informações ao usuário, apenas na alternativa (E) é solicitada informações de duas categorias diferentes o padrão que voz, que pertence a terceira categoria, e a senha, que pertence a primeira categoria cumprindo as exigências para ser caracterizada como uma forma de autenticação forte.
Página 22 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
10.
Assuntos relacionados:
Volume 06 Edição 1
Sistemas Operacionais, Microsoft Windows 2003, Active Direc-
tory (AD),
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 53
- Suporte
Seja D um domínio Active Directory que possui 4 controladores de domínio (domain con-
trollers ), todos Windows Server 2003. Sobre esse assunto, é correto a rmar que (a). cada usuário criado em D será armazenado em um controlador de domínio utilizando uma política de round-robin. (b). cada BDC (Backup Domain Controller ) sincroniza sua hora local com o relógio do PDC (Primary Domain Controller ) desse domínio. (c). o nível de funcionalidade de domínio Windows Server 2003 pode ser habilitado, permitindo que o domínio seja renomeado. (d). o número máximo de grupos permitido em D é 65536 (n x 16384), onde
n
é o
número de controladores de domínio. (e). uma estação Windows XP não pode participar de D como cliente.
Solução: O Active Directory (AD) é um serviço de diretório introduzido inicialmente no Windows 2000 e presente no Windows Server 2003 e no Windows Server 2008. Em termos gerais, um serviço de diretório é um repositório de rede, o qual mantém informações sobre os recursos disponíveis de uma rede (contas de usuários, grupos, computadores, recursos, políticas de segurança, etc) em um banco de dados, como um repositório central, e torna estes recursos disponíveis para usuários e aplicações. No AD a implementação do serviço de diretório e o acesso às informações são de nidos pelo protocolo LDAP (Lightweight Directory Access Protocol ). Além de armazenar as informações dos vários recursos disponíveis na rede, o AD disponibiliza vários serviços, como: autenticação, pesquisa de objetos na base de dados, replicação do banco de dados, administração centralizada e interface de programação para acesso aos objetos do diretório. Com o AD ca mais fácil a administração e implementação de redes de grandes proporções, tanto geográ cas quanto em números de usuários. O AD é constituído pelos elementos Domínios, Árvores, Florestas, objetos do AD, Unidades Organizacionais e Schema.
Domínio O conjunto de servidores, estações de trabalho e as informações do diretório formam uma unidade conhecida como Domínio. Todos os servidores que contém uma cópia da base de dados do AD fazem parte do Domínio. Um Domínio é simplesmente um agrupamento lógico de contas e recursos, os quais compartilham políticas de segurança - as quais são conhecidas por GPO (Group Polices Objects ). As informações sobre os diversos elementos do Domínio (contas de usuários, contas de computador, grupos de usuários, políticas de segurança, etc),
Página 23 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
estão contidas no banco de dados do Active Directory. Um Domínio também pode ser de nido como um limite administrativo e de segurança. Limite administrativo, pois as contas de Administrador possuem permissões de acesso em todos os recursos do Domínio, mas não em recursos de outros Domínios. Limite de segurança porque cada Domínio possui de nições próprias de políticas de segurança que se aplicam as contas de usuários e demais recursos dentro do próprio Domínio e não a outros Domínios. Em um Domínio é possível ter dois tipos de servidores:
controlador de Domínio (DC
Domain Controler ) e servidor membro (Member Servers ). O controlador de Domínio é o computador que possui o AD instalado, ou seja, um servidor que possui uma cópia da base de dados do AD. Em um mesmo Domínio podemos ter mais de um controlador de Domínio. Cada controlador de Domínio mantém uma cópia do banco de dados do AD. A criação de contas de usuários, grupos de usuários, autenticação dos usuários, bem como alterações nas contas de usuários, nas políticas de segurança e em outros elementos podem ser feitas em qualquer um dos controladores de Domínio. Alterações efetuadas em um dos controladores são repassadas para os demais controladores, de modo que todos quem com uma cópia idêntica da base de dados do diretório. Esta sincronização entre servidores é chamada de Replicação do Active Directory. O servidor membro não possui uma cópia do banco de dados do AD. Contas de usuários e grupos criadas no servidor membro só serão válidas localmente neste servidor. O servidor membro não realiza autenticação de usuários e não armazena informações de políticas de segurança do AD. É possível atribuir permissões para os recursos do servidor membro às contas dos usuários e de grupo sem a necessidade de criar usuários e grupos localmente. Os recursos disponíveis no AD são organizados de uma maneira hierárquica por meio do uso de Domínios.
Uma rede na qual o AD está instalado pode ser formada por um ou
mais Domínios. O agrupamento de objetos em um ou mais Domínios permite que a rede re ita a organização da sua empresa.
Para que um usuário cadastrado em um Domínio,
possa receber permissões para acessar recursos em outros Domínios, o AD cria e mantém relações de con ança entre os diversos Domínios. As relações de con ança são bidirecionais e transitivas, isto é, se o Domínio A con a no Domínio B, o qual por sua vez con a em um Domínio C, então o Domínio A também con a no Domínio C. Todo Domínio possui as seguintes características:
•
todos os objetos de uma rede (contas de usuários, grupos, impressoras, políticas de segurança, etc) fazem parte de um único Domínio;
•
cada Domínio somente armazena informações sobre os objetos do próprio Domínio;
•
cada Domínio possui suas próprias políticas de segurança.
Árvores de Domínios Quando existem diversos Domínios relacionados através de relações de con ança (bidirecionais e transitivas), criadas e mantidas automaticamente pelo AD, temos uma Árvore de Domínios. Uma Árvore nada mais é do que um agrupamento ou arranjo hierárquico de um ou mais Domínios, os quais compartilham um espaço de nome. Compartilhar um espaço de nomes em uma hierarquia de Domínios signi ca que os nomes
Página 24 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
dos objetos lho (de segundo nível, por exemplo: vendas.google.com e suporte.google.com), contém o nome do objeto pai google.com). Com isso uma Árvore de diretórios deste tipo forma um espaço de nomes contínuo, onde o nome do objeto lho sempre contém o nome do objeto pai.
Floresta Floresta é um grupo de uma ou mais Árvores.
A oresta fornece recursos de segurança,
convenções, con anças e catálogo global (global catalog ) - controlador de Domínio que armazena uma cópia de todos os objetos do AD.
Unidades Organizacionais Um Domínio pode ainda ser dividido em Unidades Organizacionais.
Uma Unidade Or-
ganizacional é uma divisão lógica do Domínio, a qual pode ser utilizada para organizar os objetos de um determinado Domínio em um agrupamento lógico para efeitos de administração.
Cada Domínio pode implementar a sua hierarquia de Unidades Organizacionais,
independentemente dos demais Domínios, isto é, os diversos Domínios que formam uma Árvore, não precisam ter a mesma estrutura hierárquica de Unidades Organizacionais. Com a utilização de Unidades Organizacionais, é possível restringir os direitos administrativos apenas em nível da Unidade Organizacional sem que, com isso, o administrador tenha poderes sobre todos os demais objetos do Domínio.
Schema A de nição de todos os objetos do Active Directory e demais informações contidas no banco de dados do AD é conhecida como Schema. O AD utiliza um modelo de banco de dados hierárquico, diferente do modelo relacional de dados.
Uma analogia é como se o Schema
fosse a de nição da estrutura do banco de dados do AD. Quando você cria um novo objeto, as informações fornecidas são validadas com base nas de nições contidas no Schema, antes que o objeto seja salvo na base de dados do AD. Algumas notas a respeito do AD:
•
o AD surgiu juntamente com o Windows 2000 Server e pode ser instalado em servidores que executem o Windows Server 2003 e 2008. Vale ressaltar que não se pode instalar o AD em um servidor que execute o Windows Server 2003 - Web Edition, mas se pode ingressá-lo em um Domínio do AD como servidor membro;
•
o AD utiliza o DNS como serviço de nomeação de servidores e recursos e de resolução de nomes.
Por isso um dos pré-requisitos para que o AD seja instalado e funcione
perfeitamente é que o DNS esteja instalado e con gurado corretamente;
•
estações de trabalho com o Windows XP Professional podem ser con guradas para fazer parte de um Domínio. Estações com Windows XP Home não podem fazer parte de um Domínio. Estações de trabalho com o Windows 95/98/Me podem ser con guradas para fazer parte de um Domínio. Para ter acesso a maioria dos recursos do AD, também é preciso instalar o Active Directory Client, nas estações de trabalho com o Windows 95/98/Me.
Com base no explicado anteriormente, a seguir analisamos as alternativas da questão:
Página 25 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(A) ERRADA As informações (login, senha, grupo, etc) de um usuário criado no domínio
D é armazenado
em um dos controladores de Domínio e replicado para os outros três controladores de Domínio por meio de sincronização entre os controladores.
Isso é conhecido como repli-
cação do AD. Ou seja, não é utilizado uma política de round-robin. Portanto, alternativa está errada. (B) ERRADA No NT Server 4.0 existem dois tipos de servidores capazes de fazer a autenticação de usuários do Domínio: Primary Domain Controller (PDC) e um ou mais Backup Domain Controller. Em cada Domínio existia um único PDC e vários BDCs. Uma característica no NT Server 4.0 é que uma vez que um servidor tivesse sido con gurado como PDC ou BDC, não seria possível rebaixá-lo novamente a servidor membro. O único jeito seria formatando e reinstalando o NT Server 4.0. A partir do Windows 2000 Server existem apenas controladores de Domínio (DC), não existe mais o conceito de PDC e BDCs. Outra novidade é que é possível con gurar o servidor para que ele deixe de ser um DC e volte a ser um servidor membro, sem que ter que formatar e reinstalar o Windows 2000 Server ou o Windows Server 2003. Logo, alternativa está errada. (C) CORRETA O Windows Server 2003, como no Windows 2000 Server, possui diferentes níveis de funcionalidade com base nos tipos de DCs instalados na rede. A utilização de um determinado nível de funcionalidade é determinada pela existência ou não de DCs com versões anteriores do Windows, como o Windows 2000 Server e o Windows NT Server 4.0. No Windows Server 2003 existem quatro níveis de funcionalidade:
•
Windows 2000 mixed (selecionado como padrão): suporta DCs com o Windows NT Server 4.0, Windows 2000 Server ou Windows Server 2003. Neste nível de funcionalidade não é possível a utilização de grupos Universais e não é possível renomear um DC (ao invés disso o DC tem que ser rebaixado a servidor membro, faz-se a renomeação e promove-se o servidor novamente a DC);
•
Windows 2000 native: suporta DCs com o Windows 2000 Server ou com o Windows 2003 Server. Neste nível de funcionalidade são suportados grupos Universais, porém não é possível renomear DCs sem antes rebaixá-los de volta a servidor membro;
•
Windows Server 2003 interim: suporta DCs com o NT Server 4.0 ou com o Windows Server 2003.
Este nível de funcionalidade é utilizado quando você está em processo
de migração de uma rede baseada no Windows NT Server 4.0 para o Windows Server 2003;
•
Windows Server 2003: somente DCs com o Windows Server 2003. Este é o nível onde estão disponíveis todos os recursos e novidades do Active Directory.
Existem três escopos para grupos de usuários: Universal, Global e Local do Domínio. Grupos Universais (Universal Group ) são grupos que podem ser utilizados em qualquer parte de um Domínio ou da Árvore de Domínios e podem conter como membros, grupos e usuários de quaisquer Domínios. Um grupo Global está relacionado quanto aos locais onde ele pode receber permissões de acesso, ou seja, um grupo Global pode receber permissões de acesso em recursos (pastas compartilhadas, impressoras, etc) de qualquer domínio. Grupos locais
Página 26 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
são grupos que somente podem receber permissões para os recursos do Domínio onde foram criados, porém podem ter como membros, grupos e usuários de outros Domínios. No Windows Server 2003 foi introduzido o nível de funcionalidade de Floresta, o que não existia com o Windows 2000 Server. Existem três níveis de funcionalidade de Floresta: Windows 2000 (selecionado como padrão), Windows Server 2003 interim, and Windows Server 2003. Para que o nível de funcionalidade da Floresta seja con gurado para Windows Server 2003, todos os DCs de todos os Domínios devem estar com o Windows Server 2003 instalado. Somente neste nível é que estarão disponíveis todos os recursos do AD, incluindo a maioria das novidades introduzidas com o Windows Server 2003. O nível de funcionalidade da Floresta introduziu as algumas novidades no AD, como: melhorias na replicação do catálogo global (somente estarão disponíveis na replicação entre dois servidores de catálogo global baseados no Windows Server 2003), relação de con ança entre Florestas, renomeação de Domínio, melhorias na replicação do Active Directory, dentre outros. Portanto, conforme explicado, alternativa está correta. (D) ERRADA O AD do Windows 2003 Server possui algumas limitações técnicas, tais:
•
número máximo de objetos: cada controlador de Domínio na Floresta pode criar aproximadamente 2,15 bilhões de objetos durante sua vida;
•
número máximo de GPOs aplicadas:
existe um limite de 999 GPO que podem ser
aplicadas para uma conta de usuário ou conta de computador;
•
número máximo de usuários em um Grupo: Para o Windows 2000 Server, o número máximo de membros por grupo recomendado é 5000. No Windows Server 2003 este número pode exceder os 5000. Alguns testes da Microsoft já alçaram 500 milhões de membro em um grupo.
•
número máximo de Domínios em uma Floresta: Para o Windows 2000 Server, o número máximo de Domínios em uma oresta é 800. Para o Windows 2003 Server, este número é de 1200;
•
número máximo de controladores de domínio em um Domínio: No Windows 2003 Server é recomendado 1200 controladores de Domínio.
Para maiores informações sobre limitações técnicas do AD, consulte o artigo disponível em http://technet.microsoft.com/en-us/library/cc756101%28WS.10%29.aspx#BKMK_Groups. De acordo com as informações apresentadas, não existe uma relação entre o número de controladores de domínio e o número de grupos em um Domínio
D.
Logo, alternativa está
errada. (E) ERRADA Conforme apresentado em uma das notas, uma estação Windows XP pode participar de um Domínio
D,
com exceção de uma estação com Windows XP Home. Para ter acesso a
maioria dos recursos do AD é preciso instalar o Active Directory Client na estação. Portanto, alternativa está errada.
Página 27 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
11.
Assuntos relacionados:
Volume 06 Edição 1
Governança de TI, ITIL, Gerenciamento de Mudanças, Geren-
ciamento de Problemas, Gerenciamento de Incidentes, Gerenciamento de Nível de Serviço, Gerenciamento de Disponibilidade,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 56
- Suporte
Um usuário reclama na Central de Serviços, com razão, que o servidor de arquivos de seu departamento está fora do ar. O processo ITIL (v2) que assegura o restabelecimento mais breve possível do serviço relacionado é o gerenciamento de (a). mudanças. (b). problemas. (c). incidentes. (d). nível de serviço. (e). disponibilidade.
Solução: A ITIL (Information Technology Infrastructure Library ) é uma biblioteca composta das melhores práticas para Gerenciamento de Serviços de TI. Criada pelo Governo britânico em 1980, se tornou padrão de fato no mercado em 1990. Não se trata de uma metodologia e sim de um conjunto de melhores práticas adotadas em várias empresas. A ITIL não oferece um método de implementação, ao invés disto oferece uma framework para planejar os processos mais comuns, papéis e atividades, indicando as ligações entre elas e que linhas de comunicação são necessárias. Podemos tratar a ITIL apenas como um consenso de como devem ser tratados os processos dentro de um departamento de TI. Os processos propostos são genéricos, podendo ser utilizados por qualquer empresa, seja pública ou privada, de grande ou pequeno porte.
Estes processos devem ser adotados e
adaptados ao seu negócio, tenha em mente que não existe receita de bolo pronta. Abordaremos os processos existentes em cada alternativa. (A) ERRADA Este processo tem como missão gerenciar todas as mudanças que possam causar impacto na habilidade da área de TI em entregas de serviços, através de um processo única e centralizado de aprovação, programação e controle da mudança, para assegurar que a infra-estrutura e TI permaneça alinhada aos requisitos do negócio, com o menor risco possível. O Processo de Gerenciamento de Mudanças é responsável por DECIDIR e COORDENAR as Mudanças, não tem como objetivo executar a implementação das mudanças. A Implementação será realizada por uma equipe técnica responsável pela área de mudança, como a área de redes, sistemas, hardware. O processo de Gerenciamento de Mudança controlará as mudanças para que elas sejam implementadas de forma e ciente e e caz, no que se refere ao custo com um mínimo de riscos para os serviços mantidos. Para que se possa fazer uma análise de riscos adequada é importante o uso de uma Base de Gerenciamento da Con guração (BDGC), que forneça todos os serviços e recursos relacionados ao item de con guração
Página 28 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
que sofrerá a mudança. (B) ERRADA Este processo tem como missão minimizar a interrupção nos serviços de TI através da organização dos recursos para solucionar problemas de acordo com as necessidades de negócio, prevenindo a recorrência dos mesmos e registrando informações que melhore a maneira pela qual a organização de TI trata os problemas, resultando em níveis mais altos de disponibilidade e produtividade. Principais objetivos:
•
minimizar os efeitos adversos nos negócios;
•
tratar Incidentes e Problemas causados por erros na infra-estrutura;
•
prevenir pró-ativamente a ocorrência dos incidentes, problemas e erros;
•
reduzir o número geral de incidentes de TI.
O processo é focado em encontrar relacionamentos entre os incidentes, problemas e erros conhecidos. Estas três áreas são chaves a compreender a análise da causa raiz . O princípio básico está em começar com muitas possibilidades e ir estreitando até encontrar a causa raiz nal. O processo de Gerenciamento de Problemas requer as seguintes entradas:
•
registros de incidentes e detalhes sobre os incidentes;
•
erros conhecidos;
•
informação sobre os IC's (Item de Con guração) a partir do BDCG;
•
informação de outros processos (exemplo: Gerenciamento do Nível de Serviço provê informação sobre os tempos a serem cumpridos, o Gerenciamento de Mudanças provê informação sobre as mudanças recentes que podem ser parte do erro conhecido).
As saídas do processo são:
•
RMD's (Requisições de Mudança) para começar o processo de mudança para resolver os erros conhecidos;
•
informação gerencial;
•
soluções de contorno;
•
erros conhecidos;
•
atualização dos registros de problemas e registro de problemas resolvidos caso o erro conhecido for resolvido.
(C) CORRETA O processo de Gerenciamento de Incidentes tem como missão restaurar os serviços o mais rápido possível com o mínimo de interrupção, minimizando os impactos negativos nas áreas de negócio. O processo de Gerenciamento de Incidentes tem como objetivos:
•
resolver os incidentes o mais rápido possível, restabelecendo o serviço normal dentro do prazo acordado nos ANS's (Acordos de Nível de Serviço);
•
manter a comunicação dos status dos incidentes aos usuários;
•
escalonar os incidentes para os grupos de atendimento para que seja cumprido o prazo de resolução;
Página 29 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
•
Volume 06 Edição 1
fazer avaliação dos incidentes e suas possíveis causas, informando ao processo de Gerenciamento de Problemas.
O escopo do gerenciamento de incidentes é muito amplo e pode incluir aspecto que afete o serviço ao cliente tais como:
•
falha de hardware;
•
erro de software
•
solicitações de informações;
•
solicitação de mudança de equipamento;
•
troca de senha;
•
novos funcionários;
•
solicitação de suprimentos;
•
problemas de desempenho.
Como todo processo existe Entrada e Saídas.
A entrada principal deste processo são os
incidentes. Como mostrado acima os Incidentes podem vir de muitas fontes como usuários, equipes de operações, redes ou ferramentas de monitoramento que identi cam irregularidades nos serviços.
Soluções de Contornos podem ser buscadas a partir de uma Base de
Erros Conhecidos, ajudando a resolver o incidente o mais rápido.
A Base de Dados do
Gerenciamento da Con guração (BDGC) auxiliará na identi cação do item de con guração relacionado ao incidente, incidentes anteriores, mudanças já registradas, problemas abertos, e o possível impacto e itens relacionados ao incidente. Determinadas solicitações de usuários podem necessitar um Registro de Mudança, como por exemplo, uma nova regra de negócio ou instalação de um novo componente. (D) ERRADA O processo de Gerenciamento do Nível de Serviço gerencia a qualidade dos Serviços em TI entregue conforme os acordos rmados entre os usuários e o departamento de TI, chamados Acordos de Nível de Serviço (ANS). O objetivo do Gerenciamento do Nível de Serviço é manter e melhorar a qualidade dos serviços através de um ciclo constante de acordos, monitoração, relatórios e melhoria dos níveis atuais de serviços. Ele é estrategicamente focado no negócio, mantendo o alinhamento entre o negócio e a TI. Para entender o processo de Gerenciamento do Nível de Serviço é necessário entender alguns conceitos básicos que são usados, nós iremos explicá-los aqui para que o processo se torne mais fácil de entender:
• Requisitos de Nível de Serviços (RNS):
este é um documento que contém todos
os requisitos do cliente relacionados aos Serviços em TI, que de ne a disponibilidade / desempenho que os clientes precisam para estes serviços. Este é o ponto inicial para traçar os Acordos de Nível de Serviço;
• Especi cações de Serviço:
a organização de TI rascunha as Especi cações dos
Serviços baseadas na RNS. Esta é uma transcrição dos requisitos do cliente de como a organização de TI irá fornecer estes serviços. Quais são as necessidades técnicas? Ele irá mostrar os relacionamentos entre os ANS's, fornecedores e a própria organização de TI;
Página 30 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
• Acordo de Nível de Serviço (ANS):
Volume 06 Edição 1
o ANS é um documento que de ne níveis
de serviços acordados entre o cliente e o provedor de serviços, exemplo entre TI e o negócio. O ANS deve ser escrito em linguagem que o negócio entenda (clara, concisa e livre de jargões). O ANS não deve incluir diagramas de procedimentos detalhados para outros processos ou conteúdo com informações técnicas que o negócio não irá entender;
• Contratos de Apoio (CA):
com um fornecedor externo ou terceiro que está sendo
envolvido na entrega de Serviços em TI haverá um contrato que garanta que ele irá fornecer o serviço dentro de um certo tempo acordado, custo, nível, etc. A organização de TI passa os requisitos do negócio para os fornecedores externos. Este documento terá re exo dos níveis de serviços de nido nos ANS's. Por exemplo, se o ANS apresenta um conserto de uma impressora em 5 dias, então o CA com o terceiro deverá dar suporte a esta necessidade (por exemplo, o Conserto de impressora e o retorno para a organização em 3 dias);
• Acordo de Nível Operacional (ANO):
alguns Serviços em TI dependem de outro
serviço que está sendo provido dentro da organização de TI. Por exemplo, um serviço para fornecer um programa que é executado via rede depende da disponibilidade da rede. Acordos sobre a disponibilidade da rede serão desenhados em um Acordo de Nível Operacional (ANO). Assim como a CA, estes contratos internos irão dar suporte aos ANS's da mesma maneira, exceto que o foco é voltado para dentro da organização de TI. (E) ERRADA O objetivo do Gerenciamento da Disponibilidade é conseguir um mapeamento claro dos requisitos do negócio relacionados com a disponibilidade dos Serviços em TI e otimizar a capacidade da infra-estrutura para alinhar a estas necessidades. Uma entrada para isto é assegurar a mais alta disponibilidade possível dos Serviços em TI para que o negócio consiga alcançar seus objetivos. O Gerenciamento da Disponibilidade depende de muitas entradas para funcionar corretamente. Entre as entradas temos:
•
os requisitos relacionados à disponibilidade do negócio;
•
informação relacionada à con abilidade, sustentabilidade, capacidade de recuperação e o ciosidade dos IC's;
•
informação de outros processos, incidentes, problemas, ANS's e níveis de serviços alcançados.
As saídas do processo são:
•
recomendação relacionada à infra-estrutura de TI para assegurar a resiliência da infraestrutura de TI;
•
relatórios sobre a disponibilidade dos serviços;
•
procedimentos para assegurar a disponibilidade e recuperação de cada serviço em TI novo ou aperfeiçoado;
•
planos para aperfeiçoar a Disponibilidade dos Serviços em TI.
Então, o processo que assegura o restabelecimento mais breve possível do serviço relacionado é o Gerenciamento de Incidentes (a alternativa
C está correta).
Página 31 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
12.
Assuntos relacionados:
Volume 06 Edição 1
ITIL, Gerenciamento de Disponibilidade, Gerenciamento de Prob-
lemas, Gerenciamento de Incidentes, Gerenciamento de Capacidade,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 57
- Suporte
Em um curto período, 6 usuários reclamaram do tempo de resposta da Intranet corporativa na Central de Serviços.
O processo ITIL (v2) responsável por descobrir a causa dessas
ocorrências é o gerenciamento de (a). disponibilidade. (b). problemas. (c). incidentes. (d). desempenho. (e). capacidade.
Solução: ITIL (Information Technology Infrastructure Library) é o modelo de referência para gerenciamento de processos de TI mais aceito mundialmente nos dias de hoje. Ela é um conjunto de boas práticas recomendadas a serem aplicadas na infraestrutura, operação e manutenção de serviços de TI. Ela foi desenvolvida no nal dos anos 80 pela CCTA (Central Computer and Telecommunications Agency) e atualmente está sob custódia da OGC (O ce for Government Commerce) da Inglaterra. A ITIL busca promover gestão com foco no cliente e na qualidade dos serviços de TI. A ITIL endereça estruturas de processos para a gestão de uma organização de TI apresentando um conjunto abrangente de processos e procedimentos gerenciais, organizados em disciplinas, com os quais uma organização pode fazer sua gestão tática e operacional em vista de alcançar o alinhamento estratégico com os negócios. ITIL dá uma descrição detalhada sobre importantes práticas de IT com checklists, tarefas e procedimentos que qualquer organização de IT pode customizar tendo em vista as suas necessidades. A sua primeira versão, denominada ITIL original, durou de 1986 até 1999.
Ao longo de
sua existência ela chegou a ser composta por 31 livros. A sua segunda versão (ITIL v2) durou de 1999 até 2007.
O foco principal dessa revisão
foi a consolidação das publicações anteriores em conjuntos lógicos que agrupam os processos relacionados aos diferentes aspectos do gerenciamento de TI, aplicações e serviços. O conjunto de Gerenciamento de Serviços de TI (Service Support e Service Delivery) é o mais conhecido e aplicado. Contudo, a biblioteca provê um conjunto de melhores práticas bem mais extenso, que alcança também o gerenciamento estratégico, de operações e até mesmo nanceiro. Os oito livros da versão 2 do ITIL são:
• Grupo de Gerenciamento de Serviços de TI 1. Service Delivery - Entrega de Serviços 2. Service Support - Suporte de Serviços
• Grupo de Guias Operacionais
Página 32 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
3. ICT Infrastructure Management - Gerenciamento de Infraestrutura de TI e Comunicações 4. Security Management - Gerenciamento de Segurança 5. The Business Perspective - A perspectiva do Negócio 6. Application Management - Gerenciamento de Aplicações 7. Software Asset Management - Gerenciamento de Recursos de Software Visando auxiliar a implementação das melhores práticas, um novo livro foi publicado posteriormente. 8. Planning to Implement Service Management - Planejamento para a Implementação da Gestão de Serviços Em dezembro de 2005, a OGC anunciou nova revisão da biblioteca, denominada ITIL v3, que se tornou disponível em maio de 2007. Essa mais nova versão é composta por 5 livros: 1. Service Strategy - Estratégia de Serviços 2. Service Design - Desenho de Serviços 3. Service Transition - Transição de Serviços 4. Service Operation - Operação de Serviços 5. Continual Service Improvement - Melhoria Contínua de Serviços Tendo em vista o que já foi explicado, é possível perceber que ITIL é um material bastante extenso. Portanto, vamos nos ater ao necessário para resolver esta questão. Como já foi mencionado, os dois principais livros da ITIL v2 são: Service Support e Service Delivery. Abaixo estão listas as suas disciplinas:
• Service Support - Suporte de Serviços
Gerenciamento de Incidentes Gerenciamento de Problemas Gerenciamento de Con guração Gerenciamento de Mudanças Gerenciamento de Liberações • Service Delivery - Entrega de Serviços Gerenciamento de Nível de Serviços Gerenciamento Financeiro para TI Gerenciamento de Disponibilidade Gerenciamento de Capacidade Gerenciamento de Continuidade de Serviços Veja que das cinco alternativas desta questão, quatro se referem a disciplinas explicitadas acima. Como ITIL não trata nenhuma disciplina sobre gerenciamento de desempenho, podemos eliminar a alternativa d. Segue uma síntese dos objetivos das outras quatro disciplinas.
a) Gerenciamento de Disponibilidade O processo de gerenciamento de disponibilidade visa garantir que os serviços de TI estarão disponíveis sempre que os seus clientes necessitarem deles, de acordo com os níveis
Página 33 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
de disponibilidade acordados. Dizemos que um serviço esta disponível quando o cliente o recebe dentro das condições do acordo de nível de serviço. Portanto, esta não é a alternativa que procuramos.
b) Gerenciamento de Problemas O seu objetivo é eliminar erros na infraestrutura de TI, identi cando e removendo a causa raiz, evitando assim, a recorrência de incidentes e problemas no ambiente operacional. Esta é, portanto, a alternativa que o candidato deve marcar.
c) Gerenciamento de Incidentes O objetivo do processo de gerenciamento de incidentes é restaurar a operação normal de um serviço, minimizando o impacto para o negócio. É importante enfatizar que o gerenciamento de incidentes trata o efeito, e não a causa. En m, esta não é a alternativa correta.
e) Gerenciamento de Capacidade O gerenciamento de capacidade visa garantir o atendimento das necessidades futuras do negócio, estabelecendo sempre um equilíbrio entre demanda e custos.
A principal saída
desse processo é um documento chamado Plano de Capacidade. Nele são reportadas as previsões de carga, de hardware e software necessários, de custos e de outras recomendações. Como este gerenciamento não tem nenhum relacionamento com descoberta de causas de incidentes, esta alternativa está errada.
Página 34 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
13.
Assuntos relacionados: Redes de Computadores, Protocolos Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 58
Volume 06 Edição 1
de Rede, Protocolo RTP,
Suponha que a taxa de perda de pacotes de um determinado uxo RTP (Real-Time Transport
Protocol ) seja de 10%. Ă&#x2030; correto a rmar que a(o) (a). porcentagem de retransmissĂľes de pacotes RTP ĂŠ de 11%. (b). correção de erro ĂŠ baseada no CĂłdigo de Hu man. (c). nĂşmero de seqßência do primeiro pacote desse uxo ĂŠ menor do que o vigĂŠsimo. (d). nĂşmero de con rmaçþes (acks ) ĂŠ dependente do tamanho da janela deslizante. (e). destinatĂĄrio deve solicitar uma diminuição da velocidade de transmissĂŁo Ă origem.
Solução: RTP (Real-time Transport Protocol ) ĂŠ um protocolo de transporte de tempo real de uso geral. Apesar de ser de nido como um protocolo de transporte, ele deve ser implementado no espaço do usuĂĄrio, sendo geralmente executado sobre o UDP. Sua nalidade ĂŠ atender aplicaçþes de multimĂdia em tempo real, como rĂĄdio via Internet, telefonia IP, mĂşsica sob demanda, vĂdeo sob demanda, videoconferĂŞncia, dentre outras. Sua operação baseia-se na multiplexação de uxos de multimĂdia (ĂĄudio, vĂdeo e texto, por exemplo) da aplicação empacotados em UDP. Assim, sua função bĂĄsica ĂŠ multiplexar diversos uxos de dados de tempo real sobre um Ăşnico uxo de pacotes UDP, enviado em unidifusĂŁo (um Ăşnico destinatĂĄrio) ou em multidifusĂŁo (diversos destinatĂĄrios). Os pacotes RTP sĂŁo numerados sequencialmente em ordem crescente para que a aplicação do(s) destinatĂĄrio(s) possa identi car eventuais perdas de dados. Entretanto, tais perdas nĂŁo sĂŁo tratadas com retransmissĂľes devido Ă natureza das aplicaçþes de tempo real (um pacote de ĂĄudio perdido e retransmitido nĂŁo teria utilidade se reproduzido fora de sequĂŞncia, por exemplo). Observa-se que esse comportamento torna desnecessĂĄrio o uso de con rmaçþes de pacotes recebidos. AlĂŠm da ausĂŞncia no tratamento de erros de transmissĂŁo de dados, tambĂŠm nĂŁo hĂĄ controle de uxo no RTP. Tal funcionalidade, contudo, ĂŠ implementada pelo RTCP (Real-time Trans-
port Control Protocol ) que cuida tambÊm do sincronismo dos diverso uxos transportados. (A) ERRADA A alternativa (A) estå incorreta, pois a rma que hå retransmissþes oriundas do protocolo RTP. Caso o RTP seja executado sob o TCP, este protocolo terå a capacidade de gerenciar conexþes a ponto de proporcionar retransmissþes. (B) ERRADA A alternativa (B) tambÊm estå incorreta ao sugerir que hå correção de erro no RTP.
PĂĄgina 35 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(C) CORRETA A alternativa (C) está correta:
por serem os pacotes numerados de forma sequencial e
incremental, o primeiro pacote do uxo terá numeração inferior às dos demais pacotes. (D) ERRADA Não há qualquer controle de erro disponível no RTP, o que torna desnecessário implementar mecanismos de con rmação de dados recebidos (acks ). Também não controle de uxo, não havendo presença de mecanismos semelhantes a janelas deslizantes para efetuar tal funcionalidade. Desta forma, a alternativa (D) está incorreta. (E) ERRADA Uma aplicação de recepção de uxo multimídia bem planejada, ao perceber certo nível de perda de pacotes na transmissão, deve solicitar uma redução na taxa de envio de dados. Ocorre que essa funcionalidade não está disponível no RTP e sim no RCTP. Isto signi ca que através do RTP não será possível ao destinatário solicitar uma diminuição da velocidade de transmissão à origem, o que não impede que tal atitude seja tomada pelos meios corretos (RTCP). A alternativa (E) está mal formulada, pois não deixa clara a distinção aqui apresentada. Como o contexto da questão refere-se ao RTP, o gabarito considerou a alternativa incorreta.
Página 36 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
14.
Assuntos relacionados:
Volume 06 Edição 1
Segurança da Informação, Anålise de Riscos, Ameaça, Vulnera-
bilidade,
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 61
- Suporte
Assinale a opção que, no âmbito da segurança da informação,
NĂ&#x192;O
ĂŠ um exemplo de
vulnerabilidade. (a). FuncionĂĄrio desonesto. (b). Firewall mal con gurado. (c). Sistema operacional desatualizado. (d). Links sem contingĂŞncia. (e). Rede elĂŠtrica instĂĄvel.
Solução: Anålise de riscos Ê a anålise das ameaças, impactos e vulnerabilidades das informaçþes e das instituiçþes de processamento das mesmas e da probabilidade de sua ocorrência.
O
gerenciamento de risco ĂŠ o processo de identi cação, controle e minimização ou eliminação dos riscos de segurança que podem afetar os sistemas de informação a um custo aceitĂĄvel (ISO/IEC 17799:2000). A anĂĄlise de risco ĂŠ o ponto chave da polĂtica de segurança englobando tanto a anĂĄlise de ameaças e vulnerabilidades quanto a anĂĄlise de impactos, a qual identi ca os componentes crĂticos e o custo potencial aos usuĂĄrios do sistema. A ameaça ĂŠ uma atitude ou dispositivo com potencialidade para explorar e provocar danos Ă segurança da informação, atingindo seus principais conceitos: con dencialidade, integridade e disponibilidade. Exemplos de ameaça: concorrente, sabotador, especulador, hacker, cracker, erro humano (deleção de arquivos digitais acidentalmente etc), acidentes naturais (inundação etc), funcionĂĄrio insatisfeito, tĂŠcnicas (engenharia social, trasing, etc), ferramentas de software (vĂrus, sni er, trojan horse, etc). A vulnerabilidade pode ser de nida como evidĂŞncia ou fragilidade que eleva o grau de exposição dos ativos que sustentam o negĂłcio (infra-estrutura fĂsica, tecnologia, aplicaçþes, pessoas e a prĂłpria informação), aumentando a probabilidade de sucesso pela investida de uma ameaça.
Exemplos de vulnerabilidade:
falhas de infra-estrutura fĂsica (carĂŞncia de
mecanismos de controle de acesso fĂsico na sala dos servidores etc), falhas tecnolĂłgicas (con guração inadequada do rewall, erros em projeto de software bĂĄsico Sistemas Operacionais etc), falhas de mĂdias ( tas de backup imprĂłprias para restauração por deterioração etc); falhas humanas (ausĂŞncia de conscientização provocando displicĂŞncia ao criar e manter em sigilo a senha pessoal, etc). O impacto Ăł resultado da ação bem sucedida de uma ameaça ao explorar as vulnerabilidades de um ativo, atingindo assim um ou mais conceitos da segurança da informação. Exemplos de impacto: prejuĂzo nanceiro, perda de competitividade, perda de mercado, danos Ă imagem; depreciação da marca, descontinuidade, etc.
PĂĄgina 37 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
O levantamento das ameaças, vulnerabilidades e impactos existentes é fundamental para se mensurar de forma clara e enxuta quais ações, metodologias, práticas e ferramentas devemse aplicar para garantir a integridade, con dencialidade, autenticidade e disponibilidade da informação. De acordo com as de nições de ameaça e vulnerabilidade, dentre as alternativas, a que não é exemplo de vulnerabilidade é a alternativa A (Funcionário desonesto).
Um funcionário
desonesto representa uma atitude com potencialidade para explorar e provocar danos à segurança da informação. Os demais exemplos Firewall mal con gurado, Sistema operacional desatualizado, Links sem contingência e Rede elétrica instável representam uma fragilidade que pode ser explorada por uma ameaça, isto, representam uma vulnerabilidade. Portanto, a alternativa correta é a
letra A.
Página 38 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
15.
Assuntos relacionados: Segurança da Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 62
Volume 06 Edição 1
Informação, Rootkits,
Um usuårio mal-intencionado M instalou um rootkit em um servidor S, Windows 2000, após des gurar o site Internet hospedado por S, que não Ê protegido por rewall. A esse respeito, Ê correto a rmar que (a). a partir do prompt de comando desse Windows 2000, pode-se utilizar o comando netstat para detectar as portas TCP abertas e assim garantir que não hå nenhum backdoor, desde que este utilize o TCP como protocolo de transporte. (b). a detecção desse rootkit deve ser feita gerando-se hashes SHA-1 ou SHA-256 dos arquivos do Kernel do Windows 2000, a partir do prompt de comando, os quais devem ser comparados com hashes de um backup anterior à invasão. (c). os logs de segurança desse sistema operacional contêm informaçþes con åveis sobre a origem do ataque e devem ser usados para rastrear M, a não ser que o endereço IP de origem tenha sido forjado. (d). nenhum rootkit poderia ser instalado, caso o rewall nativo do Windows 2000 estivesse habilitado e com a proteção para Bu er Over ow ativada. (e). M pode controlar S por meio de comandos encapsulados via ICMP para disparar ataques de Denial of Service contra outros servidores, mesmo que o tråfego TCP e UDP seja bloqueado no roteador de borda.
Solução: Um rootkit Ê um conjunto de um ou mais softwares que tem como principal objetivo ofuscar determinadas ocorrências do sistema em que se encontra. Como o nome pode levar a crer, as ferramentas que compþem o rootkit não são usadas para obter acesso privilegiado (root ou Administrator) em um computador, mas sim para mantê-lo. Uma vez instalado o rootkit, não serå necessårio recorrer novamente aos mÊtodos utilizados na realização da invasão e as atividades a partir daà serão escondidas dos usuårios do computador. Segundo a cartilha do CERT.br (Centro de Estudos, Resposta e Tratamento de Incidentes de Segurança no Brasil), um rootkit pode fornecer programas com as mais diversas funcionalidades. Dentre eles, podem ser citados:
â&#x20AC;˘
programas para esconder atividades e informaçþes deixadas pelo invasor (normalmente presentes em todos os rootkits), tais como arquivos, diretórios, processos, conexþes de rede, etc;
â&#x20AC;˘
backdoors, para assegurar o acesso futuro do invasor ao computador comprometido (presentes na maioria dos rootkits);
â&#x20AC;˘
programas para remoção de evidências em arquivos de logs;
â&#x20AC;˘
sni ers, para capturar informaçþes na rede onde o computador estå localizado, como por exemplo senhas que estejam trafegando em claro, ou seja, sem qualquer mÊtodo de criptogra a;
PĂĄgina 39 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
•
scanners, para mapear potenciais vulnerabilidades em outros computadores;
•
outros tipos de malware, como cavalos de tróia, keyloggers, ferramentas de ataque de negação de serviço, etc.
Aos programas que permitem o retorno de um invasor a um computador comprometido, utilizando serviços criados ou modi cados para este m, dá-se o nome de backdoor. A forma mais usual de inclusão de um backdoor consiste na disponibilização de um novo serviço ou substituição de um determinado serviço por uma versão alterada, normalmente possuindo recursos que permitam acesso remoto (através da Internet). O comando netstat exibe as conexões TCP ativas, as portas nas quais o computador está escutando entre outras informações. Entretanto, como o backdoor também consiste na substituição de serviços, as informações do netstat são insu cientes sendo utilizada a porta TCP ou não. Logo, a alternativa (A) está incorreta. A existência de um rootkit não depende necessariamente de uma invasão.
Por exemplo,
o rootkit pode ser instalado através de um cavalo de troia. Além disso, não está restrito apenas à substituição dos arquivos de kernel ou ao acesso privilegiado. Portanto, a alternativa (B) é incorreta. Como dito anteriormente, os rootkits podem retirar evidências em arquivos de log, o que torna esses arquivos pouco con áveis. Podemos concluir que a alternativa (C) está errada. A alternativa (D) também não está correta, pois já citamos que os rootkits não precisam ser necessariamente inseridos no sistema por uma invasão e um rewall, em geral, só protege contra invasões não impedindo a instalação e a con guração de programas indevidos. O ICMP backdoor é uma das técnicas mais espertas existentes, pois muitos são os tipos possíveis de backdoor sobre rewalls. É comum, nos rewalls, que:
•
algumas portas de alguns serviços não possuam qualquer ltragem como a porta 80 (HTTP) e recebam pacotes de qualquer origem;
•
alguns servidores permitem o envio e o recebimento de pacotes ICMP, UDP entre outros e, às vezes, isso é realmente necessário para que seja possível fazer checagens de roteamento entre outras tarefas de gerenciamento e controle de erros.
A técnica a ser explorada em um ICMP backdoor é o túnel de ping ou de ICMP, que é uma forma e caz de controlar o servidor hospedeiro e fazê-lo parte de um ataque de negação de serviço (Denial of Service), ou seja, de ser usado como um computador zumbi. A alternativa (E) é a correta.
Página 40 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
16.
Assuntos relacionados:
Volume 06 Edição 1
Segurança da Informação, Certi cado Digital, Public Key Cryp-
tography Standards (PKCS),
Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas Ano: 2008 Questão: 64
- Suporte
Sendo P um pedido de certi cação segundo o padrão PKCS#10, é correto a rmar que P (a). contém a chave privada do ente solicitante, que será assinada pela chave privada da autoridade certi cadora. (b). contém o hash da chave privada gerada pelo titular, mas não a chave pública, que será gerada pela autoridade certi cadora a partir desse hash. (c). garante que a entidade solicitante de P teve sua identidade comprovada. (d). deve ser encriptado pela senha gerada, previamente, por uma autoridade registradora. (e). não pode ter seu conteúdo alterado, já que é assinado digitalmente com a chave privada da entidade solicitante.
Solução: A PKI (Public Key Infrastructure) refere-se a um processo que utiliza chaves públicas e certi cados digitais para garantir a segurança do sistema e con rmar a identidade de seus usuários.
A PKI baseia-se em um sistema de con ança, no qual duas partes (pessoas ou
computadores) con am mutuamente em uma CA (Autoridade Certi cadora) para veri car e con rmar a identidade de ambas as partes. Com a PKI, ambas as partes de uma transação (seja ela um banco on-line e seus clientes ou um empregador e seus funcionários) concordam em con ar na CA que emite seus Certi cados Digitais. Normalmente, o aplicativo de software que utiliza seu Certi cado Digital tem algum mecanismo para con ar nas CAs. Por exemplo, um navegador contém uma lista das CAs em que con a. Quando é apresentado ao navegador um Certi cado Digital (por exemplo, de um shopping on-line realizando comércio seguro), ele consulta a CA que emitiu o Certi cado Digital. Se a CA estiver na lista de CAs con áveis, o navegador aceita a identidade do site da Web e exibe a página da Web. Entretanto, se a CA não estiver na lista de CAs con áveis, o navegador exibe uma mensagem de aviso que lhe pergunta se você deseja con ar na nova CA. O PKCS (Public Key Cryptography Standards) é um conjunto de padrões proposto e publicado pela RSA Data Security, Inc, para atender algumas necessidades de PKI atuais e se utiliza de sistemas assimétricos para realizar as seguintes tarefas:
•
assinatura digital;
•
envelopamento digital, para que a mensagem só seja lida por um destinatário especi cado;
•
certi cação digital, onde uma autoridade de certi cação assina uma mensagem especial contendo o nome de algum usuário e sua chave pública.
O algoritmo de chave pública mais difundido é o RSA, sigla de Rivest, Shamir e Adleman. A segurança desse algoritmo se baseia na intratabilidade da fatoração de produtos de dois
Página 41 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
números primos. A assinatura digital é o ato capaz de veri car e garantir a origem e a integridade de um documento reproduzido em meio digital. O sistema de chave pública utilizada nos padrões PKCS é o próprio RSA. O PEM (Privacy-Enhanced Mail Protocol) foi desenvolvido no m da década de 1980, pela IETF, e é uma norma Internet (RFC 1421 a RFC 1424). O PEM suporta as mesmas funcionalidades que o PGP (Pretty Good Privacy): con dencialidade, autenticação, integridade de documentos, compressão de dados, embora use um conjunto de protocolos diferente. A gestão de chaves é baseada em certi cados X.509 emitidos por Autoridades de Certi cação (AC). As autoridades de certi cação formam uma árvore, com uma autoridade raiz única, que certi ca todas as outras autoridades, ao invés de possibilitar a existência descentralizada dessas autoridades. Hoje em dia, o PEM não é muito utilizado. Os objetivos globais do PKCS são manter compatibilidade com o Internet PEM (PrivacyEnhanced Mail Protocol), estender o Internet PEM para lidar com qualquer tipo de dados e tratar um número maior de atividades e servir como proposta para ser parte dos padrões OSI. O PKCS visa preencher o vazio que existe nas normas internacionais relativamente a formatos para transferência de dados que permitam a compatibilidade/interoperabilidade entre aplicações que utilizem criptogra a de chave pública.
Número
Tema
PKCS#1
Como cifrar e assinar usando sistemas criptográ cos RSA
PKCS#3
Padrão de Normalização de chave Di e-Hellman
PKCS#5
Como cifrar com chaves secretas derivadas de um password
PKCS#7
Sintaxe de mensagens cifradas contendo assinaturas digitais
PKCS#8
Formato da informação de uma chave privada
PKCS#9
Tipos de atributos e sua utilização nas normas PKCS
PKCS#10
Requisição de certi cados
PKCS#11
De ne API de criptogra a (Criptoki)
PKCS#12
Formato portável para armazenamento ou transporte
PKCS#13
Como cifrar e assinar com criptogra a de curva elíptica
PKCS#14
Padrão para geração de números pseudo-random
PKCS#15
Armazenamento de credenciais em token-based devices (incluindo smart cards)
Tabela 2: padrões PKCS. Um certi cado digital é basicamente um arquivo de dados. É necessário um mecanismo que proteja o seu conteúdo de maneira que seus dados não possam ser alterados. Para con ar nos dados é necessário que se possa con ar no seu emissor. O mecanismo que possibilita a proteção dos dados do certi cado é a criptogra a assimétrica de chaves pública e privada. No modelo assimétrico, a chave pública pode ser amplamente divulgada mantendo-se segredo somente da chave privada. Você poderia criptografar um arquivo utilizando a chave pública do seu amigo e, uma vez que somente ele conhece a chave privada correspondente, somente ele poderia descriptografá-lo. Nem mesmo você que criptografou os arquivos será capaz de descriptografá-los.
Página 42 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
De maneira geral, o uxo de utilização das chaves assimétricas nos certi cados digitais é o seguinte: 1. o primeiro passo para a geração de um certi cado é a geração do par de chaves; 2. uma vez que o par de chaves tenha sido gerado, é criada a requisição com os dados do indivíduo; 3. esta requisição é assinada utilizando a chave privada; 4. a requisição é enviada para a CA junto com uma cópia da chave pública (observe que, normalmente, a CA não precisa conhecer a chave privada do certi cado); 5. a CA, ao receber a requisição, valida sua assinatura utilizando a chave pública associada; 6. se a CA con ar na assinatura e nos dados do indivíduo, ela procede gerando o certi cado; 7. em seguida, a CA utiliza a sua própria chave privada (também chamada de raiz) para assinar o certi cado; 8. nalmente, a CA devolve o certi cado gerado junto com uma cópia da sua chave pública; 9. se quem realizou a requisição, con ar na CA pode ou não proceder com a instalação do certi cado. Os padrões PKCS#7 e PKCS#10 são, normalmente, utilizados em conjunto. Quando a requisição de um certi cado é criada para ser enviada para uma CA, ela é formatada utilizando o padrão PKCS#10 (seu nome de batismo é Certi cation Request Standard), ou seja, a CA recebe a requisição neste formato. Este formato é binário mas pode ser convertido para texto (em base 64). Quando a CA envia de volta o certi cado gerado, ele é formatado utilizando o padrão PKCS#7 (cujo nome de batismo é Cryptographic Message Syntax Standard), ou seja, o processo que gerou a requisição recebe de volta um certi cado neste formato. Este formato também é binário e também pode ser convertido para um texto em base 64. Analisando as alternativas e à luz do que foi exposto nos parágrafos anteriores, sabemos que o pedido de certi cado P leva consigo a chave pública do ente solicitante. Além disso, P é assinado pela chave privada do próprio. Isso invalida a alternativa (A), pois P não contém a chave privada do solicitante. A (B) também é incorreta, pois o hash da assinatura é gerado a partir de P, a chave privada do solicitante é, na verdade, utilizada para gerar a assinatura. A entidade que solicita só tem sua identidade comprovada ao término do processo e caso se con e na autoridade certi cadora. Logo, a alternativa (C) é incorreta. Na geração do pedido de certi cado P não é necessária a intervenção da autoridade certi cadora, uma vez que ela cará responsável, posteriormente, pela geração do certi cado no padrão PKCS#7. Portanto, a alternativa (D) é incorreta. Após a geração de P, o seu conteúdo não pode ser mais alterado, pois, no processo de assinatura digital, foi gerado um hash baseado no conteúdo de P utilizando a chave privada do ente solicitante. Caso se deseje alterar o conteúdo da requisição de certi cado, é necessário assinar novamente o seu conteúdo. A alternativa (E) é a correta.
Página 43 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
17.
Assuntos relacionados: Sistemas de Arquivos, RAID, Banco Banca: Cesgranrio Instituição: BNDES Cargo: Analista de Sistemas - Suporte Ano: 2008 Questão: 70
Volume 06 Edição 1
de Dados,
Sobre a utilização de RAID 5 em bancos de dados, marque a a rmativa correta. (a). Em bancos de dados OLTP com alta taxa de escritas, é o armazenamento que oferece melhor desempenho. (b). Possui desempenho de escrita superior ao RAID 0+1 (combinação dos dois níveis), mas inferior ao RAID 0 puro. (c). Como os dados de redundância (paridade) estão em um único disco, não é recomendável para aplicações de missão crítica. (d). Quando o espaço em disco é um recurso escasso, e o banco de dados é somente de consultas (query database ), o uso de RAID 5 é admissível. (e). Oferece o melhor desempenho para bancos de dados standby.
Solução: O esquema RAID (Redundant Array of Independent Disks - Conjunto Redundante de Discos Independente) é um meio de se criar um subsistema de armazenamento composto por vários discos individuais, com a nalidade de ganhar segurança (redundância em caso de falha em um dos discos) e desempenho (pedidos de I/O podem ser tratados em paralelo, desde que os dados residam em discos separados). O esquema RAID puro consiste em vários níveis (abordaremos alguns aqui), não havendo qualquer relação hierárquica entre eles, mas cada um deles designa arquiteturas distintas que compartilham 3 características:
•
o conjunto dos discos físicos em RAID é visto pelo sistema operacional como sendo um único disco lógico;
•
os dados são distribuídos pelos discos físicos de um array;
•
redundância de capacidade é usada para armazenar informação de paridade, que garante a recuperação dos dados no caso de uma falha num disco.
Abordaremos, agora, cada nível RAID (exceto o RAID 6 e o RAID 1 + 0).
RAID 0 Este nível RAID refere-se a um array de discos onde os dados estão divididos em segmentos, mas não existe nenhuma redundância para tolerância a falhas. Sempre que a performance e a capacidade forem a preocupação principal e o baixo custo for mais importante que a con abilidade adicional, esta é uma opção a considerar. A Figura 4 exempli ca o tipo de estrutura existente num sistema deste tipo. Os dados são divididos em segmentos consecutivos (stripes ) que são escritos paralelamente em cada um dos discos de um array. Alguns pontos em relação ao desempenho deste tipo de esquema são descritos abaixo:
Página 44 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
•
Volume 06 Edição 1
em um ambiente com uso intensivo de I/O ou em um ambiente de banco de dados onde múltiplas requisições concorrentes são feitas para pequenos registros de dados (banco de dados OLPT, por exemplo), um segmento de tamanho grande é preferencial, pois se o tamanho de segmento para um disco é grande o su ciente para conter um registro inteiro, os discos do arranjo podem responder de forma independente para as requisições simultâneas de dados;
•
em um ambiente onde grandes registros de dados são armazenados, segmentos de pequeno tamanho são mais apropriados, pois se um determinado registro de dados estende-se através de vários discos do arranjo, o conteúdo do registro pode ser lido em paralelo, aumentando o desempenho total do sistema.
Figura 4: RAID 0. Arranjos RAID-0 oferecem performance de escrita superior se comparados a outros níveis de RAID por não apresentarem sobrecarga associada com cálculos de paridade ou com técnicas de recuperação de dados (eliminamos, assim, a alternativa A). Esta incapacidade de reconstruir dados perdidos indica que esse tipo de arranjo deve ser restrito ao armazenamento de dados não críticos e combinado com e cientes programas de backup.
RAID 1 Também conhecido como Mirroring ou Espelhamento , o RAID 1 funciona adicionando HDs paralelos aos HDs principais existentes no computador. Assim, se, por exemplo, um computador possui 2 discos, pode-se aplicar mais um HD para cada um, totalizando 4. Os discos que foram adicionados trabalham como uma cópia do primeiro. Assim, se o disco principal recebe dados, o disco adicionado também os recebe. Daí o nome de espelhamento , pois um HD passa a ser uma cópia praticamente idêntica do outro.
Dessa forma, se um
dos HDs apresentar falha, o outro imediatamente pode assumir a operação e continuar a disponibilizar as informações. A consequência neste caso, é que a gravação de dados é mais lenta, pois é realizada duas vezes. No entanto, a leitura dessas informações é mais rápida, pois pode-se acessar duas fontes. Alguns pontos em relação ao desempenho deste tipo de esquema são descritos abaixo:
•
um pedido de leitura pode ser satisfeito por qualquer um dos dois discos que contenha os dados em questão, podendo ser escolhido o que implicar um tempo menor de procura
Página 45 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
e latência de rotação (por esta razão, é muito comum o uso do RAID 1 em servidores de arquivos);
•
um pedido de escrita requer uma atualização em ambos os discos, mas isto pode ser feito em paralelo. Deste modo, a performance de escrita é ditada pela mais lenta das duas faixas físicas (por esta razão, sempre que uma fração substancial dos pedidos for escrita, pode não haver superioridade de desempenho relativamente a RAID 0);
•
a recuperação de uma falha é simples.
Quando ocorre uma falha num dos discos, é
sempre possível acessar os dados utilizando o outro disco.
RAID 2 O nível RAID 2, agora obsoleto, propõe um controle de erro por código Hamming (códigos ECC - Error Correction Code ), o qual já está integrado diretamente nos controladores de discos atuais. Esta tecnologia consiste em armazenar os dados seguindo o mesmo princípio do RAID 0, mas escrevendo numa unidade distinta os bits de controle ECC (geralmente 3 discos ECC são utilizados para 4 discos de dados).
RAID 3 O RAID 3 requer apenas um disco redundante, qualquer que seja o tamanho do array de discos. Em vez de um código corretor de erros, como o existente em RAID 2, um simples bit de paridade é calculado para o conjunto de bits na mesma posição em todos os discos e armazenado no disco redundante referido. Através da veri cação da informação de paridade, é possível assegurar a integridade dos dados, em casos de recuperação. Em RAID 3, qualquer pedido I/O implicará a transferência paralela de dados de todos os discos, contanto que todos os eixos das unidades de disco estejam sincronizados.
Este
aumento de desempenho é mais visível em grandes transferências. Por outro lado, apenas um pedido de I/O pode ser executado de cada vez, portanto não constituirá a melhor opção para um ambiente de transações.
RAID 4 Este tipo de RAID, basicamente, divide os dados entre os discos, sendo que um é exclusivo para paridade. O RAID 4 é indicado para o armazenamento de arquivos grandes, onde é necessário assegurar a integridade das informações. Isso porque, neste nível, cada operação de gravação requer um novo cálculo de paridade, dando maior con abilidade ao armazenamento (apesar de isso tornar as gravações de dados mais lentas). Ao contrário do sistema de RAID 3 que armazena a paridade bit-a-bit, em RAID 4 a paridade é armazenada sob a forma de blocos e associada a um conjunto de blocos de dados, isto é, a paridade é simplesmente um somatório de informações; observando quais bits se alteram quando gravamos as novas informações, só precisamos mudar os bits correspondentes no disco de paridade. Dessa forma, temos de ler os dados antigos do disco que está sendo gravado, comparar os dados antigos com os novos para veri car quais bits mudaram, ler a paridade antiga, modi car os bits correspondentes, depois gravar os novos dados e a nova paridade. Desse modo, uma pequena gravação envolve quatro acessos a dois discos, em vez do acesso a todos os discos (uma desvantagem do sistema é que o disco de paridade deve ser
Página 46 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
atualizado em cada gravação, tornando-se, assim, o gargalo de gravações). Os sistemas RAID de nível 4, assim como os níveis 5 e 6, faz uso de uma técnica de acesso independente. Neste tipo de acesso, cada disco opera independentemente sendo assim possível satisfazer pedidos I/O em paralelo.
RAID 5 Este é muito semelhante ao RAID 4, exceto o fato de que a paridade não ca destinada a um único disco, mas a todo array de discos (eliminamos, aqui, a alternativa C). Isso faz com que a gravação de dados seja mais rápida, pois não é necessário acessar um mesmo disco de paridade em cada gravação, o que gerava um gargalo quando da ocorrência de escritas concorrentes. Ainda assim, o RAID 5 continuará a sofre por causa do processamento adicional causado pela leitura, re-cálculo e atualização da informação sobre paridade. Por isso, ele é mais indicado para ser utilizado em banco de dados cujas ações são limitadas a consultas (operações de leitura). Isto reforça a indicação da alternativa D como correta. Note que, ao invés de espelhar HDs inteiros para a tarefa, como em RAID 1, os dados de paridade são espalhados entre os discos, o que representa uma melhor utilização do espaço disponível. O espaço necessário para armazenar a informação de paridade é equivalente a 1/(Número de discos). Por exemplo, para uma matriz com 10 discos, 10% da usa capacidade será utilizada para armazenar informação de paridade. Concluímos, aqui, que a alternativa
D está correta.
Além disso, lembre-se que um banco de dados standby nada mais é que uma réplica de outro banco de dados, criado a partir de um backup. Portanto, não há necessidade alguma em se adotar RAID 5 numa cópia de um banco de dados, sendo mais adequado adotar RAID 0. Logo, eliminamos a alternativa E.
RAID 0+1 O RAID 0 + 1 é uma combinação dos níveis 0 (Striping ) e 1 (Mirroring ), onde os dados são divididos entre os discos para melhorar o rendimento, mas também utilizam outros discos para duplicar as informações. Assim, é possível utilizar o bom rendimento do nível 0 com a redundância do nível 1. Assim como o RAID 0, o RAID 0+1 não realiza cálculo de bit de paridade, o que torna o tempo de escrita menor que o do RAID 5. Assim, eliminamos a alternativa B.
Página 47 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
18.
Assuntos relacionados:
Volume 06 Edição 1
Comandos UNIX, Comando ifcon g, Comando netstat, Comando
bind, Comando wc, Comando dhcpd,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 31
Sistemas - Suporte
No sistema operacional Linux, o comando (a). ifcon g é usado para con gurar e exibir dispositivos de rede. (b). netstat r permite con gurar as tabelas de roteamento do sistema operacional. (c). bind veri ca a con guração do DNS. (d). wc l retorna o número de vezes que um determinado usuário se conectou ao seu computador. (e). dhcpd permite obter informações sobre um endereço IP a partir de um servidor DHCP.
Solução: Cada alternativa é analisada separadamente a seguir. (A) CORRETA O comando ifcon g foi desenvolvido para possibilitar con gurações e veri cações de parâmetros de funcionamento de interfaces de rede. Se nenhum argumento é informado, o ifcon g somente mostra os estados das interfaces reconhecidas.
Se um argumento do tipo inter-
face é informado, ele mostra somente o estado da interface informada. De outra forma, ele assume que os parâmetros informados devem ser con gurados.
Se o primeiro argumento
após o nome da interface for reconhecido como um nome de uma família de endereçamento suportada, esta família de endereçamento é usada na decodi cação e apresentação de todos os endereços de protocolos. Atualmente, as famílias de endereçamento suportadas incluem: inet (TCP/IP, default), inet6 (IPv6) ax25 (AMPR Packet Radio), ddp (Appletalk Phase 2), ipx (Novell IPX) and netrom (AMPR Packet radio). Vejamos abaixo alguns exemplos: 1) Para exibir o estados de todas as interfaces reconhecidas:
# ifconfig 2) Para desativar a interface eth0:
# ifconfig eth0 down 3) Para alterar o endereço MAC da interface eth0:
# ifconfig eth0 hw ether 00:D0:D0:67:2C:05 4) Para ativar a interface eth0 e con gurar seu endereço IP e máscara de rede:
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0 up
Página 48 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Como se pode notar, a a rmação feita nesta alternativa é verdadeira. (B) ERRADA A ferramenta netstat não permite realização de nenhum tipo de con guração.
Portanto,
esta alternativa não é verdadeira. O propósito do comando netstat é prover informações (de saída e de entrada) sobre as conexões de rede, tabelas de roteamento, e uma vasta gama de informações estatísticas sobre utilização de interface na rede.
Ela também oferece informações sobre utilização dos
seguintes protocolos: IP, ICMP, TCP e UDP. A sua sintaxe pode variar de versão para versão, mas o básico é o seguinte:
netstat [-a] [-n] [-p protocolo] [-r] [-s] [intervalo] Onde:
• -a:
para exibir todas as conexões TCP ativas e as portas TCP e UDP nas quais o
computador está escutando;
• -n:
para exibir as conexões TCP ativas e os endereços e números de porta expressos
em números, não sendo feita nenhuma tentativa no sentido de determinar nomes;
• -p protocolo:
para exibir as conexões do protocolo especi cado. Neste caso, o pro-
tocolo pode ser: tcp, udp, tcpv6 ou udpv6. Se este parâmetro for usado com -s para exibir estatísticas por protocolo, protocolo pode ser: tcp, udp, icmp, ip, tcpv6, udpv6, icmpv6 ou ipv6.
• -r:
para exibir o conteúdo da tabela de roteamento IP;
• -s:
para exibir estatísticas por protocolo.
(C) ERRADA BIND (Berkeley Internet Name Domain ou Berkeley Internet Name Daemon) é a implementação de servidor para o protocolo DNS (Domain Name System) mais utilizada na Internet, em especial em sistemas UNIX. Essa implementação foi desenvolvida por quatro estudantes da Universidade de Berkeley e foi distribuída pela primeira vez para o sistema operacional BSD. Há também um comando chamado bind. Ele é utilizado para associar um socket (endereço IP + número de porta TCP ou UDP) a um endereço local (endereço de memória que aponta para um estrutura de dados). Em uma aplicação, a estrutura de dados associada ao socket conterá informações sobre a conexão e também será utilizada para transmitir e receber dados. Perceba, portanto, que este comando nada tem a ver com veri cação de con guração do DNS. Ou seja, esta alternativa traz uma a rmativa falsa. (D) ERRADA O wc é um aplicativo que oferece contagem de palavras (-w), linhas (-l), caracteres (-m) e bytes (-c), dependendo do parâmetro fornecido. Ou seja, a a rmação feita nesta alternativa é completamente equivocada.
Página 49 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(E) ERRADA O comando dhcpd é utilizado para se colocar no ar o serviço de DHCP (Dynamic Host Con guration Protocol).
Geralmente, este comando é executado na inicialização do sis-
tema, colocando o tal serviço em funcionamento como daemon. Contudo, há outras formas de execução desse serviço. De forma bastante genérica, este serviço oferece, sob demando, parâmetros de con guração, tais como: endereço IP, gateway, máscara de rede, DNS, etc. De qualquer forma, este serviço ou comando não permite obtenção de informações sobre um endereço IP a partir de um servidor DHCP. Para obtenção desse tipo de informação, temos por exemplo o nslookup, que é uma ferramenta, comum ao Windows e ao Linux, utilizada para se obter informações sobre registros de DNS de um determinado domínio, host ou IP.
Página 50 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
19.
Assuntos relacionados: Redes de Computadores, Network Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 32
Volume 06 Edição 1
File System (NFS),
Quando o Linux é iniciado, qual arquivo de con guração é utilizado pelo sistema operacional para veri car quais os compartilhamentos NFS que devem ser montados? (a). etc/exports (b). etc/nfs.conf (c). etc/fstab (d). nfs/conf (e). nfs/exports
Solução: NFS (Network File System) é um sistema distribuído de arquivos, desenvolvido inicialmente pela Sun Microsystems. O seu principal propósito é prover compartilhamento de arquivos e diretórios entre computadores interconectados em rede, formando assim uma espécie de diretório virtual. Esse sistema utiliza um protocolo que também se chama NFS. O protocolo NFS é especi cado nas seguintes RFCs: RFC 1094, RFC 1813 e RFC 3530 (que tornou a RFC 3010 obsoleta). O livro de Andrew S. Tanenbaum, intitulado Sistemas Operacionais Modernos, traz uma ótima explicação sobre NFS. Nessa explicação, podemos entender que a ideia básica do NFS é permitir que um conjunto qualquer de clientes e servidores compartilhem um sistema de arquivos comum. Em muitos casos, todos os clientes e servidores estão na mesma LAN, mas essa não é uma condição obrigatória.
É importante notar que um servidor NFS também
pode se comportar como cliente, e vice-versa. Veja na Figura 5, um cenário hipotético de utilização de NFS.
Figura 5: exemplo de sistemas de arquivos montados remotamente via NFS.
Página 51 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Cada servidor NFS exporta um ou mais de seus diretórios locais para serem acessados pelos clientes remotos. seus subdiretórios.
Quando um diretório é exportado, o mesmo acontece com todos os
A lista de diretórios que um servidor exporta é mantida, na maioria
dos sistemas, no arquivo /etc/exports.
Dessa forma, os diretórios podem ser exportados
automaticamente sempre que o servidor for reiniciado. Cada cliente NFS monta um ou mais diretórios remotos, que cam fazendo parte de sua hierarquia de diretórios.
É importante notar que os usuários de um sistema cliente NFS
nem percebem que um determinado diretório é remoto. Para eles, tudo acontece de forma transparente e a utilização de diretórios remotos e locais não se altera. Analogamente ao /etc/exports do lado servidor, no lado cliente temos o /etc/fstab. O arquivo fstab ( le systems table) permite que partições (ou diretórios exportados) sejam montadas com facilidade na inicialização do sistema, sem que o usuário tenha que fazer as montagens manualmente todas vezes que o sistema for inicializado. Cabe ressaltar que o fstab também pode ser utilizado em outros momentos sem ser o de inicialização do sistema. Para isso, pode-se utilizar o comando mount com parâmetros especí cos.
Dependendo
dos parâmetros utilizados, o mount lê as con gurações do arquivo /etc/fstab e realiza (ou atualiza) montagens de partições e de diretórios remotos. Em cada linha do arquivo fstab é especi cado o seguinte: o dispositivo ou o diretório que será montado; o diretório local onde será feita a montagem; o tipo de sistema de arquivo que será utilizado; e outros parâmetros de montagem. Veja um exemplo abaixo:
# device name LABEL=/ /dev/hda6 none none none
mount point / swap /dev/pts /proc /dev/shm
fs-type ext3 swap devpts proc tmpfs
# Montagem NFS pingu:/store
/store
nfs
options dump-freq pass-num defaults 1 1 defaults 0 0 gid=5,mode=620 0 0 defaults 0 0 defaults 0 0 rw
0 0
# Mídias Removíveis /dev/cdrom /mount/cdrom /dev/fd0 /mount/floppy
udf,iso9660 noauto,owner,kudzu,ro auto noauto,owner,kudzu
0 0 0 0
# NTFS Windows XP partição /dev/hda1 /mnt/WinXP
ntfs
ro,defaults
0 0
umask=000
0 0
# Partição (pasta) Windows and Linux /dev/hda7 /mnt/shared vfat
Com o que já foi exposto, não é difícil perceber que a resposta correta para esta questão é a letra c. Já vimos também o real propósito do arquivo /etc/exports. Agora vamos abordar os outros arquivos mencionados nas alternativas. Em alguns sistema baseados em UNIX há o arquivo /etc/nfs.conf. utilizado para especi car o que deve ser montado.
Contudo, ele não é
Ele contém con gurações de como o
servidor e/ou o cliente NFS deve funcionar.
Página 52 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Já as opções /nfs/conf e /nfs/exports nem mesmo fazem sentido. Isso porque, por padrão, nenhum sistema operacional conhecido tem um diretório de nome nfs em sua raiz.
Página 53 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
20.
Volume 06 Edição 1
Assuntos relacionados: Sistemas Operacionais, Linux, Shell Script, Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 35 Para os recursos e características dos scripts shell no UNIX, é INCORRETO a rmar que (a). o comando read captura dados do usuário e os coloca em uma variável. (b). o comando echo é utilizado para imprimir texto na tela. (c). o controle de uxo do tipo if then é terminado com um . (d). a primeira linha de um script deve iniciar com #! e indicar ao kernel o interpretador a ser utilizado. (e). $$ é uma variável prede nida que armazena o número de parâmetros passados para o script.
Solução: O shell é o prompt da linha de comando do Unix e Linux, é o serviço que recebe os comandos digitados pelo usuário e os executa. Fica entre o usuário e o núcleo do sistema operacional (kernel), formando uma concha, daí o nome shell, servindo assim, como uma interface para o usuário. Cada comando digitado no shell é lido, veri cado, interpretado e enviado ao sistema operacional para ser de fato executado. Além de comandos básicos para navegar entre diretórios e manipular arquivos, ele também possui todas as estruturas de uma linguagem de programação, como IF, FOR, WHILE, variáveis e funções. Com isso, também é possível usar o shell para fazer scripts e automatizar tarefas. Um script é um arquivo que guarda vários comandos do shell e pode ser executado sempre que necessário. Os comandos de um script são exatamente os mesmos que se digita no shell e são executados na ordem que estão no arquivo. Para executar um script, este deve ser reconhecido pelo sistema operacional como um arquivo executável. Para isso, digite o comando: chmod
+x
nome_do_arquivo_script. Um
script só é executado quando sua sintaxe está totalmente correta no arquivo. A seguir analisamos as alternativas da questão: (A) CORRETA A base de um script são as variáveis.
Nelas que os dados obtidos durante a execução de
um ou mais comandos no script podem ser armazenados. Para de nir uma variável, basta utilizar o sinal de igual (=), não podendo existir espaços ao redor do igual. Para ver o valor de variável, basta utilizar o comando echo $nome_da_variável. O formato de um comando em shell é COMANDO OPÇÕES PARÂMETROS. Diferentemente de outras linguagens, o shell não utiliza parênteses para separar os comandos dos argumentos, mas espaço em branco.
Existem diversos comandos que foram feitos para
Página 54 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
serem utilizados no shell. Por exemplo, cat mostra o conteúdo de arquivo; date mostra a data; nd encontra arquivos; grep encontra texto; etc. O comando read lê da entrada padrão uma string, seja de um arquivo ou um texto digitado pelo usuário no shell, e atribui à variável passada por argumento o seu valor.
Por
exemplo:
$ read nome abcd <digitado do teclado> $ echo $nome abcd <conteúdo da variável nome> Portanto, a a rmação desta alternativa está correta. (B) CORRETA Outro comando importante no shell é o echo.
O comando echo serve para mostrar men-
sagens na tela do shell para o usuário. Essas mensagens podem ser conteúdos de variáveis ou strings passadas como parâmetro para o comando. Portanto, a a rmação desta alternativa está correta. (C) CORRETA Assim como outra linguagem de programação, o shell também possui estruturas para expressões condicionais ou comando e loops.
As mais utilizadas são IF, FOR e WHILE. A
sintaxe desses comandos é apresentada na Tabela 3.
Estrutura IF
Estrutura FOR Estrutura WHILE
IF comando THEN
FOR var IN lista
WHILE comando
DO
DO
comandos ELSE
comandos
comandos
comandos
DONE
DONE
FI
Tabela 3: sintaxe das estruturas IF, FOR e WHILE. Diferente de outras linguagens, o IF e WHILE testam um comando e não uma condição. O comando para testar condição é o test. Porém existe um atalho para test, que é o [. Por exemplo, o código mostrado nas duas colunas da Tabela 4 geram a mesma saída.
IF test $VARIAVEL gt 10
IF [ $VARIAVEL gt 10 ]
THEN
THEN
echo é maior que 10 ELSE
echo é maior que 10 ELSE
echo é menor que 10 FI
echo é menor que 10 FI
Tabela 4: teste condicional de comandos do IF. O mesmo é válido para o WHILE. Então, a a rmação desta alternativa está correta.
Página 55 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(D) CORRETA A primeira linha de um script deve ser #!/bin/bash, onde /bin representa o kernel e /bash representa o interpretador do script. Existem vários tipos de interpretadores shell. Podemos citar o Bash, SH, CSH e KornShell. Portanto, a a rmação desta alternativa está correta. (E) ERRADA É possível passar um argumento na chamada a um script na linha de comandos.
Para
isso, basta digitar: $ script argumento argumento argumento... Em um script as variáveis $$, $#, $* $0, $1, etc.
fazem referência aos argumentos pas-
sados na linha de comandos, conforme mostrado na Tabela 5.
Variável Descrição $$
Identi cação do processo (PID)
$#
Quantidade de argumentos na linha de comandos
$
Todos os argumento passados na linha de comandos
$0
Nome do script
$1
Primeiro argumento recebido na linha de comando
$2
Segundo argumento recebido na linha de comando
...
...
$n
n-ésimo argumento recebido na linha de comando
Tabela 5: variáveis especiais para argumentos passados na linha de comandos. A variável $$ armazena a identi cação do processo, o PID, e não o número de parâmetros passados na linha de comando. A variável responsável por isso é a $#. Portanto, a alternativa está errada. A alternativa que faz uma a rmação errada a respeito do scrip shell é E. Logo, a resposta da questão é a
alternativa E.
Página 56 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
21.
Volume 06 Edição 1
Assuntos relacionados: Redes de Computadores, TCP/IP, Protocolo Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 40
DHCP,
Analise as linhas de código abaixo, referentes a um arquivo de con guração DHCP no ambiente Linux.
default-lease-time 1000; max-lease-time 9000; option subnet-mask 255.255.255.0; option broadcast-address 255.255.255.255; option routes 200.172.1.1; optiondomain-name-servers 133.100.10.10, 133.100.20.20; option domain-name "empresax.com.br"; subnet 200.172.1.0 netmask 255.255.255.0 { range 200.172.1.10 200.172.1.100; range 200.172.1.150 200.172.1.200; } No funcionamento do DHCP, são endereços IP válidos atribuídos às estações clientes: (a). 200.172.1.150 e 200.172.1.256. (b). 200.172.1.0 e 200.172.1.100. (c). 200.172.1.10 e 200.172.1.200. (d). 133.100.10.10 e 133.100.20.20. (e). 133.100.10.0 e 133.100.20.255.
Solução: O
DHCP
(Dynamic Host Con guration Protocol) é um protocolo de serviço TCP/IP que
oferece con guração dinâmica de terminais, com concessão de endereços IP de host e outros parâmetros de con guração para clientes de rede. De um modo geral, o trabalho de um servidor DHCP é bastante simples.
Ele responde
aos pacotes de broadcast das estações, enviando um pacote com um dos endereços IP disponíveis e os demais dados da rede.
Os pacotes de broadcast são endereçados ao en-
dereço 255.255.255.255 e são retransmitidos pelo switch da rede para todas as portas, diferentemente dos pacotes endereçados a um endereço especí co, que são transmitidos apenas na porta relacionada a ele. Periodicamente, o servidor DHCP veri ca se as estações ainda estão disponíveis, exigindo uma renovação do aluguel do endereço IP (opção lease time ). Isso permite que os endereços IP sejam gastos apenas com quem realmente estiver ativo, evitando que os endereços disponíveis se esgotem. O servidor DHCP mais usado no Linux é o ISC DHCP (Bind), desenvolvido pela Internet
Systems Consortium, uma organização sem ns lucrativos dedicada a desenvolver serviços
Página 57 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
de infraestrutura usados na Internet, incluindo o Bind e o NTPD. Em geral, o arquivo de con guração é o dhcpd.conf . Nas distribuições derivadas do Debian, o caminho completo para ele é /etc/dhcp3/dhcpd.conf , enquanto no Fedora e no CentOS é apenas /etc/dhcpd.conf , ou seja, um diretório acima. A opção default-lease-time controla o tempo de renovação dos endereços IP. O 1000 indica que o servidor veri ca a cada mil segundos se as estações ainda estão ativas.
Se
houver mais endereços IP do que máquinas, os endereços IP das estações raramente vão precisar mudar. Mas, no caso de uma rede congestionada, o max-lease-time determina o tempo máximo que uma estação pode usar um determinado endereço IP. Isso foi planejado para ambientes onde haja escassez de endereços IP, como, por exemplo, em um provedor de acesso, onde sempre existem mais clientes do que endereços IP disponíveis e se trabalha contando que nem todos vão car conectados simultaneamente. A opção range determina a faixa de endereços IP que será usada pelo servidor. Se você utiliza a faixa de endereços 200.172.1.1 até 200.172.1.254, por exemplo, pode reservar os endereços de 200.172.1.1 a 200.172.1.100 para estações con guradas com IP xo e usar os demais para o DHCP. No caso da questão, os IPs reservados para serem distribuídos pelo DHCP são de 200.172.1.10 a 200.172.1.100, inclusive, e de 200.172.1.150 a 200.172.1.200, inclusive, o restante poderia ser utilizado em servidores com IP xo. Sabendo disso, percebe-se rapidamente que a alternativa correta é a letra (C). A opção option domain-name-servers contém os servidores DNS que serão usados pelas estações.
Ao usar dois ou mais endereços, eles devem ser separados por vírgula, sem es-
paços. Em geral, são utilizado os próprios endereços DNS do provedor, a menos que haja um servidor DNS interno na rede interna que possa ser utilizado.
No Linux, o comando
dhclient pode ser utilizado pelo cliente para fazer consultas ao servidor DHCP em relação a sua con guração.
Página 58 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
22.
Assuntos relacionados: Banco de Dados, SQL, Consulta Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 45
Volume 06 Edição 1
SQL,
Considere uma tabela em um banco de dados relacional. A tabela apresenta três atributos do tipo texto, sendo CPF o campo chave.
Cliente(CPF, Nome, Endereco) Considerando-se que homônimos são pessoas que possuem o mesmo nome, mas CPF diferentes, a expressão SQL que resulta na lista dos Clientes que têm homônimos, juntamente com o número de homônimos, é: (a).
(b).
(c).
(d).
(e).
SELECT DISTINCT C1.Nome, C1.CPF, COUNT(C2) FROM Cliente C1, Cliente C2 WHERE C1.Nome = C2.Nome AND C1.CPF <> C2.CPF SELECT Nome, CPF, (SELECT COUNT(*) FROM Cliente C1 WHERE C.Nome = C1.Nome AND C.CPF <> C1.CPF) FROM Cliente C SELECT Nome, CPF, COUNT(Cliente) FROM Cliente GROUP BY Nome, CPF HAVING COUNT(*) > 1 SELECT TOP 1 C1.Nome, C1.CPF, COUNT(*) FROM Cliente C1, Cliente C2 WHERE C1.Nome = C2.Nome AND C1.CPF <> C2.CPF SELECT C1.Nome, C1.CPF, COUNT(*) FROM Cliente C1, Cliente C2 WHERE C1.CPF <> C2.CPF AND C1.Nome = C2.Nome GROUP by C1.Nome, C1.CPF HAVING count(*) > 0
Solução: A resposta da questão é alternativa E. Para compreendê-la, vamos analisar cada uma das partes da consulta mostrada na alternativa. Para facilitar a explicação, abaixo a consulta é mostrada novamente, porém com as linhas numeradas.
1 2 3 4 5
SELECT C1.Nome, C1.CPF, COUNT(*) FROM Cliente C1, Cliente C2 WHERE C1.CPF <> C2.CPF AND C1.Nome = C2.Nome GROUP by C1.Nome, C1.CPF HAVING count(*) > 0
Página 59 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Na linha 1, é utilizado o comando SELECT, que indica quais serão as colunas retornadas pela consulta. Foram selecionadas as colunas CPF, NOME. A terceira coluna que será retornada na consulta é a coluna COUNT(*). Na linguagem SQL, o operador COUNT serve para contar a quantidade de ocorrências de uma determinada combinação de valores das colunas.
Na consulta em questão, a ex-
pressão COUNT(*) irá retornar a quantidade de vezes que uma determinada combinação dos valores da colunas NOME e CPF se repete no resultado da consulta. Para que o operador COUNT funcione, é necessário ainda que se utilize a cláusula GROUP BY, enumerando a combinação de colunas que se deseja agrupar. Na consulta em questão, essa exigência é cumprida na linha 4. Já na linha 2, temos a cláusula FROM, que é utilizada para enumerar as tabelas que serão necessárias para a execução da consulta. Como deseja-se descobrir os clientes homônimos, é necessário que se compare o nome de um cliente com o nome dos demais. Portanto, na cláusula FROM o programador teve que trabalhar com duas tabelas CLIENTE. Em outras palavras, na linha 2 gerou um produto cartesiano da tabela CLIENTE com ela mesma. Para restringir o produto cartesiano mencionado, na linha 3 o programador teve que adicionar algumas restrições. Na primeira delas (C1.CPF <> C2.CPF), o programador garante que o nome de um dado cliente (que é identi cado unicamente pelo CPF) só será comparado com o nome dos demais, e não com seu próprio nome. Já na segunda restrição (C1.Nome = C2.Nome), o programador veri ca se os clientes possuem o mesmo nome. Na linha 5 o programador faz uso da cláusula HAVING, que tem como função restringir os resultados em consultas que façam uso de operadores de agregação, como SUM, COUNT, MEDIA, DEVPAD, entre outros. Na consulta em questão, a expressão utilizada foi HAVING count(*) > 0, que garante que a consulta só retornará combinações de NOME e CPF que possuam no mínimo 1 ocorrência. Ou seja, só retornará clientes que possuam no mínimo 1 homônimo. Por m, vale ressaltar que a consulta retornará um registro para cada cliente que possuir um homônimo, contendo o CPF do cliente, o seu nome, e a quantidade de homônimos associada. Um exemplo do resultado que poderia ser retornado pela consulta segue abaixo:
JOSE DA JOSE DA JOSE DA MICHAEL MICHAEL ALEX DA ALEX DA ALEX DA ALEX DA
SILVA SILVA SILVA PAULO PAULO COSTA COSTA COSTA COSTA
03556236920 23698563222 78946123362 45632152875 78542635985 45896325644 45823666999 45236698888 78542666666
2 2 2 1 1 3 3 3 3
Página 60 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
23.
Assuntos relacionados: Redes de Computadores, Protocolo Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 47
Volume 06 Edição 1
ARP, Sni er,
Tomando como base a gura acima, se um programa sni er for colocado na saĂda da rede 2, imediatamente antes do roteador 2, e capturar um quadro referente a uma mensagem enviada do host 1 para o host 2, ele irĂĄ descobrir os seguintes endereços de origem e destino, respectivamente: (a). MAC do host 1 e MAC do host 2. (b). MAC do host 1 e MAC do roteador 2. (c). IP do host 1 e IP do host 2. (d). IP do host 1 e MAC do roteador 2. (e). IP do host 1 e IP do roteador 3.
Solução: Em uma LAN (Local Area Network ) Ethernet, no nĂvel da camada de enlace do Modelo OSI, as informaçþes trafegam de um host para outro em unidades chamadas de quadros (frames). Um quadro possui diversos campos, dentre eles estĂŁo o endereço de origem, o endereço de destino e os dados, que contĂŠm os pacotes IP. Cada host tem um endereço fĂsico Ăşnico, tambĂŠm chamado de endereço de hardware ou MAC (Media Access Address ). Mais especi camente, esse endereço ĂŠ da interface (placa) de rede. Esse endereço identi ca de maneira exclusiva um host em relação a todos outros na rede. Antes de um quadro ser transmitido, os campos de endereços de origem e destino recebem o endereço fĂsico do transmissor e do receptor, respectivamente.
PĂĄgina 61 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
Volume 06 Edição 1
Em uma LAN, no nĂvel de camada de rede do Modelo OSI, cada host e cada roteador possuem um endereço IP, que os identi ca de forma Ăşnica na rede. O mapeamento do endereço IP pelo endereço fĂsico ĂŠ realizado pelo protocolo ARP, com requisiçþes ARP Request (solicita o endereço fĂsico a partir do endereço IP) e ARP Reply (resposta ao ARP Request ). O pacote ARP ĂŠ encapsulado no campo dados do quadro Ethernet. Os endereços fĂsicos podem ser obtidos via broadcast ou cache ARP. Para manter o nĂşmero de broadcasts a um nĂvel mĂnimo, os hosts que usam o ARP mantĂŠm um cache de mapeamentos endereço IP x endereço fĂsico jĂĄ resolvidos, pois, assim, nĂŁo precisam usar o ARP toda hora que se quiser transmitir um pacote. Antes de transmitir um pacote, o host sempre examina o seu cache ARP, buscando veri car se jĂĄ existe mapeamento anterior para o endereço destino. Para que o cache nĂŁo cresça demasiadamente, entradas sĂŁo removidas se nĂŁo forem usadas dentro de certo perĂodo de tempo. O cache ARP tambĂŠm ĂŠ chamado de tabela ARP. Quando o Host 1 envia uma mensagem para o Host 2, o Host 1 veri ca se o endereço destino (Host 2) ĂŠ de um host local ou remoto (externo Ă Rede 2).
Para isso, o Host 1
consulta sua tabela de rotas em busca de uma rota para a rede destino. Caso nĂŁo encontre nenhuma rota, ĂŠ identi cado o endereço IP do roteador default (Roteador 2). Com o endereço IP do roteador (no caso, Roteador 2), o Host 1 busca na sua tabela ARP pelo mapeamento endereço IP x endereço fĂsico do roteador especi cado. Se nĂŁo existir nenhum mapeamento, um pacote ARP Request ĂŠ enviado na rede em modo broadcast, isto ĂŠ, todos os hosts e roteadores que estĂŁo na Rede 2 recebem esse pacote. O pacote contĂŠm o endereço IP do roteador, ao invĂŠs do endereço do host destino (Host 2).
O Roteador 2 responde
com o seu endereço fĂsico, e o Host 1 envia o pacote IP ao Roteador 2 para que esse possa entregĂĄ-lo Ă rede destino. Note que o quadro montado pelo Host 1 contĂŠm como endereço de destino o endereço fĂsico do Roteador 2, ao invĂŠs do endereço fĂsico do Host 2. Quando obtĂŠm um quadro, o Roteador 2 remove o pacote IP do campo dados do quadro e veri ca se o endereço de destino ĂŠ local ou remoto. Como o endereço destino ĂŠ remoto (Host 2), o processo anterior ĂŠ repetido. Ou seja, o Roteador 2 veri ca a sua tabela de roteamento por uma rota para a rede destino e usa o ARP Request para obter o endereço fĂsico desta rota (Roteador 3). Com o endereço fĂsico do Roteador 3, o Roteador 2 envia um pacote IP para o Roteador 3. Note que o quadro montado pelo Roteador 2 contĂŠm como endereço de destino o endereço fĂsico do Roteador 3, ao invĂŠs do endereço fĂsico do Host 2. Quando obtĂŠm um quadro, o Roteador 3 remove o pacote IP do campo dados do quadro e veri ca se o endereço de destino ĂŠ local ou remoto. Como o endereço destino ĂŠ local, o Roteador 3 usa o ARP para obter o endereço fĂsico da mĂĄquina destino (Host 2), via exame do cache ARP ou via broadcast. Com o endereço fĂsico do Host 2, o pacote IP enviado pelo Host 1 ĂŠ entregue diretamente ao Host 2 (host destino). Um sni er ĂŠ um programa que coloca a placa de rede em modo promĂscuo e captura os dados nĂŁo criptografados que trafegam na rede, de modo que todos os pacotes que trafegam em um segmento de rede passam pelo sni er. O sni er captura todos os pacotes a partir do nĂvel de camada de enlace diretamente da placa de rede. O sni er pode ser colocado em um host conectado Ă rede, bem como em roteadores ou gateways. As placas de rede podem operar tanto no modo normal ou no modo promĂscuo. No modo
PĂĄgina 62 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
Volume 06 Edição 1
de operação normal, uma interface de rede descarta o trĂĄfego de rede que nĂŁo ĂŠ direcionado a ela. No modo de operação promĂscuo, todo o trĂĄfego que passa por um segmento de rede ĂŠ capturado pela interface de rede, independente de quem ĂŠ o destino. O modo promĂscuo pode ser habilitado por software. Um sni er pode ser utilizado bene camente ou nĂŁo.
Bene camente pode ser como anal-
isador de trĂĄfego, para estudos de depuração de protocolos, detecção de intruso, etc. NĂŁo benĂŠ co ĂŠ com o objetivo capturar senhas e informaçþes relevantes a partir do trĂĄfego da rede. De acordo com o enunciado da questĂŁo, o sni er foi colocado na Rede 2 para capturar todos os quadros deste segmento de rede, isto ĂŠ, envolvendo todo trĂĄfego entre Host 1 Roteador 2. A seguir analisamos as alternativas: (A) ERRADA O sni er descobre o endereço fĂsico de origem, que ĂŠ o MAC do Host 1, mas nĂŁo descobre o endereço fĂsico de destino (MAC do Host 2), pois os quadros que trafegam entre o Host 1 e o Roteador 2, conforme explicado anteriormente, nĂŁo possuem o MAC do Host 2. Portanto, alternativa errada. (B) CORRETA O sni er descobre o endereço fĂsico de origem, que ĂŠ o MAC do Host 1, e o endereço fĂsico do roteador (MAC do Roteador 2), pois os quadros que trafegam entre o Host 1 e Roteador 2, conforme explicado anteriormente, possuem o MAC do Roteador 2, ao invĂŠs do MAC do Host 2. Logo, alternativa correta. (C) ERRADA As informaçþes de endereço IP estĂŁo no campo de dados do quadro Ethernet.
Como o
sni er não analisa o campo dados dos quadros do segmento de rede entre o Host 1 e o Roteador 2, ele não obtÊm informaçþes sobre endereços IP do Host 1, do Host 2, Roteador 2 e Roteador 3. Portanto, alternativa errada. Pode-se instalar puglins a um programa sni er para analisar protocolos IP, TCP, UPD, etc. (D) ERRADA Vide explicação alternativa C. (E) ERRADA Vide explicação alternativa C.
PĂĄgina 63 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
24.
Assuntos relacionados: Arquitetura de Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 48
Volume 06 Edição 1
Computadores, Virtualização,
Durante uma reunião da equipe de TI de uma empresa, para discutir a estratégia de virtualização dos seus servidores, um analista fez as seguintes considerações sobre os inconvenientes relacionados à virtualização: I a virtualização não pode ser utilizada quando as aplicações que rodarão em um ambiente virtualizado precisarem acessar dispositivos conectados à porta paralela ou à USB, pois os softwares de virtualização ignoram a existência desses dispositivos; II existe um grande consumo de memória RAM dos servidores, dado que cada máquina virtual vai ocupar uma área separada da mesma; III o gerenciamento ca descentralizado, e o suporte e a manutenção cam mais complexos, em comparação a um ambiente que não utiliza virtualização, mas sim, máquinas físicas para suprir as necessidades. Qual(is) dos inconveniente(s) apontado(s) pelo analista está(ão) correto(s)? (a). I, apenas. (b). II, apenas. (c). III, apenas. (d). I e II, apenas. (e). I, II e III.
Solução: Em uma de nição simpli cada, a virtualização é um processo que, através do compartilhamento de hardware, permite a execução de inúmeros sistemas operacionais em um único equipamento. Cada máquina virtual criada neste processo é um ambiente operacional completo, seguro e totalmente isolado como se fosse um computador independente.
Com a
virtualização, um único servidor pode armazenar diversos sistemas operacionais em uso. Isto permite que um data center opere com muito mais agilidade e com um custo mais baixo. Dentre os benefícios da virtualização, podemos citar:
•
segurança:
usando máquinas virtuais, pode ser de nido qual é o melhor ambiente
para executar cada serviço, com diferentes requerimentos de segurança, ferramentas diferentes e o sistema operacional mais adequado para cada serviço. Além disso, cada máquina virtual é isolada das demais. Usando uma máquina virtual para cada serviço, a vulnerabilidade de um serviço não prejudica os demais;
•
con ança e disponibilidade: a falha de um software não prejudica os demais serviços;
•
custo: a redução de custos é possível de ser alcançada com a consolidação de pequenos servidores em outros mais poderosos;
•
adaptação às diferentes cargas de trabalho: variações na carga de trabalho podem ser tratadas facilmente. Ferramentas autônomas podem realocar recursos de uma máquina virtual para a outra;
Página 64 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
•
balanceamento de carga:
Volume 06 Edição 1
toda a máquina virtual está encapsulada no monitor de
máquina virtual. Sendo assim, é fácil trocar a máquina virtual de plataforma, a m de aumentar o seu desempenho;
•
suporte a aplicações legadas: q uando uma empresa decide migrar para um novo Sistema Operacional, é possível manter o sistema operacional antigo sendo executado em uma máquina virtual, o que reduz os custos com a migração. Vale ainda lembrar que a virtualização pode ser útil para aplicações que são executadas em hardware legado, que está sujeito a falhas e tem altos custos de manutenção. Com a virtualização desse hardware, é possível executar essas aplicações em hardwares mais novos, com custo de manutenção mais baixo e maior con abilidade.
Os ambientes virtuais necessitam ser instanciados, monitorados, con gurados e salvos. Existem produtos que fornecem essas soluções, mas esse é o campo no qual estão os maiores investimentos na área de virtualização, justamente por se tratar de um dos maiores contratempos na implementação da virtualização.
Vale lembrar que o VMWare é a plataforma
mais exível e fácil de usar, mas ainda apresenta falhas que comprometem a segurança, assim como as demais plataformas. Entretanto, os benefícios com a centralização da administração são inegáveis, uma vez que uma padronização entre os servidores é mais fácil de ser conseguida com as ferramentas atuais, então a a rmativa III é falsa. É verdade o fato de que cada máquina virtual vai ocupar áreas exclusivas de memória RAM nos servidores físicos.
Isso torna a a rmativa II verdadeira, mas devemos lembrar
que, muitas vezes, a memória principal dos servidores físicos é subutilizada e o uso da virtualização pode ser vantajoso nesses casos. Em relação ao hardware dos servidores, incluindo, o processador, em média, os servidores utilizam somente de
5%
a
10%
da sua capacidade,
segundo estimativa da empresa de software para virtualização VMware. Devemos nos atentar às limitações de hardware da virtualização, pois o processamento, a capacidade de armazenamento da memória virtual e o espaço em disco da máquina são compartilhados pelos ambientes virtuais, e sendo assim, o hardware pode se tornar o gargalo da virtualização. As máquinas virtuais não podem ser criadas livremente sem uma análise dos recursos consumidos pela mesma. Hoje em dia, os principais softwares que gerenciam a virtualização dão um bom suporte ao acesso do hardware do computador hospedeiro como o uso de DVD, USB, monitor e outras diversas formas de interface. A a rmativa I é, claramente, incorreta. Como somente a a rmativa II está correta, a alternativa a ser marcada é a letra (B).
Página 65 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
25.
Assuntos relacionados: Segurança da Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 49
Volume 06 Edição 1
Informação, Criptogra a, Assinatura Digital,
O processo de assinatura digital de um documento através de uma função hash MD5 garante: (a). integridade e con dencialidade. (b). integridade e disponibilidade. (c). integridade e autenticidade. (d). con dencialidade e autenticidade. (e). não-repúdio e con dencialidade.
Solução: A assinatura digital é um método de autenticação de dados que procura garantir a integridade, a autenticidade e o não-repudio a mensagens e documentos.
Devemos de nir estes
conceitos no escopo da assinatura digital:
•
integridade: garantia de que a mensagem ou documento não sofreu alterações após ser assinada;
•
autenticidade: garantia de que a assinatura na mensagem ou documento pertence realmente a quem diz pertencer;
•
não-repúdio ou irretratabilidade: garantia de que o emissor da assinatura não possa futuramente negar ter assinado tal mensagem ou documento.
Para tanto utiliza-se um par de chaves assimétricas onde uma das chaves é publica e a outra é privada, para garantia de autenticidade e não-repúdio, e um algoritmo de hash para garantia de integridade. Cada indivíduo que deseja utilizar assinaturas digitais deve obter um par de chaves de uma autoridade certi cadora. Este entidade lhe fornecerá uma chave pública, que como o nome diz deve ser de domínio público, e uma chave privada, que deve ser de domínio exclusivo daquele que a recebe. Estas chaves guardam entre si a propriedade de que se uma for utilizada para criptografar um dado a única forma de descriptografá-lo é utilizando a outra. Desta forma se desejamos enviar uma mensagem criptografada para alguém basta utilizarmos sua chave pública para criptografá-la pois somente aquele que possuir a chave privada será capaz de descriptografála. De forma análoga se criptografarmos um dado com uma chave privada todos que tiverem acesso a sua chave pública correspondente poderão descriptografá-la e, desta forna, ter a garantia de que o dado foi criptografado pelo detentor da chave privada, funcionando assim como uma assinatura. Como o processo de criptogra a que utiliza este tipo de chave é lento optou-se por não criptografar toda a mensagem nos casos em que a con dencialidade não é necessária. Lembramos que nesta questão tratamos apenas da assinatura digital. Nestes casos utiliza-se um algoritmo de hash.
Página 66 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
O MD5 (Message-Digest algorithm 5) é um algoritmo de hash utilizado em assinaturas digitais. Este algoritmo gera, a partir de uma string de entrada de tamanho arbitrário, um hash de 128 bits, geralmente representado por um número hexadecimal de 32 dígitos. Uma característica fundamental do MD5 é ser um algoritmo unidirecional, ou seja, não é possível reconstituir os dados originais a partir do hash gerado pelo algoritmo. O Processo de assinatura digital utilizando o MD5 acontece da seguinte forma: 1 o emissor da assinatura gera o hash MD5 da mensagem; 2 o emissor da assinatura criptografa o hash MD5 da mensagem com sua chave privada; 3 o emissor da assinatura anexa o MD5 criptografado ao documento original; 4 o veri cador da assinatura descriptografa o hash MD5 com a chave pública do emissor da assinatura; 5 o veri cador da assinatura gera o hash MD5 da mensagem e o compara com o hash MD5 que obteve após a descriptogra a do anexo recebido. Caso os dois hash sejam idênticos é possível garantir o seguinte:
•
a Integridade da mensagem, pois caso a mensagem tivesse sido alterada após a sua assinatura os hash não seriam os mesmos;
•
a autenticidade da mensagem, pois o uso da chave publica para descriptografar o hash com sucesso garante que ela foi criptografada com o uso da chave privada correspondente;
•
a irretratabilidade, como decorrente dos dois itens anteriores.
Desta forma a alternativa correta é a letra (C).
Página 67 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
26.
Assuntos relacionados: Sistemas Operacionais, Linux, Comandos Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 54
Volume 06 Edição 1
UNIX, Cron, Tar,
No ambiente Linux, um administrador deseja executar o backup de todo o conteúdo do diretório home dos usuários. Sabe-se que a ta tem capacidade su ciente para armazenar todo o volume necessário, e está inserida em uma unidade reconhecida como /dev/st0. O backup deve gravar na ta todo o conteúdo do diretório /home, incluindo seus subdiretórios, rebobinando-a em seguida.
O administrador deseja, ainda, que este backup seja feito de
forma agendada, sempre no primeiro dia de cada mês, às 04:00 h da manhã. Para atender seus objetivos, o administrador deve incluir a seguinte entrada de cron: (a). 0 4 1 * * tar -cvf /dev/st0 /home (b). 0 4 1 * * tar -a-x /dev/st0 /home (c). 1 0 4 0 0 tar -cvf /dev/st0 /home (d). 1 0 4 0 0 tar -a-x /dev/st0 /home (e). 1 0 4 0 0 tar all /dev/st0 /home
Solução: Para encontrar a resposta para essa questão, é necessário conhecer o funcionamento do tar, um aplicativo de compactação/descompactação de diretórios e arquivos, e do cron, o agendador de tarefas padrão da maioria dos sistemas operacionais da família Linux. Embora a origem do nome tar venha da abreviatura de tape archive (arquivamento em ta), o seu uso não se restringe a tas magnéticas. Tal aplicativo é largamente usado para armazenar vários arquivos e/ou diretórios em um único arquivo de forma compactada e preservando informações de datas e de permissões. Os principais parâmetros do comando tar são os seguintes:
-c -M -p -r -t -v -w -x -z -j -f -C
: : : : : : : : : : : :
cria um novo arquivo tar cria, lista ou extrai um arquivo multivolume mantém as permissões originais do(s) arquivo(s) acrescenta arquivos a um arquivo tar exibe o conteúdo de um arquivo tar exibe detalhes da operação pede confirmação antes de cada ação extrai arquivos de um arquivo tar comprime ou extrai arquivos tar resultante com o gzip comprime ou extrai arquivos tar resultante com o bz2 especifica o arquivo tar a ser usado especifica o diretório dos arquivos a serem armazenados
Portanto, podemos eliminar as alternativas B e D, pois em ambas temos o parâmetro x, que é utilizado para extrair os arquivos e diretórios de um arquivo tar, e não para criar um novo arquivo. Nesse caso, é necessário utilizar o parâmetro c. Já o parâmetro all, mostrado na alternativa E, não faz parte do conjunto de parâmetros aceitos pelo comando tar. Portanto,
Página 68 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
tal alternativa também pode ser eliminada. Com isso, nos restam as alternativas A e C. Nesse ponto, reparamos que a parte que diz respeito ao comando tar nessas duas alternativas é igual (tar -cvf /dev/st0 /home). Com isso, para chegar a resposta da questão será necessário compreender o signi cado das sequências que precedem o comando tar, que nada mais são que as de nições das regras de agendamento de tarefas no cron. Recapitulando, o cron trata-se de uma ferramenta do Linux que permite programar a execução de comandos e processos de maneira repetitiva ou apenas uma única vez. A forma mais simples de se agendar uma tarefa utilizando a cron é adicionar uma linha no arquivo /etc/crontab. A sintaxe básica do arquivo /etc/crontab é a seguinte:
[minutos] [horas] [dias do mês] [mês] [dias da semana] [usuário] [comando] minutos: números de 0 a 59 horas: números de 0 a 23 dias do mês: números de 0 a 31 mês: números de 1 a 12 dias da semana: números de 0 a 7 usuário: usuário que executará o comando (opcional) comando: a tarefa que deve ser executada. Como o enunciado pede que o backup nesse caso, entendido como criação de um arquivo na ta /dev/st0 a partir do conteúdo do diretório /home, usando o comando tar deve ser realizado sempre no primeiro dia de cada mês, às 04:00 h da manhã, a linha que deveria ser adicionada ao arquivo crontab seria:
0 4 1 * * tar -cvf /dev/st0 /home Os três primeiros números, correspondentes aos minutos, horas e dias do mês, garantem que o processo rodará no primeiro dia do mês, as 4:00 h da manhã. Já os dois * garantem que o processo rodará todos os meses e independente do dia da semana. Portanto, a resposta da questão é a alternativa A.
Página 69 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
27.
Assuntos relacionados:
Volume 06 Edição 1
Segurança da Informação, IP Spamming, MAC Flooding, Smurf,
Scamming,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 55
Sistemas - Suporte
Os hackers possuem diversas formas de ataques contra as redes de computadores. Sobre os ataques gerados por hackers, ĂŠ correto a rmar que (a). IP Spamming ĂŠ uma tĂŠcnica de disseminação de vĂrus na rede mundial de computadores por meio de tecnologia de voz sobre IP. (b). MAC Flooding ĂŠ uma tĂŠcnica empregada para comprometer a segurança da rede de switches, e, como resultado deste ataque, o switch ca em um estado chamado mode de falha aberta. (c). Ataque Smurf ĂŠ uma tĂŠcnica destinada a quebrar senhas e cĂłdigos criptografados que estejam armazenados no computador da vĂtima. (d). Ataque Sni er ĂŠ uma tĂŠcnica de negação de serviços no qual o hacker envia uma rĂĄpida sequĂŞncia de solicitaçþes ping para um endereço de broadcast. (e). Scamming ĂŠ uma tĂŠcnica na qual o hacker ca monitorando o trĂĄfego da porta 80 do seu alvo, antes de realizar o ataque.
Solução: (A) ERRADA Spamming ĂŠ o ato de enviar abusivamente mensagens eletrĂ´nicas nĂŁo solicitadas (spam) para diversos destinatĂĄrios simultaneamente. Em geral, essas mensagens tĂŞm conteĂşdo comercial e sua forma mais comumente conhecida ĂŠ o spam de e-mail. A alternativa (A) busca confundir o candidato ao mesclar os termos IP e Spamming para criar um novo termo que designaria um tĂŠcnica de disseminação de vĂrus. Incorreta, portanto. (B) CORRETA Os switches Ethernet mantĂŞm uma tabela de endereços MAC das mĂĄquinas conectadas em suas portas para enviar pacotes de forma individual aos seus destinatĂĄrios, melhorando o desempenho das transmissĂľes de dados em uma rede, comparativamente a um Hub que replica os pacotes recebidos para todas as suas portas indiscriminadamente. Assim os dados serĂŁo entregues apenas ao computador de destino. Em um ataque do tipo MAC Flooding, o switch ĂŠ inundado por pacotes que contĂŞm diferentes destinos de endereço MAC com a intenção de consumir sua limitada memĂłria reservada armazenar a tabela de endereços fĂsicos. Com isso, o equipamento deixa o seu estado normal de funcionamento e passa a trabalhar em um estado chamado modo de falha aberta (failopen mode).
Isto ĂŠ, ele passa a atuar
como um Hub, replicando cada pacote recebido para todas as demais portas. Um usuĂĄrio malicioso, utilizando um sni er, pode capturar os pacotes destinados a outras mĂĄquinas. A alternativa (B) estĂĄ correta.
PĂĄgina 70 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
Volume 06 Edição 1
(C) ERRADA O ataque Smurf (ataque por re exĂŁo) consiste no envio de sequĂŞncias ping para um endereço de difusĂŁo (broadcast), sendo que o endereço de origem ĂŠ substituĂdo (spoo ng) pelo endereço da vĂtima. Desta forma, as repostas Ă s sequĂŞncias ping serĂŁo encaminhadas para a mĂĄquina possuidora do endereço maliciosamente fornecido. O fato de se utilizar um endereço de difusĂŁo potencializa o ataque, pois todas as mĂĄquinas participantes da sub-rede responderĂŁo Ă s solicitaçþes para a mĂĄquina da vĂtima. NĂŁo hĂĄ qualquer relação desta tĂŠcnica com as diversas tĂŠcnicas de quebra de senhas. Desta forma, a alternativa (C) estĂĄ incorreta. (D) ERRADA O ataque DoS (Denial of Service Negação de Serviço) consiste no envio de vĂĄrias e rĂĄpidas sequĂŞncias de ping para um mesmo servidor (e nĂŁo em broadcast) com o intuito de consumir-lhe os recursos.
Por outro lado, sni er ĂŠ um programa que permite, atravĂŠs do
uso do modo promĂscuo de uma placa de rede, a captura de pacotes de dados destinados a outras mĂĄquinas. Assim, a alternativa (D) estĂĄ incorreta. (E) ERRADA Scamming, ou Phishing Scam, ĂŠ uma forma de fraude eletrĂ´nica caracterizada pela tentativa de obtenção de informaçþes sigilosas atravĂŠs de mensagens eletrĂ´nicas enviadas Ă vĂtima em nome de pessoa e/ou empresa con ĂĄvel, nĂŁo mantendo qualquer relação com monitoração de portas em computadores. A alternativa (E) estĂĄ incorreta.
PĂĄgina 71 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
28.
Assuntos relacionados:
Volume 06 Edição 1
Arquitetura de Processadores, Arquitetura RISC, Arquitetura
CISC, Pipelining, Endereçamento de Memória,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 56
Sistemas - Suporte
Durante uma apresentação das arquiteturas RISC e CISC, um analista fez as a rmativas a seguir. I O pipelining é uma técnica utilizada em arquiteturas RISC pela qual várias instruções são sobrepostas na execução, tirando proveito do paralelismo que existe entre as ações necessárias para executar uma instrução. II Em uma arquitetura RISC, todas as operações sobre dados se aplicam a dados em registradores, sendo que as únicas operações que afetam a memória são as operações de carga e armazenamento que movem dados da memória para um registrador ou de um registrador para a memória, respectivamente. III A arquitetura MIPS é uma arquitetura CISC que apresenta uma série de registradores de uso geral, além de ser caracterizada por apresentar uma operação elementar por ciclo de máquina. Está(ão) correta(s) a(s) a rmativa(s) (a). I, apenas. (b). II, apenas. (c). III, apenas. (d). I e II, apenas. (e). I, II e III.
Solução: Sobre o Item I O pipelining é uma técnica em que o hardware processa mais de uma instrução de cada vez.
Ele não espera o término de uma instrução para executar outra.
Em uma máquina
CISC (Complex Instruction Set Computer - Computador com um Conjunto Complexo de Instruções) típica, temos, basicamente, quatro fases para a execução: busca, decodi cação, execução e escrita. Em uma máquina RISC (Reduced Instruction Set Computer - Computador com um Conjunto Reduzido de Instruções), temos as mesmas fases, só que executadas em paralelo, de maneira idêntica a uma linha de montagem industrial. Numa linha de montagem, a produção é dividida em uma sequência de operações onde cada uma delas pode ser executada simultaneamente por diferentes unidades de produção. Quando uma unidade de produção termina a sua tarefa, ela imediatamente envia o resultado do seu trabalho para a próxima unidade na estrutura da linha de montagem e recebe o resultado da unidade anterior para iniciar uma nova tarefa. Este processo torna possível iniciar a produção de um novo produto antes do término da produção do produto atual. Isto é a essência do pipeline . Suponha que a execução de uma instrução envolva 4 etapas: 1. busca da instrução (Fetch );
Página 72 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
2. decodi cação da instrução (Decode ); 3. execução da instrução (Execute ); 4. escrita de operando (Writeback ). Cada uma dessas etapas é executada por circuitos próprios, numa espécie de linha de montagem (pipelining ). A Tabela 6 exempli ca o funcionamento deste pipelining hipotético.
Estágio
C1 C2 C3 C4 C5 C6
Busca da instrução
I1
Decodi cação da instrução
I2
I3
I4
I5
I6
I1
I2
I3
I4
I5
I1
I2
I3
I4
I1
I2
I3
Execução da instrução Escrita do operando
Tabela 6: pipelining. No ciclo 1 (C1), a instrução 1 (I1) é buscada. No ciclo 2 (C2), a instrução 2 (I2) é buscada e I1 é decodi cada. No ciclo 3 (C3), a instrução 3 (I3) é buscada, I2 é decodi cada e I1 é executada. No ciclo 4 (C4), a instrução 4 (I4) é buscada, I3 é decodi cada, e I2 é executada e I1 escreve os valores do operando no Banco de Registrador. Note que, a partir do ciclo 4, teremos um throughput igual a uma instrução por ciclo. Portanto, o item I está correto.
Sobre o Item II A maioria das instruções RISC envolve endereçamento por registrador, sem acesso à memória. Portanto as instruções são executadas em um ciclo. Contudo, nos deparamos com a seguinte pergunta: como os valores são carregados nos registradores ou descarregados dos mesmos? A reposta é simples, há duas instruções que acessam a memória:
• Load:
carrega o dado da memória para o registrador;
• Store:
armazena o dado do registrador na memória.
Enquanto que nas arquiteturas RISC a regra é a alocação a registradores, as arquiteturas CISC, por disporem de um menor número de registradores, alocam variáveis escalares em posições de memória. Devido a isto, há uma grande riqueza na especi cação de modos de endereçamento em processadores CISC:
•
imediato;
•
direto;
•
indireto;
•
registrador;
•
indireto via registrador;
•
deslocamento;
•
pilha;
Portanto, este item também está correto.
Página 73 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Sobre o Item III MIPS, acrônimo para Microprocessor without Interlocked Pipeline Stages (Microprocessador sem estágios interligados de pipeline ), é uma arquitetura de processadores RISC desenvolvida pela MIPS Computer Systems em 1984. O conceito básico era aumentar o desempenho com o uso profundo de pipelines (leia-se, maior número de estágios) para as instruções. Quando o MIPS estava sendo desenvolvido, quatro regras foram de nidas para guiar o projeto. Elas são a loso a do MIPS:
•
a simplicidade favorece a regularidade;
•
o menor é (quase sempre) mais rápido;
•
um bom projeto demanda compromissos;
•
O caso comum deve ser mais rápido (regra baseada na Lei de Amdahl ).
Pela sua elegância e simplicidade, processadores MIPS são bastante usados em cursos de arquiteturas de muitas universidades. Ele é considerado um processador bastante didático. Portanto, o item está errado. Concluímos, assim, que a alternativa
D está correta.
Página 74 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
29.
Assuntos relacionados:
Volume 06 Edição 1
Arquitetura de Computadores, Tipos de Memória, Memória Vir-
tual,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 57
Sistemas - Suporte
Em arquiteturas RISC, a gura acima é utilizada para representar um(a) (a). ALU. (b). Registrador. (c). Memória. (d). LRU. (e). TLB.
Solução: (A) CORRETA A Figura em V acima é adotada em livros de Arquiteturas de Computador para representar a ULA (Unidade Lógica Aritmética) ou, em inglês, ALU (Aritmetc Logical Unit ). Neste hardware são realizadas operação lógicas bit a bit (AND, OR, XOR, NOT), operações de deslocamento de bit à esquerda ( ) e à direita ( ), comparações (<, >, =), além, é claro, de operações aritméticas com números inteiros (soma, subtração, multiplicação e divisão). (B) ERRADA Um processador contém frequentemente vários tipos de registradores, que podem ser classi cados de acordo com o conteúdo ou de acordo com as instruções que operam sobre eles:
• Registradores de dados:
são usados para armazenar valores numéricos (inteiro ou
ponto utuante);
• Registradores de endereços:
armazenam endereços e são usados por instruções que
acessam diretamente a memória;
• Registradores condicionais:
armazenam valores que são utilizados para determinar
se alguma instrução deve ou não ser executada;
• Registradores de uso geral:
podem armazenar ambos dados e endereços;
• Registradores de ponto utuante; • Registradores de constante:
armazenam valores que só podem serem lidos, como
0, 1, PI;
• Registradores de vetor:
armazena dados para processamento vetorial realizado por
instruções SIMD (Single Instruction, Multiple Data - Única Instrução, Múltiplos Dados);
Página 75 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
• Registradores de propósito:
Volume 06 Edição 1
armazenam o estado do programa; incluindo o con-
tador do programa (também chamado de ponteiro de instrução), ponteiro para pilha entre outros. A título de curiosidade, saiba que todo processador possui, pelo menos, um Banco de Registrador (Register File ) que contém um determinado número de registradores (depende da arquitetura) e é utilizado para armazenar valores que são pertinentes ao estado corrente de execução do programa. Trata-se de uma memória muita rápida e cara, do tipo SRAM (Static
Random Access Memory ), que as instruções utilizam para ler e/ou escrever um determinado conteúdo (são os registradores de dados mencionados acima). A nal, por que utilizar um Banco de Registrador? Bom, sabemos que uma propriedade comum dos programas é a localidade: os mesmos valores são repetidamente acessados; manter estes valores frequentemente utilizados em registradores melhora o desempenho de execução do programa. A Tabela 7 mostra o número de registradores de algumas arquiteturas:
Arquitetura Registrados Inteiros Registrados de Ponto Flutuante X86 x86-64 Itanium4 Power
8
8
16
16
128
128
32
32
Tabela 7: registradores em arquiteturas comerciais. O tamanho do registrador depende da arquitetura (pode possuir, 16, 32 e até 64 bits) e é representado por um retângulo na literatura. (C) ERRADA Memória de acesso aleatório RAM (do inglês Random Access Memory ) é um tipo de memória que permite a leitura e a escrita, utilizada como memória primária em sistemas eletrônicos digitais. Recebe este nome por permitir que qualquer posição possa ser acessada a qualquer momento (diferentemente do acesso sequencial presente em alguns dispositivos de armazenamento). Trata-se de uma memória volátil, isto é, todo o seu conteúdo é perdido quando a alimentação da memória é desligada. Na realidade, existem outras memórias de acesso aleatório nos computadores, inclusive não voláteis (memórias ROMs, por exemplo), portanto, é importante ter o conhecimento de que o nome RAM é apenas uma popularização do nome da memória principal dos computadores. Dentro das memórias RAM existem dois subtipos de memória:
• DRAM
(Dynamic RAM ou RAM Dinâmica): necessitam que os seus dados sejam
frequentemente recarregados (atualizados) por uma bateria, caso contrário, a células de memória perdem o estado;
• SRAM
(Static RAM ou RAM Estática): aquelas que não necessitam de recargada.
210 30 ou 2
A capacidade de uma memória é medida em Bytes, Kilobytes (1 KB = 1024 ou
Bytes),
20 Bytes) ou Gigabytes (1 GB = 1024 MB Megabytes (1 MB = 1024 KB ou 2
Bytes).
Página 76 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
A velocidade de funcionamento de uma memória é medida em Hz ou MHz. Este valor está relacionado com a quantidade de blocos de dados que podem ser transferidos durante um segundo.
Existem, no entanto, algumas memórias RAM que podem efetuar duas trans-
ferências de dados no mesmo ciclo de clock (as memórias DDRs têm esta característica), duplicando a taxa de transferência de informação para a mesma frequência de trabalho. Além disso, a colocação das memórias em paralelo (propriedade da arquitetura de certos sistemas) permite multiplicar a velocidade aparente da memória. (D) ERRADA Na verdade, LRU (Least Recently Used Menos Recentemente Utilizado) é um algoritmo de substituição de blocos muito adotado pelos processadores do mercado. Com bem sabemos, todo processador possui uma hierarquia de memória, composta por memórias caches de nível 1 (L1), nível 2 (L2) e, recentemente, nível 3 (L3). Por mais que a capacidade de armazenamento de tais caches aumente ao longo dos anos, sempre existirá uma demanda muita maior por dados (programas maiores, jogos mais pesados , programas executando concorrentemente, isto é, disputando recursos). Em vista disso, a memória cache tem que escolher o bloco de dados que deverá permanecer na mesma. Considere uma cache L1 que possua apenas uma linha (um set ) e possua dois blocos por linha (cache com associatividade igual a 2, ou 2-way ), onde cada bloco possui um campo que armazena o instante (ciclo de clock) em que foi acessado (requisitado) pelo processador. Suponha que estes dois blocos estejam ocupados com dados válidos e que um deles acabou de ser requisitado (leitura ou escrita) pelo processador e que o outro foi acessado há muitos ciclos atrás. Num instante posterior, este mesmo processador passa a requerer uma dado que não se encontra na cache (dizemos que ocorreu um miss ), forçando-o a buscar o dado nos níveis mais baixos da hierarquia de memória. Quando o bloco que contém o dado de interesse é recuperado, o mesmo deve ser inserido na cache L1, para tanto um dos dois blocos existentes deverá ser expulso (evicted ). É neste instante que o algoritmo LRU entra em ação. O algoritmo LRU baseia-se no princípio da localidade temporal para escolher o bloco que deve ser despeja da cache: uma dado que foi acessado recentemente tende a ser acessado novamente num futuro próximo; e mantendo este dado na cache melhorará o desempenho do programa. Resumindo, o algoritmo LRU despejará o bloco que foi menos recentemente utilizado (acessado). (E) ERRADA Como sabemos, a memória principal disponível em um computador é, em geral, bem menor do que o tamanho máximo de memória permitido pelo processador.
Para contornar esta
limitação, foi criado o sistema de memória virtual que permite a execução de programas cujas exigências quanto ao tamanho da memória sejam maiores do que a capacidade de memória instalada no sistema. Em um sistema sem memória virtual, o endereço gerado pelo programa em execução é o próprio endereço usado para acessar a memória principal.
O mesmo não acontece em
um sistema com memória virtual. O endereço gerado pelo programa, ou endereço virtual, é diferente do endereço real (também chamado de endereço físico) usado para acessar a memória principal.
Página 77 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
Volume 06 Edição 1
Sob o ponto de vista de um programa, a memĂłria disponĂvel ĂŠ aquela representada pelo espaço de endereçamento virtual. O espaço de endereçamento virtual visto e utilizado pelo programa pode ser bem maior do que o espaço de endereçamento real. Efetivamente retirando do programa as limitaçþes impostas pela capacidade da memĂłria fĂsica de fato existente no sistema. Ă&#x2030; importante perceber que o espaço de endereçamento virtual ĂŠ uma abstração. Embora sob o ponto de vista do programa as instruçþes e dados estejam armazenados dentro do espaço de endereçamento virtual na realidade eles continuam armazenados na memĂłria principal, representada pelo espaço de endereçamento real. Esta distinção entre endereços e espaços de endereçamento exige um mecanismo que faça a correspondĂŞncia entre o endereço virtual gerado pelo programa e o endereço real que ĂŠ usado para acessar a memĂłria principal. AlĂŠm disso, a tĂŠcnica de memĂłria virtual permite que as instruçþes e os dados do programa que se encontram no espaço virtual, nĂŁo estejam presentes na memĂłria principal no momento em que sĂŁo referenciados. Assim, alĂŠm do mapeamento anteriormente mencionado, ĂŠ necessĂĄrio um mecanismo para o carregamento automĂĄtico na memĂłria principal das instruçþes e dados que sĂŁo referenciados pelo programa dentro da sua memĂłria virtual e que nĂŁo se encontram presentes na memĂłria fĂsica. Para realizar o mapeamento, utiliza-se uma tabela de mapeamento localizada na memĂłria principal. A tabela de mapeamento permanece na memĂłria principal durante a execução do programa. Ao receber um endereço virtual, a MMU (Memory Management Unit Unidade de Gerenciamento de MemĂłria) usa este endereço para indexar a tabela de mapeamento. A entrada indexada contĂŠm o endereço fĂsico correspondente ao endereço virtual. Na realidade, o mapeamento nĂŁo ĂŠ feito no nĂvel de cada locação de memĂłria, pois isto exigiria uma tabela de mapeamento com um nĂşmero de entradas igual ao tamanho do espaço de endereçamento virtual. Para manter um tamanho de tabela aceitĂĄvel o mapeamento ĂŠ feito no nĂvel de blocos (o espaço de endereçamento virtual ĂŠ logicamente dividido em blocos ou pĂĄginas, que sĂŁo mapeados para o espaço de endereçamento fĂsico pela MMU). Observe que neste mecanismo de mapeamento, para cada referĂŞncia Ă memĂłria realizada pelo programa ĂŠ necessĂĄrio um acesso adicional para consultar a tabela de mapeamento. Neste esquema o nĂşmero de acessos Ă memĂłria principal durante a execução de um programa seria duplicado, comprometendo seriamente o desempenho.
Para solucionar este
problema, a MMU possui internamente uma pequena memĂłria, denominada TLB (Transla-
tion Lookaside Bu er ). A TLB age como uma memĂłria cache (na verdade ĂŠ mais rĂĄpida do que as caches convencionais), armazenando os pares (bits de mais alta ordem do endereço virtual, bits de mais alta ordem do endereço fĂsico) que foram usados nos acessos mais recentes. Note que os bits de mais baixa ordem (page o set ) sĂŁo preservados. Uma operação de mapeamento com a TLB ocorre, entĂŁo, da seguinte forma.
A MMU
procura os bits de mais alta ordem do endereço virtual nas entradas da TLB. Caso aconteça um TLB hit (acerto), a MMU obtĂŠm os bits de mais alta ordem do endereço fĂsico correspondente a partir da TLB. Neste caso, o mapeamento nĂŁo acrescenta nenhum retardo signi cativo ao acesso. Caso aconteça um TLB miss (falta), a MMU consulta a tabela de mapeamento na memĂłria para realizar o mapeamento, armazenando, ao nal, o par (bits de mais alta ordem do endereço virtual, bits de mais alta ordem do endereço fĂsico) na TLB. Na prĂĄtica, a maioria dos mapeamentos ĂŠ satisfeita pela TLB. Isto acontece devido ao princĂpio da localidade temporal e espacial, e cada mapeamento poderĂĄ ser completado rapidamente.
PĂĄgina 78 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
30.
Assuntos relacionados: LPAR, Virtualização, Máquina Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Sistemas - Suporte Ano: 2010 Questão: 58
Volume 06 Edição 1
Virtual,
Em uma arquitetura Mainframe, uma LPAR é um(a) (a). banco de modems projetado para utilizar linhas de alta velocidade. (b). conjunto de discos rígidos organizados segundo uma estrutura de RAID 1. (c). subconjunto dos recursos de hardware de um computador virtualizado como um computador separado. (d). estratégia de gerenciamento de memória utilizada para otimizar o processo de busca de informação. (e). placa de rede utilizada para conectar um Mainframe a um switch de rede.
Solução: Na área de TI, virtualização é o ato de criar máquinas virtuais, máquinas que não existem sicamente, por exemplo: se o computador puder virtualizar 3 servidores, com isto o administrador usa um único meio físico para 3 máquinas com funções diferentes, que podem ser acessadas separadamente através da internet. Uma de nição mais acadêmica sobre virtualização pode ser a técnica que combina ou divide recursos computacionais para prover um ou mais ambientes operacionais de execução, sendo chamado de máquinas virtuais. A virtualização surgiu em 1960 com os mainframes (computadores de grande porte), naquela época era muito caro adquirir e manter um mainframe, e devido ao elevado preço, estes equipamentos só eram acessíveis a universidades e órgãos públicos, com isto havia a necessidade de compartilhar o mesmo meio físico para realizar operações e executar aplicativos de diferentes nalidades. Este conceito é, também, conhecido como (Logical Partitioning Particionamento Lógico). LPAR é uma abordagem de arquitetura do sistema que promete revolucionar as infraestruturas corporativas de TI e ter um grande impacto nas operações de negócios e nas decisões de compra de equipamento.
Originalmente desenvolvida para computadores de
mainframe, LPAR permite a divisão de um único servidor em vários servidores ou partições virtuais totalmente independentes. Uma LPAR refere-se à divisão dos processadores, da memória e do armazenamento de um computador em vários conjuntos de recursos, para que cada conjunto seja operado de maneira independente com sua própria instância de sistema operacional e seus aplicativos físicos ou virtuais. O particionamento lógico é tipicamente usado para permitir o uso de diferentes sistemas operacionais e aplicativos em um único dispositivo. As partições podem ou não ser con guradas para se comunicarem entre si ou dividirem alguns recursos do servidor, como interfaces de rede. Cada partição é independente das operações que ocorrem em outras partições, pode executar sua própria versão do sistema operacional e ter recursos de processador, memória e E/S dedicados à sua utilização exclusiva.
Página 79 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Concluindo, LPAR é a divisão dos processadores, da memória e do armazenamento de um computador em vários conjuntos de recursos, ou seja, subconjunto dos recursos de hardware de um computador virtualizado como um computador separado. Portanto, a alternativa está correta.
Página 80 de 136
www.handbookdeti.com.br
C
Handbook de Questões de TI Comentadas para Concursos
31.
Assuntos relacionados:
Volume 06 Edição 1
Virtual Local Area Network (VLAN), Protocolos de Rede, Inter-
Switch Link (ISL), IEEE 802.1Q,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 61
Sistemas - Suporte
Para o protocolo ISL (Inter-Switch Link) é FALSO a rmar que (a). é um protocolo de trunking suportado por switches Cisco. (b). seu cabeçalho possui um campo chamado VLAN. (c). os endereços de origem e destino do cabeçalho usam endereços IP. (d). permite múltiplas spanning trees. (e). não usa o conceito de VLAN nativa, suportado pelo padrão IEEE 802.1Q.
Solução: ISL (Inter-Switch Link ) é um protocolo proprietário da Cisco para a interconexão de múltiplos switches e manutenção de informações VLAN (Virtual Local Area Network ) como tráfego entre switches. ISL fornece na VLAN a capacidades trunking enquanto o mantém pleno desempenho de alta velocidade nas ligações Ethernet em modo Full-duplex ou half-duplex. ISL opera em um ambiente ponto-a-ponto e pode suportar até 1000 VLANs. Abordemos cada alternativa. (A) ERRADA O primeiro protocolo de trunking foi criado pela Cisco e se chama ISL (Inter-Switch Link ), depois o IEEE padronizou o protocolo IEEE 802.1Q. Pelo fato do ISL ser propriedade da Cisco, ele somente pode ser usado entre switches Cisco. O ISL encapsula completamente cada frame Ethernet original em um cabeçalho e um trailer ISL. Frame este que pode ser passado através de links de tronco (trunking ) para outros dispositivos. O trunking agrega vários links virtuais em um só link físico.
Isso permite que o tráfego
de várias VLANs transite sobre um único cabo entre os switches. Em uma rede comutada, um tronco é um link ponto-a-ponto que suporta várias VLANs. (B) ERRADA O frame original dentro do cabeçalho e do trailer ISL permanece intacto, o ISL inclui vários campos, mas o mais importante deles é o campo VLAN, que fornece um lugar onde se pode codi car o número da VLAN. Ao rotular um frame com o número correto da VLAN dentro do cabeçalho, o switch remetente pode certi car-se que o switch receptor sabe a qual VLAN o frame encapsulado pertence. (C) CORRETA Na verdade, os endereços de origem e de destino no cabeçalho ISL usam endereços MAC do switch remetente e o receptor, em oposição aos dispositivos que enviam o frame original mesmo.
Página 81 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(D) ERRADA Em ISL, o frame original é encapsulado e um cabeçalho adicional é adicionado antes do frame. ISL usa Per VLAN Spanning Tree (PVST), que executa uma instância do Protocolo
Spanning Tree (STP) por VLAN. O protocolo STP tem a função de gerenciar conexões entre uma rede, bloqueando conexões duplicadas entre esses equipamentos e mantendo ativo apenas um caminho entre eles. PVST permite a otimização do posicionamento root switch para cada VLAN e suporta o balanceamento de carga de VLANs através de múltiplos links por tronco. A arquitetura ISL suporta para múltiplas VLANs várias instâncias Spanning
Tree por comutador. (E) ERRADA O IEEE 802.1Q usa um estilo de cabeçalho diferente do ISL para rotular os frames com um número de VLAN. Ele não encapsula o frame original, em vez disso, ele adiciona um cabeçalho de 4 bytes ao cabeçalho do frame original.
Esse cabeçalho adicional inclui um
campo com o qual se pode identi car o número da VLAN, pelo fato de o cabeçalho original ter sido modi cado, a encapsulação do IEEE 802.1Q força um novo cálculo do campo FCS (Frame Check Sequence) original no trailer do frame, porque o FCS é baseado no conteúdo do frame inteiro. O padrão IEEE 802.1q introduziu a técnica conhecida como tagging e o conceito de VLAN nativa. Em um enlace tronco, é de nida uma VLAN nativa a qual não recebe a marcação (tagging ). Ela não precisa estar rodando o protocolo IEEE 802.1q para poder desencapsular os pacotes. O protocolo ISL encapsula os pacotes que saem pela interface trunk com um cabeçalho e um trailer característico do protocolo.
Desta forma, qualquer outro switch que esteja
conectado a uma porta trunk e esteja con gurado com o ISL conseguirá desencapsular o pacote e encaminhá-lo para a VLAN correta. O ISL adiciona no Header do pacote um campo chamado de VLAN ID, que é preenchido pelo ID da VLAN o qual o quadro pertence. Logo o protocolo ISL não suporta o conceito de VLAN nativa porque exige que os switches tenham marcações. Finalizando, o protocolo ISL não utiliza endereço IP na transmissão de frames entres os segmentos da rede. Portanto, a a rmativa da alternativa
Página 82 de 136
www.handbookdeti.com.br
C é falsa.
Handbook de Questões de TI Comentadas para Concursos
32.
Assuntos relacionados:
Volume 06 Edição 1
Sistemas Operacionais, Sistemas Distribuídos, Cycle-scavenging,
Cycle-stealing,
Banca: Cesgranrio Instituição: IBGE Cargo: Analista de Ano: 2010 Questão: 64
Sistemas - Suporte
Cycle-scavenging e cycle stealing são exemplos de (a). algoritmos de criptogra a implementados em hardware por Mainframes. (b). estratégias de balanceamento de carga utilizadas em switches. (c). estratégias de virtualização de servidores do z/VM. (d). técnicas de armazenamento de dados utilizadas em redes SANs. (e). técnicas de varrimento de CPU utilizadas em computação em GRID.
Solução: Uma Grade Computacional, ou GRID, é um serviço para o compartilhamento de poder de processamento e capacidade de armazenamento pela Internet, tendo o objetivo de otimizar as tarefas realizadas. Sua ideia é transformar a rede global de computadores em um único e vasto recurso computacional. Assim, as Grades Computacionais são uma particularidade da Computação Distribuída. Um dos conceitos envolvidos nessa abordagem é a Computação Oportunística , cuja ideia é fazer uso da capacidade de processamento não utilizada pelos computadores integrantes da grade e executar processos de baixas prioridades, sem interferir nas demais execuções do computador do usuário. Técnicas de varrimento de CPU (CPU-scavenging, cycle-scavenging, cycle-stealing ou shared computing) são aplicadas de modo a tornar possível a utilização do tempo ocioso de um sistema. Face ao exposto, a alternativa (E) é a única dentre as apresentadas que explica de forma correta os termos Cycle-scavenging e cycle stealing apresentadas na questão.
Página 83 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
33.
Assuntos relacionados: Redes de Computadores, Protocolos Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 22
Volume 06 Edição 1
de Rede, HTTP, SSL,
O protocolo HTTP (Hypertext Transfer Protocol) é utilizado em conjunto com o Secure Socket Layer (SSL) para troca de mensagens entre o cliente e o servidor Web, quando se deseja garantir a segurança das informações trafegadas. No entanto, a maioria dos sistemas executa a fase de autenticação do servidor e não executa a fase de autenticação do cliente durante o processo de handshake do SSL. Isso acontece porque a fase de autenticação do cliente (a). requer que o mesmo tenha um certi cado digital emitido pelo servidor Web contactado. (b). requer que o mesmo tenha um certi cado digital emitido por uma autoridade certi cadora con ável pelo servidor. (c). requer que o mesmo tenha uma assinatura digital emitida pelo servidor Web contactado. (d). requer que o mesmo tenha uma assinatura digital emitida por uma autoridade certi cadora aceitável pelo servidor. (e). só pode ocorrer quando a fase de autenticação do servidor não ocorre.
Solução: O pacote de segurança SSL (Secure Socket Layer), desenvolvido pela Netscape, é comumente empregado em navegadores Web para proporcionar conexões seguras. Está situado entre a camada de aplicação e a camada de transporte, recebendo solicitações do navegador e transmitindo-as ao TCP para envio ao servidor Web. O subprotocolo para estabelecimento de conexões seguras é composto por diversos passos: inicialmente, o navegador envia ao servidor uma solicitação para estabelecimento de conexão, fornecendo-lhe alguns parâmetros necessários para a adequada con guração da comunicação entre ambos. O servidor responde, con rmando parâmetros e/ou ajustando-os e, em seguida, envia ao navegador um certi cado digital (emitido por alguma autoridade certi cadora válida) contendo sua chave pública (que precisará ser aceito e validado pelo navegador). Após isso, o navegador escolhe aleatoriamente uma senha provisória, codi caa com a chave pública fornecida pelo servidor e a envia a este.
A chave de sessão real a
ser utilizada na conexão entre ambos é derivada de forma complexa a partir desta senha provisória. Esta chave de sessão real é calculada tanto pelo navegador quanto pelo servidor que passam, a partir deste ponto, a utilizarem a nova cifra. Nesta etapa, o servidor foi validado pelo navegador, completando-se a primeira metade do handshake do protocolo, isto é, o navegador sabe que o servidor é realmente quem diz ser.
Entretanto, o servidor não tem conhecimento algum sobre o navegador, ou melhor,
sobre o usuário do navegador. Tratando-se de uma conexão com algum banco, o servidor Web deste estabelecimento não sabe quem é o correntista, ainda.
Para tanto, o processo
inverso precisa ser efetuado: o servidor precisa validar o navegador (correntista).
Página 84 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Normalmente, um cidadão comum não possui uma chave pública e um certi cado correspondente para poder fornecer ao navegador e provar sua identidade.
Para contornar tal
situação, os servidores Web geralmente, neste ponto, solicitam um nome de usuário e uma senha previamente cadastradas em suas bases de dados para poder identi car seus usuários. (A) ERRADA A alternativa (A) está incorreta, pois o certi cado digital não é emitido pelo servidor Web. (B) CORRETA A alternativa (B) está correta, conforme o exposto anteriormente. (C) ERRADA De posse de uma assinatura digital (emitida não por servidores Web, mas por autoridades certi cadoras), é possível a emissão de um certi cado digital a ser utilizado em transações seguras. A alternativa (C) erra ao utilizar o termo assinatura digital no lugar do termo certi cado digital. (D) ERRADA A alternativa (D) também erra ao utilizar o termo assinatura digital no lugar do termo certi cado digital. (E) ERRADA A alternativa (E) expõe uma situação que não faz sentido no cenário de comunicações seguras, já que a autenticação do servidor sempre é exigida para garantir a identidade do mesmo.
Página 85 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
34.
Volume 06 Edição 1
Assuntos relacionados: Protocolo TCP, Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 24 O segmento de TCP consiste em uma sÊrie de campos de cabeçalho e um campo de dados. Um dos campos do cabeçalho Ê o Flag que Ê composto por 6 bits de ag. Qual dos bits do campo Flag Ê utilizado para indicar que uma conexão precisa ser estabelecida? (a). ACK (b). FIN (c). PSH (d). SYN (e). URG
Solução: O TCP (Transmission Control Protocol) Ê um protocolo da camada de transporte cujo principal objetivo Ê prover um serviço de conexão con åvel entre um par de processos que desejam se comunicar. Ele oferece algumas facilidades, tais como: transferência båsica de dados, controle de uxo, multiplexação, controle de precedência, controle de conexþes e certa segurança . A expressþes conexão con åvel e certa segurança estão relacionadas com a capacidade do protocolo TCP de lidar com dados dani cados, perdidos ou duplicados, utilizando para isso números de sequência, ACKs e bu ers de retransmissão. O TCP tambÊm implementa multiplexação para permitir que múltiplos processos utilizem as facilidades do TCP em um mesmo host. Para isso Ê utilizado um identi cador de conexão chamado soquete, que Ê formado pela porta utilizada e pelo endereço de rede do host em questão. O cabeçalho do TCP Ê formado pelos seguintes campos:
â&#x20AC;˘ Source Port:
porta de origem;
â&#x20AC;˘ Destination Port:
porta de destino;
â&#x20AC;˘ Sequence Number:
nĂşmero de sequĂŞncia do segmento;
â&#x20AC;˘ Acknowledgment Number: â&#x20AC;˘ Data O set:
indica onde os dados começam. Múltiplo de 32 bits;
â&#x20AC;˘ Control Bits (Flag): â&#x20AC;˘ Window:
nĂşmero de sequĂŞncia que o host origem espera receber;
URG-ACK-PSH-RST-SYN-FIN;
tamanho aceitĂĄvel da janela. Indica o intervalo de nĂşmeros de sequĂŞncia
aceitos;
â&#x20AC;˘ Checksum:
checksum calculado sobre headers e dados;
â&#x20AC;˘ Urgent Pointer:
indica o o set dos dados urgentes em um dado segmento. SĂł tem
sentido com o ag URG setada.
â&#x20AC;˘ Options:
opçþes adicionais (Ex: Maximum Segment Size. Esta opção só deve ser uti-
lizada no estabelecimento da conexĂŁo. Caso contrĂĄrio, qualquer tamanho de segmento serĂĄ aceito);
â&#x20AC;˘ Padding:
usado para garantir que o header seja mĂşltiplo de 32 bits e o campo data
o set trabalhe corretamente.
PĂĄgina 86 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Para se manter uma conexão TCP, é necessário que se guarde informações sobre: status de diversas variáveis referentes a recebimento e envio de segmentos; segmento corrente; estado da conexão; e identi cador da conexão.
Todas essas informações são guardadas em uma
estrutura chamada TCB (Transmission Control Block).
Entre as informações guardadas
nos TCBs estão, por exemplo, o tamanho da janela, número de sequência inicial da conexão e o estado dos bits de controle. As conexões TCP podem se encontrar nos seguintes estados:
• LISTEN:
a espera de um pedido de conexão;
• SYN-SENT:
a aplicação começou a abrir uma conexão;
• SYN-RECEIVED: • ESTABILISHED:
uma solicitação chegou. Espera por um ACK;
estado normal para envio de dados;
• FIN-WAIT-1:
a aplicação informou que acabou de transmitir;
• FIN-WAIT-2:
o outro lado concordou em encerrar;
• TIMED-WAIT:
aguarda a entrega de todos os pacotes;
• CLOSE-WAIT:
um lado deu início ao encerramento;
• LAST-ACK: • CLOSING:
aguarda entrega de todos os pacotes;
ambos tentaram encerrar simultaneamente.
Uma conexão passa de um estado para outro em resposta a eventos acionados por funções OPEN, SEND, RECEIVE, CLOSE, ABORT, STATUS ou por segmentos contendo ags SYN, ACK, RST ou FIN, além dos timeouts. Estes são os conceitos básico sobre o protocolo TCP. Agora, portanto, é o momento de se abordar explicitamente o que é realmente necessário saber para resolver esta questão: utilização de cada bit do campo ag. Como o próprio enunciado da questão nos fornece, são 6 os bits:
• URG:
usado para mostrar que há dados no segmento corrente que a entidade da
camada superior do lado remetente marcou como urgente.
A localização do último
byte desses dados urgentes é indicada pelo campo de ponteiro de urgência. Este bit não é utilizado na prática;
• ACK:
usado para indicar se o valor carregado no campo de reconhecimento é válido,
isto é, se o segmento contém um reconhecimento para um segmento anterior que foi recebido com sucesso;
• PSH:
indica que o destinatário deve passar os dados para a camada superior imedi-
atamente. Este bit não é utilizado na prática;
• RST:
usado para indicar a outra parte que o soquete pretendido não está disponível.
A sigla vem de reset (reinicialização). Portanto, é uma solicitação de não reenvio de SYN para o soquete em questão;
• SYN: • FIN:
usado para iniciar uma conexão;
usado para encerrar uma conexão.
Tendo em vista o exposto, não é difícil identi car que a alternativa correta é a letra d.
Página 87 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
35.
Volume 06 Edição 1
Assuntos relacionados: Redes de Computadores, TCP/IP, LDAP, SSH, IPSec, Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 26 O TCP/IP apresenta uma série de protocolos que têm características e recursos próprios, relacionados à execução de suas funcionalidades.
Relacione os protocolos apresentados
abaixo com as suas respectivas características e recursos. Protocolo I LDAP II NAT III IPSec IV SSH Características e Recursos P Protocolo utilizado para acessar serviços de diretório como o Active Directory da Microsoft. Q É um componente necessário no uso do protocolo L2TP e usa o protocolo Authentication Header (AH) para fornecer integridade de dados, utilizando um algoritmo de hashing. R Tem funcionalidades semelhantes ao TELNET, com a vantagem de a conexão entre o cliente e o servidor ser criptografada. Estão corretas as associações (a). I P , III Q e IV R (b). I Q , II P e III R (c). I Q , II R e III P (d). II P , III R e IV Q (e). II R , III P e IV Q
Solução: Um
diretório
é um banco de dados com informações sobre usuários, senhas, recursos e
outros elementos necessários ao funcionamento de um sistema. Um
domínio
pode ser visto como um conjunto de servidores, estações de trabalho, bem
como as informações do diretório.
LDAP
(Lightweight Directory Access Protocol) é um protocolo de rede que roda sobre
o TCP/IP que permite organizar os recursos de rede de forma hierárquica, como uma árvore de diretório, onde temos primeiramente o diretório raiz, em seguida a rede da empresa, o departamento e por m o computador do funcionário e os recursos de rede (arquivos, impressoras, etc.)
compartilhados por ele.
A árvore de diretório pode ser criada de acordo
com a necessidade. O LDAP oferece uma grande escalabilidade.
É possível replicar servidores (para backup
ou balanceamento de carga) e incluir novos servidores de uma forma hierárquica, interligando departamentos e liais de uma grande multinacional, por exemplo.
Página 88 de 136
www.handbookdeti.com.br
A organização
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
dos servidores neste caso é similar ao DNS: é especi cado um servidor raiz e a partir daí é possível ter vários níveis de sub-servidores, além de espelhos (mirrors) do servidor principal. O
AD (Active Directory) é uma implementação de serviço de diretório no protocolo LDAP
(Lightweight Directory Access Protocol) e é um software da Microsoft utilizado em ambientes Windows.
Outra implementação conhecida do LDAP é o OpenLDAP, que é um
software livre de código aberto e funciona em diversos sistemas operacionais, ao contrário do AD. Então, na questão, sabemos que I se liga com P.
NAT
(Network Address Translation) é um protocolo que faz a tradução dos endereços
IP e portas TCP da rede local para uma rede pública (Internet, por exemplo).
O NAT
surgiu como uma alternativa real para o problema de falta de endereços IP v4 na Internet. Cada computador que acessa a Internet deve ter o protocolo TCP/IP corretamente instalado e con gurado. Para isso, cada computador da rede interna precisaria de um endereço IP válido na Internet, mas não haveria endereços IP v4 su cientes. A criação do NAT veio para solucionar esta questão. Com o uso do NAT, a empresa fornece acesso à Internet para um grande número de computadores da rede interna, usando um número bem menor de endereços IP válidos na Internet. O termo II não se liga com nenhuma característica listada na questão.
L2TP
(Layer 2 Tunneling Protocol) é uma extensão do PPP (Point-to-Point Protocol),
unindo características de outros dois protocolos proprietários: o L2F (Layer 2 Forwarding) da Cisco e o PPTP (Point-to-Point Tunneling Protocol) da Microsoft.
É um padrão da
IETF (Internet Engineering Task Force), que conta com a participação da Cisco e do PPTP Fórum, entre outros líderes de mercado. O L2TP fornece a exibilidade e escalabilidade do IP com a privacidade do Frame Relay ou ATM (Asynchronous Transfer Mode), permitindo que serviços de rede sejam enviados em redes roteadas IP. O
IPSec é um conjunto de padrões utilizados para garantir uma comunicação segura entre
dois computadores, mesmo que as informações estejam sendo enviadas através de um meio não seguro, como por exemplo a Internet.
Observe que esta de nição é parecida com a
de nição de VPN (Virtual Private Network).
Por isso que a combinação L2TP/IPSec é
uma das opções mais indicadas para a criação de conexões do tipo VPN. Quando o IPSec é habilitado e dois computadores passam a se comunicar usando IPSec, algumas modi cações são efetuadas na maneira em como é feita a troca de informações entre estes computadores. A primeira mudança é que o protocolo IPSec adiciona um cabeçalho (Header) em todos os pacotes.
Este cabeçalho é tecnicamente conhecido como AH (Au-
thentication header). Ele garante a autenticação entre os computadores e é utilizado para veri car a integridade dos dados, ou seja, para veri car se os dados não foram alterados ou corrompidos durante o transporte.
Além disso, ele impede ataques do tipo repetição,
onde pacotes IPSec são capturados e em seguida reenviados ao destino, em uma tentativa de invadi-lo. Concluímos que III se relaciona com Q.
Telnet é um protocolo de rede utilizado na Internet para acessar remotamente um servidor. Com ele, é possível acessar o servidor, através de linhas de comandos, e realizar qualquer tipo de administração do sistema, tipicamente em Linux ou em Unix. Em geral, o processo responsável pela comunicação Telnet escuta a porta 23 do TCP. Já o
SSH (Secure Shell) é uma forma segura do Telnet e utiliza a porta 22.
Página 89 de 136
www.handbookdeti.com.br
A criptogra a
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
utilizada pelo SSH, provê con dencialidade e integridade de dados através de uma rede insegura como a Internet.
O SSH utiliza a criptogra a de chave pública para autenticar o
computador remoto e permite que o computador remoto autentique o usuário, se necessário. IV se relaciona com R e, assim, chegamos à conclusão que a alternativa correta é a letra (A).
Página 90 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
36.
Assuntos relacionados: Linux, HTTP, Servidores Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 27
Volume 06 Edição 1
Web, Apache,
Um analista, após sair de um treinamento para instalação e con guração do servidor HTTP Apache 2.2 em um servidor com sistema operacional UNIX, escreveu, em seu caderno, as a rmativas a seguir. I O script apachectl pode ser utilizado para encontrar erros de sintaxe gerados durante a con guração dos arquivos de con guração do servidor Apache. II A diretiva <LoadModule> pode ser utilizada no arquivo de con guração httpd.conf do Apache para carregar módulos DSO (Dynamic Shared Object) durante o processo de start do servidor. III A diretiva <Include> pode ser utilizada, em um arquivo de con guração do Apache, para isolar outras diretivas e controlar a execução ou não das mesmas em função da existência da de nição ou não de um determinado parâmetro no Apache. Está(ão) correta(s) as a rmativa(s) (a). I, apenas. (b). II, apenas. (c). I e II, apenas. (d). II e III, apenas. (e). I, II e III.
Solução: De acordo com a página o cial do projeto Apache, o Apache HTTP Server Project é um esforço para desenvolver e manter um servidor HTTP open-source para sistemas operacionais modernos, incluindo UNIX e Windows. O principal objetivo do projeto é prover um servidor HTTP
seguro, e ciente, extensível e sempre compatível com as especi cações
do protocolo HTTP. Ainda sobre o Apache, vale ressaltar que ele vem sendo o servidor web mais utilizado na Internet desde Abril de 1996. Após esta breve apresentação do servidor Apache, agora vamos à discussão das a rmativas trazidas na questão. O script
apachectl
é um dos que compõe uma instalação básica de um servidor Apache.
Trata-se de um front end que foi desenvolvido para auxiliar os administradores a controlarem o funcionamento do daemon (principal processo) do servidor Apache. Os principais parâmetros do apachectl são: start, stop, restart, fullstatus, status, startssl e con gtest. Os parâmetros start, stop, restart possuem nomes autoexplicativos. Já os parâmetros fullstatus e status servem para fornecer informações de status sobre o servidor. O parâmetro startssl serve para iniciar o servidor em modo SSL. Por m, temos o parâmetro con gtest, que serve para rodar uma veri cação de sintaxe nos arquivos de con guração do Apache. Com isso, podemos a rmar que a a rmativa I está correta.
Página 91 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Como foi mencionado na apresentação do Apache, um das principais características deste servidor é o fato dele ser extensível, permitindo que novas funcionalidades sejam incorporadas sob demanda.
Tal extensibilidade é implementada através do conceito de módulos
DSO (Dynamic Shared Object), que são espécies de bibliotecas que podem ser linkadas ao Apache, adicionando funcionalidades ao servidor. Alguns dos módulos mais conhecidos do apache são o mod_perl e o mod_php (que adicionam ao servidor a capacidade de processar páginas dinâmicas baseadas nas linguagens PERL e PHP, respectivamente) e o mod_ssl (que adiciona ao servidor a capacidade de operar em modo seguro utilizando o protocolo SSL). Os módulos podem ser carregados tanto na inicialização do servidor, como dinamicamente, com o servidor já em execução. Quando opta-se pela primeira opção, é necessário adicionar a diretiva LoadModule ao arquivo httpd.conf, que é o principal arquivo de con guração do Apache. Com isso, a a rmativa II também está correta. Um exemplo típico do trecho do httpd.conf que ilustra o uso de módulos segue abaixo:
LoadModule LoadModule LoadModule LoadModule LoadModule
vhost_alias_module env_module config_log_module agent_log_module referer_log_module
modules/mod_vhost_alias.so modules/mod_env.so modules/mod_log_config.so modules/mod_log_agent.so modules/mod_log_referer.so
Já a a rmativa III faz menção a diretiva Include, que no apache é utilizada exclusivamente para incluir arquivos de con guração auxiliares no arquivos de con gurações do servidor. Portanto, a a rmativa III está errada. Um exemplo típico do uso da diretiva Include segue abaixo:
Include /usr/local/apache/conf/ssl.conf Include /usr/local/apache/conf/vhosts/ A diretiva Include não pode ser utilizada para isolar outras diretivas e controlar a execução ou não das mesmas em função da existência da de nição ou não de um determinado parâmetro no Apache. Para isso, é necessário fazer uso das diretivas IfDe ne e IfModule. O IfDe ne veri ca se um determinado parâmetro foi de nido na inicialização do Apache. No exemplo abaixo, é veri cado se o parâmetro ReverseProxy foi de nido e, caso tenha sido, carrega os módulos rewrite e proxy.
<IfDefine ReverseProxy> LoadModule rewrite_module libexec/mod_rewrite.so LoadModule proxy_module libexec/libproxy.so </IfDefine> Já a diretiva IfModule veri ca se um determinado módulo foi ou não carregado usando a diretiva LoadModule.
É importante ressaltar múltiplas diretivas IfModule podem ser
utilizadas de forma aninhada, como pode ser visto no exemplo abaixo. Vale reparar ainda que, neste exemplo, foi utilizado o operador de negação , que condiciona a execução do próximo teste ao não carregamento do módulo.
Página 92 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
<IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User uezoweb Group httpd </IfModule> </IfModule> Portanto, estão corretas apenas as a rmativas I e II, e a resposta da questão é a letra C.
Página 93 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
37.
Volume 06 Edição 1
Assuntos relacionados: Redes de Computadores, Network Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 30
File System (NFS),
O NFS Ê um protocolo que fornece aos usuårios acesso transparente aos arquivos compartilhados em uma rede utilizando o protocolo TCP/IP. Para que o NFS funcione, alguns serviços devem estar em execução no servidor NFS. Dos serviços abaixo, qual Ê fornecido pelo daemon mountd? (a). Atender as requisiçþes dos clientes NFS. (b). Executar as solicitaçþes repassadas pelo nfsd. (c). Fornecer números de porta nas quais os clientes podem se vincular. (d). Monitorar o status dos servidores e clientes para recuperå-los de bloqueios NFS. (e). Gerenciar os sistemas bloqueados para evitar modi caçþes de dados por vårios clientes ao mesmo tempo.
Solução: O NFS - Network File System Ê um protocolo de rede que permite que årvores de diretórios e arquivos sejam compartilhados atravÊs de uma rede.
AtravĂŠs do NFS ĂŠ possĂvel mon-
tar diretĂłrios compartilhados remoto como se fossem dispositivos locais.
Ă&#x2030; um protocolo
originalmente desenvolvido pela Sun Microsystens, mas atualmente estĂĄ disponĂvel em praticamento todos os sistemas UNIX. O NFS precisa estar habilitado no kernel, seja nativo ou carregado como mĂłdulo, tanto no servidor quanto no cliente. O NFS ĂŠ mantido por diversos daemons que sĂŁo processos que sĂŁo executados em background no sistema. Os daemons de servidor NFS, chamados de daemons nfsd, sĂŁo executados no servidor e aceitam chamadas RPC dos clientes. O daemon nfsd nada mais ĂŠ que um processo receptor de subrotinas do kernel que executam operaçþes de sistemas de arquivos. Ele existe como um processo separado para prover um escalonamento tratado pelo kernel, permitindo que um servidor aceite mais requisiçþes NFS enquanto outros daemons nfsd estĂŁo aguardando que uma operação no disco seja completada. O servidor NFS tambĂŠm executam o daemon mountd que executa as solicitaçþes que o nfsd lhe passa, alĂŠm disso, veri ca as permissĂľes de acesso do cliente e retorna um ponteiro para um sistema de arquivos.
Uma vez montando um diretĂłrio, ele permanece ligado ao
sistema de arquivos local atĂŠ que seja desmontado com o comando umount ou atĂŠ que o sistema local seja reinicializado. No cliente, o uso da cache e de bu ers ĂŠ manipulado pelo comando biod, o daemon de E/S de bloco. No cliente NFS, o daemon biod estĂĄ normalmente em execução para melhorar a desempenho do NFS, apesar de nĂŁo ser imprescindĂvel. O daemon portmap faz o mapeamento dos nĂşmeros de programa RPC para os nĂşmeros de porta TCP/IP apropriados.
Se o daemon portmap nĂŁo estiver sendo executado corre-
tamente, o NFS tambÊm não funcionarå. O daemon lock Ê o que manipula as requisiçþes
locks de arquivos. Ă&#x2030; executado nos clientes e nos servidores. Clientes requisitam le lock e os servidores fornecem.
O daemon statd Ê exigido pelo lockd para fornecer os serviços
de monitoração. Permite que os locks sejam liberados após uma eventual queda da rede.
PĂĄgina 94 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Clientes e servidores rodam daemon statd. Os daemons NFS clients são: biod, statd e lockd e os daemons server são biod, statd, lockd, nfsd e o mountd (os daemons server às vezes executam como daemons clients utilizando os daemons biod, statd e lockd ). Como foi apresentado acima, o daemon mountd realiza os pedidos que o nfsd passa a ele, ou seja, trata as requisições repassadas pelo nfsd. Portanto, alternativa
Página 95 de 136
www.handbookdeti.com.br
B está correta.
Handbook de Questões de TI Comentadas para Concursos
38.
Assuntos relacionados: Sistemas Operacionais, Linux, Shell Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 31
Volume 06 Edição 1
Script,
Para os recursos e características dos scripts shell no UNIX, é INCORRETO a rmar que (a). a primeira linha de um script shell inicia com # e indica ao kernel qual interpretador ele deverá utilizar. (b). ao de nir uma variável no script é possível utilizar as crases ( ) para executar um comando UNIX e retornar sua saída para a variável. (c). o comando stty é utilizado para armazenar, em uma variável, dados capturados de um usuário através do teclado. (d). o operador -e pode ser utilizado em um comando if para veri car se uma variável existe. (e). para um script ser executável, é necessário que o mesmo tenha suas permissões corretamente de nidas através do comando chmod.
Solução: (A) CORRETA A primeira linha de um script shell inicia com # e indica ao kernel qual interpretador ele deverá utilizar.
Os scripts feitos e outras linguagens, como PERL e RUBY, também
obedecem a mesma regra. Alguns exemplos da indicação do interpretador em um script são mostrados a seguir.
Exemplo 1 - Script SHELL #!/bin/sh echo "Hi there."; # The rest of the Shell script. # ... Exemplo 2 - Script PERL #!/usr/bin/perl -w print "Hello world!\n"; # The rest of the Perl script. # ... Exemplo 3 - Script RUBY #!/usr/bin/ruby puts "Hello world!"; # The rest of the Ruby script. # ...
Página 96 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
(B) CORRETA Nos scripts shell é as crases são utilizadas para executar um comando UNIX e retornar sua saída para uma variável, ou em uma concatenação direta com um string ou outra variável.
Um exemplo simples de utilização da crase em scripts shell é mostrado abaixo.
O
output do comando who | wc -l será concatenado com o restante da mensagem que será exibida na tela pelo comando echo.
#!/bin/sh echo Seu computador tem `who | wc -l` usuários conectados (C) ERRADA O comando stty é utilizado para exibir e para alterar as con gurações dos terminais de linha de comando do sistema. A sinopse da utilização e a lista dos parâmetros mais comuns do comando stty, extraídas das man pages do Linux, são mostradas a seguir:
SYNOPSIS stty [-F DEVICE] [--file=DEVICE] [SETTING]... stty [-F DEVICE] [--file=DEVICE] [-a|--all] stty [-F DEVICE] [--file=DEVICE] [-g|--save] DESCRIPTION Print or change terminal characteristics. -a, --all print all current settings in human-readable form -g, --save print all current settings in a stty-readable form -F, --file=DEVICE open and use the specified DEVICE instead of stdin --help display this help and exit --version output version information and exit (D) CORRETA O if é um dos comandos de controle de uxo mais utilizados. pode ser combinado com a série de operadores mostrada a seguir.
-eq -ne -gt -lt -o -d -e
igual diferente maior menor ou se for um diretório se existir
Página 97 de 136
www.handbookdeti.com.br
Na linguagem shell, o if
Handbook de Questões de TI Comentadas para Concursos
-z -f -o -r -w -x
se se se se se se
Volume 06 Edição 1
estiver vazio contiver texto o usuário for o dono o arquivo pode ser lido o arquivo pode ser alterado o arquivo pode ser executado
Um exemplo simples da utilização do operador -e, que veri ca se um determinado arquivo, diretório ou variável existe, é mostrado abaixo.
if [ -e $linux ] then echo 'A variável $linux existe.' else echo 'A variável $linux não existe.' fi (E) CORRETA Para conceder permissão de execução em um dado script para um determinado usuário ou grupo, é necessário utilizar o comando chmod. A sintaxe básica do comando chmod é mostrada a seguir:
chmod [category]+permissions filename O parâmetro permissions pode assumir os valores read, write e execute e category pode assumir os valores user, group e other.
O parâmetro category é opcional, e, caso seja
omitido, considera-se que a permissão será dada para todas as três categorias de usuários. A seguir são mostrados alguns exemplos de uso do comando chmod.
#Permissão de leitura os usuários da categoria outros chmod o+r filename #Permissão de execução a todos os usuários chmod a+x filename #Permissão de leitura, escrita e execução ao grupo proprietário do arquivo chmod g+rwx data
Página 98 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
39.
Assuntos relacionados:
Volume 06 Edição 1
Sistemas Operacionais, Microsoft Windows 2003, Internet Infor-
mation Services (IIS),
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 35
- Infraestrutura
Um administrador do IIS 6.0 (o navegador padrão da empresa é o Internet Explorer 5.0 ou superior), instalado em um servidor com Windows Server 2003, recebeu do seu chefe as três instruções abaixo descritas. I - Deve ser adotado um método de autenticação que garanta alto nível de segurança para a Intranet corporativa, sem utilizar a infra-estrutura dos serviços de certi cação, com o objetivo de fornecer autenticação transparente para os usuários (todos os usuários estão dentro do rewall corporativo) e permitir a segurança aos recursos da Intranet com o grupo de contas existente no Active Directory. II - Devem ser gerados relatórios com informações de auditoria do IIS buscando controlar as atividades dos usuários e identi car, por exemplo, quem visitou o site, o que o visitante viu e quando as informações foram exibidas pela última vez. III - Adotar medidas que aumentem a con abilidade e a segurança do servidor Web, sabendo que este servidor funciona também como um servidor de arquivos e de impressão e que estes serviços devem continuar funcionando. Para atender a cada um destes chamados, o analista pretende adotar, respectivamente, as seguintes soluções:
•
utilizar o método de Autenticação Integrada do Windows;
•
utilizar o Gerenciador do IIS para habilitar e con gurar a geração de log e, a partir dos arquivos gerados pelo servidor, utilizar uma ferramenta de análise de log para gerar os relatórios;
•
desativar os protocolos SMB e NetBios, renomear a conta IUSR, criada durante a instalação do IIS, e isolar os aplicativos em pools de aplicativos.
Com base nas informações acima, que chamados podem ser atendidos pelas soluções propostas pelo analista? (a). I, apenas. (b). II, apenas. (c). III, apenas. (d). I e II, apenas. (e). I, II e III.
Solução: O servidor Web da Microsoft é o Internet Information Services (IIS - Serviços de Informações da Internet), que com o Windows Server 2003 chega a sua versão 6.0, conhecido por IIS 6.0. Na verdade, o ISS é um conjunto integrado de serviços de rede que permite a publicação de conteúdo, disponibilização de arquivos, e execução de aplicações em ambientes Intranet,
Página 99 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Extranet e Internet. O IIS possui serviços de sites Web, sites de FTP (File Transfer Proto-
col ), NNTP (Network News Transfer Protocol ), e SMTP (Simple Mail Transfer Protocol ). Por padrão, o IIS não é instalado durante a instalação típica do Windows 2000/2003 Server. A seguir analisamos cada um dos chamados:
Chamado I: Você pode exigir que os usuários forneçam um nome de conta de usuário e senha válidos para que possam acessar as informações no servidor IIS. Esse processo de identi cação é chamado de autenticação. A autenticação pode ser de nida no nível de site ou site FTP, diretório ou arquivo. O IIS fornece métodos de autenticação para controlar o acesso a sites e FTP. Alguns tipos de autenticação possíveis com o IIS são:
• Autenticação Anônima:
neste tipo de autenticação, o usuário não precisa fornecer
um login e uma senha para ter acesso ao site. Esta opção deve ser utilizada quando pretende conceder acesso público às informações que não necessitam de segurança. Se esta opção estiver ativada, o IIS tenta sempre autenticar os usuários utilizando primeiro com a autenticação anônima, mesmo que outros métodos de autenticação estejam ativados;
• Autenticação Básica:
requer um ID e uma senha de usuário e fornece um nível baixo
de segurança. As credenciais (ID e senha) do usuário são enviadas em texto simples através da rede. Este formato fornece um nível baixo de segurança porque a senha pode ser lida por quase todos os analisadores de protocolos. Esta opção deve ser utilizada quando pretende conceder acesso a informações com pouca ou nenhuma privacidade;
• Autenticação Integrada com Windows:
é uma forma segura de autenticação,
pois o nome de usuário e a senha recebem hash antes de serem enviados pela rede. Esta autenticação utiliza a autenticação de Kerberos.
Para utilizar este método, os
clientes têm de utilizar o Microsoft Internet Explorer 2.0 ou posterior.
Além disso,
a autenticação integrada do Windows não é suportada em ligações HTTP com proxy. Esta opção deve ser utilizada numa Intranet, em que o servidor da Web e o computador do utilizador se encontram no mesmo Domínio. A autenticação integrada do Windows é habilitada por padrão nos sistemas operacionais Windows Server 2003;
• Autenticação Digest:
oferece a mesma funcionalidade da autenticação básica. En-
tretanto, ela fornece uma melhoria na segurança em relação ao modo de envio das credenciais de um usuário pela rede. A autenticação Digest transmite as credenciais pela rede como um hash MD5, também conhecido como síntese de mensagem, na qual o nome de usuário e a senha originais não podem ser decifradas a partir do hash. A autenticação Digest está disponível nos diretórios do Web Distributed Authoring and
Versioning (WebDAV). A autenticação Digest requer compatibilidade com HTTP 1.1;
• Autenticação de Site FTP:
você pode con gurar um servidor FTP para permitir
acesso anônimo a recursos de FTP ou exigir autenticação básica na forma de um nome e senha de usuário que correspondam a uma conta de usuário válida do Windows. Existem outros tipos de autenticação no IIS 6.0 como autenticação UNC e autenticação do .NET. Conforme explicado anteriormente, a autenticação que fornece alto nível de segurança para a Intranet e utiliza as contas de grupo do AD é a autenticação integrada com Windows. Então, o chamado I é atendido pela proposta do analista de utilizar o método de autenticação
Página 100 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
integrada com Windows.
Chamado II: No IIS 6.0 é possível utilizar técnicas de auditoria de segurança para controlar as atividades dos usuários e detectar tentativas não autorizadas de acesso a diretórios e arquivos do sistema de arquivos NTFS. As atividades que podem ser auditadas incluem: tentativas de logon dos usuários, tanto as bem-sucedidas quanto as mal sucedidas; tentativas de usuários para acessar contas restritas; e tentativas de usuários para executar comandos restritos. Para veri car essas atividades, o log do site da Web tem que estar habilitado. Isso é feito utilizando o Gerenciador do IIS. As informações de log no IIS vão além do escopo do log de eventos ou dos recursos de monitoração de desempenho fornecidos pelo Microsoft Windows. Por isso, é sempre útil utilizar ferramentas de análise de log para gerar relatórios. Existem diversas ferramentas, como Log parser, AWStats, Smarterstats, etc. Ao habilitar o log no IIS, você pode escolher o formato do arquivo de log que melhor se enquadra no seu ambiente. O Gerenciador do IIS é uma interface grá ca para con gurar pools de aplicativos ou sites da Web, FTP, SMTP ou NNTP. Com o Gerenciador do IIS, você pode con gurar os recursos de segurança, desempenho e con abilidade do IIS. É possível adicionar ou remover sites; iniciar, interromper e fazer pausas em sites; fazer o backup e a restauração de con gurações do servidor, e criar diretórios virtuais para um melhor gerenciamento do conteúdo, para citar apenas alguns dos recursos administrativos. Nas versões anteriores do IIS, essa ferramenta era chamada de Gerenciador de Serviços de Internet. Portanto, a solução proposta pelo analista atende o chamado II.
Chamado III: O IIS 6.0 usa uma nova arquitetura de processamento de solicitação e um ambiente de isolamento de aplicativo que permite aos aplicativos da Web individuais funcionarem em um processo de operador independente como forma de aumentar a con abilidade nos serviços do IIS. Esse ambiente evita que um aplicativo ou site interrompa outro e diminui o tempo que os administradores gastam para reiniciar serviços com o objetivo de corrigir problemas relacionados a aplicativos. Uma possível solução para aumentar a con abilidade dos serviços do IIS é habilitar o serviço de pool de aplicativos. O IIS 6.0 oferece segurança signi cativamente aperfeiçoada em relação às versões anteriores do IIS. Para reduzir a superfície de ataque dos sistemas, o IIS não é instalado por padrão nos sistemas operacionais da família Windows Server 2003. Ele deve ser explicitamente selecionado e instalado pelos administradores. Por padrão, o IIS é instalado em um estado bloqueado, capaz de servir somente conteúdo estático. Os administradores de sites podem con gurar o IIS para conteúdo dinâmico de acordo com as necessidades individuais da organização.
O IIS 6.0 contém uma variedade de recursos e tecnologias de segurança
no IIS 6.0 para assegurar a integridade do conteúdo de sites da Web e FTP, assim como dos dados transmitidos pelos sites. Os recursos de segurança do IIS abrangem as seguintes tarefas associadas à segurança: Autenticação no IIS 6.0; Controle de acesso com o IIS 6.0; Criptogra a do IIS 6.0; Certi cates_IIS_SP1_Ops; Auditoria no IIS 6.0. Uma possível solução para aumentar a segurança e con abilidade no servidor de arquivos é
Página 101 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
utilizar o protocolo WebDav em vez do FTP. O FTP não usa criptogra a ou outro mecanismo de segurança para proteger a senha quando é feito logon em um servidor. Além disso, não se pode criptografar os dados quando usar o FTP para enviar arquivos para/de um servidor. Isso coloca as informações em risco, pois qualquer pessoa que use hardware ou software de rede pode capturá-las à medida que são transferidas. O uso do WebDAV para a transferência de arquivos, pastas e outros dados para servidores Web que executam a SSL é a maneira mais segura de transferir informações. O WebDAV protege a senha e os dados criptografados quando você envia informações para um servidor Web executando SSL (Secure Sockets Layer ). Se o servidor não estiver executando a SSL, o WebDAV poderá proteger a sua senha se ele estiver con gurado para usar a autenticação do Windows. Entretanto, você não pode criptografar os dados enviados ao servidor, se este não estiver usando SSL. O NetBios é uma interface que fornece às aplicações de rede um serviço de transmissão orientada à conexão, um serviço de nomes para identi car seus usuários na rede, e opcionalmente um serviço de transmissão de datagramas não con ável. Em outras palavras, com esse protocolo ativado, algumas portas da máquina cam em estado de escuta (abertas), e através dessas portas que são feitas invasões, além é claro, do alto tráfego de vírus que passam pelas mesmas. O NetBios usa as seguintes portas UDP/137, UDP/138, UDP/139. O SMB (Server Message Block - Bloco de mensagens do servidor) é um protocolo padrão de Internet utilizado pelo Windows para compartilhar arquivos, impressoras, portas seriais e para se comunicar entre os computadores. Em um ambiente de rede, os servidores tornam os sistemas de arquivos e recursos disponíveis para os clientes. Os clientes fazem solicitações SMB para os recursos, e os servidores fornecem respostas SMB caracterizando-o como um protocolo de solicitações e respostas cliente servidor. O SMB trabalha junto com o NetBios e opera na porta 445. O sucessor do SMB, a partir do Windows 2000, é o CIFS (Common
Internet File System - Sistema de arquivos comuns da Internet). O fato de desabilitar somente as portas do NetBios, não resolve o problema de segurança, pois na ausência das mesmas todo o tráfego da interface NetBios é direcionado para a porta do SMB. Esses dois serviços devem ser desabilitados. A interface NetBios deve ser desabilitada nas propriedades de rede, e o SMB removido o Compartilhamento de Arquivos e Impressoras para Rede Microsoft e Cliente para Redes Microsoft. Ao desabilitar esses dois serviços, nenhum sistema poderá se conectar com o servidor por SMB. Os servidores não poderão acessar pastas compartilhadas na rede. Muitas ferramentas de gerenciamento não poderão se conectar com os servidores. A solução proposta do analista de desativar os serviços SMB e NetBios aumenta a segurança da rede. Entretanto, os serviços de arquivos e de impressoras param de funcionar. Geralmente, a conta IUSR é chamada de conta Usuário Anônimo da Web ou Convidado da Internet . A conta IUSR, como é chamada na forma abreviada, na verdade tem o formato IUSR_, onde é o nome NetBios do servidor quando o IIS é instalado. Esta conta é usada quando a autenticação Anônima está ativada no servidor IIS, desde que a conta IUSR tenha as permissões NTFS apropriadas para o tipo de acesso solicitado.
Página 102 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Como esse nome de conta é conhecido, alguns textos de segurança recomendam alterar o nome da conta IUSR para que um invasor não consiga descobrir um nome de usuário e uma senha no servidor.
Esse conselho é sensato para servidores de alta segurança; no
entanto, existem alguns aspectos que devem ser levados em consideração. Primeiro, se simplesmente renomear ou excluir a conta IUSR em um servidor IIS, ela reaparecerá na próxima reinicialização do servidor. Por esse motivo, o correto é desativar a conta IUSR e criar uma nova conta para autenticação anônima. A solução proposta pelo analista em renomear a conta IUSR não atenderia ao chamado III, conforme explicado. A solução proposta pelo analista para o chamado III não é aplicada, conforme descrito anteriormente. Os chamados que podem ser atendidos pelas soluções propostas pelo analista são os chamados I e II. Portanto, a alternativa correta é a
Página 103 de 136
www.handbookdeti.com.br
letra D.
Handbook de Questões de TI Comentadas para Concursos
40.
Assuntos relacionados:
Volume 06 Edição 1
Sistemas Operacionais, Microsoft Windows 2003, Permissões de
Compartilhamento, NTFS,
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 37
- Infraestrutura
A pasta documentos de um servidor com Windows Server 2003 foi compartilhada como Docs$. As permissões da pasta foram de nidas da seguinte maneira: Docs$ com permissões compartilhadas de pasta: Todos - Controle total. Pasta documentos com permissões NTFS: Usuários autenticados - Leitura, gravar; Gerentes - Modi car; Administradores - Controle total. Com relação ao acesso aos recursos, assinale a declaração correta. (a). O $ no nome do compartilhamento Docs$ faz com que apenas os Administradores possam acessar a pasta compartilhada. (b). Usuários autenticados podem excluir arquivos da pasta. (c). Usuários autenticados podem alterar a propriedade de um arquivo na pasta. (d). Gerentes podem alterar a propriedade de um arquivo na pasta. (e). Gerentes podem excluir arquivos da pasta.
Solução: Um dos principais recursos, e um dos mais utilizados, em um servidor com Windows 2003 Server é compartilhamento de arquivos na rede. Os arquivos cam em uma pasta compartilhada no servidor e são acessados a partir das estações de trabalho da rede. Ao compartilhar uma pasta, esta passa a estar acessível para outros computadores da rede. O uso de pastas compartilhadas é a maneira de possibilitar a todos os usuários da rede, o acesso a uma ou mais pastas, na qual são gravados arquivos de interesse comum, utilizados por um grupo de pessoas. Ao criar uma pasta compartilhada o administrador pode de nir quais usuários possuem acesso à pasta e qual o nível de acesso de cada usuário ou grupo. Para de nir as permissões é recomendado a utilização de grupos, ao invés de de nir as permissões individualmente para cada usuário. Uma pasta compartilhada pode ser acessada de diversas maneiras.
Pode-se usar direta-
mente o caminho para a pasta ou pode-se montar um drive. Montar um drive signi ca que será exibido um novo drive no sistema, como por exemplo: X: ou Y: ou S:. Na prática, este drive é um atalho para a pasta compartilhada, ou seja, ao acessar o referido drive, o usuário está, na verdade, acessando a pasta compartilhada. Quando uma pasta é compartilhada em um computador, é criado um caminho para acessar esta pasta a partir dos demais computadores da rede. Este caminho segue o padrão UNC (Universal Naming Convention - Convenção Universal de Nomes). Todo caminho que segue
Página 104 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
o padrão UNC inicia com duas barras invertidas, seguida pelo nome do computador onde está o recurso compartilhado (que pode ser uma pasta compartilhada, um impressora compartilhada, etc), mais uma barra invertida e o nome do compartilhamento. Por exemplo, para acessar a pasta documentos no servidor NE001, o caminho para acessar, conforme o UNC, é o
\\NE001\documentos.
Porém quando uma pasta é compartilhada, não signi ca que o seu conteúdo será acessado por todos os usuários da rede. É possível restringir quais usuários terão acesso à pasta compartilhada, qual o número máximo de usuários que podem acessar a pasta simultaneamente e o que os usuários com permissão de acesso podem fazer (permissão de leitura, escrita, etc). Esta restrição é feita através de permissões de compartilhamento. Para isso, é criada uma lista com o nome dos usuários e grupos que possuem permissão de acesso. Esta lista é tecnicamente conhecida como ACL (Access Control List - Lista de Controle de Acesso). Ao criar um compartilhamento em uma pasta, por padrão o Windows Server 2003 atribui como permissão de compartilhamento Read (Somente Leitura) para o grupo Everyone (Todos), que conforme o nome sugere, signi ca qualquer usuário com acesso ao computador, seja localmente, seja pela rede. Ou seja, ao criar um compartilhamento, automaticamente será permitida a leitura em todo o conteúdo do compartilhamento para todos os usuários da rede. Existem três níveis de permissões de compartilhamento:
•
leitura: A permissão de Leitura permite ao usuário: Listar os nomes de arquivos e de subpastas, dentro da pasta compartilhada; Acessar as subpastas dentro da pasta compartilhada; Abrir os arquivos para leitura; Execução de arquivos de programa (.exe, .com, etc);
•
alteração: Permite ao usuário os mesmos direitos da permissão leitura, mais os seguintes direitos: Criação de arquivos e subpastas; Alteração de dados nos arquivos; Exclusão de subpastas e arquivos;
•
controle total: Esta é a permissão padrão que se aplica a todos os novos compartilhamentos. Esta permissão era atribuída ao grupo Everyone (Todos) ao compartilhar um recurso no Windows 2000 Server. Controle total possibilita as mesmas operações que Leitura e Alteração, mais as seguintes: Alteração de permissões (apenas para arquivos e pastas do NTFS); Apropriação (Take Ownership - Torna dono), apenas para arquivos e pastas em um volume formatado com NTFS.
As permissões de compartilhamento: Leitura, Alteração e Controle total, podem ser Permitidas ou Negadas. Ou seja, podemos permitir o acesso com um determinado nível (leitura, alteração ou Controle total) ou negar explicitamente o acesso para um usuário ou grupo para quaisquer uma destas permissões.
Por exemplo, suponha que todos os usuários do
grupo Gerentes devem ter acesso de Leitura a uma pasta compartilhada, com exceção de um gerente cuja conta de usuário é jsilva, o qual deve ter negado o direito de leitura na referida pasta. As permissões de nem o que o usuário pode fazer com o conteúdo de uma pasta compartilhada, desde somente leitura, até um controle total sobre o conteúdo da pasta compartilhada. Porém as permissões de compartilhamento somente têm efeito se o acesso for feito pela rede. Se o usuário zer o logon no computador onde está a pasta compartilhada e acessá-la localmente, através do drive C: (ou outro drive qualquer onde está a pasta compartilhada), as permissões de compartilhamento não serão veri cadas e, portanto, não terão nenhum efeito. Para limitar o acesso, mesmo localmente, usa-se as permissões NTFS.
Página 105 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Em relação às permissões NTFS, existe um conjunto diferente de permissões quando tratamos de pastas (Tabela 8) ou arquivos (Tabela 9). Uma das principais vantagens do sistema de arquivos NTFS é que o ele permite que sejam de nidas permissões de acesso para arquivos e pastas, isto é, posso ter arquivos em uma mesma pasta, com permissões diferentes para usuários e grupos diferentes. Além disso, as permissões NTFS têm efeito localmente, isto é, mesmo que o usuário faça o logon no computador onde um determinado arquivo existe, se o usuário não tiver as permissões NTFS necessárias, ele não poderá acessar o arquivo. Isso confere um alto grau de segurança, desde que as permissões NTFS sejam con guradas corretamente.
Permissão
Nível de Acesso
Leitura
Permite ao usuário listar as pastas e arquivos dentro da pasta, permite que sejam exibidas as permissões, donos e atributos.
Gravar
Permite ao usuário criar novos arquivos e subpastas dentro da pasta, alterar os atributos da pasta e visualizar o dono e as permissões da pasta.
Listar
Conteúdo de pastas Permite ao usuário ver o nome dos arquivos e subpastas.
Ler e executar
Permite ao usuário navegar através das subpastas para chegar a outras pastas e arquivos, mesmo que o usuário não tenha permissão de acesso às pastas pelas quais está navegando, além disso possui os mesmos direitos que as permissões Leitura e Listar Conteúdo de pastas.
Modi car
Permite ao usuário eliminar a pasta, mais todas as ações permitidas pela permissão Gravar e pela permissão Ler e executar.
Controle total
Permite que sejam alteradas as permissões, permite ao usuário tornar-se dono da pasta, eliminar subpastas e arquivos, mais todas as ações permitidas por todas as outras permissões NTFS.
Tabela 8: permissões NTFS para pasta.
Todo arquivo ou pasta em uma unidade formatada com NTFS, possui uma ACL. Nessa ACL cam uma lista de todas as contas de usuários e grupos para os quais foi garantido acesso para pasta/arquivo, bem como o nível de acesso de cada um deles. Existem alguns detalhes que devemos observar sobre permissões NTFS:
•
permissões NTFS são cumulativas, isto é, se um usuário pertence a mais de um grupo, o qual tem diferentes níveis de permissão para um recurso, a permissão efetiva do usuário é a soma das permissões;
•
permissões NTFS para um arquivo têm prioridade sobre permissões NTFS para pastas: Por exemplo se um usuário têm permissão NTFS de escrita em uma pasta, mas somente permissão NTFS de leitura para um arquivo dentro desta pasta, a sua permissão efetiva será somente a de leitura, pois a permissão para o arquivo tem prioridade sobre a permissão para a pasta;
•
negar uma permissão NTFS tem prioridade sobre permitir: Por exemplo, se um usuário pertence a dois grupos diferentes. Para um dos grupos foi dado permissão de leitura para um arquivo e para o outro grupo foi Negada a permissão de leitura, o usuário não terá o direito de leitura, pois Negar tem prioridade sobre Permitir.
Página 106 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Quando combinamos permissões de compartilhamento com permissões de NTFS, a permissão resultante é sempre a mais restritiva. Por exemplo, suponha que um usuário em uma determinada pasta tenha permissão de compartilhamento Controle Total e de NTFS: Leitura e Escrita. A permissão efetiva nesta pasta será a de Leitura e Escrita, não importando se ele vai acessar o conteúdo da pasta localmente, ou remotamente, a permissão efetiva sempre será a mesma.
Permissão
Nível de Acesso
Leitura
Permite ao usuário ler o arquivo, permite que sejam exibidas as permissões, dono e atributos.
Gravar
Permite ao usuário gravar um arquivo com o mesmo nome sobre o arquivo, alterar os atributos da pasta e visualizar o dono e as permissões da pasta.
Ler e executar
Permite ao usuário executar aplicativos (normalmente programas .exe, .bat ou .com), mais todas os direitos da permissão Leitura.
Modi car
Permite ao usuário modi car e eliminar o arquivo, mais todas as ações permitidas pela permissão Gravar e pela permissão Ler e executar.
Controle total
Permite que sejam alteradas as permissões, permite ao usuário tornar-se dono do arquivo, mais todas as ações permitidas por todas as outras permissões NTFS.
Tabela 9: permissões NTFS para arquivo.
Conforme o enunciado da questão, a pasta documentos compartilhada como Docs$ recebeu o nível de permissão controle total para todos os grupos da rede, ou seja, todos os usuários da rede possuem acesso de leitura e escrita e alteração nessa pasta. E para a pasta local documentos foram feitas permissões de acesso NTFS. Como as permissões de NTFS são mais restritivas do que a de compartilhamento, as permissões efetivas de acesso dos usuários à pasta documentos ou Docs$ será a do NTFS. A seguir analisamos as alternativas da questão: (A) ERRADA Se você quiser ocultar um compartilhamento, de tal maneira que ele não seja exibido na lista de recursos compartilhados quando for usado o comando
\\nome_do_computador,
basta
nalizar o nome do compartilhamento com o caractere $. Por exemplo, se você criar um compartilhamento chamado Docs$, este será um compartilhamento oculto, o qual somente poderá ser acessado se for utilizado o caminho completo:
\\nome_do_computador\Docs$.
Por padrão, o Windows Server 2003 cria alguns compartilhamentos ocultos para funções especí cas do próprio sistema operacional. Estes compartilhamentos também tem permissões especí cas. Por exemplo, é criado um compartilhamento C$, o qual dá acesso a pasta raiz do disco rígido, porém somente usuários com conta de Administrador tem acesso a este compartilhamento. Portanto, alternativa errada. (B) ERRADA Quando um arquivo é criado em uma pasta, o arquivo herda as de nições de acesso da pasta.
Os usuários autenticados possuem permissões de Leitura e Gravar na pasta docu-
mentos. Logo, os arquivos desta pasta também terão permissão de Leitura e Gravar.
Página 107 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
A permissão de Leitura para arquivos permite ao usuário ler o arquivo, exibir as permissões, dono e atributos. A permissão de Gravar permite ao usuário gravar um arquivo com o mesmo nome sobre o arquivo, alterar os atributos da pasta e visualizar o dono e as permissões da pasta. Ou seja, o usuário com permissão de Leitura e Gravar não pode excluir arquivos da pasta. Logo, alternativa errada. (C) ERRADA Conforme explicado na alternativa B, usuários autenticados possuem permissão de alterar a propriedade (atributos) somente da pasta, e não dos arquivos na pasta. Portanto, alternativa errada. (D) ERRADA Os Gerentes possuem permissão de Modi car.
A permissão de Modi car para arquivos
permite aos Gerentes modi car e eliminar o arquivo, mais todas as ações permitidas pela permissão Gravar e pela permissão Ler e executar. Como a permissão Modi car possui as ações da permissão de Gravar, os Gerentes possuem permissão de alterar os atributos de somente da pasta, e não dos arquivos na pasta. Logo, alternativa errada. (E) CORRETA Conforme explicado na alternativa D, os Gerentes possuem permissão para excluir arquivos da pasta. Portanto, alternativa correta.
Página 108 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
41.
Assuntos relacionados:
Volume 06 Edição 1
Segurança da Informação, Criptogra a, Infraestrutura de Chaves
Públicas (ICP), ICP Brasil,
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 40
- Infraestrutura
Os principais serviços oferecidos por uma Infra-estrutura de Chaves Públicas (ICP) são: (i) privacidade, que permite manter o sigilo das informações; (ii) integridade, que permite veri car se as informações foram adulteradas; e (iii) autenticidade, que permite identi car quem produziu a informação. Se os serviços de ICP estiverem sendo utilizados, para veri car se a informação recebida de um emissor está íntegra e é autêntica, o receptor deve desencriptar a assinatura digital da informação recebida com (a). a chave pública do emissor para recuperar o hash original calculado pelo emissor com a função hash e, em seguida, calcular o hash atual da informação recebida com a mesma função hash; se o hash original for igual ao hash atual, então, a informação recebida está íntegra e é autêntica. (b). a chave pública do emissor para recuperar o hash original calculado pelo emissor com a função hash e, em seguida, calcular o hash atual da informação recebida com a função hash inversa; se o hash original for igual ao hash atual, então, a informação recebida está íntegra e é autêntica. (c). sua chave pública para recuperar o hash original calculado pelo emissor com a função hash e, em seguida, calcular o hash atual da informação recebida com a mesma função hash; se o hash original for igual ao hash atual, então, a informação recebida está íntegra e é autêntica. (d). sua chave privada para recuperar o hash original calculado pelo emissor com a função hash e, em seguida, calcular o hash atual da informação recebida com a mesma função hash; se o hash original for igual ao hash atual, então, a informação recebida está íntegra e é autêntica. (e). sua chave privada para recuperar o hash original calculado pelo emissor com a função hash e, em seguida, calcular o hash atual da informação recebida com a função hash inversa; se o hash original for igual ao hash atual, então, a informação recebida está íntegra e é autêntica.
Solução: Para alcançar a resposta desta questão, é necessário conhecer o conceito de assinatura digital e como ela é aplicada. Para isso, vamos recorrer, primeiramente, à de nição de assinaturas digitais disponível no site da Justiça Federal.
A assinatura digital é um mecanismo para dar garantia de integridade e autenticidade a arquivos eletrônicos. A assinatura digital prova que a mensagem ou arquivo não foi alterado e que foi assinado pela entidade ou pessoa que possui a chave privada e o certi cado digital correspondente, utilizados na assinatura. Agora, vamos entender melhor como se dá o processo de assinatura digital. Para assinar digitalmente um arquivo, primeiramente aplica-se uma função matemática,
Página 109 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
chamada função hash, ao conteúdo do arquivo. O resultado da aplicação desta função é um resumo criptográ co (hash) do arquivo. Neste ponto, é importante mencionar que uma das principais características das funções hash é garantir que, qualquer alteração no conteúdo do arquivo, por mais insigni cante que seja, irá fazer com que o resultado da função hash aplicada ao arquivo seja diferente. Em termos mais técnicos, temos a seguinte descrição das funções hash, também disponível no site da Justiça Federal.
A função hash realiza o mapeamento de uma sequencia de bits (todo arquivo digital é uma sequencia de bits) de tamanho arbitrário para uma sequência de bits de tamanho xo, menor. O resultado é chamado de hash do arquivo.
Os algoritmos da função hash foram desen-
volvidos de tal forma que seja muito difícil encontrar duas mensagens produzindo o mesmo resultado hash (resistência à colisão) e, que a partir do hash seja impossível reproduzir a sequencia que o originou. Isso signi ca dizer que não há métodos para se reproduzir a sequência de bits que originou um determinado hash, ou seja, não há uma função hash inversa. Com isso, já podemos a rmar que as alternativas B e E, que falam de função hash inversa, estão incorretas. Entendidos os conceitos básicos sobre as funções hash, vamos agora a uma breve explanação sobre o Criptogra a de Chave Pública, que tem como base teórica os algoritmos de criptogra a assimétrica.
Os algoritmos assimétricos de criptogra a são aqueles em que a en-
criptação é realizada com uma chave, enquanto a decriptação é realizada com outra. contexto da Criptogra a de Chave Pública, tais chaves são chamadas
Chave Privada.
No
Chave Pública
e
Os pares de chaves são únicos, de modo que só é possível decifrar as informações cifradas com determinada chave privada, utilizando-se a chave pública correspondente. A chave privada é de posse e responsabilidade exclusiva de seu proprietário, enquanto as chave pública, como seu próprio nome já leva a entender, pode ser conhecida por todos. En m, vamos compreender como se dá, por completo, o processo de assinatura digital de um arquivo. Para facilitar o entendimento, vamos enumerar algumas variáveis e funções.
A João H H(A) KPRI KPUB KPRI(X) KPUB(X)
Arquivo a ser assinado Dono do arquivo A, e é quem irá assiná-lo Função hash Resultado da aplicação da função hash sobre o arquivo A Chave privada de João Chave pública de João Resultado da encriptação de X com a chave KPRI Resultado da decriptação de X com a chave KPUB
Para João gerar a assinatura digital do A, em primeiro lugar é gerado o seu hash com a função H, ou seja, H(A). Em seguida, H(A) é criptografado com a chave privada KPRI, gerando KPRI(H(A)). Em outras palavras, para João gerar uma assinatura digital de seu arquivo A, primeiro ele precisa gerar o hash de A e em seguida encriptar o hash com sua chave privada. Agora, só será possível decifrar a assinatura se a chave publica for correspondente à chave
Página 110 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
privada usada para a assinatura. Ou seja,
usar a chave pública de João.
Volume 06 Edição 1
para decifrar a assinatura será necessário
Uma vez que a operação se concretize, estará estabelecida
a autoria da assinatura (ou autenticidade) e obtém-se o hash do documento. Em seguida, para comprovar a integridade do documento, basta que aplique-se a função hash ao arquivo original para que este seja comparado ao hash obtido na etapa anterior. Caso sejam iguais, o arquivo pode ser considerado integro. Portanto, a resposta da questão é alternativa A.
Página 111 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
42.
Assuntos relacionados:
Volume 06 Edição 1
Segurança da Informação, Firewall, Protocolo TCP, Three-Way
Handshake, DRDoS, DDoS,
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 41
- Infraestrutura
A técnica de Defesa em Profundidade utiliza camadas de segurança mantidas por vários componentes que se complementam para formar um quadro de segurança completo. Um dos principais componentes é o rewall com estado que, diferente do ltro de pacote estático, é capaz de bloquear pacotes SYN/ACK gerados por pacotes SYN forjados por estações localizadas na rede externa. Que tipo de ataque é formado por pacotes SYN/ACK? (a). Distributed Re exion Denial of Service (DRDoS) (b). Distributed Denial of Service (DDoS) (c). Smurf (d). Nuke (e). Teardrop
Solução: Muito embora os conceitos sobre rewall não sejam estritamente necessários para se resolver esta questão de forma segura, por esse ser um assunto importante, vale a pena uma explicação, mesmo que sucinta. Firewall pode ser conceituado, de forma breve e direta, como sendo um sistema ou combinação de sistemas de hardware e/ou software que protege a fronteira entre duas ou mais redes. Um rewall pode ser stateful (com estado) ou stateless (sem estado - ltro de pacotes). Atualmente, o tipo stateless é mais comuns, apesar do tipo stateful ser mais so sticado. Um rewall do tipo stateless analisa cada pacote que passa por ele e para decidir o que fazer com cada pacote, ele não utiliza informações sobre eventuais conexões já estabelecidas. Ou seja, cada pacote é analisado individualmente. Em rewalls de camada três, por exemplo, para se decidir o que fazer com pacotes, geralmente leva-se em consideração os endereços de origem e destino e/ou o tipo de transporte utilizado (UDP, TCP, etc.). Já em um rewall do tipo stateful, é possível construir regras para que o estado de conexão seja levado em consideração.
Dessa forma, os pacotes deixam de ser analisados de forma
individualizada. Em um rewall de camada quatro, pode-se construir regras de forma que segmentos TCP com ags SYN/ACK setadas somente passem pelo rewall caso a conexão TCP, na porta desejada, já esteja estabelecida. Perceba que essas regras seriam su cientes para se eliminar ataques do tipo descrito no enunciado. Agora vamos entender melhor o que é realmente necessário para se resolver esta questão. Quando o enunciado menciona pacotes SYN/ACK (na verdade deveria ser segmentos SYN/ACK ) temos que entender que é o protocolo TCP que está sendo utilizado. Ele é o protocolo de transporte orientado a conexão de uso mais comum na Internet.
Aberturas
de conexão são feitas com o mecanismo Three-Way Handshake (aperto de mão triplo) que
Página 112 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
utiliza as ags SYN e ACK do cabeçalho do próprio protocolo. Um Three-Way Handshake é necessário porque os números de sequência da origem e do destino não são vinculados a um relógio global na rede e as implementações do protocolo TCP em cada ponta podem ter mecanismos diferentes para captar o ISN (Initial Sequence Number).
Dessa forma, o
receptor do primeiro SYN não tem meios para saber se este é um segmento antigo atrasado, a menos que tenha registrado o último número de sequência usado na conexão. Contudo, nem sempre é possível lembrar esse número. Um Three-Way Handshake se desenrola da seguinte forma:
•
um host (A) inicia uma solicitação de abertura de conexão enviando um segmento SYN para outro host (B), indicando que o seu ISN é X: A > B SYN, seq de A = X;
•
B recebe o segmento, grava que a ISN de A é X, responde com um ACK de (X + 1), e indica que seu ISN = Y. O ACK de (X + 1) signi ca que B já recebeu todos os bytes até o byte X e que o próximo byte que ele espera é o (X + 1): B > A SYN, ACK = (X + 1), seq de B = Y;
•
por m, A recebe o segmento de B, ca sabendo que a sequência de B é Y, e responde com um ACK de (Y + 1): A > B ACK = (Y + 1).
O enunciado fala sobre SYN forjado, mas o que é isso? Uma boa explicação pode ser feita por meio de um cenário ctício. Imagine dois equipamentos E1 (externo à rede) e I1 (interno à rede). Quando E1 realiza spoo ng, ou seja, envia pacotes com endereço de origem diferente do seu próprio endereço, e envia segmentos SYN na rede, ele está enviando segmentos SYN forjados. O que acontecerá depois desse tipo de envio? Imagine que E1 envie diversos segmentos SYN como se fosse I1 (a vítima). Quem receber essas solicitações de abertura de conexão TCP responderá ao I1 com um segmento SYN/ACK. Como não foi o I1 que iniciou o processo de abertura de conexão, ele poderá se atrapalhar com os diversos segmentos inoportunos que estão chegando para ele. Vamos agora comentar sobre cada conceito (ou tecnologia) que aparece nas alternativas.
• Nuke:
tipo de ataque em que um atacante envia a uma vítima diversos pacotes ICMP
corrompidos. A vítima vulnerável a esse tipo de ataque não consegue lidar com esse tipo de pacote corrompido e trava, causando indisponibilidade dos serviço oferecidos;
• Teardrop:
tipo de ataque em que um atacante envia a uma vítima diversos pacotes
IP adulterados: grandes payload e números de sequência inapropriados. Dessa forma, realizar reassembly desse pacotes é impossível.
A vítima vulnerável a esse tipo de
ataque não consegue lidar com o problema e trava, causando indisponibilidade dos serviço oferecidos;
• Distributed Denial of Service (DDoS):
tipo de ataque caracterizado pelo fato de
diversos sistemas atuarem de forma coordenada como atacante;
• Distributed Re exion Denial of Service (DRDoS): DDoS, onde se utiliza também spoo ng.
é um tipo especializado de
O que determina a especialização é o fato
do ataque não ser feito de forma direta à vítima.
Ao invés disso, o atacante (ou os
atacantes) força outro sistema (ou sistemas) a executar o ataque à vítima. Ou seja, o ataque acontece via re exão (Re exion);
• Smurf :
é um tipo especí co de ataque que se enquadra como DDoS e que também
pode ser considerado do tipo DRDoS. Nesse tipo de ataque, pings são enviados para o endereço de broadcast da rede. Em uma rede vulnerável a esse tipo de ataque, as máquinas respondem aos pings, já que também foram endereçadas (broadcast), o que acarreta em inundação da rede.
Página 113 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Tendo em vista as explicações acima, pode-se concluir que a letra a é a alternativa correta. Um candidato desatento poderia acreditar que a resposta correta fosse a letra b.
Con-
tudo, perceba que um ataque com segmentos SYN/ACK não necessariamente acontece de forma distribuída, mas acontece necessariamente via re exão. É justamente por isso que se trata de um DRDoS.
Página 114 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
43.
Assuntos relacionados:
Volume 06 Edição 1
Função Hash, Algoritmos de Criptogra a, MD5, 3DES, RC4,
SHA-1,
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 43
- Infraestrutura
Em geral, a infra-estrutura de chaves pública e privada (ICP) utiliza algoritmos para colocar uma assinatura em uma mensagem e para criptografar a mensagem. Um algoritmo utilizado para assinar e outro para criptografar uma mensagem, são: (a). MD5 e 3DES (b). RC4 e SHA-1 (c). SHA-1 e MD5 (d). RC4 e 3DES (e). 3DES e RC4
Solução: Criptogra a é a ciência que estuda encriptação e decriptação de mensagens.
Encriptar
signi car gerar uma segunda mensagem, a princípio sem signi cado algum, a partir da mensagem original.
Decriptar se refere ao processo inverso, ou seja, obter a mensagem
original a partir da mensagem encriptada. Dependendo da forma com que a criptogra a é utilizada, os seguintes benefícios podem ser obtidos:
• autenticidade: • integridade:
pode-se provar a identidade de quem realizou a criptogra a;
pode-se veri car se a mensagem encriptada sofreu adulteração;
• incontestabilidade (não-repúdio):
quem encriptou a mensagem não pode negar a
autoria;
• sigilo (con dencialidade):
somente as entidades envolvidas têm acesso à mensagem
original (via decriptação). Especi camente no contexto de informática, são os algoritmos de criptogra a que realizam encriptação e decriptação de mensagens. Existem três categorias para esse tipo de algoritmo:
• funções hash:
tecnologia que requer apenas um algoritmo (a própria função hash); um texto de tamanho qualquer é utilizado para se gerar uma sequência, de tamanho xo, de caracteres. Essa sequência é dita o hash da mensagem;
não há função hash inversa, ou seja, teoricamente não é possível determinar a mensagem original a partir do seu hash;
é praticamente impossível mensagens distintas terem o mesmo hash. Quando isso ocorre (colisão de hash) o algoritmo se mostra inadequado e deve ser substituído;
os principais algoritmos de hash: MD2 (128 bits), MD4 (128 bits), MD5 (128 bits), SHA-1 (160 bits), SHA-256 (256 bits).
• algoritmos de chave simétrica (secreta):
tecnologia que requer um algoritmo e uma única chave, que deve ser mantida em segredo entre as partes, necessária e su ciente tanto para a criptação quanto para a decriptação da mensagem;
Página 115 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
esse tipo de algoritmo geralmente se baseia em operações simples de shift e xor (ou exclusivo), que garantem e ciência e possibilidade de implementação do algoritmo em hardware;
os principais algoritmos dessa categoria são: Cifra de César, Cifra Monoalfabética, Cifra Polialfabética, Blow sh, DES, 3DES, RC2, RC4, RC6, IDEA, AES (os 5 nalistas foram: Rijndael, Serpent, Two sh e MARS).
• algoritmos de chaves assimétricas (pública/privada):
tecnologia que requer um algoritmo e um par de chaves, que são ligadas matematicamente entre si. Um par de chaves é formado por uma chave pública que pode ser conhecida por todos e uma chave privada que deve ser conhecida apenas pelo seu dono, que é único. Ambas as chaves podem ser utilizadas tanto na encriptação quanto na decriptação da mensagem. Contudo, quando uma é utilizada para encriptar uma mensagem, a decriptação dessa mensagem somente pode ser realizada com a outra chave do par;
esse tipo de algoritmo geralmente se baseia em operações não tão simples de fatoração, exponenciação e logaritmos de grandes números.
Isso faz com que eles
sejam mais lentos, em relação ao algoritmos simétricos, e de difícil implementação em hardware;
os principais algoritmos dessa categoria são: RSA (de longe o mais utilizado), DSA, El Gamal, Di e-Hellman, Curvas Elíptica.
Assinatura digital é um tipo de tecnologia que utiliza função hash e algum algoritmo de chaves assimétricas. Muitas são as possibilidade e implementações, porém, de forma bem abstrata, a assinatura ocorre em duas fases. Na primeira, um hash da mensagem original é gerado. Em seguida, a chave privada do assinante é utilizada para encriptar o hash gerado. O resultado dessa encriptação é justamente a assinatura da mensagem.
Da forma com a
qual a assinatura digital é realizada, garante-se: autenticidade, não-repúdio e integridade. Isso porque de posse da mensagem original (documento) e de sua assinatura, qualquer um pode utilizar a chave pública do assinante para decriptar a assinatura, obter o hash da mensagem original e comparar os resultados. Se os resultados forem idênticos, signi ca que a chave pública utilizada é o par da chave privada que assinou o documento (autenticidade e não-repúdio) e que o documento original não foi adulterado (integridade). Perceba que o enunciado pede um algoritmo utilizado para assinar e outro para criptografar uma mensagem. Portanto, o primeiro pode ser tanto um algoritmo de hash quanto de criptogra a de chaves assimétricas e o segundo pode ser qualquer algoritmo de criptogra a (de chaves simétricas ou assimétricas). Tendo em vista o exposto, a única alternativa que se encaixa no que se pede é a letra a. Nesta questão, quando fazemos uma análise um pouco mais rigorosa do enunciado, percebemos que há mais de uma alternativa correta.
Veja que no enunciado não há restrição de
qual algoritmo deve vir antes do outro na alternativa correta. Ou seja, o que se pede é uma alternativa que contém um algoritmo utilizado para assinar e outro para criptografar mensagens, não importando a ordem entre eles. Com essa interpretação literal do enunciado, a alternativa b também está correta. Muito embora esta questão pudesse ser cancelada pela banca organizadora justamente pelo motivo exposto, é sempre recomendável que o candidato opte pela alternativa mais correta , que neste caso é a alternativa a.
Página 116 de 136
www.handbookdeti.com.br
Handbook de QuestĂľes de TI Comentadas para Concursos
44.
Assuntos relacionados: Arquitetura de Computadores, Memória Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 47
Volume 06 Edição 1
Principal,
Se um computador tem uma MP com disponibilidade de armazenar
216
bits e possui barra
de dados com tamanho de 16 bits, qual o tamanho mĂnimo do REM e do RDM? (Considere que a barra de dado tem o tamanho de uma palavra) (a). 8 e 12 (b). 8 e 16 (c). 12 e 8 (d). 12 e 12 (e). 12 e 16
Solução: Memória Ê um termo genÊrico usado para designar as partes do computador ou dos dispositivos perifÊricos onde os dados e programas são armazenados. A memória do computador pode ser dividida em duas categorias:
â&#x20AC;˘ principal:
de acesso mais rĂĄpido, mas de capacidade mais restrita.
Armazena in-
formaçþes temporariamente durante um processamento realizado pela UCP (Unidade Central de Processamento);
â&#x20AC;˘ secundĂĄria:
de acesso mais lento, mas de capacidade bem maior. Armazena grande
conjunto de dados que a memĂłria principal nĂŁo suporta.
MP (Memória Principal) e UCP usa dois registradores da UCP chamaREM (Registrador de Endereços de Memória) ou, em inglês, MAR (Memory Address Register), bem o como o RDM (Registrador de Dados da Memória) ou, em inglês, MBR
A comunicação entre dos de
(Memory Bu er Register). O REM armazena temporariamente o endereço de acesso a uma posição de memória ao se iniciar a operação de leitura ou escrita. Em seguida, o endereço Ê encaminhado à årea de controle da MP para decodi cação e localização da cÊlula desejada.
Possui a mesma
quantidade de bits do barramento de endereços e deve ser su ciente para endereçar toda a memĂłria principal. JĂĄ o RDM armazena temporariamente a informação que estĂĄ sendo transferida da MP para a UCP (leitura) ou da UCP para MP (escrita). Possui a mesma quantidade de bits do barramento de dados e deve ter espaço su ciente para armazenar, no mĂnimo, uma palavra. JĂĄ que o tamanho total da memĂłria principal ĂŠ de
216
bits e cada palavra possui 16 bits, pois
o tamanho da palavra ĂŠ o mesmo da barra de dado, haverĂĄ, no total,
216 /16 = 212
palavras
para serem endereçadas pelo REM. Logo, basta que o REM tenha 12 bits para realizar a sua tarefa de endereçamento. O RDM deve possuir 16 bits, pois, em geral, possui o mesmo tamanho do barramento de dados. Portanto, a alternativa correta Ê a letra (E).
PĂĄgina 117 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
45.
Assuntos relacionados: Gerência de Projeto, de Custos, Assuntos relacionados: SPI Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 49
Volume 06 Edição 1
Gerenciamento de Tempo, Gerenciamento
Um gerente, após realizar todos os ajustes necessários no cronograma do seu projeto, obteve a tabela ( gura) abaixo.
Sabe-se que para este projeto PV (Planned Value ) = 400, AC (Actual Cost ) = 480 e EV (Earned Value ) = 320. Qual é a duração total, em dias, do projeto do gerente, sem considerar nais de semana e feriados, e qual é o valor do SPI (Schedule Performance Index)? (a). 134 e 0,67 (b). 134 e 0,80 (c). 138 e 0,67 (d). 138 e 0,80 (e). 138 e 0,83
Solução: Duração total do projeto A duração total de um projeto é dada é pela soma da duração das atividades críticas do projeto. A duração das atividades e determinação de quais atividades críticas são de nidas no processo de Desenvolvimento do cronograma. Segundo o PMBOK, o Desenvolvimento de cronograma é um dos processos da área de conhecimento de Gerenciamento de Tempo.
Esta área tem como objetivo determinar as
dependências e a duração das atividades do projeto, ou seja, elaborar o cronograma do projeto, e, ao longo do desenvolvimento, acompanhá-lo e controlá-lo. A área de Gerenciamento de Tempo inclui os seguintes processos:
•
de nição da atividade: de nição de quais as atividades necessárias para produzir as várias entregas do projeto, isto é, os produtos e subprodutos identi cados na EAP (Estrutura analítica do projeto - Work Breakdown Structure (WBS));
Página 118 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
•
Volume 06 Edição 1
sequenciamento de atividades: identi cação e documentação das dependências entre as atividades do cronograma;
•
estimativa de recursos da atividade: estimativa do tipo e das quantidades de recursos necessários para realizar cada atividade do cronograma;
•
estimativa de duração da atividade: estimativa do número de períodos de trabalho que serão necessários para terminar as atividades individuais do cronograma;
•
desenvolvimento do cronograma: análise dos recursos necessários, restrições do cronograma, durações e seqüências de atividades para criar o cronograma do projeto. Ou seja, este processo consiste em formalizar o cronograma, identi cando suas datas, caminhos críticos e registrando os marcos e pontos de controle identi cados;
•
controle do cronograma: durante o desenvolvimento do projeto, o cronograma deve ser comparado, analisado e revisto sempre que necessário.
O caminho crítico, geralmente, é a seqüência de atividades do cronograma que determina a duração do projeto, isto é, o caminho mais longo do projeto. Atividade crítica é qualquer atividade do cronograma em um caminho crítico. Qualquer atraso em uma atividade crítica, pode resultar, em um aumento da duração total do projeto. Para calcularmos a duração total do projeto, conforme a tabela desta questão, devemos de nir as atividades do caminho crítico.
Para isso, veri camos as dependências entre as
atividades. De acordo com a tabela temos as seguintes dependências: a atividade #1 não dependente de nenhuma atividade; o início da atividade #2 depende do término da atividade #1, isto é, a atividade #2 não pode ser iniciada antes do m da atividade #1; o início da atividade #3 depende do término da atividade #2; o início da atividade #4 depende somente do m da atividade #1, isto é, a atividade #4 pode ser iniciada junto com a atividade #2 (é estranho testar um software antes de instalá-lo, mas relevemos isso); o início da atividade #5 depende do m da atividade #4; o início da atividade #6 depende do m da atividade #5; e o início da atividade #7 depende do m da atividade #3 e #6, isto é, a atividade #7 só pode iniciar após o m da atividade #6. Conforme as dependências existentes e a duração de cada atividade, a alocação delas no cronograma é mostrada na Figura 6. Conforme a alocação das atividades do cronograma apresentadas na Figura 6, a duração total do projeto é de
138
dias.
Schedule Performance Index Os valores de VP, VA e CR são usados em conjunto para fornecer medidas de desempenho que indicam se o trabalho está sendo realizado conforme planejado em algum momento determinado. A técnica do valor agregado envolve o desenvolvimento destes valores-chave para cada atividade do cronograma ou pacote de trabalho. Esta técnica é empregada no processo Controle de Custos da área de conhecimento Gerenciamento de Custos do projeto. O Valor Planejado (VP) ou Planned Value (PV) é o montante nanceiro que o projeto, de acordo com o planejamento, deveria ter consumido até um dado ponto do cronograma. O VP também é conhecido como Budgeted Cost for Work Scheduled (BCWS) ou Custo orçado para trabalho planejado (COTR). O Valor Agregado (VA) ou Earned Value (EV) é o valor do montante de trabalho que foi efetivamente realizado até uma data especí ca. O VA também é conhecido como Bud-
geted Cost for Work Performed (BCWP) ou Custo orçado para trabalho realizado (COTA).
Página 119 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
O Custo Real (CR) ou Actual Cost (AC) é o custo efetivo do trabalho realizado até o momento. O Custo Real às vezes pode representar somente as horas de mão-de-obra direta, somente os custos diretos ou todos os custos, inclusive custos indiretos. O CR também é conhecido como Actual Cost of Work Performed (ACWP) ou Custo real do trabalho realizado (CRTR).
Figura 6: cronograma do projeto. Esses dois valores, a VC e o VP, podem ser convertidos em indicadores de e ciência para re etir o desempenho de custos e de prazos de qualquer projeto: Índice de Desempenho de Prazos (IDP) e Índice de desempenho de custos (IDC). O Índice de Desempenho de Prazos (IDP) ou Schedule Performance Index (SPI) é uma medida de e ciência do cronograma em um projeto. É a relação entre o valor agregado (VA) e o valor planejado (VP). O IDP é calculado dividindo-se o VA pelo VP. Um IDP maior ou igual a um indica uma condição favorável e um valor menor que um indica uma condição desfavorável. O Índice de desempenho de custos (IDC) ou Cost Performance Index (CPI) é uma medida da e ciência de custos em um projeto. É a relação entre o valor agregado (VA) e os custos reais (CR). IDC é calculado dividindo-se VA por CR. Um valor maior ou igual a um indica uma condição favorável e um valor menor que um indica uma condição desfavorável.
Página 120 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
De acordo com o enunciado da questão, o
Volume 06 Edição 1
EV = 320
e
V P = 400.
Então,
SP I =
(320/400) = 0, 8. A duração total do projeto é de reta é a
letra D.
138
dias e o SPI é de
Página 121 de 136
www.handbookdeti.com.br
0, 8.
Portanto, a alternativa cor-
Handbook de Questões de TI Comentadas para Concursos
46.
Assuntos relacionados: Banco de Dados, Concorrência Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 57
Volume 06 Edição 1
entre Transações,
Considere as duas transações (T1 e T2) de banco de dados abaixo.
read_lock - implementa bloqueio compartilhado no item de banco de dados write_lock implementa bloqueio exclusivo no item de banco de dados unlock - desbloqueia o item de banco de dados read_item - executa a leitura do item write_item - executa a escrita do item É correto a rmar que estas transações (a). seguem o protocolo de bloqueio em duas fases e não entram em impasse (deadlock), se executadas concorrentemente. (b). podem entrar em impasse (deadlock), se executadas concorrentemente. (c). são serializáveis e não seguem o protocolo de bloqueio em duas fases. (d). não são serializáveis e, portanto, podem ser executadas concorrentemente. (e). não seguem o protocolo de bloqueio em duas fases, não sendo portanto serializáveis.
Solução: Uma transação é uma unidade lógica de processamento que pode incluir uma ou mais operações sobre o Banco de Dados. Entende-se por transações concorrentes aquelas que são executadas ao mesmo tempo e pelo menos uma operação WRITE é executada por alguma das transações. Podemos observar que estas duas transações implementam o protocolo de bloqueio de duas fases (Two-Phase Locking - 2PL), pois ambas possuem uma fase de crescimento (growning ) e uma fase de encolhimento (shrinking ), em que todos os read_locks e write_locks ocorrem na primeira fase, enquanto que os unlocks ocorrem na segunda fase (na verdade, tão logo a transação libera um bloqueio, ela entra na fase de encolhimento e não poderá solicitar novos bloqueios). Portanto, podemos descartar as alternativas C e E. Lembre-se que a instrução read_lock permite que outras transações apenas leiam o mesmo item de dado e a write_lock impede que qualquer operação de escrita ou leitura possa ser realizada por outra transação sobre um item que esteja bloqueado para escrita. Além disso, a qualquer hora podem ser feitos diversos bloqueios compartilhados (read_lock) simultaneamente (por diferentes transações) sobre um item de dado particular. Já uma solicitação de
Página 122 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
bloqueio exclusivo (write_lock) precisa esperar até que um bloqueio compartilhado termine para ser efetivada. Considere o caso em que estas duas transações são executadas simultaneamente, isto é, as instruções de cada transação podem ser intercaladas. instruções é conhecida como escala de execução.
A atribuição da ordem dessas
Suponha que o sistema de controle de
concorrência tenha gerado a seguinte escala de execução:
T1
T2
read_lock(Y) read_lock(X) read_item(Y) write_lock(X) read_item(X) write_lock(Y) unlock(Y) read_item(X) X := X + Y write_item(X) unlock(X) unlock(X) read_item(Y) Y := Y + X write_item(Y) unlock(Y)
1. a transação T1 requer o bloqueio compartilhado sobre o item de dados Y. Como não há nenhum bloqueio exclusivo sobre este item, o sistema de controle de concorrência concede o bloqueio a T1; 2. a transação T2 requer o bloqueio compartilhado sobre o item de dados X. Como não há nenhum bloqueio exclusivo sobre este item, o sistema de controle de concorrência concede o bloqueio a T2; 3. a transação T1 requer o bloqueio exclusivo sobre o item de dados X. Esta transação precisa esperar até que bloqueio compartilhado sobre X termine para que, somente assim, o bloqueio seja efetivado; 4. a transação T2 requer o bloqueio exclusivo sobre o item de dados Y. Esta transação precisa esperar até que bloqueio compartilhado sobre X termine para que, somente assim, o bloqueio seja efetivado. Podemos observar, neste ponto, que T1 está parada esperando que T2 libere X, e esta também está parada à espera que T1 libere Y. A esta situação de impasse damos o nome de deadlock. Descartamos, assim, a alternativa A. Por m, lembre-se que o protocolo de bloqueio em duas fases garante a serialização de con itos (onde uma sequência de instruções pertencentes a uma única transação aparecem juntas), porém não garante a ausência de deadlocks. Além disso, uma forma de garantir a consistência em execução simultânea (concorrente) é cuidar para que qualquer escala executada seja, de certa forma, equivalente a uma escala serial. Eliminamos, assim, a alternativa D. Portanto, a alternativa
B está correta.
Página 123 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
47.
Volume 06 Edição 1
Assuntos relacionados: Banco de Dados, Triggers, Gatilhos, Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 59 Para os gatilhos (triggers) utilizados em bancos de dados, são feitas as a rmativas a seguir. I - Os triggers podem ser con gurados para disparar antes ou após a execução de uma ação de Update, Delete ou Insert em uma tabela. II - A cláusula When no comando Create Trigger é válida somente para triggers de nível de linha. III - Os chamados triggers autônomos são executados como uma transação autônoma, sendo que as modi cações no banco de dados por eles efetuadas podem ser con rmadas ou revertidas, independente do estado da instrução que desencadeou a chamada do trigger. Está(ão) correta(s) as a rmativas (a). I, apenas. (b). II, apenas. (c). I e II, apenas. (d). II e III, apenas. (e). I, II e III.
Solução: Um gatilho (trigger) é um tipo especial de procedimento armazenado (stored procedure ) que está associado a uma tabela, e é executado pelo sistema de banco de dados automaticamente quando um determinado evento ocorre para a tabela a qual o gatilho está associado. Para um gatilho ser implementado em um banco de dados, duas exigências devem ser satisfeitas: i) especi car as condições sob as quais o gatilho deve ser executado; e ii) especi car as ações que devem ser realizadas quando um gatilho for disparado. Por exemplo, suponha que em vez de permitir saldos negativos em uma conta corrente, o banco crie condições para que a conta seja zerada e o saldo negativo seja transferido para a conta empréstimo de mesmo número que a conta corrente. Neste exemplo, a condição para o disparo do gatilho é o saldo negativo da conta corrente, e a ação a ser realizada é a transferência do saldo negativo para a conta empréstimo. CREATE [DEFINER = {user | CURRENT_USER}] TRIGGER trigger_name trigger_time trigger_event ON table_name FOR EACH ROW trigger_stmt
Tabela 10: exemplo de CREATE TRIGGER em MySQL. Os eventos no banco de dados que ativam um gatilho são os comandos de Linguagem de Manipulação de Dados (DML - Data Manipulation Language ): INSERT, DELETE e UPDATE.
Página 124 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Um gatilho é criado utilizando a função CREATE TRIGGER que especi ca a tabela a qual está associado, a condição para ocorrência do evento e o tipo de ação (nome da função) que será executada com o evento.
A sintaxe da função CREATE TRIGGER no MySQL
e no Postgree é apresentada na Tabela 10 e na Tabela 11, respectivamente.
Note que os
sistemas de bancos de dados possuem seus próprios recursos de gatilho não padronizados. A seguir, explicamos cada um dos parâmetros:
•
DEFINER: cláusula opcional para de nir o usuário para criar o gatilho;
•
trigger_name: de ne o nome do gatilho;
•
trigger_time: de ne se o gatilho será ativado antes (BEFORE) ou depois (AFTER) do comando que o disparou;
•
trigger_event: de ne qual será o evento: INSERT, DELETE ou UPDATE. Podem ser especi cados vários eventos utilizando OR;
•
table_name: nome da tabela cujos eventos podem disparar o gatilho;
•
trigger_stm: uma função fornecida pelo usuário, declarada como não recebendo nenhum argumento e retornando o tipo TRIGGER, que é executada quando o gatilho dispara;
•
FOR EACH ROW / FOR EACH STATEMENT: especi ca se o procedimento do gatilho deve ser disparado uma vez para cada linha afetada pelo evento do gatilho, ou apenas uma vez por comando SQL;
•
arguments: uma lista opcional de argumentos, separados por vírgula, a serem fornecidos para a função quando o gatilho for executado.
O gatilho pode ser especi cado para disparar antes (BEFORE) de realizar uma operação na linha (antes das restrições serem veri cadas e os respectivos comandos de DML serem executados), ou após a operação estar completa (após as restrições serem veri cadas e os respectivos comandos terem completado). Se o gatilho for disparado antes do evento, o gatilho pode fazer com que a operação não seja realizada para a linha corrente, ou pode modi car a linha sendo inserida. Se o gatilho for disparado depois (AFTER) do evento, todas as mudanças, incluindo a última inserção, atualização ou exclusão, estarão visíveis para o gatilho. Um gatilho que está marcado FOR EACH ROW é chamado uma vez para cada linha que a operação modi ca. Diferentemente, um gatilho que está marcado FOR EACH STATEMENT somente executa uma vez para uma determinada operação, não importando quantas linhas foram modi cadas. Em particular, uma operação que não modi ca nenhuma linha ainda assim resulta na execução de todos os gatilhos FOR EACH STATEMENT aplicáveis. CREATE TRIGGER trigger_name {BEFORE | AFTER} {trigger_event [OR...]} ON table_name [ FOR [ EACH ] { ROW | STATEMENT }] EXECUTE PROCEDURE trigger_stm (arguments)
Tabela 11: exemplo de CREATE TRIGGER em Postgree. Os gatilhos são usados com enorme e ciência para impor e manter integridade referencial de baixo nível, e não para retornar resultados de consultas. A principal vantagem é que eles podem conter uma lógica de processamento complexa. Os sistemas de bando de dados possuem algumas restrições em relação aos gatilhos:
Página 125 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
•
Não se pode chamar diretamente um gatilho;
•
Não é permitido iniciar ou nalizar transações em meio a execução de um gatilho;
•
Não se pode criar um gatilho para uma tabela temporária ou para uma visão;
•
Não é possível criar gatilhos para o comando SELECT, pois este comando não modi ca nenhuma linha.
Com base no explicado anteriormente, analisaremos as a rmações da questão: I - Os triggers podem ser con gurados para disparar antes ou após a execução de uma ação de UPDATE, DELETE ou INSERT em uma tabela. Isso é especi cado no comando CREATE TRIGGER com os parâmetros BEFORE ou AFTER, respectivamente. Portanto, a rmativa correta. II - Conforme apresentamos, a cláusula WHEN não está presente no comando CREATE TRIGGER para o MySQL e PostgreeSQL. Entretanto, no Oracle SQL e SQLite é possível utilizar a cláusula WHEN no comando CREATE TRIGGER. Quando a condição da cláusula WHEN é válida, o gatilho é executado para cada linha modi cada, isto é, a execução do gatilho ocorre em nível de linha. Portanto, alternativa correta. III - Os triggers autônomos (autonomous triggers ) estão presentes no sistema de banco de dados Oracle SQL. Diferente dos triggers normalmente existentes nos sistemas de banco de dados, os triggers autônomos são executados como uma transação autônoma. Por meio das transações autônomas, um trigger pode conter comandos de controle de transação como COMMIT e ROLLBACK. Com os comandos COMMIT E ROLLBACK as modi cações no banco de dados efetuadas por um gtilho podem ser con rmadas ou revertidas, independente do estado da instrução que desencadeou a chamada do trigger. Os triggers autônomos também podem executar comandos de Linguagem de De nição de Dados( DDL - Data De nition
Language ). Portanto, a rmativa correta. Todas as a rmativas feitas estão corretas. Logo, a resposta desta questão é a
Página 126 de 136
www.handbookdeti.com.br
letra E.
Handbook de Questões de TI Comentadas para Concursos
48.
Assuntos relacionados:
Volume 06 Edição 1
Banco de Dados, Isolamento entre Transações, Escala de Exe-
cução,
Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas Ano: 2008 Questão: 60
- Infraestrutura
Uma transação em um sistema de banco de dados pode ser descrita como uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. Para o gerenciamento de transações em sistemas de bancos de dados, assinale a a rmação correta. (a). Atomicidade para uma transação signi ca que cada operação de uma transação é re etida na base de dados ou nenhuma operação o é. (b). Um escalonamento é a ordem de execução de várias transações de forma concorrente, mas nunca entrelaçada. (c). Integridade para uma transação signi ca que a execução de uma transação de forma isolada (sem sofrer concorrência de outra transação) preserva a consistência da base de dados. (d). Mesmo após a execução de um comando commit, é possível a uma transação retornar a seu estado inicial com a utilização de rollback. (e). Em transações que ocorrem simultaneamente, não existe qualquer garantia de que os dados lidos em um determinado momento são consistentes, independente do nível de isolamento utilizado.
Solução: Como o enunciado bem mencionou, uma transação em um sistema de banco de dados pode ser descrita como uma unidade de execução de programa que acessa e, possivelmente, atualiza vários itens de dados. As quatro propriedades fundamentais das transações, usualmente conhecidas como ACID, são as seguintes:
• atomicidade:
o conjunto de operações de uma transação é indivisível, de modo que só
faz sentido se for executado por completo. Ou seja, para que a transação faça sentido, todas as operações que a compõe devem ser executadas;
• consistência:
cada transação deve levar o banco de dados de um estado consistente
para outro estado também consistente;
• isolamento:
a execução de uma transação não deve ser prejudicada pela execução de
outras transações que sejam executadas de forma concorrente;
• durabilidade:
as alterações realizadas por uma transação con rmada devem persistir
no banco de dados. Com base no princípio de Atomicidade (que vem de atômico, ou seja, indivisível) apresentado, podemos a rmar que a alternativa A está correta. Portanto, ela é a resposta da questão. Na alternativa B, é abordado o conceito de escala (ou escalonamento) de execução de transações.
Quando várias transações são executadas de forma concorrente, as operações
de cada transação podem ser intercaladas. Portanto, a alternativa B está errada. A ordem de execução das operações das múltiplas transações que executam de forma concorrente é
Página 127 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
chamada escala de execução. É responsabilidade do SGDB escolher uma escala de execução que deixe o banco de dados em estado consistente. A a rmativa trazida na alternativa C, diz respeito a propriedade Consistência.
Repare
que no início da a rmativa é citado o termo Integridade, que não é uma das propriedades das transações.
Ao m, o elaborador da questão tenta confundir o candidato usando o
termo Consistência, que por sua vez é uma das propriedades da questão. De todo modo, a a rmativa está errada. A alternativa D está errada pois o comando COMMIT é utilizado justamente para con rmar as operações realizadas pela transação. Após a sua utilização, a transação está concluída, não sendo mais possível levar a transação ao seu estado inicial. Já a alternativa E trata do conceito de níveis de isolamento na execução de transações. Como vimos, o isolamento diz respeito a interferência das transações entre si quando são executadas de forma concorrente.
Para lidar com essa propriedade, o padrão SQL de ne
quatro níveis de isolamento que podem ser implementados pelos SGBDs em termos de três fenômenos que devem ser evitados entre transações concorrentes.
Os fenômenos são os
seguintes:
• leitura suja (dirty read):
uma transação lê valores que foram escritos por outra
transação ainda não con rmada;
• leitura não-repetitiva (nonrepeatable read):
uma transação lê o valor de um
mesmo objeto mais que uma vez e encontra valores diferentes nas leituras realizadas;
• leitura fantasma (phantom read):
caso uma consulta seja realizada mais que uma
vez, e em cada execução, sejam retornados resultados com conjuntos diferentes de registros, modi cados por outras transações. Para lidar com estes fenômenos, os quatro níveis de isolamento estabelecem políticas que, quanto mais abertas, mais estimulam a concorrência, tornando a ocorrência destes fenômenos mais provável. Os níveis com políticas mais restritivas evitam a ocorrência desses fenômenos, porém tornam a execução mais lenta.
Nível de Isolamento Dirty Read Nonrepeatable Read Phantom Read Read uncommitted
Possível
Possível
Possível
Read committed
Impossível
Possível
Possível
Repeatable read
Impossível
Impossível
Possível
Serializable
Impossível
Impossível
Impossível
Tabela 12: níveis de isolamento de transações. A Tabela 12 mostra os quatro níveis e suas respectivas susceptibilidades aos fenômenos. Com isso, a alternativa E está errada, já que a consistência dos dados lidos em um cenário de execução concorrente de transações depende do nível de isolamento empregado.
Página 128 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
49.
Volume 06 Edição 1
Assuntos relacionados: Linguagens de Programação, Java, Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 62 Considere o programa em Java abaixo.
import java.io.*; class ClassX { private int size; private int[] arrayX; private int x; public ClassX(int s) { size = s; arrayX = new int[s]; x = -1; } public void Met1(int p) { arrayX[++x] = p; } public int Met2() { return arrayX[x ]; } public int Met3() { return arrayX[x]; } public boolean Met4() { return (x == -1); } } class Algoritmo { static int theN; static int theA; static ClassX theS; public static void main(String[] args) throws IOException { System.out.print( Forneça um valor: ); theN = getInt(); MetX(); System.out.print( Resultado : + theA); } public static int getInt() throws IOException { InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); String s = br.readLine(); return Integer.parseInt(s); } public static void MetX(){
Página 129 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
}
}
Volume 06 Edição 1
theS = new ClassX(1000); theA = 0; while (theN > 0){ theS.Met1(theN); theN; } while (!theS.Met4()){ int newN = theS.Met2(); theA += newN; }
Se o programa for executado recebendo como parâmetro o valor 4, em Forneça um valor: , o valor armazenado na variável theA e apresentado em System.out.print( Resultado : + theA); será (a). 10 (b). 12 (c). 14 (d). 16 (e). 18
Solução: O programa Java acima possui duas classes (ClassX e Algoritmo ). A classe ClassX tem três atributos (size, arrayX e x ) que usam o operador de acesso private. A variável size e
x são do tipo inteiro e a variável arrayX é um vetor do tipo inteiro. Além disso, a classe ClassX possui 4 métodos que são:
• public void Met1(int p):
este método atribui o valor do parâmetro p na posição x
do arrayX. A variável x é incrementada a cada chamada do método Met1() ;
• public int Met2():
este método retorna o valor da posição x do arrayX. A variável x
é decrementada a cada chamada do método Met2() ;
• public int Met3():
método de nido mas não utilizado;
• public boolean Met4():
veri ca se o atributo x da classe ClassX é igual a -1.
A classe Algoritmo tem três atributos (theN, theA e theS ) que usam o operador de acesso
static. A variável theN e theA são do tipo inteiro e a variável theS é do tipo da classe ClassX. Além disso, a classe ClassX possui 3 métodos que são:
• public static int getInt():
este método retorna um valor inteiro lido do teclado;
• public static void MetX():
este método possui dois laços de repetição. Um laço faz
atribuições ao vetor arrayX do objeto theS da classe ClassX. Os valores atribuído ao
arrayX são passados um por um como parâmetro para o método Met1(). O segundo laço faz um somatório dos valores atribuídos ao vetor arrayX do objeto theS da classe
ClassX. Além disso, inicializa a variável theA com o valor 0;
• public static void main(String[] args):
o método main não opera sobre quaisquer
objetos. Na verdade, quando um programa se inicia, não há qualquer objeto ainda. O método main estático é executado e constrói os objetos de que o programa precisa.
Página 130 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
O construtor da classe ClassX inicializa seus atributos como os seguintes valores:
•
size : recebe o valor passado como parâmetro para o construtor (neste programa, quando o construtor é chamado, é passado o valor 1000 como parâmetro);
•
arrayX = new int[s] : o vetor é instanciado e seu tamanho é de nido pelo parâmetro passado para o construtor (neste caso, o valor 1000);
•
x = -1 : o atributo x é inicializado com o valor -1.
Como pode ser observado, as variáveis e os métodos da classe Algoritmo estão de nidos como static, a seguir vamos dar uma breve descrição sobre o operador static.
Quando se
de ne um atributo como static, isso implica que só haverá um atributo desses para todos os objetos da classe. Em contraste com atributos não static, cada objeto tem sua própria cópia de todos os atributos de instâncias. Ou seja, o atributo é compartilhado entre todas as instâncias da classe. Além disso, mesmo se não houver qualquer objeto da classe, o atributo estático está presente. Ele pertence à classe, não a qualquer objeto individual. Ao executar o programa, o método main é chamado, nele é executado a linha de comando
theN = getInt(). Como enunciado, o método retorna o valor digitado e é atribuído o valor 4 a variável theN. Depois, é chamado a método MetX() que executa dois laços de repetição como descrito acima.
•
O primeiro laço executado pelo método MetX() atualizou os atributos como a seguir:
•
arrayX[0] = 4, x = 0 e theN = 4; arrayX[1] = 3, x = 1 e theN = 3; arrayX[2] = 2, x = 2 e theN = 2; arrayX[3] = 1, x = 3 e theN = 1; theN = 0;
O segundo laço executado pelo método MetX() atualizou os atributos como a seguir:
theA = 1; theA = 3; theA = 6; theA = 10.
Concluindo, o valor apresentado em System.out.print( Resultado : Portanto, a alternativa
A está correta.
Página 131 de 136
www.handbookdeti.com.br
+ theA) será 10.
Handbook de Questões de TI Comentadas para Concursos
50.
Assuntos relacionados: J2EE, Java Transaction Banca: Cesgranrio Instituição: Petrobras Cargo: Analista de Sistemas - Infraestrutura Ano: 2008 Questão: 63
Volume 06 Edição 1
API (JTA), MVC,
A aplicação do padrão MVC (Model-View-Controller ) no desenvolvimento de aplicações Web J2EE permite dividir a aplicação em camadas e resolver uma série de problemas. Sobre os recursos da arquitetura J2EE e o desenvolvimento de aplicações J2EE utilizando o MVC, são feitas as a rmativas abaixo. I - Uma possível estratégia no desenvolvimento de um site Web seria utilizar páginas JSP para construir a camada View, Servlets para a camada Controller e EJBs para a camada Model. II - A API JTA do J2EE permite aos clientes de EJB obter um contexto inicial a partir do qual é possível recuperar o objeto Home de um EJB. III - Na demarcação de transação gerenciada pelo container, se o atributo transacional associado ao método de um EJB for de nido como Required, o container sempre criará uma nova transação a cada chamada do método. Está(ão) correta(s) a(s) a rmativa(s) (a). I, apenas. (b). II, apenas. (c). III, apenas. (d). I e II, apenas. (e). I, II e III.
Solução: Abordaremos cada item.
Sobre o Item I A plataforma J2EE (Java 2 Platform, Enterprise Edition ) é uma solução baseada em componentes para projeto, desenvolvimento, montagem e disponibilização de aplicações distribuídas em ambientes corporativos. Tipicamente, as aplicações J2EE são divididas em 3 camadas:
•
Cliente;
•
Web;
•
Negócios;
A Figura 7 exempli ca a arquitetura J2EE. A partir da Figura 7, identi camos a existência de containers, que são ambientes que fornecem um conjunto de serviços para os componentes apropriados (Apache Tomcat é um tipo de container).
Página 132 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
Figura 7: arquitetura J2EE. Podemos observar, também, a existência de dois tipos de clientes:
•
Cliente Web:
páginas Web dinamicamente geradas por componentes Web (JSP ou
Servlets) e que são exibidas no browser;
•
Cliente Aplicação: permite que o usuário interaja com o servidor da aplicação através de interfaces mais complexas, geralmente através de APIs.
Já do lado servidor, encontramos dois containers:
•
Container EJB (Enterprise Java Beans ) que implementa toda a lógica do negócio, isto é, encapsula o código (com classes, métodos e atributos) que realiza o propósito da aplicação;
•
Container WEB que contém:
Servlets:
classes que processam dinamicamente as requisições e constroem re-
spostas na forma de páginas HTML;
Páginas JSP (Java Server Pages ): permitem a mistura de páginas HTML, estáticas, com conteúdos gerados dinamicamente pelos Servlets.
Note que os Servlets atuam como uma camada intermediária entre a requisição proveniente do Web browser (ou outro cliente http) e o banco de dados (ou aplicação no servidor http). É importante mencionar que, quando uma página JSP é requisitada pela primeira vez, o container a compila gerando um Servlet. Nas chamadas sucessivas essa etapa não é mais necessária (a não ser que a JSP tenha sido modi cada). Portanto, as páginas JSP são, em última instância, processadas como Servlets. Após esta breve revisão sobre J2EE, relembremos o signi cado do padrão MVC. MVC é um padrão de arquitetura de software utilizado para separar dados ou lógica de negócios (Model) da interface do usuário (View) e do uxo da aplicação (Control). Sua ideia central é permitir que uma mesma lógica de negócio possa ser acessada e visualizada através de várias interfaces. Outro benefício considerável dessa abordagem é que alterações feitas no layout não afetam a manipulação de dados. A partir do que foi exposto acima, conseguimos identi car que a página JSP (mistura de HTML com Servlet), representa a camada View, uma vez que compõe a interface com o usuário. O Servlet representa a camada Control, pois atua como uma camada intermediária
Página 133 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
entre o Web browser e o EJB. Por m, o EJB representada a camada Model, já que implementa toda a lógica do negócio. Portanto, o item I está correto.
Sobre o Item II JTA (abreviação de Java Transaction API ) é uma especi cação feita pela Sun Microsystems (criadora do Java) visando padronizar o uso de transações distribuídas feitas por aplicativos Java. Basicamente, isso signi ca que ela pode ser usada para fazer commit, rollback ou criar transações, ao invés de usar transações diretamente pelo driver JDBC. A principal vantagem que o uso de JTA acarreta, contudo, é a possibilidade de executar transações globais (unidades lógicas de trabalho que seguem 4 princípios fundamentais: atomicidade, consistência, isolamento e durabilidade). JTA de ne somente as interfaces que um aplicativo deve chamar para fazer uso de transações distribuídas, mas deve ser implementada por algum serviço que implemente essa API. Praticamente todo application server, atualmente, tem uma implementação dessas, que é normalmente chamada de Transaction Manager. Na plataforma J2EE, é a JNDI (Java Naming and Directory Interface ) que fornece uma interface padrão para localização de usuários, máquinas, redes, objetos e serviços, permitindo aos clientes a obtenção do contexto inicial de um objeto a partir do nome do componente. Portanto o item II está errado.
Sobre o Item III A grande vantagem da gerência transacional em J2EE é que ela esconde os detalhes de baixo-nível, assim, o desenvolvedor pode assumir que qualquer recurso transacional será adequadamente tratado pela plataforma, usando, para tanto, demarcações transacionais declarativas (também chamadas de implícitas) ou usando demarcações transacionais programáticas (também chamada de explícitas). Uma demarcação transacional é basicamente a de nição do ponto onde ela se inicia (usa-se o comando Begin ) e o ponto onde ela termina (usa-se o comando Commit ). Em J2EE as transações podem ser demarcadas de três maneiras:
•
Declarativa (CMT - Container-Managed Transactions ): o container manipula a demarcação transacional;
•
Programática (BMT - Bean Managed Transactions ): os EJBs manipulam a demarcação transacional;
•
Iniciada pelo cliente: código cliente manipula a demarcação transacional (ex. cliente WEB).
Portanto, estamos diante de uma transação declarativa (gerenciada pelo container), a qual possui os seguintes atributos transacionais (o atributo especi ca como o componente irá reagir quando o seu método for chamado por um cliente dentro ou fora do contexto de uma transação):
•
Required : indica que o escopo de uma transação é requerido pelo método. Se não existe transação, uma nova é criada e dura até que o método termine (é propagada para todos
Página 134 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Volume 06 Edição 1
os métodos chamados). Caso já exista uma transação iniciada pelo cliente, o bean é incluído no seu escopo durante a chamada do método (já podemos eliminar o item III);
•
Supports : indica que o método suporta transações. Será incluído no escopo da transação do cliente se existir. Se ele for chamado fora do escopo de uma transação ele realizará suas tarefas sem transações e pode chamar objetos que não suportam transações;
•
RequiresNew : indica que o método requer uma nova transação.
Estando ou não o
cliente no escopo de uma transação, o bean irá iniciar uma nova transação que iniciará e terminará no bean;
•
NotSupported : indica que o método não suporta transações. Se o método for chamado pelo cliente no escopo de uma transação, a mesma será suspensa enquanto durar a chamada do método (não haverá propagação de transações do cliente);
•
Mandatory : indica que o método só pode ser chamado no escopo de uma transação do cliente;
•
Never : indica que o método nunca pode estar dentro de uma transação. Se o cliente que chama o método for parte de uma transação, o bean irá provocar um RemoteException (ou EJBException em clientes locais).
Logo, a alternativa
A está correta.
Página 135 de 136
www.handbookdeti.com.br
Handbook de Questões de TI Comentadas para Concursos
Questao 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
Página 136 de 136
Volume 06 Edição 1
Resposta E B B E B C E B E C C B C A E E D A C E C E B B C A B D A C C E B D A C B C D E A A A E D B E A A A
Handbook de TI
Além do Gabarito
Índice Remissivo Gerenciamento de Nível de Serviço, 28 Gerenciamento de Problemas, 28, 32 Gerenciamento de Tempo, 118 3DES, 115
Governança de TI, 28
Active Directory (AD), 23
Heap, 4
Algoritmos de Criptogra a, 115
HTTP, 84, 91
Alta Disponibilidade, 18 Ameaça, 37
ICP Brasil, 109
Análise de Riscos, 37
IEEE 802.1Q, 81
Apache, 91
Infraestrutura de Chaves Públicas (ICP), 109
Arquitetura CISC, 72
Inter-Switch Link (ISL), 81
Arquitetura de Computadores, 16, 64, 75, 117
Internet Information Services (IIS), 99
Arquitetura de Processadores, 72
IP Spamming, 70
Arquitetura RISC, 72
IPSec, 88
Assinatura Digital, 66
IPv4, 14
Autenticação Forte, 22
Isolamento entre Transações, 127
Avaliação de Desempenho Computacional, 16
ITIL, 28, 32
Banco de Dados, 44, 59, 122, 124, 127
J2EE, 4, 132 Java, 4, 10, 129
Certi cado Digital, 41 Comando bind, 48 Comando dhcpd, 48 Comando ifcon g, 48 Comando netstat, 48 Comando wc, 48 Comandos UNIX, 10, 48, 68 Concorrência entre Transações, 122 Consulta SQL, 59 Criptogra a, 66, 109 Cron, 68 Cycle-scavenging, 83 Cycle-stealing, 83 DDoS, 112 DNS, 8 DRDoS, 112 Endereçamento de Memória, 72 Escala de Execução, 127 Firewall, 112 Função Hash, 115
Java Transaction API (JTA), 132 LDAP, 88 Linguagens de Programação, 129 Linux, 6, 54, 68, 91, 96 LPAR, 79 Máquina Virtual, 10, 79 Máquina Virtual Java (JVM), 4, 10 MAC Flooding, 70 MD5, 115 Memória Principal, 117 Memória Virtual, 75 Microsoft Windows 2003, 23, 99, 104 MVC, 132 Network File System (NFS), 51, 94 NTFS, 104 Permissões de Compartilhamento, 104 Pipelining, 72 Protocolo ARP, 61 Protocolo DHCP, 57 Protocolo RTP, 35
Gatilhos, 124
Protocolo SIP, 20
Gerência de Projeto, 118
Protocolo TCP, 86, 112
Gerenciamento de Capacidade, 32
Protocolos de Rede, 8, 14, 20, 35, 81, 84
Gerenciamento de Custos, 118
Public Key Cryptography Standards (PKCS),
Gerenciamento de Disponibilidade, 28, 32 Gerenciamento de Incidentes, 28, 32 Gerenciamento de Mudanças, 28
41 RAID, 18, 44 137 RC4, 115
Handbook de QuestĂľes de TI Comentadas para Concursos
Redes de Computadores, 8, 14, 35, 51, 57, 61, 84, 88, 94 Rootkits, 39 Scamming, 70 Segurança da Informação, 22, 37, 39, 41, 66, 70, 109, 112 Serviços de Rede, 8 Servidor de Aplicaçþes, 4 Servidores Web, 91 SHA-1, 115 Shell, 6 Shell Script, 54, 96 Sistemas de Arquivos, 44 Sistemas DistribuĂdos, 83 Sistemas Operacionais, 6, 10, 23, 54, 68, 83, 96, 99, 104 Smurf, 70 Sni er, 61 Soluçþes de Armazenamento, 18 SQL, 59 SSH, 88 SSL, 84 Tar, 68 TCP/IP, 57, 88 Three-Way Handshake, 112 Throughput de Processamento, 16 Tipos de MemĂłria, 75 Triggers, 124 Virtual Local Area Network (VLAN), 81 Virtualização, 10, 64, 79 Vulnerabilidade, 37
PĂĄgina 138 de 136
www.handbookdeti.com.br
Volume 06 Edição 1