O impacto da linguagem XML no cotidiano dos
Transcrição
O impacto da linguagem XML no cotidiano dos
O impacto da linguagem XML no cotidiano dos administradores de redes de computadores Romildo Martins da Silva Bezerra1 1 Mestrado em Redes de Computadores (UNIFACS) [email protected] Resumo. As diversas vantagens da utilização da linguagem XML são pontos positivos para sua adoção pelas empresas. Por outro lado, a XML está impondo mudanças na infra-estrutura dos departamentos de TI, onde os efeitos colaterais, fruto do dos novos aplicativos e dispositivos presentes na rede corporativa, estão relacionados principalmente a segurança e ao desempenho. Os administradores de rede devem estar sintonizados com esta nova tecnologia para garantir a confiabilidade, integridade e disponibilidade nos processos, além de ter que manter esta nova infra-estrutura em pleno funcionamento para que o retorno do investimento seja o esperado. Abstract. The several advantages of the use of the language XML is positive points for its adoption for the companies. On the other hand, XML is imposing changes in the infrastructure of the departments of TI, where the collateral effects, fruit of the one of the new applications and present devices in the corporative net, are mainly related the security and to the performance. The net administrators must be syntonized with this new technology to guarantee the reliability, integrity and availability in the processes, besides having that to keep this new infrastructure in full functioning so that the return of the investment is the waited one. 1. Porque a XML? A XML (eXtensible Markup Language, ou Linguagem de Marcação Estendida) é um subconjunto da SGML (Standard Generalized Markup Language, ou Linguagem de Marcação Padrão Generalizada) que tem com objetivo permitir que uma marcação específica seja criada para especificação de informação para compartilhamento na rede. “A XML é o resultado de uma evolução no sentido de definir um formato padrão para documentos que seja portátil e estruturado e que forneça informações tanto sobre conteúdo quanto contexto” [Souza 2003] Alguns pontos fortes desta linguagem podem ser citados: • Simplicidade – um usuário com médio conhecimento de HTML consegue entender a estrutura de um documento XML. Quando falamos de simplicidade estamos tomando como referência a SGML1, cuja especificação tem mais de 300 páginas, enquanto a da XML não passa de 50. • Portabilidade – Sem dúvidas este é o ponto forte da linguagem XML. Há quem defenda que esta é a maior razão de sua existência. A XML pode ser navegada com ou sem o seu DTD2, sendo necessário apenas para o navegador a noção de que a própria XML e a sua folha de estilos controlam sua aparência. • Adaptabilidade – Marcações personalizadas podem ser definidas de acordo com a necessidade, com isso podemos afirmar que a adaptação é infinita. • Manutenibilidade – Por conter apenas idéias e marcações, enviando em separado folhas de estilos, viabiliza uma alteração em separado dos documentos. • Possibilidades de ligação – A XML possui uma maneira de ligar que um documento HTML simples não pode. A XML faz não só ligação de um para um, mas também pode ligar dois ou mais pontos a uma idéia. Diversos objetivos especificados no desenvolvimento da XML foram obtidos como suportar uma grande variedade de aplicações, utilização na Internet, compatibilidade com SGML, ser legível aos seres humanos, o projeto deve ser simples e conciso. Mas será que esta onda XML não irá morrer na praia? Certamente a resposta é não. A integração da XML nas empresas vai além da conversação entre aplicações através de web services, sistemas de ERP e CRM exportam suas transações utilizando tal linguagem; a integração de browsers de celulares com servidores WEB através de WML; bancos de dados DB2 exportam suas tabelas em XML; pessoas podem ativar aplicações por meio de VoiceXML; grupos de pesquisas podem exportar fórmulas com alto grau de complexidade de forma padronizada; softwares de gerenciamento de redes podem conversar entre si, acabando com a Torre de Babel entre os sistemas proprietários. Espero que você esteja convencido de que esta nova realidade, imposta pelas qualidades da XML, faz parte da evolução da computação e nós, administradores de redes, teremos que estar prontos para tais mudanças. 2. Mudanças na infra-estrutura e no cotidiano dos administradores Apesar de atualmente todo tráfego corporativo da linguagem XML não ultrapassar 2%, diversas pesquisas esperam um crescimento exponencial. Uma destas estatísticas, feita pela ZapThink3, estima que 25% de todo tráfego de rede corporativo em 2006 esteja escrito com este protocolo. 1 SGML (Standard Generalized Markup Language) – padrão internacional para definições de estrutura e conteúdo de diversos tipos de documentos. A XML é um subconjunto da SGML. 2 DTD (Document Type Definition) é um arquivo anexo ao XML, com o objetivo de definir as regras a serem processadas antes do documento XML, para viabilizar o processamento de links e imagens. 3 Empresa especializada em análise de web services Portanto a equipe de redes e infra-estrutura deve conhecer este protocolo para poderem equalizar os impactos causados e facilitar a inserção do XML nas empresas. Mas a pergunta é: Que impactos são estes? 2.1 O impacto para a Segurança de Redes O primeiro e certamente o mais preocupante deles é o fator segurança, este será o objeto de maior detalhamento deste artigo. A XML é uma metalinguagem que descreve os dados e a apresentação de um certo documento, onde o significado é fruto da interpretação de tags facilmente entendidas. Para fazer a informação fluir na rede, o XML utiliza o SOAP (Simple Object Access Protocol) para gerenciar a troca de mensagens XML através do protocolo de transporte HTTP (Hyper Text Transfer Protocol), o mais comumente utilizado, mas podendo utilizar outros protocolos como o SMTP (Simple Mail Transfer Protocol). Na prática, o HTTP encapsula o SOAP, que encapsula os fluxos de negócios, e estes dois últimos não possuem mecanismos de segurança integrado. O fato de ser encarado como aplicação, por precisar apenas de TCP, faz essa vantagem do XML ser encarada também como um problema. Outros protocolos de interaplicativos, como o RPC (Remote Procedure Calling), são binários, enquanto as mensagens SOAP trazem o conteúdo e seu significado. É notória a necessidade de criptografia dos documentos deste novo padrão, seja ela parcial ou total. A criptografia total do documento pode gerar um overhead de processamento e conseqüentemente degradar a performance das aplicações, enquanto a criptografia parcial deve ser em definida a ponto de ler a identidade de um determinado campo específico, criptografá-lo e deixá-lo inteligível para o processo descriptografia. Podemos citar como exemplo de criptografia parcial ou seletiva a senha de um banco ou o número do cartão de crédito no processo de compra na rede. A tecnologia WS-Security proposta conjuntamente pela IBM, Microsoft e VeriSign em abril de 2002 tem como objetivo unir mecanismos de chave pública com mecanismos de identificação do Kerberos4, dentre outros, para garantia de confidencialidade dos dados, integridade das mensagens e autenticação dos clientes. Isto é realizado através da associação da criptografia e assinatura XML do W3C com os tickets Kerberos às mensagens SOAP. O funcionamento é simples, o WS-Security associa senhas de segurança (ticket kerberos, certificado digital X509 v3 ou outros) às mensagens, sendo definidas duas principais especificações: • 4 XML-Encryption, que define a forma de utilização do XML para representação de um documento web criptografado, seja de forma total ou seletiva (parcial). Kerberos – protocolo de autenticação baseado em chave simética que utiliza o conceito de gerenciamento de tickets. • XML-Signature, que assegura a autenticação e a integridade das mensagens, assim como a autenticação do remetente. Vale a ressalva que esta padronização estão em fase de implementação de uma grande quantidade de produtos e muita coisa ainda falta ser definida, como a integração do Secure HTTP (HTTPS) e o WS-Security. A Sun Microsystems e fornecedores de EAI já fazem parte destes grupos de trabalho. O segundo problema relativo à segurança está em garantir que mensagens SOAP enviadas a um servidor não trazem nenhuma ameaça, como por exemplo, um ataque por Denial of Service5 (DoS) que certamente comprometeria a disponibilidade do serviço. Atualmente já se utiliza o termo XDoS (XML Denial-of-Service Attacks). Este segundo problema se torna ainda mais assustador quando lembramos que os firewalls atuais não conseguem detectar o tráfego XML, muito menos agir sobre ele, isto define o nosso terceiro problema.No momento em que um documento XML externo a organização passa a ser roteado para um web service, por exemplo, é necessária uma interpretação preliminar do conteúdo enviado, para garantir a integridade dos dados. Atualmente já existe o protocolo Xpath com o objetivo de intepretar e direcionar o documento para o servidor apropriado. Algums empresas já perceberam tais problemas de segurança e já oeferem segurança com firewalls XML e soluções de filtragens SOAP, complementando os firewalls atuais. A CheckPoint, líder de mercado no ramo de firewalls, com o Firewall-1 NG FP-3 e a Reactibity com o Service Firewall são apenas destes dois exemplos de mercado. Note que o tráfego de rede deixa de ser constituído apenas pelo tráfego de pacotes e agrega o tráfego transacional formado por mensagens entre aplicações, necessitando de dispositivos na rede capazes de oferecer segurança no controle de mensagens, fora dos servidores de aplicação melhorando desempenho e confiabilidade no processo. Outro ponto importante destes novos firewalls é a capacidade de processamento de regras do tipo aplicação – aplicação, aumentando a potencialidade dos tradicionais firewalls, capazes apenas de autenticar/autorizar em nível de endereços IP e serviços (através de portas). A Vordel Secure, empresa especializada em segurança de serviços Web, oferece soluções capazes de fornecer funções adicionais aos firewalls XML, provendo autenticação baseada em SAML6, WS-Security e certificados digitais. O funcionamento é similar a um servidor de retransmissão que implementa controle de acessos, filtragem de conteúdos, análise de logs e sistemas de alerta. O diagrama em blocos desta solução pode ser visto a seguir. 5 Denial of Service - Ataque que consiste em sobrecarregar um servidor com uma quantidade excessiva de solicitações de serviços. Há muitas variantes como os ataques distribuídos de negação de serviço (DDoS) que paralisam vários sites ao mesmo tempo. 6 SAML (Security Assertion Markup Linguage) padrões de segurança da XML para troca de informações de autenticação. Figura 1 – Diagrama em blocos da solução da Vortel Secure Diversos outros produtos estão no mercado e alguns deles estão na tabela abaixo. Fornecedor Produto Funções Check Point Firewall-1 NG FP-3 Firewall XML e SOAP DataPower XS40 XML Security Gateway Filtro e roteamento XML/SOAP, controle de acesso ao web service, análise e controle de validação dos dados Forum Systems Sentry 2500 e 3500 Roteamento de aplicações, firewall XML e criptografia Kavado InterDo Detecção de ataques aplicacionais Quadrasis (Hitachi) Security Unifer e Soap content inspector Análise de conteúdo SOAP e integração SAML aos firewalls Reactivity Service Firewall Firewall para HTTP, SOAP e JMS RSA Security Cleartrust Web Access Management Web SSO integrando SAML Spi Dynamics WebInspect Inspeciona ataques aplicacionais de acordo com o domínio do negócio Vordel VordelSecure Firewall XML e SOAP com autenticação baseada em WSSecurity WestBridge Technologies XML Message Server Firewall SOAP Xtradyne Technlogies Domain Boundary Controller Firewall J2EE e inspeção de conteúdo SOAP Tabela 1 – Lista de produtos que implementam segurança para XML 3.2. Problemas relativos ao desempenho Além da segurança, algumas experiências mostram que grandes documentos escritos em XML sobrecarregam os servidores de aplicação e os dispositivos de armazenamento no qual estão armazenados. A depender do volume e complexidade, as mensagens construídas com a XML podem deixar os servidores de aplicações lentos, afetar a performance dos balanceadores de carga e dos dispositivos de armazenamento. Algumas estratégias estão sendo tomadas por desenvolvedores de sistemas e fabricantes de redes para sanar estes problemas. A retirada do processamento XML do aplicativo e/ou dos servidores, visando assegurar o poder de processamento exclusivo para a linguagem é a estratégia mais utilizada atualmente. Além da redução do tempo de processamento dos arquivos, os denominados aceleradores de XML também aumentam a escalabilidade da rede, no momento em que separam o processamento da XML de todas as outras tarefas do servidor de aplicação. O DataPower XA35 XML Accelerator 2.0 da DataPower Technology oferece um mecanismo centralizado para aplicar o XSLT7 a documentos XML que trafegam na rede, eliminando a análise, manipulação validação de dcoumentos XML, poupando o uso intensivo de CPU. Em conseqüência da centralização, com XA35 XML os padrões são aplicados à toda empresa com o mínimo impacto nos ambientes de desenvolvimento. Composto de quatro portas Ethernet 10/100 e 2Gb de memória, este produto da DataPower ganhou o prêmio Networking Computing Well-Connected Awards 2003 como melhor produto na área de infra-estrutura por combinar potência pura e inteligência. A empresa Sarvega tem um equipamento muito parecido, o XP2000. Figura 2 – DataPower XA35 XML Accelerator 2.0 Figura 3 – Performance do XA35 7 XSLT (XSL Transformations) – Linguagem de transformação de documentos XML em outros documentos XML Equipamentos como esses podem funcionar de duas maneiras: • Como proxies, no momento que identificam uma folha de estilo a ser utilizada numa nova solicitação, a recuperam no cache (caso tenha sido recentemente usada) ou de um servidor (caso não esteja no cache) • Como um co-processador específico para XML, quando o dispositivo recebe chamadas de um servidor de aplicação através de uma interface8 realiza o processamento necessário e então devolve ao servidor. Os aceleradores certamente diminuirão o tempo de resposta relativo ao processamento, assegurando a confiabilidade das aplicações. Entretanto outro problema relacionado ao desempenho ainda não foi discutido aqui: Como estimar um novo servidor? Ou de um novo acelerador? Diferentemente do anterior, este é um problema que possui uma área de pesquisa enorme a ser percorrida. Ao fazer o levantamento bibliográfico para este artigo, senti muita falta de dados relacionados a estudo de performance em XML, sejam estes feitos por simulação ou testes reais. Artigos como [Chang 2002] onde são comparados desempenhos de servidores utilizando SQL Server com diferentes tipos de processadores (Pentium III, Pentium IV, Xeon, dentre outros), analisando a performance de acordo não só com a arquitetura do processador e seu clock, mas também com o barramento e a quantidade de memória cache não existem para XML. Estatísticas de comparação entre um servidor com SQL Server, Oracle, MySql com um XML que poderiam ser de imensa ajuda para os administradores de redes poderem dimensionar com menos obscuridade um novo servidor também não são encontradas. Então como estimar um novo servidor? Histórico de outras empresas e superdimensionamento certamente serão estratégias utilizadas. 4. Em que a XML ajuda os administradores Se de um lado a XML preocupa os administradores de rede, por outro ela oferece vantagens quando associada a alguns produtos. A portabilidade da XML facilita o processo de interligação de diversos aplicativos de rede, colabora na integração de dados e cria uma plataforma única e padronizada da informação. O gerenciamento de redes é uma das subáreas de redes de computadores que mais se beneficiará com a XML. A integração entre sistemas de gerenciamento é um dos principais problemas desta área, assim como citado em [Martins 2002], pois as melhores soluções da área utilizam bases proprietárias e disponibilizam APIs para requisição e integração de dados. 8 No caso do XA35ML a interface é a Java API for XML Processing (JAXP), enquanto o XP2000 utiliza o protocolo HTTP. Neste caso, a XML vem como um formato padrão para representação das informações de gerência da rede, permitindo o diálogo entre aplicações de diferentes fabricantes. Soluções acadêmicas como o WBEM (para gerência de redes baseada na WEB) e QAME (para gerência de QoS em redes) vistas em [DIS 2001] e [Granville 2001], respectivamente, implementam a XML. Já em 1999, o sistema XNAMI [John 1999] reduz o tráfego de gerência de redes, utilizando a XML para comunicação das MIB9 entre objetos gerenciados e estações de gerenciamento. Apesar de ainda não estar definido, se espera que o novo protocolo COPS (Common Open Police Service), protocolo destinado a controle de informações de gerenciamento de QoS, utilize as informações de sua MIB utilizem XML. Além de informações de gerenciamento de rede, uma correlação entre informações de redes de computadores e um valor relativo ao retorno de investimento de um determinado aplicativo ou servidor são altamente desejáveis. A empresa norteamericana Swingtide lançou o software Breaskwater que roda na console de um sistema de gerenciamento como o Tivoli da IBM, por exemplo, e obtêm tais informações, facilitando o processo de apresentação do retorno de investimento ou justificativa para novos projetos. O software GFI LANguard Network Security Scanner 3.2 que executa uma auditoria de segurança nos dispositivos da rede, apresenta a saída em HTML, XSL e XML, com a possibilidade de customização do XSL. O relatório em arquivo XML também é utilizado para comparação da rede, apresentado novos dispositivos, mudanças de configuração ou os novos alertas de segurança. No mundo dos firewalls a ferramenta Firewall Builder vem adquirindo mais adeptos por constituir-se de um firewall multi-plataforma com uma excelente ferramenta de administração com interface gráfica, desvinculada da máquina do firewall. Nesta ferramenta a biblioteca XML é utilizada para armazenar as políticas do firewall (não as vinculando com um firewall específico) e juntamente com a C++ API pode ser utilizada para desenvolvimento de uma nova interface gráfica ou geração de relatórios específicos. Suporta firewall em Linux (preferencialmente as distribuições Red Hat) e pode ser integrado ao firewall Cisco Pix. 9 MIB – Base de Informações de Gerenciamento. Figura 4 – Interface gráfica do Firewall Builder Figura 5 – Diagrama em blocos do Firewall Builder Estas foram apenas algumas das inúmeras vantagens da XML atuais e que ainda estão por vir que facilitarão o cotidiano do administrador de redes. 6. Considerações finais Toda ação é seguida de uma reação de igual intensidade e sentido oposto, a afirmação de Newton também pode ser utilizada pelos administradores de rede para a XML. Não há dúvidas de que as transformações causadas pelo XML são fundamentais no processo de integração de computadores e aplicativos diversos. Entretanto os departamentos de infra-estrutura de TI devem estar aptos a se adaptarem nesta nova realidade, adotando dispositivos e práticas de acordo com a utilização da XML nos aplicativos das suas empresas. A preparação técnica dos administradores é de fundamental importância para minimizar o impacto causado no processo de mudanças, afinal se por qualquer motivo as informações pararem de fluir na rede corporativa, o negócio automaticamente para de gerar riqueza. A falta de informações de performance da XML, o desconhecimento do porte das novas aplicações e do tráfego gerado por elas, forma um conjunto de itens realmente preocupantes para o desenvolvimento de novos projetos. 7. Bibliografia [Goodman 2002] Brain Goodman. Accelerate your Web services with caching Performance. IBM DeveloperWorks. 2002. [Chang 2002] Joe Chang. Processor Performance. Publicado no site Sql-ServerPerformance.Com. 2002. [Cohen 2001] Frank Cohen. Performance testing SOAP-based applications. IBM DeveloperWorks. 2001. [Cohen 2003] Frank Cohen. Discover SOAP encoding's impact on Web service performance. IBM DeveloperWorks. 2003. [Cunha 2002] Davi Cunha. Web Services, SOAP e aplicações WEB. Intelinet. 2002. [DIS 2001] DISTRIBUTED MANAGEMENT TASK FORCE. WBEM Initiative. Disponível em: http://www.dmtf.org/wbem/. 2001. [GFI 2003] GFI LANguard Network Security Scanner 3.2 Manual. 2003. [Granville 2001] Lizandro Z. Granville. An Approach for Integrated Management of Networks with Quality of Service Support Using QAME. In: IFIP/IEEE INTERNATIONAL WORKSHOP ON DISTRIBUTED SYSTEMS: OPERATIONS & MANAGEMENT, DSOM, Nancy-France. 2001. [Granville 2002] Lizandro Z. Granville. Gerenciamento Inegrado de QoS em Redes de Computadores. Tese de Doutorado da UFRGS. 2002. [John 1999] A. JOHN. An XML-based Framework for Dynamic SNMP MIB Extension. In: IFIP/IEEE INTERNATIONAL WORKSHOP ON DISTRIBUTED SYSTEMS: OPERATIONS & MANAGEMENT, DSOM, Zurich-Switzerland. 1999. [Martins 2002] Romildo Martins Bezerra. Avaliação de Ferramentas de Gerenciamento de Redes. Monografia Final do Bacharelado em Ciência da Computação UFBA. 2002. [Schmelzer 2002] Ronald Schmelzer. XML Proxies: Why Current Network Protocolbased Firewalls and Routers Can't Handle XML. Zapthink. 2002. [Shaper 2001] Phil Shaper. XML-based Network Management. Juniper Networks. 2001. [Souza 2003] Jano Moreira Souza e Lúcio Rogério Botelho. Pequeno Glossário de Termos de Linguagens de Marcação. Developers Magazine. Ano 7. Número 77. 2003. [Zaliva 2003] Vadim Zaliva. Firewall Builder Architecture Overview. 2003.