Servidor de Infra-estrutura
É normal vermos entre os analistas de segurança
o conceito de que cada máquina deve servir com um
propósito único, ou seja, um servidor Web deve
servir Web, um servidor de Email deve servir somente Email,
assim como de ftp, dns, stream de vídeo, entre outros
serviços Internet.
É inteligente essa idéia e deve ser seguida
sempre que possível pois garante a segurança dos
serviços e a performance, um serviço não
interferindo no outro. Contudo, em geral observamos o
contrário. Em situações de médio porte
para baixo, temos servidores que são responsáveis
por mais de um serviço de infra-estrutura Internet. Com
isso, temos um problema, exatamente o que foi dito acima.
Questões de segurança envolvendo um serviço e
seu gerenciamento interferindo no contexto de funcionamento
geral.
Com o Apache 2.0 a idéia é criar um servidor de
Infra-estrutura. O que seria isso? O servidor Apache agora
é um framework para servidores, possibilitando a
criação de módulos para quais serviços se
desejar. Ele é totalmente adaptável a realidade do
serviço. Isso traz vantagens como facilidade no
gerenciamento, onde apenas uma API será necessária
manipular para gerenciar todos os serviços, apenas um
treinamento deve ser dado para o administrador, etc.
Tal feature foi criada com o objetivo de facilitar a
implementação de outros protocolos, rápida e
confiavelmente. É um passo pretensioso e bastante ousado
do grupo.
Utilizando um servidor e framework para vários
serviços, via a mesma interface, pode-se manipular
questões como segurança facilmente. Pode-se
implementar uma política de segurança para todos os
serviços, aprende-se apenas sobre um software,
concentra-se na auditoria / programação em cima de
uma API, ou seja, não é necessário a
multiplicação dos recursos e dos riscos.
Além disso, pode haver compartilhamento de recursos,
como por exemplo, tendo-se vários serviços
espalhados você pode precisar de multiplicar modos de
acessar uma mesma base de dados para autenticação
de usuários, enquanto tendo apenas um servidor de
?serviços Internet?, já na fase após a
requisição pode-se fazer a autenticação
do usuário numa base comum de dados.
Para implementar um novo protocolo, é como escrever
um módulo normalmente para o Apache, pode-se até
utilizar a tradicional API via modperl, ou seja,
muitíssimo simples. Existe por padrão no novo
Apache o mod_echo, que é um módulo implementando o
protocolo echo, ele só echoa o que vem para ele, mas
é um exemplo do funcionamento da implementação
de um protocolo simples, que não o HTTP, que já
está um tanto quanto desenvolvido e confuso para o
entendimento do desenvolvedor iniciante.