1- Introdução A área de administração de sistemas e redes assume cada vez mais um papel fundamental no âmbito das tecnologias da informação. Trata-se, na realidade, de uma área bastante exigente do ponto de vista técnico, muito por causa da enorme abrangência das tecnologias e serviços que o administrador deve conhecer para ser capaz de assegurar o correto funcionamento de uma rede informática. A formação de um bom profissional passa necessariamente pela aquisição dos conhecimentos teóricos fundamentais, mas sobretudo pela experiência adquirida através da sua aplicação a cenários concretos. Este livro foi escrito com estes dois aspetos em mente, e por este facto complementa, ao longo de todo o texto, a análise teórica dos conceitos apresentados com a sua aplicação a um cenário prático.
1.1 A abordagem seguida no livro No presente livro são apresentadas as tecnologias e serviços fundamentais para a administração de uma rede informática, bem como a sua utilização em servidores Linux. O estudo teórico e a utilização prática dessas tecnologias e serviços serão apresentados de forma integrada ao longo do livro, tendo como referência um cenário de aplicação apresentado no próximo capítulo. O cenário serve para demonstrar a aplicação das tecnologias estudadas num ambiente real, no qual os diversos serviços se complementam para tornar viável o correto funcionamento de uma rede informática. O cenário de aplicação poderá igualmente servir de referência para auxiliar o leitor na ativação dos mesmos serviços noutros ambientes de rede. O Capítulo 2 apresenta o cenário de aplicação utilizado ao longo de todo o livro. Os exemplos apresentados em cada capítulo referem-se, na sua maioria, a um ou vários servidores deste cenário. O cenário consiste numa rede informática com dimensão suficientemente alargada para justificar a utilização de diversos serviços de rede e tecnologias fundamentais. É nosso propósito mostrar ao leitor de que forma uma rede com estas características pode ser configurada desde a sua génese, recorrendo exclusivamente a servidores e equipamentos baseados no sistema operativo Linux. A ordem pela qual são apresentados os diversos temas ao longo do livro é determinada em grande parte pela necessidade de configurar o cenário de aplicação. Os conceitos abordados ao longo do livro varrem um leque bastante alargado de tecnologias, serviços e protocolos de rede. Serão abordados temas como a administração de sistemas ligados em rede, a configuração de serviços de rede fundamentais e a FCA - Editora de Informática
1
GESTÃO DE SISTEMAS E REDES EM LINUX
utilização de ferramentas de monitorização e de segurança, entre outros. Acreditamos que o conjunto dos temas abordados dará ao leitor os conhecimentos necessários para assegurar a configuração e administração de uma rede informática com diversos e exigentes requisitos de funcionamento. Com o presente livro, o leitor terá a oportunidade de contactar ou aprofundar o seu conhecimento numa área que é muito rica e exigente a nível técnico, mas que providencia igualmente numerosos desafios e recompensas do ponto de vista intelectual. A administração de sistemas e redes é sem dúvida uma área fascinante, pelo alargado leque de conhecimentos e possibilidades que oferece a quem nela trabalha. Por sua vez, o Linux é um sistema operativo de referência no que diz respeito à sua flexibilidade de configuração, abertura de código e enormes potencialidades técnicas, sendo muito utilizado atualmente para disponibilizar serviços e funcionalidades de rede.
1.2 O Linux como plataforma de gestão O livro utiliza o Linux como o sistema operativo de referência para a configuração de serviços e equipamentos em rede. Esta opção não é alheia à experiência prática do autor, que administra há vários anos uma rede de dimensão alargada onde o Linux desempenha um papel preponderante, mas prende-se igualmente com uma forte convicção de que o Linux constitui uma escolha de excelência neste âmbito. As vantagens decorrentes da utilização do Linux prendem-se com o facto de ser baseado em código aberto e também com a sua enorme base de utilizadores, a sua robustez e a sua segurança. É importante notar que estes fatores estão, na realidade, intrinsecamente ligados. A abertura do código do sistema e das aplicações motivou o aparecimento de comunidades alargadas de utilizadores, que por sua vez contribuem para discutir soluções, ajudar na resolução de problemas e documentar diferentes aspetos da utilização das tecnologias. Estes aspetos contribuem como fatores diferenciadores comparativamente a soluções proprietárias, dependentes de fabricantes. A robustez e segurança reconhecidas atualmente no Linux são fruto deste processo de abertura, que possibilita a depuração e melhoria constantes das aplicações e do sistema operativo. É importante notar que o Linux será utilizado não apenas na configuração de servidores no sentido tradicional, mas igualmente na configuração de sistemas para desempenho de outras tarefas habitualmente asseguradas por equipamento especializado, como os routers e as firewalls. Como teremos a oportunidade de verificar, também neste domínio de aplicação o Linux representa uma excelente escolha, encontrando-se no mesmo patamar das melhores alternativas comerciais. No contexto de utilização do Linux, importa referir que daremos prioridade aos aspetos mais avançados de configuração do sistema e serviços, por vezes em detrimento de questões mais introdutórias, como, por exemplo, o processo de instalação do sistema operativo. Este é amplamente descrito em documentação disponível na Internet e 2
FCA - Editora de Informática
INTRODUÇÃO
atualmente grande parte das distribuições do Linux dispõem de programas de instalação bastante automatizados e intuitivos. Cada capítulo inclui no final a bibliografia recomendada, que complementa os temas abordados ao longo do capítulo.
1.3 Organização do texto Os capítulos encontram-se agrupados em seis partes principais, cuja organização decorre da necessidade de aplicar os temas abordados ao cenário prático. A primeira parte é constituída pelo presente capítulo e pelo Capítulo 2. O Capítulo 2 descreve as redes e servidores que integram o cenário de aplicação, bem como o seu propósito de utilização. O leitor poderá, durante a leitura do livro, consultar este capítulo sempre que for necessário contextualizar as configurações apresentadas no cenário de aplicação. A segunda parte do livro é dedicada às operações de gestão de sistemas em Linux, sendo constituída pelos Capítulos 3 a 11. Estes capítulos dedicam-se às operações fundamentais a nível da administração de sistemas e abordam operações como a gestão de utilizadores, a configuração das interfaces de rede, a configuração do kernel, ou a gestão de cópias de segurança, entre outras. Estes capítulos abordam, portanto, um conjunto de temas fundamentais para a correta administração de um servidor Linux. É importante que o administrador domine estes temas antes de passar para a configuração de serviços de rede. No decorrer desta parte do livro, os servidores do cenário de aplicação serão alvo das configurações consideradas essenciais para que possam suportar os serviços de rede abordados em capítulos posteriores. A terceira parte do livro é constituída pelo Capítulo 12 e aborda a utilização do Linux como router e firewall de uma rede local. Neste capítulo veremos de que forma é possível configurar, no cenário de aplicação, um sistema Linux que assegura a interligação de diversas redes. Este mesmo sistema assegura igualmente a ligação à Internet, bem como as funcionalidades de firewall necessárias à proteção da rede do cenário contra acessos considerados indesejados. A quarta parte do livro é dedicada à administração de serviços de rede. Os Capítulos 13 a 20 são dedicados ao funcionamento e configuração de serviços vitais numa rede informática, como o DNS (Domain Name System) e o correio eletrónico, entre outros. As funcionalidades estudadas ao longo destes capítulos são importantes para a ligação de uma rede à Internet, bem como para a disponibilização de serviços fundamentais para os seus utilizadores. Na quinta parte do livro são estudados diversos aspetos de segurança, uma área certamente muito relevante no âmbito das responsabilidades do administrador de sistemas. Os Capítulos 21 a 23 cobrem temas como os sistemas de deteção de intrusões e as auditorias de segurança. Estes temas são complementados pelos aspetos de configuração de FCA - Editora de Informática
3
GESTÃO DE SISTEMAS E REDES EM LINUX
sistemas de firewall e autoridades de certificação, abordados em capítulos anteriores. Em particular, o Capítulo 11 discute a utilização do IPTables para a proteção de servidores e o Capítulo 12 utiliza a mesma tecnologia para a configuração do Linux como router e sistema firewall. O Capítulo 16, por sua vez, aborda a utilização do OpenSSL para a criação de uma autoridade de certificação digital no Linux. A sexta (e última) parte do livro diz respeito à utilização de sistemas de monitorização no Linux. O Capítulo 24 descreve a utilização de algumas soluções muito populares na implementação de serviços de monitorização. Estes serviços são particularmente úteis na garantia de níveis elevados de disponibilidade de serviços numa rede local.
4
FCA - Editora de Informática
GESTÃO DE SISTEMAS E REDES EM LINUX
A designação SNAT (Source NAT) vem do facto de, nesta operação, o router ter a necessidade de alterar de forma automática o endereço de origem dos pacotes destinados à Internet. No retorno dessas ligações, os pacotes correspondentes têm o seu endereço de destino alterado para o endereço original, da rede interna. Esta operação é assegurada pelos mecanismos de NAT de forma automática. A Figura 12.2 ilustra o funcionamento do mecanismo SNAT. No cenário de comunicação representado nesta figura, uma máquina na rede interna utilizando um endereço IP privado estabelece uma ligação para um servidor na Internet. A figura ilustra o processo de alteração do endereço de origem no router através do mecanismo SNAT, bem como a correspondente alteração do endereço de destino dos pacotes de retorno da mesma ligação. Para cada sentido e troço de comunicação, a Figura 12.2 representa os endereços de origem e destino dos pacotes IP.
Figura 12.2 - Acesso ao exterior utilizando SNAT
De notar que o SNAT pode utilizar um ou mais endereços IP oficiais para efeitos de endereçamento de pacotes nas comunicações com o exterior. É frequente, no entanto, utilizar-se um único endereço, partilhado por todas as comunicações sujeitas a SNAT. De acordo com o cenário da Figura 12.2, as operações do SNAT envolvem a alteração do endereço de origem nos pacotes das comunicações para o exterior, bem como a correspondente alteração do endereço de destino dos pacotes pertencentes ao retorno dessas comunicações. Estas operações são asseguradas de forma automática pelo kernel do Linux. Do ponto de vista da máquina da rede interna, a comunicação decorre como se a ligação fosse estabelecida diretamente com o exterior, até porque os pacotes de retorno são recebidos com o endereço de origem do servidor na Internet. Por outro lado, do ponto de vista do servidor na Internet, a ligação tem origem no router, o que permite ocultar totalmente a existência de máquinas com endereços privados na rede interna. Esta funcionalidade pode contribuir, desta forma, para a segurança da rede interna. 222
FCA - Editora de Informática
O LINUX COMO ROUTER E FIREWALL
A segunda forma de NAT identificada anteriormente é designada por DNAT (Destination NAT). Tal como o seu nome sugere, o DNAT envolve a modificação dos endereços de destino dos pacotes IP. Esta operação é, normalmente, aplicada no instante em que os pacotes dão entrada no router, tendo origem, por exemplo, em servidores na Internet. Neste caso, os pacotes destinam-se a um dos endereços IP públicos do router e as ligações são redirecionadas de forma automática para serviços disponíveis em servidores na rede interna, que habitualmente utilizam endereços privados. A Figura 12.3 ilustra o funcionamento do mecanismo de DNAT. À semelhança do cenário anterior, a figura identifica igualmente os endereços utilizados no exemplo, em cada um dos troços da sessão de comunicação sujeita a DNAT. De notar que a ligação ilustrada tem origem na Internet, e é encaminhada pelo router para o servidor interno.
Figura 12.3 - Acesso a um serviço disponível na rede interna utilizando DNAT
O DNAT permite disponibilizar ao exterior serviços que residem em máquinas da rede interna e que, de outra forma, não estariam contactáveis a partir da Internet. De acordo com o cenário da Figura 12.3, é possível ver que, do ponto de vista da máquina na Internet, o serviço é disponibilizado pelo próprio router, já que é o router que utiliza o endereço IP contactado. Por esta razão, nas redes onde o DNAT é utilizado desta forma, é necessário assegurar que o serviço DNS anuncia na Internet o serviço pretendido como encontrando-se associado ao endereço externo do router, onde se pretende que as ligações sejam recebidas. O IPTables é utilizado para implementar as restantes operações, redirecionando as ligações para o serviço residente no servidor da rede interna. O último cenário de NAT funciona como um componente essencial do processo de ativação dos proxies de aplicação no modo transparente. Neste cenário, os acessos dos clientes, por exemplo, os acessos HTTP efetuados pelos browsers dos utilizadores, são redirecionados de forma automática para o proxy. O proxy é uma aplicação que frequentemente se encontra ativada no próprio router ou sistema de firewall, embora FCA - Editora de Informática
223
SERVIÇO WWW
[root@www [root@www [root@www [root@www [root@www
~]# cd /var/www/html/ html]# tar zxvf roundcubemail-0.8.5.tar.gz html]# mv roundcubemail-0.8.5 roundcubemail html]# cd roundcubemail roundmail]# chown -R apache:apache temp/ logs/ Exemplo 19.10 - Extração do Roundcube e atribuição de permissões
A seguir iremos configurar o Roundcube, através de uma página disponibilizada pelo sistema de webmail para esse efeito. A página de configuração do Roundcube corresponde aos scripts de configuração armazenados no diretório installer da zona de documentos criada pelo comando tar no Exemplo 19.10. No nosso exemplo encontra-se acessível em https://webmail.fca.pt/roundcubemail/installer. A Figura 19.1 ilustra a página de configuração inicial do Roundcube.
Figura 19.1 - Configuração inicial do Roundcube
A página de configuração inicial do Roundcube permite verificar se todo o software necessário se encontra instalado no servidor, bem como definir a informação de configuração que esteja em falta. Após a conclusão do processo de configuração do Roundcube, será necessário apagar o diretório de instalação e alterar a definição do parâmetro enable_installer no ficheiro de configuração main.inc.php, tal como o Exemplo 19.11 ilustra. FCA - Editora de Informática
397
GESTÃO DE SISTEMAS E REDES EM LINUX
[root@www roundcube]# rm –rf installer [root@www roundcube]# cat config/db.inc.php … $rcmail_config['enable_installer'] = false; … Exemplo 19.11 - Finalização da configuração do Roundcube
Após a conclusão deste processo, o serviço de webmail encontra-se pronto a ser utilizado no endereço https://webmail.fca.pt/roundcubemail, tal como a Figura 19.2 ilustra. Dado tratar-se de um serviço destinado unicamente aos utilizadores da rede do cenário, iremos ativar, em seguida, um nível adicional de segurança, que consiste na autenticação dos clientes através de certificados X.509. Desta forma, apenas os utilizadores que disponham de um certificado válido instalado nos seus browsers conseguirão aceder ao serviço de webmail. Este método de controlo de acessos irá complementar a autenticação clássica por username e password, que o Roundcube já suporta.
Figura 19.2 - Acesso ao sistema de webmail Roundcube
19.3.4 Autenticação com certificado de cliente A ativação da autenticação dos acessos ao endereço https://webmail.fca.pt, através de certificado X.509, recorre às definições necessárias no ficheiro ssl.conf do Apache. As definições das diretivas SSLVerifyClient e SSLVerifyDepth foram já discutidas anteriormente e podem ser efetuadas tal como o Exemplo 19.12 ilustra. 398
FCA - Editora de Informática
MONITORIZAÇÃO E GESTÃO DE PROBLEMAS
Figura 24.5 - Página principal de acesso ao sistema RT
[root@helpdesk ~]# more /etc/aliases … rt: "|/opt/rt4/bin/rt-mailgate --queue general --action correspond \ --url http://helpdesk.fca.pt/rt4" rt-comment: "|/opt/rt4/bin/rt-mailgate --queue general \ --action comment --url http://helpdesk.fca.pt/rt4" Exemplo 24.25 - Configuração dos aliases de correio para o sistema RT
De notar que, de acordo com as definições do Exemplo 24.25, o serviço de trouble tickets estará disponível, do ponto de vista dos utilizadores da rede, no endereço rt@helpdesk.fca.pt. Para que utilizadores desconhecidos no sistema RT possam enviar as suas mensagens será igualmente necessário ajustar as permissões associadas ao grupo Everyone do RT. Outro aspeto importante, no contexto da gestão das permissões, é o facto de ser necessário criar administradores, bem como atribuir-lhes permissões para que possam alterar o estado dos tickets nas queues pretendidas. Com todas as configurações anteriores ativas, um utilizador da rede do cenário deverá já ser capaz de submeter um pedido ao sistema de trouble tickets, enviando para o efeito uma mensagem de correio eletrónico para o utilizador rt@helpdesk.fca.pt. A Figura 24.6 ilustra a visualização, no RT, do primeiro ticket (cujo identificador é ‘1’) criado após o envio de uma mensagem para este endereço. Utilizando o RT, o administrador pode responder ao utilizador, mudar o estado do ticket ou fechá-lo quando o problema for considerado resolvido. O utilizador será notificado por correio eletrónico das respostas FCA - Editora de Informática
469
GESTÃO DE SISTEMAS E REDES EM LINUX
por parte do administrador, bem como do fecho do ticket após a resolução do problema reportado.
Figura 24.6 - Visualização de pedido com o sistema RT
É importante notar que, para além das configurações discutidas anteriormente, o RT pode ser configurado no sentido de suportar mais queues de trouble tickets, associadas aos endereços de correio eletrónico considerados apropriados, de acordo com as definições adicionadas pelo administrador ao ficheiro /etc/aliases. Outra característica interessante do RT é suportar a interação com utilizadores através do correio eletrónico, como já discutido, mas igualmente através da interface web. Mediante a configuração de permissões adequadas, o utilizador poderá recorrer à mesma página web do sistema RT para consultar o estado de resolução dos trouble tickets por si criados, ou criados automaticamente pelo sistema após o envio de mensagens de correio eletrónico. De acordo com a discussão anterior, podemos verificar que o RT é uma ferramenta bastante útil, no contexto da gestão de problemas. Um sistema de gestão de trouble tickets com as características do RT possibilita a gestão, por parte de uma equipa de administradores, de uma lista de registos de problemas ou pedidos em espera de resolução. Tais registos podem dizer respeito a pedidos ou mensagens submetidas pelos utilizadores, mas também aos registados pelos próprios administradores.
24.5 Conclusão A monitorização dos serviços e recursos numa rede informática reveste-se de particular importância. Tal como tivemos oportunidade de analisar no presente capítulo, a monitorização pode dizer respeito à utilização que é feita dos recursos de comunicações 470
FCA - Editora de Informática