6.0 Ferramentas de Segurança no DI

 

 

De acordo com informações obtidas com a administração da rede, Sra. Nadja Maria Soares Lins, o Departamento de Informática da UFPE utiliza apenas duas ferramentas de segurança:< /P>

 

 

 

Por se tratar de uma rede heterogênea (suporta diferentes plataformas - AIX, Solaris, SunOs), os administradores encontram dificuldades em utilizar outros softwares para o controle da segurança, que sejam aplicáveis a todas as plataformas. O AIX, por exemplo, possui algumas ferramentas de controle da segurança, como forçar o usuário a trocar a password, de tempos em tempos. Entretanto, essas ferramentas não podem ser utilizadas em má ;quinas que rodam o Solaris ou SunOs.

A seguir, descreveremos cada uma das ferramentas utilizadas e, ao final dessa sessão, apresentaremos algumas sugestões para melhorar a segurança do departamento.

 

 

 

6.1 AMANDA - Software para Realização de Backups

 

 

AMANDA - Advanced Maryland Automatic Network Disk Archiver - é um software desenvolvido na Universidade Maryland - EUA, que utiliza a tecnologia cliente/servidor para automatizar os backups de sistemas em rede. Este software perm ite que o administrador da rede configure um servidor de backup que faz o backup de múltiplos hosts em um único drive de fita magnética de alta capacidade de armazenamento, de uma maneira simples e eficiente e para diversas vers&otild e;es do Unix.

 

Dentre as vantagens do AMANDA podemos citar:

 

 

Para a sua utilização é necessário um tape driver de 4 ou 8mm, um "holding disk" cujo tamanho ideal é que seja pelo menos do tamanho da maior partição a ser backupeada, um s ervidor central com o tape driver e o holding disk conectados e o software AMANDA instalado e configurado.

 

O Amanda trabalha da seguinte forma: antes de realizar os backups (geralmente no período noturno quando provavelmente pouca gente estará utilizando a rede) o ideal é que seja rodado uma rotina de checkup ainda d urante o dia enquanto o administrador ainda estará na empresa, essa rotina de verificação é o comando amcheck, ela verifica se o servidor de backup tem espaço suficiente no holding disk, se o tape correto está no tape driver e se cada cliente está respondendo e possui as permissões de read/write adequadas, caso ocorra algum problema um mail é enviado ao operador.

 

Para a realização dos backups é utilizado o comando amdump que inicializa o processo de backup. O servidor verifica os clientes e determina a quantidade de dados a ser "backupeada" e ajusta o backup sc hedule baseado nas requisições dos usuários, nas prioridades do file system e na data do último bakcup. Finalmente ele começa a operação de backup copiando as partições dos clientes para o hol ding disk, e do holding disk para o tape. Se ocorrer algum erro, os dados permanecem no holding disk até o operador verificar o erro e rodar o comando amflush. Ao final de todas as partições "backupeadas" um relatório detalhado é enviado ao operador.

Na realização da recuperação de dados o operador utiliza o comando amadmin para determinar qual tape de onde será realizado a recuperação dos dados. Após o tape correto ser col ocado no tape driver o comando amrestore para iniciar o processo de recuperação do file system todo ou apenas parte dele.

 

Após devidamente configurado ,com sorte, a única manutenção a ser efetuada é a troca periódica dos tapes no tape driver.

 

Abaixo temos mais alguns comandos utilizados pelo Amanda:

 

O endereço onde podemos conseguir o software amanda é o seguinte:

ftp://ftp.cs.umd.edu/pub/amanda

 

No Departamento de Informática da Universidade Federal de Pernambuco os backups são realizados diariamente, menos nos finais de semanas e feriados, no período da madrugada, e são guardados em fita os back ups dos últimos 03 (três) meses, mas está sendo estudado um aumento desse período de backups armazenados em fita.

 

 

 

6.2 TCP Wrapper

 

 

