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.

Documentos relacionados