Baixe o app para aproveitar ainda mais
Prévia do material em texto
SISTEMAS DE ARQUIVOS DISTRIBUIDOS De modo geral, os sistemas distribuídos apresenta a ideia de compartilhamento de recursos computacionais como um dos seus principais objetivos; Ao aproveitar o ambiente físico e lógico existente, surge também a possibilidade de compartilhar informações através do acesso aos dados remotamente armazenados. Isso é possível com o uso de sistemas de arquivos distribuídos (DFS); Um sistema de arquivos distribuídos é transparente aos usuários e se comporta como uma extensão do sistema de arquivos local; A configuração de um sistema de arquivos distribuídos varia de acordo com a arquitetura utilizada e com o modelo de acesso aos arquivos remotos. SISTEMAS DE ARQUIVOS DISTRIBUIDOS CLIENTE/ SERVIDOR Sistemas de arquivos que respeitam as propriedades da arquitetura de mesmo nome (centralizada); Existe a presença de um servidor responsável por manter os arquivos e por receber requisições de um ou mais clientes; Os clientes, por sua vez, devem ser configurados de forma a possuir um diretório local ao qual será montado o sistema de arquivos remoto; A configuração do par cliente/ servidor envolve ainda as especificações de segurança, tais como controle de acesso e de permissões de leitura e escrita; Os sistemas de arquivos mais amplamente utilizados são: o NETWORK FILE SYSTEM (NFS): UNIX; o MICROSOFT ACTIVE DIRECTORY: WINDOWS; o SAMBA: INTER PLATAFORMA. EXEMPLO: CLIENTE CAMADA DE CHAMADA DE SISTEMA CAMADA DE CHAMADA DE ARQUIVO VIRTUAL (VFS) INTERFACE DE SISTEMA DE ARQUIVO LOCAL INTERFACE DE SISTEMA DE ARQUIVO LOCAL APÊNDICE DE CLIENTE RPC SERVIDOR CAMADA DE CHAMADA DE SISTEMA CAMADA DE CHAMADA DE ARQUIVO VIRTUAL (VFS) SERVIDOR NFS INTERFACE DE SISTEMA DE ARQUIVO LOCAL APÊNDICE DE SERVIDOR RPC CHAMADA RPC BARRAMENTO DE RPC MODELOS DE ACESSO EM DFSs BASEADOS EM CLIENTE/ SERVIDOR O modelo de acesso aos arquivos remotos impacta diretamente no tráfego de rede e no tratamento de acesso concorrente. São eles: o Modelo de acesso remoto: Modelo no qual o arquivo é acessado pelo cliente diretamente no servidor. Com isso, não há a necessidade de transportar o arquivo para o cliente. No entanto, o servidor deve implementar um controle de concorrência sobre os arquivos compartilhados. Exemplo: Modelo de carga/ atualização: Modelo no qual o arquivo, mediante solicitação, é carregado (transferido) para o cliente. Após o fim do uso, o arquivo é enviado de volta ao servidor, atualizando a cópia de segurança mantida por ele. O controle de concorrência é simplificado, uma vez que a “ausência” do arquivo no servidor indica que o mesmo se encontra em seção crítica. Exemplo: CLIENTE SERVIDOR ARQUIVO REQUISIÇÕES DO CLIENTE PARA O ARQUIVO REMOTO ARQUIVO PERMANECE NO SERVIDOR CLIENTE SERVIDOR ARQUIVO ANTIGO ARQUIVO NOVO ARQUIVO OS ACESSOS SÃO FEITOS NO CLIENTE ARQUIVOS ENVIADOS DE VOLTA PARA O SERVIDOR ARQUIVO TRANSFERIDO PARA O CLIENTE SISTEMAS DE ARQUIVOS DISTRIBUÍDOS BASEADOS EM CLUSTERS Considerando que clusters de computadores são geralmente usados por aplicações paralelas em situações de alto desempenho, torna-se realmente a fragmentação de arquivos em “tiras” para que possam ser processados por tarefas paralelas; Nestes casos, o sistema de arquivos distribuídos é composto por partes dos discos locais dos recursos que compõem o cluster; A distribuição e o acesso aos dados são feitos de forma a otimizar o princípio da localidade dos dados. Exemplo: Segurança da informação com foco em sistemas distribuídos Em virtude de algumas características dos sistemas distribuídos, tais como armazenamento e acesso remoto, compartilhamento de dados e recursos, heterogeneidade, entre outros, há uma preocupação significativa com a segurança das informações e dos recursos; A segurança da informação determina que uma serie de aspectos devem ser preservados, com o objetivo de manter qualquer sistema minimamente seguro. São eles: o Confiabilidade: Envolve a especificação de níveis de acesso às informações e aos recursos de um sistema. Isto é, uma informação deve ter seu acesso permitido para um grupo de usuários e bloqueado para outros; CLUSTER SISTEMA DE ARQUIVO DISTRIBUIDO A1 , B1, C1, D1 A2 , B2, C2, D2 A3 , B3, C3, D3 A4 , B4, C4, D4 A5 , B5, C5, D5 o Disponibilidade: Determina que uma informação ou o que dá suporte a ela devem estar disponíveis quando forem necessários para uma tomada de decisão; o Integridade: Aspecto que determina que uma informação deve estar correta, ser verdadeira e não estar corrompida. O conjunto formado pelos três aspectos principais é suportado por outros quatro: ANTECIAÇÃO, NÃO REPÚDIO (NÃO SER CAPAZ DE NEGAR A AUTORIA DE UMA AÇÃO), LEGALIDADE e AUDITABILIDADE; Para garantir que tais aspectos sejam aplicados na pratica em sistemas operacionais, foram desenvolvidos um conjunto de algoritmos e ferramentas de proteção baseados em duas técnicas fundamentais de segurança da informação ESTEGANOGRAFIA e CRIPTOGRAFIA. ESTEGANOGRAFIA: Técnica, ciência ou arte de promover a segurança da informação através da sua ocultação. É um recurso de origem milenar que considera que o desconhecido não gera interesse; A estenografia está presente na computação em varias situações, tais como em redes privadas, conexões sem fio, informações multimídia, entre outros; O uso da estenográfica de forma singular, no entanto, pode causar falhas de segurança caso a informação seja descoberta, uma vez que a mesma pode ser recuperada e lida sem nenhum recurso adicional. AMEAÇAS / ATAQUES o PESSOAS; o FALHA DE REDE; o NEGAÇÃO DE SERVIÇOS (ATAQUE CAUSADO POR MUITAS REQUISIÇÕES DE SERVIÇOS A PONTO DE TORNA-LO INDISPONIVEL); MEDIDAS DE SEGURANÇA 1. PESSOAS (MELHOR CRITÉRIO DE CONSTRUÇÃO / TRATAMENTO); 2. REDE (REDUNDÂNCIA); 3. NEGAÇÃO DE SERVIÇOS (IDS – SISTEMA DE DETECÇÃO DE INSTRUSÃO) 4. LIVRO DOS CÓDIGOS – SIMON ZONA DESMILITARIZADA CRIPTOGRAFIA: Técnica, ciência ou arte de escrever informações em códigos. Assim como a esteganografia, é de origem milenar e sofreu avanços significativos com o desenvolvimento tecnológico. Os algoritmos de criptografia são classificados de acordo com o/a: o Operações realizadas sobre o texto: substituição e/ou transposição; o Modo de processamento da mensagem: bloco ou fluxo; o Quantidade de chaves de criptografia: simétrico, assimétrico ou Hash. 1. Classificação dos algoritmos de criptografia em função do texto: CRIPTOGRAFIA POR SUBSTITUIÇÃO: É a troca dos símbolos de uma mensagem por outros, de acordo com um determinado. EXEMPLO: MENSAGEM DE ENTRADA: CIFRA CHAVE NÚMERICA: 3 MENSAGEM CODIFICADA: FLIUD INVERSA DA CHAVE (-3): CIFRA CRIPTOGRAFIA POR TRASPOSIÇÃO: Envolve a permutação dos símbolos da mensagem deentrada (ANAGRAMA), de acordo com um padrão. EXEMPLO: RAILFENCE MENSAGEM DE ENTRADA: CRIPTOGRAFIA, CHAVE = 2 C I T G A I R P O R F A ->>> CITGAI RPORFA, A INVERSA = CRIPTOGRAFIA 2. Classificação dos algoritmos de criptografia em função do processamento da mensagem de entrada: Algoritmo de bloco: A mensagem de entrada é fragmentada em blocos (partes) de tamanhos iguais que são processados separadamente; Algoritmo de fluxo: A mensagem de entrada é processada como fluxo único e contínuo de símbolos. VANTAGEM DESVANTAGEM BLOCO DESEMPENHO DO PROCESSAMENTO CIFRA MAIS FRACA FLUXO CIFRA MAIS FORTE DESEMPENHO INFERIOR À CIFRA DE BLOCO 3. Classificação dos algoritmos de criptografia em função da quantidade de chaves: Algoritmos simétricos: Algoritmos que utilizam somente uma chave tanto para codificar quanto para decodificar uma mensagem. Existe a necessidade de combinar previamente a chave usada entre a origem e o destino. Exemplos: DES, 3DES, AES, RC4. Algoritmos assimétricos: São algoritmos que utilizam duas chaves distintas matematicamente relacionadas, sendo uma usada para codificar e a outra para decodificar uma mensagem. Estes algoritmos também são chamados de algoritmos de infraestrutura de chave pública e não necessitam de combinação prévia das chaves. Exemplo: RSA e suas variações. Exemplos de uso de algoritmos de chaves assimétricas: o Comunicação segura fim a fim: USR. A MENSAGEM ORIGINAL + CHAVE PÚBLICA DO USR.B RSA MENSAGEM CIFRADA USR. B MENSAGEM CIFRADA + CHAVE PRIVADA DO USR.B RSA MENSAGEM ORIGINAL o Assinatura (certificação) digital: Algoritmo de Hash: São algoritmos que não utilizam chaves criptográficas. Em função desta característica, eles devem apresentar as seguintes propriedades: o Resistência forte a colisões: Uma mesma função de hash não deve zerar dois resultados (cifras) iguais para duas mensagens de entrada diferentes; o Unidirecionalidade: Uma mensagem gerada por uma função de hash não pode ser recuperada na forma da mensagem original; o Uma mesma mensagem de entrada sempre gera o mesmo hash de saída, quando a mesma função é usada; o Uma mesma função de hash sempre gera saídas de mesmo tamanho, independente do tamanho da mensagem de entrada. Exemplos: MD4,MD5, SHA1, SHA2/256, SHA2/512. Exemplos de uso de algoritmos de criptografia com o algoritmo RSA: 1. Escolher dois números primos p e q; 2. Calcular N = p x q; 3. Calcular Ф (N) = (p-1) * (q-1) ; 4. Escolher E tal que 1<E<Ф(N) e que E e N sejam coprimos; 5. Calcular D tal que (D*E)%Ф(N) = 1 Observação: Coprimos é o conjunto de números onde o único divisor comum é 1. USR. A MENSAGEM ORIGINAL + CHAVE PRIVADA DO USR.A RSA MENSAGEM CIFRADA “ASSINADA” USR. B MENSAGEM DE ASSINATURA + CHAVE PÚBLICA DO USR.A RSA MENSAGEM ORIGINAL Exemplo: p = 3, q = 11 N = 3 x 11 = 33 Ф(N) = (p -1)*(q-1) = 20 E =7 ----->>> 1<7<20 D = 3 ----->>> (3*7)%20 = 1 CHAVE PÚBLICA: (E, N) = (7,33) CHAVE PRIVADA: (D, N) = (3, 33) PARA ENCRIPTAR: n = 2 c = %N = %33 = 29 PARA DECRIPTAR: c = 29 n = %N = %33 = 2 Utilizando os conceitos de segurança em arquivos distribuídos Confiabilidade: Restringindo acessos; Não repúdio: Com a utilização de Log’s/ assinatura digital; Comunicação simétrica e assimétrica: acessar arquivos remotamente; Criptografia simétrica e assimétrica: para codificar/ decodificar os arquivos; Entre outras. VIRTUALIZAÇÃO É um dos conceitos mais antigos de computação em emular os recursos (ou funcionalidades) de um dispositivo sobre um outro; Observação: Por definição, um simulador é um sistema computacional que tem como objetivo imitar o comportamento de determinado evento. Um evento pode ser imitado para efeitos de entretenimento (um jogo de corrida por exemplo), para verificar variáveis do evento em um ambiente controlado (um simulador de testes de aviação, p.ex.) ou para verificar o comportamento de variáveis do evento sob determinadas condições (por exemplo, simulações do clima para os próximos 100 anos). Já um emulador é um sistema computacional que tem como objetivo imitar o comportamento de um conjunto de hardware. Por exemplo, um emulador de videogame tem como principio imitar os recursos do console em questão em um outro ambiente. Na literatura atual, o sistema virtualizado é chamado de convidado, enquanto o sistema que o suporta é denominado hospedeiro; São vários os exemplos de virtualização. Dentre eles, merecem destaque: o Memória virtual (como o SWAP); o Redes virtuais; o Virtualização de sistemas completos; o Processamento virtual. No contexto dos sistemas distribuídos, a virtualização se tornou importante por proporcionar as seguintes vantagens: o Segurança (VPNs); o Tolerância a falhas; o Rápida atuação e ativação dos serviços; o Elasticidade: Adição ou remoção de recursos sob demanda; o Escalabilidade: Adicionar ou remover recursos sem demanda. Embora o uso de virtualização proporcione tais vantagens, o seu emprego deve ser feito com cautela em função da análise das aplicações que farão uso dela. o Exemplos de aplicações que podem sofrer degradação com o uso de virtualização: Aplicações de alto desempenho; Aplicações intensivas de dados (I/O intensivas). Existem três estratégias de virtualização com características peculiares. São eles: o Virtualização total: Estratégia que faz uso de uma camada de virtualização que é totalmente independente do sistema hospedeiro e sobre a qual executam os sistemas convidados. É através de tal camada que são feitas as chamadas ao sistema operacional e ao hardware físico. Exemplo: Virtual Box, Kum, vmhare. o Paravirtualização: Estratégia de virtualização que também possui uma camada responsável por permitir a interação entre os sistemas convidados e o sistema hospedeiro. Neste caso, no entanto, há a necessidade de reconfiguração do núcleo do sistema operacional hospedeiro, com o objetivo de otimizar o acesso aos dispositivos físicos por parte dos sistemas convidados. Camada de virtualização Hardware + SO SISTEMAS CONVIDADOS SISTEMAS HOSPEDEIRO Apresentam comportamento semelhante ao MIDLEWARE Exemplo: Xen. o Virtualização assistida por hardware: Estratégia que não possui uma camada de virtualização no chipset dos processamentos. Tais tecnologias permitem que os sistemas convidados “convivam” no mesmo nível do sistema hospedeiro, compartilhando e acessando diretamente os recursos físicos. Neste modelo o acesso é feito diretamente pelo processador. Exemplos: LXC(Linux container), BAREVZ. SO HARDWARE SISTEMAS CONVIDADOS Camada de virtualização SISTEMAS HOSPEDEIRO Modificação do kernel hospedeiro Containers Sistema hospedeiro Sistemas convidados COMPUTAÇÃO EM NUVEM Origem e motivação: o Modelos similares ao de computação em nuvem surgiram no início da década de 1990, em decorrência da difusão da internet para o uso público em geral. Um exemplo, eram os serviços de hospedagem de páginas web; o Na primeira metade da década de 2000, a Amazon e, posteriormente o Google cunharam o termo “computação em nuvem”como um modelo de negócios para o fornecimento de serviços de TI; o A partir de então, pesquisas em diversas áreas como virtualização, escalonamento, segurança, dentre outras, com o objetivo de difundir o uso do modelo. Expansão, tecnologias e modelos de serviços: o É comum vincular a computação em nuvem com a virtualização. No entanto, tal dependência não existe. As técnicas de virtualização contribuem de fato com o fornecimento dos serviços de nuvens, mas a sua ausência não o inviabiliza; o É possível afirmar que um dos grandes objetivos dos fornecedores de serviço de nuvem ainda não foi atingido. Isso se deve ao fato da tarifação, que é vendida como um serviço de utilidade (energia, água, entre outros), não é respeitada. o Os principais tipos de serviços disponibilizados pelos fornecedores são: ISSAS(Infrastructure as a service): Serviço através do qual são disponibilizados recursos reais ou virtuais, com configurações variadas, e que oferecem total liberdade de configuração aos usuários; PAAS(Platform as a service): Serviço através do qual são oferecidas plataformas (conjunto de softwares + hardware real ou virtual) aos usuários; SAAS(Software as a service): Serviços através do qual são disponibilizados as aplicações que visam atender demandas específica do usuário. Observação: Todos os três modelos de serviço partem da premissa de que os serviços são acessados de forma transparente pelos usuários, através de Internet/ Intranet, de acordo com as propriedades de sistemas distribuídos. Modelos de Nuvem o Nuvem pública: Modelo pelo qual são disponibilizados serviços acessados mediante tarifação prevista em contato; o Nuvem privada: Modelo de nuvem restrito ao contexto de uma organização, com o objetivo de centralizar a gerência da infraestrutura e de sistemas; o Nuvem comunitária: Modelo de nuvem adotado por instituições que sejam coopera entre si. Cada uma mantém a própria infraestrutura, mas todas podem ser utilizadas de forma conjunta. o Observação: A junção dos modelos de nuvem pública e privada gera o que chamamos de nuvem hibrida.
Compartilhar