O TCP Wrapper é uma ferramenta simples, que monitora e controla a entrada de tráfego na rede. Essa ferramenta tem sido usada, com sucesso, para "blindar" sistemas e detectar atividades de crackers. Ela n&ati lde;o produz nenhum impacto nos computadores de usuários e não requer nenhuma mudança nos softwares existentes do sistema ou nos arquivos de configuração. A ferramenta tem sido instalada em todo o mundo, em vários sistemas UNIX, sem nenhuma modificação do código fonte.

 

Essa ferramenta foi desenvolvida pela Univesidade Tecnologia de Eindhoven, na Holanda, que estava sofrendo diversos ataques de um cracker, que, vez por outra, conseguia adquirir o privilégio de root. Isso não passaria de um aborrecimento, se o indivíduo não fosse tão hábil em digitar o comando rm -rf /, que, quando executado com privilégio de r oot, pode ser tão destrutivo quanto o comando format do MS-DOS. Usualmente, o estrago era reparado pelas fitas de backups, mas, aqui ou ali, alguém perdia uma grande quantidade de trabalho. Al& eacute;m disso, o rm -rf removia qualquer pista, o que dificultava a tarefa de descobrir o que estava acontecendo. Um outro comando utilizado, por ele, era o finger, que fornece informações sobre os usuários, não requer passwords e quase nunca deixa rastros do seu uso.

 

Os releases mais recentes da ferramenta estão disponíveis nos sites:

 

ftp.uu.net:/comp.sources.misc/volumexx/log_tcp;

cert.org:/pub/tools/tcp_wrappers/tcp_wrappers.*;

ftp.win.tue.nl:/pub/security/log_tcp.shar.Z.

 

 

 

 

 

 

6.2.1 Uma Implementação Típica em Redes UNIX TCP/IP

 

 

Quase toda aplicação dos protocolos TCP/IP é baseada no modelo cliente-servidor. Por exemplo, quando alguém usa o comando telnet para se conectar a um ho st, um processo no servidor telnet é "startado" no host alvo. O processo do servidor conecta o usuário ao processo de login. Alguns exemplos são mostrados na tabela 1.

 

 

Cliente

servidor

aplicação

telnet

telnetd

login remoto

ftp

ftpd

transferência de arquivo

finger

fingerd

mostra os usuários

systat

systatd

mostra os usuários

 

Tabela 1. Exemplos de pares cliente-servidor do TCP/IP e suas aplicações

 

 

6.2.2 O Truque do TCP Wrapper

 

 

De volta ao problema original: como pegar o nome do host do qual o cracker está espionando? A primeira vista, isso iria requerer mudanças no software existente na rede. Felizmente, existe uma solução que não necessita de nenhuma mudança e que funciona em todos os sistemas UNIX testados. A saída é fazer uma permuta: mover os programas do servidor da rede para um outro local e instalar um programa trivial no lugar daqueles. Sempr e que uma conexão for feita, esse programa simplesmente grava o nome do host remoto e então, roda o programa original do servidor da rede.

A primeira versão do TCP Wrapper era apenas algumas linhas de código, copiadas cuidadosamente de uma fonte antiga de um daemon da rede. Como ele não troca nenhuma informação com os processos do servido r e do cliente, o mesmo TCP Wrapper poderia ser usado por vários tipos de serviços da rede.

 

A seguir, vemos um exemplo do arquivo gerado pela ferramenta:

 

May 21 14:06:53

tuegate:

systatd:

connect from monk.rutgers.edu

May 21 16:08:45

tuegate:

systatd:

connect from monk.rutgers.edu

May 21 16:13:58

trf.urc:

systatd:

connect from monk.rutgers.edu

May 21 18:38:17

tuegate:

systatd:

connect from ap1.eeb.ele.tue.nl

May 21 23:41:12

tuegate:

systatd:

connect from mc12.utcs.utoronto.ca

May 21 23:48:14

tuegate:

systatd:

connect from monk.rutgers.edu

       

May 22 01:08:28

tuegate:

systatd:

connect from HAWAII-EMH1.PACOM.MIL

May 22 01:14:46

tuewsd

fingerd

connect from HAWAII-EMH1.PACOM.MIL

May 22 01:15:32

tuewso

fingerd

connect from HAWAII-EMH1.PACOM.MIL

May 22 01:55:46

tuegate:

systatd:

connect from monk.rutgers.edu

May 22 01:58:33

tuegate:

systatd:

connect from monk.rutgers.edu

May 22 02:00:14

tuewsd

fingerd

connect from monk.rutgers.edu

May 22 02:14:51

tuegate:

systatd:

connect from RICHARKF-TCA.ARMY.MIL

May 22 02:19:45

tuewsd

fingerd

connect from RICHARKF-TCA.ARMY.MIL

May 22 02:20:24

tuewso

fingerd

connect from RICHARKF-TCA.ARMY.MIL

 

Figura 8. Logfile gerado pelo TCP Wrapper

 

 

6.2.3 Primeira Extensão: Controle do Acesso

 

 

Uma outra tentativa de minimizar ataques de crackers é recusar conexões de servidores de terminais abertos, de forma que eles penetrem na rede somente se entrarem em uma conta regular de usuário.

 

Um mecanismo de controle de acesso simples foi construído dentro do TCP Wrapper. Sempre que uma conexão de um servidor de terminais aparecesse nos arquivos de logs, todo o tráfego daquele sistema seria bloqueado no nosso lado e pediríamos que os administradores responsáveis fizessem o mesmo, no lado deles. A figura 6 dá uma idéia do arquivo de controle de acesso.

 

 

/etc/hosts.allow:

 

in.ftpd: ALL

 

 

/etc/hosts.deny:

 

ALL:terminus.lcs.mit.edu hilltop.rutgers.edu monk.rutgers.edu

ALL:comserv.princeton.edu lewis-sri-gw.army.mil

ALL:ruut.cc.ruu.nl 131.211.112.44

ALL:tip-gsbi.stanford.edu

ALL:tip-quada.stanford.edu

ALL:s101-x25.stanford.edu

ALL:tip-cdr.stanford.edu

ALL:tip-cromemaa.stanford.edu

ALL:tip-cromembb.stanford.edu

ALL:tip-forsythe.stanford.edu

 

Figura 9. Amostras de arquivos de controle de acesso

 

O arquivo /etc/hosts.allow descreve que combinações (serviços, hosts) são permitidas. Neste exemplo, o serviço de transferência de arquivos ftp é permitido para todos os sistemas. O arquivo /etc/hosts.deny descreve quais das combinações (serviços, hosts) remanescentes nã ;o são permitidas.

 

Agora, como um intruso não pode mais acessar a rede de servidores de terminais de acesso público, somente através de contas de usuários, é preciso saber que contas estão sendo envolvidas. Da&iac ute;, criou-se um mecanismo que fosse capaz de consultar uma tabela de sites "suspeitos" e enviasse um finger ou um systat probe, sempre que algu&eac ute;m se conectar à rede.

 

 

Jan 30 04:55:09

tuegate:

telnetd

connect from guzzle.Stanford.EDU

Jan 30 05:10:02

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:17:57

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:18:24

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:18:34

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:18:38

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:18:44

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:21:03

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:24:46

tuegate:

systatd

connect from guzzle.Stanford.EDU

Jan 30 05:27:20

svin01:

fingerd

connect from gloworm.Stanford.EDU

Jan 30 05:33:33

svin01:

telnetd

connect from guzzle.Stanford.EDU

Jan 30 05:33:38

svin01:

telnetd

connect from guzzle.Stanford.EDU

Jan 30 05:33:41

svin01:

telnetd

connect from guzzle.Stanford.EDU

Jan 30 05:33:50

svin01:

ftpd

connect from guzzle.Stanford.EDU

Jan 30 05:33:58

svin01:

fingerd

connect from math.uchicago.edu

Jan 30 05:34:08

svin01:

fingerd

connect from math.uchicago.edu

Jan 30 05:34:54

svin01:

fingerd

connect from math.uchicago.edu

Jan 30 05:35:16

svin01:

fingerd

connect from guzzle.Stanford.EDU

Jan 30 05:35:36

svin01:

fingerd

connect from guzzle.Stanford.EDU

 

Figura 10. Uma rajada de atividades na rede, a maioria delas de Stanford

 

 

Wed Jan 30 05:10:08 MET 1991

 

[guzzle.stanford.edu]

Login name: adrian In real life: Adrian Cooper

Directory: /u0/adrian Shell: /phys/bin/tcsh

On since Jan 29 19:30:18 on ttyp0 from tip-forsythe.Sta

No Plan.

 

Figura 11. Resultado de um finger reverso, mostrando que apenas um usuário estava logado naquela hora.

 

 

Os exemplos nas figuras 7 e 8 mostram a atividade de um único usuário, que estava logado no sistema guzzle.stanford.edu. O nome da conta é adrian e o login vem de um servidor de terminais tip.forsythe.Stanford.EDU.

 

 

 

6.2.4 Segunda Extensão: booby traps

 

 

O finger reverso automático provou ser um mecanismo útil, por isso ele foi colocado também no TCP Wrapper. Então, o código do controle de acesso foi estendido, para que comandos arbitrários da shell pudessem ser especificados. Logo, como a execução dos comandos foi baseada, tanto no lado do serviço, quanto do servidor, é possível detectar automaticamente tráfegos "suspeitos". Por exemplo , acesso remoto aos serviços da rede, que devem ser acessados apenas de sistemas locais.

 

Pode-se também, estabelecer que requisições do tipo tftp (trivial file transfer protocol) sejam manipuladas da maneira usual, evitando seu acesso remoto. A figura 9 il ustra como isso pode ser feito.

 

/etc/hosts.allow:

in.tftpd: LOCAL, .win.tue.nl

 

 

/etc/hosts.deny:

in.tftpd: ALL: /usr/ucb/finger -l @%h 2>&1 | /usr/ucb/mail wswietse

 

Figura 12. Exemplo de um booby trap para o serviço tftpd.

 

 

A entrada no arquivo /etc/hosts.allow diz que conexões tftpd de hosts dentro do próprio domínio são permitidas. A entrada no arquivo /etc/hosts.deny faz com que o TCP Wrapper execute um finger reverso, para todos os outros casos. A seqüência %h & eacute; alterada pelo nome do host remoto atual. O resultado é enviado, via E-Mail, para o usuário "wswietse". Devido a natureza do protocolo tftpd e, como o intervalo entre uma tent ativa e outra depende da implementação, pode-se encontrar algumas pistas sobre o tipo do sistema remoto.

 

O exemplo mostrado dá apenas uma ilustração limitada do uso de booby traps. Entretanto, eles podem ser ainda mais úteis, quando instalados em sistemas com firewalls, cujo principal propósito &ea cute; separar a rede de uma organização do resto do mundo. Um sistema de firewall típico proporciona apenas um conjunto limitado de serviços de rede, com o mundo externo, por exemplo, telnet e smtp. Colocando booby traps nas portas de serviço remanescentes da rede, pode-se implementar um sistema de alarme efetivo.

 

 

 

6.2.5 Considerações Finais

 

 

Recapitulando, as principais características do TCP Wrapper são:

 

 

 

 

7.0 Conclusão

 

 

Fazer com que os usuários se preocupem com a segurança toma tempo e esforço. No final, um sistema é apenas tão seguro quanto a sua parte mais vulnerável e os seus usuário s são a parte mais importante, que não deve ser esquecida, nem negligenciada. Quando os usuários causam problemas de segurança, existem três razões principais: ignorância, preguiça e malícia.

 

A ignorância é a mais fácil de atacar. Desenvolver táticas formais e procedimentos de treinamento de informação é algo que funciona. Os usuários também precisam ser lembrados de coisas que eles já sabem, de tempos em tempos.

 

A preguiça será sempre uma tentação - tanto para o administrador de sistemas quanto para os usuários - mas isso nem sempre será um problema, quando os usuários tiverem sendo beneficiados pelas metas de segurança do sistema. Isso requer tanto suporte da gerência, quanto da organização como um todo, bem como um comprometimento formal e individual dos usuários. Além disso, uma atmosfera voltada para e ncontrar soluções e não para a atribuição de culpas tem, geralmente, mais sucesso que intimidações e coerções.

 

Uma consideração sobre a terceira causa terá de esperar. Criar uma cultura cooperativa, que encoraje e alimente a lealdade de seus funcionários e que seja aberta a diálogos ao invés de fraudes e traições são formas de reconhecer e neutralizar os malfeitores.

 

A Segurança é de extrema importância em qualquer sistema, mesmo num PC stand alone, pois aquilo que parece impossível pode acontecer, então as políticas de segurança das empresas e institu ições deve ser um ponto importantíssimo a ser levado em conta na administração dos seus sistemas de informações.

 

Quanto a Segurança no DI vale salientar alguns pontos:

 

    • Uso de Crachás - o uso de crachás já é obrigatório e sua fiscalização deve ser cada vez mais intensificada, não sendo permitido a entrada de pessoas sem crachá, e vitando assim o acesso de pessoas não autorizada às instalações do DI;

 

    • Localização e Acesso à Sala dos Servidores - a sala dos servidores se encontra em um local bastante vulnerável com acesso a qualquer um dos estudantes sem maiores dificuldades, o que representa um risco à segurança da rede do DI;

 

    • Ferramenta como o Crack - esse tipo de ferramenta verifica periodicamente as senhas dos usuários para descobrir se alguma delas não é muito fácil de se descobrir com o uso de softwares para quebrar senhas, e notifica o usuário de que sua senha é muito "fácil" de ser descoberta e deve ser trocada. No DI já existe ferramentas desse tipo e são utilizadas;

 

    • Troca Regular de Passwords - a troca regular de passwords deve ser incentivada e até mesmo exigida e fiscalizada pelo sistema a fim de que se uma senha qualquer for quebrada, pelo menos após algum tempo com a tr oca obrigatória das senhas o intruso não vai mais ter acesso indevido a rede. Atualmente não é utilizada esta política de troca regular de senhas no DI;

 

    • Treinamento dos Usuários - o treinamento dos usuários às vezes não é tido como política de segurança mas deveria ser. Muitas vezes um usuário danifica alguma parte do si stema por pura ignorância da sua correta utilização. No DI os novos usuários recebem um treinamento mas que poderia ser mais intensificado;

 

    • Ausência de Formalização da Política de Segurança no DI - hoje em dia não há qualquer documento que explique e oriente os usuários quanto à política de segu rança do DI. Uma sugestão é que todo novo usuário assinasse um termo contendo todas as explicações sobre a política de segurança do departamento, tanto para o conhecimento das regras pelo usuá rio quanto para um comprometimento formal em respeitar e cumprir as normas relativas à segurança, sendo passível de punição caso fossem violadas.

 

8.0 Referências:

 

 

[Dij96] B. L. Dijker. Short Topics in System Administration - A Guide to Developing Computing Policy Documents. SAGE - The System Administrators Guild, 1996.

 

[Fri95] A. Frisch. Essential System Administration. O’Reillly & Associates, Inc., 1995.

 

[Hun94] C. Hunt. TCP/IP Network Administration. O’Reillly & Associates, Inc., 1994.

 

[KPS95] C. Kaufman, R. Perlman, and M. Specinen. Network Security - PRIVATE Communication in a PUBLIC World. PTR - Prentice Hall, 1995.

 

[NSSH95] E. Nemeth, G. Snyder, S. Seebass and T. R. Hein. Unix System Administration Handbook. Prentice Hall, 1995.

 

[RG91] D.Russel and G. T. Gangemi Sr. Computer Security Basics. O’Reilly & Associates, Inc., 1991.

 

[Sta95] W. Stallings. Network and Internetwork Security - Priniples and Practice. Prentice Hall, 1995.

 

[Ven94] W. Venema. TCP WRAPPER - Network monitoring, access control, and booby traps. 1994.

ftp://ftp.win.tue.nl/pub/security/index.html

 

PAGINA ANTERIOR