SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
1             Filtro TCP Wrapper - tcpd                          Luiz Arthur
Verificação da configuração do filtro TCP Wrappers (tcpd)

Servidores Linux, como o Slackware, implementam um recurso conhecido como
TCP wrappers, uma técnica projetada para proteger serviços implementados
usando-se o superdaemon de ligação entre redes (inetd ou xinetd).

O TCP wrappers é implementado usando-se dois arquivos, um que controla o
que é especificamente aceito na rede (/etc/hosts.allow) e outro que especifica
negativas das redes (/etc/hosts.deny).

Muitos programas têm a capacidade de oferecer suporte a TCP wrapper,
incluindo FTP e telnet, assim como outros protocolos conhecidos, porém outros
como HTTP e o X Windows System usam seus próprios sistemas de logon e
controle de acesso.

Alguns aplicativos de código fonte aberto possuem suporte incorporado para
tcp_wrappers. Um bom exemplo é o Samba, cujo controle de tcp_wrappers é
efetuado usando-se instruções de controle dentro de seu arquivo de configuração.
Os dois parâmetros que efetuam tal controle são hosts allow e hosts deny.

A configuração padrão do Linux não inclui regras e, portanto, permite que todas
as comunicações ocorram. O comportamento padrão do tcp_wrappers é negar
acesso a serviços definidos em hosts.deny, a menos que haja uma regra
especifica em hosts.allow para permitir isso. Cada regra é avaliada do inicio ao
fim, de modo que uma regra posterior possa substituir uma regra anterior.
2               Filtro TCP Wrapper - tcpd                          Luiz Arthur

O software de encapsulamento TCP wrapper conhecido também como tcpd é
executado pelo inetd ou xinetd. Usar tcpd em um sistema Linux é fácil porque as
entradas no arquivo /etc/inetd.conf já apontam para o programa tcpd.

As seguintes entradas são do arquivo /etc/inetd.conf em um sistema Linux:


ftp      stream   tcp   nowait   root    /usr/sbin/tcpd   vsftpd
telnet   stream   tcp   nowait   root    /usr/sbin/tcpd   in.telnetd
shell    stream   tcp   nowait   root    /usr/sbin/tcpd   in.rshd -L
login    stream   tcp   nowait   root    /usr/sbin/tcpd   in.rlogind
talk     dgram    udp   wait     root    /usr/sbin/tcpd   in.talkd

Como mostra este exemplo, o caminho para tcpd é usado em lugar do caminho de
cada daemon de serviço da rede. Então, quando o inetd recebe uma solicitação
para um serviço ele inicia o tcpd. O tcpd então registra a solicitação do serviço,
verifica a informação de controle de acesso, e (se autorizada) inicia o daemon
real para manipular a solicitação.

O programa tcpd executa duas funções básicas: registrar solicitações para
serviços de rede, e fornecer um mecanismo de controle de acesso para
estes serviços.

Solicitações de registro para serviços de rede específicos é uma função de
monitoramento útil, especialmente se você estiver procurando intrusos.
3                 Filtro TCP Wrapper - tcpd                               Luiz Arthur
O tcpd usa a facilidade authpriv do syslogd para registrar suas mensagens
(para maiores informações procure pelo arquivo /etc/syslog.conf).
Normalmente as mensagens de registro geradas pelo tcpd são armazenadas em
/var/log/secure.

Jun   3   17:25:40   darkstar   login[4547]: ROOT LOGIN on `tty6'
Jun   6   12:06:08   darkstar   in.telnetd[6587]: connect from 10.0.0.1 (10.0.0.1)
May   9   14:05:27   darkstar   vsftpd[5458]: connect from 192.168.73.10 (192.168.73.10)
May   9   14:10:50   darkstar   vsftpd[5467]: connect from 192.168.73.6 (192.168.73.6)

O arquivo /var/log/secure, não apresenta somente arquivos do tcpd, mas
também mensagens para login. Mas podemos ver na segunda mensagem de 6 de
junho que houve um acesso ao serviço telnetd feito pela máquina 10.0.0.1 e
nas duas últimas linhas são apresentadas acessos ao servidor vsftpd vindo da
rede 192.168.73.0.

Se o tcpd apenas registrasse acessos ele já seria muito útil. Mas o real poder
desta ferramenta é sua habilidade para controlar acesso a serviços de rede.

Arquivos de controle de acesso tcpd

Dois arquivos definem controles de acesso para o tcpd:

O arquivo /etc/hosts.allow, lista os hosts que estão autorizados a acessar os
serviços do sistema;
O arquivo /etc/hosts.deny lista os hosts aos quais são negados o serviço.
4             Filtro TCP Wrapper - tcpd                         Luiz Arthur

Se estes arquivos não forem encontrados (não estiverem no sistema) ou
estiverem em branco, o tcpd irá permitir a todo host ter acesso ao sistema, e
simplesmente registra a solicitação de acesso.

Quando os arquivos estão presentes no sistema, o tcpd lê o arquivo
/etc/hosts.allow primeiro e depois lê o arquivo /etc/hosts.deny. O tcpd pára
assim que encontra uma combinação para host e o serviço em questão. Então, o
acesso dado pelo arquivo /etc/hosts.allow não pode ser anulado pelo arquivo
/etc/hosts.deny.

O formato de entradas de ambos os arquivos é o mesmo:

services      :       clients        [: shell-comand]

service - é uma lista separada por vírgula, de serviços de rede ou a palavra-
chave ALL:ALL é usada para indicar todos os serviços da rede. Caso contrário,
cada serviço individual é identificada por seu nome de processo, que é o nome
segue no arquivo /etc/inetd.conf.

clients – é uma lista separada por vírgula de nomes de host, nome de domínio, o
endereço IP, e a palavra LOCAL. Alternativamente, pode ser a palavra chave ALL
para especificar todos os hosts.

shell-command - é um comando de shell opcional que o tcpd executa quando
uma comparação ocorre.
5               Filtro TCP Wrapper - tcpd                      Luiz Arthur

Alguns exemplos podem ilustrar a variedade e modos válidos nos quais podem ser
descritos services e clients em uma entrada de controle de acesso tcpd.

ALL                 :    LOCAL, .empresa.com.br
in.ftpd, in.telnetd :    micro1.rede.com

A palavra-chave ALL no campo services indica que a primeira regra se aplica a
todos os serviços de rede. No campo clients, a palavra LOCAL indica que todos
os nomes de hosts sem uma parte de domínio são aceitas, e .empresa.com.br
compara todos os nomes de hosts neste domínio. A segunda regra dá acesso ftp
e telnet a usuários ao sistema remoto chamado de micro1.rede.com.

A sintaxe de um arquivo de controle de acesso tcpd padrão pode ser um pouco
mais complicada, tal como segue:

imapd,     ipopd3     :      172.5.4.
ALL        EXCEPT     impad, ipopd3:    ALL

A palavra EXCEPT é usada para excluir itens de uma lista e também pode ser
usada no lado clients de uma regra de acesso. Por exemplo:

ALL: .empresa.com.br     EXCEPT gateway.empresa.com.br
6             Filtro TCP Wrapper - tcpd                           Luiz Arthur
A primeira regra colocada em um arquivo de controle do TCP wrapper é a regra
ALL:ALL em /etc/hosts.deny, tal regra nega todos os serviços, mas uma regra
melhor é bloquear todos os serviços não definidos explicitamente é criar a ultima
entrada em /etc/hosts.allow como ALL:ALL:DENY eliminando a necessidade de
um arquivo /etc/hosts.deny.

Tipos de entradas do hosts deny e allow:

Endereço IP:   192.168.0.100 corresponde a um IP único;

               193.168.0. corresponde à rede inteira 192.168.0.0 se uma
               poção é deixada de lado toda a porção a direita é tratada como
               zero

Nome do host: segurança.dominio.com.br corresponde a qualquer solicitação
              do host segurança.dominio.com.br

               .dominio.com.br corresponderia a qualquer solicitação de
               qualquer coisa dentro do domínio dominio.com.br

Rede/Máscara da rede:     192.168.0.0/255.255.255.0 corresponderia a tudo
                          na rede de classe C 192.168.0.0.

Netgroups NIS (YP):       Tudo com @ como caractere à esquerda é tratado
                          como netgroups NIS
7              Filtro TCP Wrapper - tcpd                             Luiz Arthur

Note que, quando são usados nomes de domínio ou nomes de hosts, as falhas de
DNS podem causar problemas no acesso às máquinas, por isso é recomendado
usar endereços IPs.

É possível utilizar o operador EXCEPT para permitir excluir determinados clientes
de uma correspondência.

# vi /etc/hosts.allow
sshd: .dominio.com.br EXCEPT bad.dominio.com.br
in.telnetd: 192.168.0.6, 10.0.0.0/255.0.0.0 EXCEPT 10.0.0.5
portmap: 192.168.0.100
ALL:ALL:DENY

Caracteres curinga TCP Wrappers:

Caracteres curinga
ALL                Corresponde a todos
KNOWN              Corresponde a um host cujo nome e endereço são conhecidos (via
                   serviços de nome).
LOCAL              Qualquer nome que não contenha ponto.
PARANOID           Corresponde a um host cujo nome não corresponde ao endereço
                   (colocando-se ALL:PARANOID em /etc/hosts.allow seria negado
                   acesso a todas as máquinas cujo IP não corresponde ao seu IP)
UNKNOWN            Quando um nome de host ou endereço é desconhecido porque não
                   pode ser resolvido usando-se as chamadas de sistema que
                   implementam resoluções de nome.
8            Filtro TCP Wrapper - tcpd                         Luiz Arthur

Um outro recurso interessante do TCP wrappers é que ele pode executar
comandos quando uma condição é correspondida.

Por exemplo, você pode colocar a seguinte linha no seu arquivo /etc/hosts.deny
para enviar um e-mail para administrador@dominio.com.br toda vez que há
falha de conexão:

# vi /etc/hosts.deny
ALL:ALL : spawn (/bin/echo Alerta de segurança no host: %a no serviço %d na
‘date’ | tee –a /var/log/security_Alert | mail administrador@dominio.com.br)


Se algo não corresponde a nenhuma das regras em /etc/hosts.allow            e
corresponde à condição ALL:ALL em /etc/hosts.deny deverá ser escrito:

Alerta de segurança no host: %a no serviço %d na data

E está enviando isso para /var/log/security_Alert assim como enviando por
e-mail as informações para administrador@dominio.com.br . O %a e %d dentro
do comando gerado com spawn são expansões disponíveis em TCP wrappers.
9              Filtro TCP Wrapper - tcpd                                    Luiz Arthur

Expansões de TCP Wrapper
            Expansão   Descrição
            %a         Endereço do host cliente
            %A         Endereço do host servidor
            %c         Todas as informações de clientes disponíveis
            %d         Informações de processos daemon
            %h         Nome do host ou endereço se não houver nome disponível
            %H         Node do servidor ou endereço
            %n         Nome do host do cliente
            %N         Nome do host do servidor
            %p         ID de processo daemon
            %s         Todas as informações de servidor disponíveis
            %u         Nome de usuário do cliente

Extensões de linguagem de controle de acesso opcionais

Se o tcpd for compilado com PROCESS_OPTIONS habilitado no Makefile, a sintaxe
da linguagem de controle de acesso é alterada e estendida. A sintaxe de comando
estendida é:

services   :   clients              :     option :        option
10             Filtro TCP Wrapper - tcpd                        Luiz Arthur

O campo services e o campo clients são definidos exatamente do mesmo modo
com eles estavam na sintaxe Wrapper original. O campo option é novo e assim é
o fato de múltiplas opções serem permitidas para cada regra. Há várias opções
possíveis, sendo algumas:

allow – Permite o serviço solicitado.

deny - Nega o serviço solicitado.

spawn shell-command – Executa o comando shell como um processo filho.

twist shell-command – Executa o comando shell ao invés do serviço solicitado.

keepalive – Envia mensagens keepalive ao cliente. Se o cliente não responder, a
conexão é fechada.

liger seconds – Especifica quanto tempo o sistema deve tentar entregar dados
depois do servidor fechar a conexão.

rfc931[timeout] – Usa o protocolo IDENT para procurar o nome de usuário do
cliente. Timeout (intervalo) define quantos segundos o servidor deve esperar
pela resposta do cliente.

banners path – Exibe os conteúdos de um arquivo de mensagens para o cliente
sendo path o caminho ao arquivo de banner.
11            Filtro TCP Wrapper - tcpd                        Luiz Arthur

nice [number] – ajusta o valor de nice para o processo de serviço de rede. O
valor nice é usado para calcular uma prioridade de execução. O valor padrão é
10.

umask mask – Ajusta um valor de umask para arquivos criados pelo processo
iniciado pelo tcpd.

user user[.group] – Executa o processo de serviço de rede com o ID de usuário
de ID de grupo especificados indiferente ao que está definido em
/etc/inetd.conf.

setenv name value – ajusta uma variável de ambiente para o ambiente do
momento de execução do processo.

Com a sintaxe nova, não há nenhuma necessidade de ter dois arquivos, pois a
opção ALLOW e DENY podem existir em único arquivo.

Usando as opções ALLOW e DENY, este comando:

ALL:     .empresa.org EXCEPT micro1.empresa.org

pode ser reescrito como:

ALL:     micro1.empresa.org :DENY
ALL:     .empresa.org : ALLOW
12            Filtro TCP Wrapper - tcpd                            Luiz Arthur

O exemplo de comando shell que usa a sintaxe original é quase a mesma:

in.rsh :   ALL : spawn (safe_finger -l @%h | mail -s %d - %h root) & : DENY

Uma variação mais interessante no tema de comando shell vem de usar a opção
twist. Em vez de passar um comando ao shell para execução, o comando twist
executa um programa para o cliente – mas não o programa que o cliente espera.

Por exemplo:

in.ftpd : ALL: twist   /bin/echo 421 FTP não é permitido para %h   :     DENY

Neste caso, quando o sistema remoto tenta iniciar o daemon FTP, echo é iniciado
no lugar. O programa echo então envia a mensagem ao sistema remoto e termina
a conexão.
13   Filtro TCP Wrapper - tcpd   Luiz Arthur

fim

Weitere ähnliche Inhalte

Was ist angesagt?

SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall Carlos Melo
 
Aula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAndrei Carniel
 
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxConfigurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxjrrsouzaj
 
Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAndrei Carniel
 
O protocolo ftp (file transfer protocol)
O protocolo ftp (file transfer protocol)O protocolo ftp (file transfer protocol)
O protocolo ftp (file transfer protocol)ErikHR
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Olivermarcosserva
 
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...Tchelinux
 
Personalizacao Do Sistema E Servicos
Personalizacao Do Sistema E ServicosPersonalizacao Do Sistema E Servicos
Personalizacao Do Sistema E Servicosarturramisio
 
Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalAlmir Mendes
 
Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesLuiz Arthur
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFrederico Madeira
 
IPTables na prática
IPTables na práticaIPTables na prática
IPTables na práticaaptans
 
Trabalho Servidor FTP
Trabalho Servidor FTPTrabalho Servidor FTP
Trabalho Servidor FTPJunior Cesar
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks3Way Networks
 
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesSegurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesMinistério Público da Paraíba
 

Was ist angesagt? (20)

SENAI - Segurança firewall
SENAI - Segurança   firewall SENAI - Segurança   firewall
SENAI - Segurança firewall
 
Comandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76aComandos ip-de-redes-no-windows-1319-ory76a
Comandos ip-de-redes-no-windows-1319-ory76a
 
Aula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NATAula 8.3 - Iptables Tabela NAT
Aula 8.3 - Iptables Tabela NAT
 
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lxConfigurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
Configurando ambiente ltsp_4.2_com_mt1000_lx_ta2000lx
 
Aula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e ScriptsAula 8.2 - Iptables Impasses e Scripts
Aula 8.2 - Iptables Impasses e Scripts
 
O protocolo ftp (file transfer protocol)
O protocolo ftp (file transfer protocol)O protocolo ftp (file transfer protocol)
O protocolo ftp (file transfer protocol)
 
Iptables Completo Oliver
Iptables   Completo   OliverIptables   Completo   Oliver
Iptables Completo Oliver
 
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...Técnicas avancadas de seguranca com iptables  - Marcus Augustus Pereira Burgh...
Técnicas avancadas de seguranca com iptables - Marcus Augustus Pereira Burgh...
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
Personalizacao Do Sistema E Servicos
Personalizacao Do Sistema E ServicosPersonalizacao Do Sistema E Servicos
Personalizacao Do Sistema E Servicos
 
Entendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoalEntendendo como fazer um firewall pessoal
Entendendo como fazer um firewall pessoal
 
Seguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptablesSeguranca da Informação - Firewall iptables
Seguranca da Informação - Firewall iptables
 
Ferramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em RedesFerramentas para Detecção de Problemas em Redes
Ferramentas para Detecção de Problemas em Redes
 
Iptables Básico
Iptables BásicoIptables Básico
Iptables Básico
 
IPTables na prática
IPTables na práticaIPTables na prática
IPTables na prática
 
MRTG - SNMP na Prática
MRTG - SNMP na PráticaMRTG - SNMP na Prática
MRTG - SNMP na Prática
 
Controle de congestionamento tcp
Controle de congestionamento tcpControle de congestionamento tcp
Controle de congestionamento tcp
 
Trabalho Servidor FTP
Trabalho Servidor FTPTrabalho Servidor FTP
Trabalho Servidor FTP
 
Linux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way NetworksLinux System Administrator | Curso de Redes | 3Way Networks
Linux System Administrator | Curso de Redes | 3Way Networks
 
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | IptablesSegurança de Dados e Informações - Aula 5 - Firewall | Iptables
Segurança de Dados e Informações - Aula 5 - Firewall | Iptables
 

Andere mochten auch

Bibliografia recomendada-seguranca
Bibliografia recomendada-segurancaBibliografia recomendada-seguranca
Bibliografia recomendada-segurancaLuiz Arthur
 
Apresentação Primeiro Dia
Apresentação Primeiro DiaApresentação Primeiro Dia
Apresentação Primeiro DiaLuiz Arthur
 
Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Luiz Arthur
 
Análise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterAnálise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterLuiz Arthur
 
Seguranca da Informação -IDS
Seguranca da Informação -IDSSeguranca da Informação -IDS
Seguranca da Informação -IDSLuiz Arthur
 

Andere mochten auch (6)

Bibliografia recomendada-seguranca
Bibliografia recomendada-segurancaBibliografia recomendada-seguranca
Bibliografia recomendada-seguranca
 
Apresentação Primeiro Dia
Apresentação Primeiro DiaApresentação Primeiro Dia
Apresentação Primeiro Dia
 
Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2Palestra Ferramentas de Segurança Open Source v.2
Palestra Ferramentas de Segurança Open Source v.2
 
Análise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no TwitterAnálise de Mensagens de Segurança Postadas no Twitter
Análise de Mensagens de Segurança Postadas no Twitter
 
Seguranca da Informação -IDS
Seguranca da Informação -IDSSeguranca da Informação -IDS
Seguranca da Informação -IDS
 
NAPSOL
NAPSOLNAPSOL
NAPSOL
 

Ähnlich wie Configuração do filtro TCP Wrappers no Linux

Ähnlich wie Configuração do filtro TCP Wrappers no Linux (20)

Linux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way NetworksLinux network administration | Curso de Redes | 3Way Networks
Linux network administration | Curso de Redes | 3Way Networks
 
Módulo 08 o que é tcp-ip
Módulo 08   o que é tcp-ipMódulo 08   o que é tcp-ip
Módulo 08 o que é tcp-ip
 
Manual UFCD 0839.pptx
Manual UFCD 0839.pptxManual UFCD 0839.pptx
Manual UFCD 0839.pptx
 
Dhcp com controle_ip_compartilhamento
Dhcp com controle_ip_compartilhamentoDhcp com controle_ip_compartilhamento
Dhcp com controle_ip_compartilhamento
 
Tcpip2
Tcpip2Tcpip2
Tcpip2
 
Redes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos GeraisRedes de Computadores 2 - Conceitos Gerais
Redes de Computadores 2 - Conceitos Gerais
 
Redes de computadores 2 - Protocolos
Redes de computadores 2 - ProtocolosRedes de computadores 2 - Protocolos
Redes de computadores 2 - Protocolos
 
T.A.R Aula 2 (1ª Unidade)
T.A.R Aula 2 (1ª Unidade)T.A.R Aula 2 (1ª Unidade)
T.A.R Aula 2 (1ª Unidade)
 
Ccnafinalexamptbr
CcnafinalexamptbrCcnafinalexamptbr
Ccnafinalexamptbr
 
Conceitos associado às redes
Conceitos associado às redesConceitos associado às redes
Conceitos associado às redes
 
Protocolos TCP IP UDP
Protocolos TCP IP UDPProtocolos TCP IP UDP
Protocolos TCP IP UDP
 
Endereço IP 1A REDES
Endereço IP 1A REDESEndereço IP 1A REDES
Endereço IP 1A REDES
 
Ntop
NtopNtop
Ntop
 
Trabalho rede de computadores 6º si
Trabalho rede de computadores   6º siTrabalho rede de computadores   6º si
Trabalho rede de computadores 6º si
 
Instalando e configurando o serviço snmpd no red hat 5.3 cent_os
Instalando e configurando o serviço snmpd no red hat 5.3   cent_osInstalando e configurando o serviço snmpd no red hat 5.3   cent_os
Instalando e configurando o serviço snmpd no red hat 5.3 cent_os
 
02 configurando placa de rede
02   configurando placa de rede02   configurando placa de rede
02 configurando placa de rede
 
Protocolos de Redes
Protocolos de RedesProtocolos de Redes
Protocolos de Redes
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Rede
Rede Rede
Rede
 
Prog web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_webProg web 00-modelo-cliente_servidor_web
Prog web 00-modelo-cliente_servidor_web
 

Mehr von Luiz Arthur

Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Luiz Arthur
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãLuiz Arthur
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Luiz Arthur
 
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Luiz Arthur
 
Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Luiz Arthur
 
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsEvaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsLuiz Arthur
 
match making e propaganda na web
match making e propaganda na webmatch making e propaganda na web
match making e propaganda na webLuiz Arthur
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookLuiz Arthur
 
Invasao kernel.org
Invasao kernel.orgInvasao kernel.org
Invasao kernel.orgLuiz Arthur
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Luiz Arthur
 
Palestra mau uso da tecnologia
Palestra mau uso da tecnologiaPalestra mau uso da tecnologia
Palestra mau uso da tecnologiaLuiz Arthur
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105Luiz Arthur
 
01 programação - introdução computação
01 programação - introdução computação01 programação - introdução computação
01 programação - introdução computaçãoLuiz Arthur
 
Bibliografia recomendada - programação C
Bibliografia recomendada - programação CBibliografia recomendada - programação C
Bibliografia recomendada - programação CLuiz Arthur
 
Bibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonBibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonLuiz Arthur
 
Bibliografia recomendada-redes
Bibliografia recomendada-redesBibliografia recomendada-redes
Bibliografia recomendada-redesLuiz Arthur
 
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourcePalestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourceLuiz Arthur
 
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelasDissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelasLuiz Arthur
 
Dissertacao - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Algoritmos para simulador de arquiteturas paralelasDissertacao - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Algoritmos para simulador de arquiteturas paralelasLuiz Arthur
 
Palestra - Segurança da Informação - Softwarein Legal
Palestra - Segurança da Informação - Softwarein LegalPalestra - Segurança da Informação - Softwarein Legal
Palestra - Segurança da Informação - Softwarein LegalLuiz Arthur
 

Mehr von Luiz Arthur (20)

Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
Pint of Science - Cibersegurnça x ciberameaças: Até onde você está seguro?
 
Desafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhãDesafios da cibersegurança - ontem, hoje e amanhã
Desafios da cibersegurança - ontem, hoje e amanhã
 
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
Slides - Uma abordagem autonômica para mitigar ciberataques em redes de compu...
 
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
Uma Arquitetura Autonômica para Detecção e Reação a Ameaças de Segurança em R...
 
Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...Detecção de alertas de segurança em redes de computadores usando redes sociai...
Detecção de alertas de segurança em redes de computadores usando redes sociai...
 
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security AlertsEvaluating the Utilization of Twitter Messages as a Source of Security Alerts
Evaluating the Utilization of Twitter Messages as a Source of Security Alerts
 
match making e propaganda na web
match making e propaganda na webmatch making e propaganda na web
match making e propaganda na web
 
Mineração de dados no Gmail e Facebook
Mineração de dados no Gmail e FacebookMineração de dados no Gmail e Facebook
Mineração de dados no Gmail e Facebook
 
Invasao kernel.org
Invasao kernel.orgInvasao kernel.org
Invasao kernel.org
 
Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)Núcleo do Linux (Kernel Linux)
Núcleo do Linux (Kernel Linux)
 
Palestra mau uso da tecnologia
Palestra mau uso da tecnologiaPalestra mau uso da tecnologia
Palestra mau uso da tecnologia
 
UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105UTFPR-inventario-patrimonio-laboratorio-e105
UTFPR-inventario-patrimonio-laboratorio-e105
 
01 programação - introdução computação
01 programação - introdução computação01 programação - introdução computação
01 programação - introdução computação
 
Bibliografia recomendada - programação C
Bibliografia recomendada - programação CBibliografia recomendada - programação C
Bibliografia recomendada - programação C
 
Bibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-pythonBibliografia recomendada-programacao-python
Bibliografia recomendada-programacao-python
 
Bibliografia recomendada-redes
Bibliografia recomendada-redesBibliografia recomendada-redes
Bibliografia recomendada-redes
 
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSourcePalestra - Fitem 2009 - Ferramentas de segurança OpenSource
Palestra - Fitem 2009 - Ferramentas de segurança OpenSource
 
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelasDissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Palestra - Algoritmos para simulador de arquiteturas paralelas
 
Dissertacao - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Algoritmos para simulador de arquiteturas paralelasDissertacao - Algoritmos para simulador de arquiteturas paralelas
Dissertacao - Algoritmos para simulador de arquiteturas paralelas
 
Palestra - Segurança da Informação - Softwarein Legal
Palestra - Segurança da Informação - Softwarein LegalPalestra - Segurança da Informação - Softwarein Legal
Palestra - Segurança da Informação - Softwarein Legal
 

Configuração do filtro TCP Wrappers no Linux

  • 1. 1 Filtro TCP Wrapper - tcpd Luiz Arthur Verificação da configuração do filtro TCP Wrappers (tcpd) Servidores Linux, como o Slackware, implementam um recurso conhecido como TCP wrappers, uma técnica projetada para proteger serviços implementados usando-se o superdaemon de ligação entre redes (inetd ou xinetd). O TCP wrappers é implementado usando-se dois arquivos, um que controla o que é especificamente aceito na rede (/etc/hosts.allow) e outro que especifica negativas das redes (/etc/hosts.deny). Muitos programas têm a capacidade de oferecer suporte a TCP wrapper, incluindo FTP e telnet, assim como outros protocolos conhecidos, porém outros como HTTP e o X Windows System usam seus próprios sistemas de logon e controle de acesso. Alguns aplicativos de código fonte aberto possuem suporte incorporado para tcp_wrappers. Um bom exemplo é o Samba, cujo controle de tcp_wrappers é efetuado usando-se instruções de controle dentro de seu arquivo de configuração. Os dois parâmetros que efetuam tal controle são hosts allow e hosts deny. A configuração padrão do Linux não inclui regras e, portanto, permite que todas as comunicações ocorram. O comportamento padrão do tcp_wrappers é negar acesso a serviços definidos em hosts.deny, a menos que haja uma regra especifica em hosts.allow para permitir isso. Cada regra é avaliada do inicio ao fim, de modo que uma regra posterior possa substituir uma regra anterior.
  • 2. 2 Filtro TCP Wrapper - tcpd Luiz Arthur O software de encapsulamento TCP wrapper conhecido também como tcpd é executado pelo inetd ou xinetd. Usar tcpd em um sistema Linux é fácil porque as entradas no arquivo /etc/inetd.conf já apontam para o programa tcpd. As seguintes entradas são do arquivo /etc/inetd.conf em um sistema Linux: ftp stream tcp nowait root /usr/sbin/tcpd vsftpd telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd shell stream tcp nowait root /usr/sbin/tcpd in.rshd -L login stream tcp nowait root /usr/sbin/tcpd in.rlogind talk dgram udp wait root /usr/sbin/tcpd in.talkd Como mostra este exemplo, o caminho para tcpd é usado em lugar do caminho de cada daemon de serviço da rede. Então, quando o inetd recebe uma solicitação para um serviço ele inicia o tcpd. O tcpd então registra a solicitação do serviço, verifica a informação de controle de acesso, e (se autorizada) inicia o daemon real para manipular a solicitação. O programa tcpd executa duas funções básicas: registrar solicitações para serviços de rede, e fornecer um mecanismo de controle de acesso para estes serviços. Solicitações de registro para serviços de rede específicos é uma função de monitoramento útil, especialmente se você estiver procurando intrusos.
  • 3. 3 Filtro TCP Wrapper - tcpd Luiz Arthur O tcpd usa a facilidade authpriv do syslogd para registrar suas mensagens (para maiores informações procure pelo arquivo /etc/syslog.conf). Normalmente as mensagens de registro geradas pelo tcpd são armazenadas em /var/log/secure. Jun 3 17:25:40 darkstar login[4547]: ROOT LOGIN on `tty6' Jun 6 12:06:08 darkstar in.telnetd[6587]: connect from 10.0.0.1 (10.0.0.1) May 9 14:05:27 darkstar vsftpd[5458]: connect from 192.168.73.10 (192.168.73.10) May 9 14:10:50 darkstar vsftpd[5467]: connect from 192.168.73.6 (192.168.73.6) O arquivo /var/log/secure, não apresenta somente arquivos do tcpd, mas também mensagens para login. Mas podemos ver na segunda mensagem de 6 de junho que houve um acesso ao serviço telnetd feito pela máquina 10.0.0.1 e nas duas últimas linhas são apresentadas acessos ao servidor vsftpd vindo da rede 192.168.73.0. Se o tcpd apenas registrasse acessos ele já seria muito útil. Mas o real poder desta ferramenta é sua habilidade para controlar acesso a serviços de rede. Arquivos de controle de acesso tcpd Dois arquivos definem controles de acesso para o tcpd: O arquivo /etc/hosts.allow, lista os hosts que estão autorizados a acessar os serviços do sistema; O arquivo /etc/hosts.deny lista os hosts aos quais são negados o serviço.
  • 4. 4 Filtro TCP Wrapper - tcpd Luiz Arthur Se estes arquivos não forem encontrados (não estiverem no sistema) ou estiverem em branco, o tcpd irá permitir a todo host ter acesso ao sistema, e simplesmente registra a solicitação de acesso. Quando os arquivos estão presentes no sistema, o tcpd lê o arquivo /etc/hosts.allow primeiro e depois lê o arquivo /etc/hosts.deny. O tcpd pára assim que encontra uma combinação para host e o serviço em questão. Então, o acesso dado pelo arquivo /etc/hosts.allow não pode ser anulado pelo arquivo /etc/hosts.deny. O formato de entradas de ambos os arquivos é o mesmo: services : clients [: shell-comand] service - é uma lista separada por vírgula, de serviços de rede ou a palavra- chave ALL:ALL é usada para indicar todos os serviços da rede. Caso contrário, cada serviço individual é identificada por seu nome de processo, que é o nome segue no arquivo /etc/inetd.conf. clients – é uma lista separada por vírgula de nomes de host, nome de domínio, o endereço IP, e a palavra LOCAL. Alternativamente, pode ser a palavra chave ALL para especificar todos os hosts. shell-command - é um comando de shell opcional que o tcpd executa quando uma comparação ocorre.
  • 5. 5 Filtro TCP Wrapper - tcpd Luiz Arthur Alguns exemplos podem ilustrar a variedade e modos válidos nos quais podem ser descritos services e clients em uma entrada de controle de acesso tcpd. ALL : LOCAL, .empresa.com.br in.ftpd, in.telnetd : micro1.rede.com A palavra-chave ALL no campo services indica que a primeira regra se aplica a todos os serviços de rede. No campo clients, a palavra LOCAL indica que todos os nomes de hosts sem uma parte de domínio são aceitas, e .empresa.com.br compara todos os nomes de hosts neste domínio. A segunda regra dá acesso ftp e telnet a usuários ao sistema remoto chamado de micro1.rede.com. A sintaxe de um arquivo de controle de acesso tcpd padrão pode ser um pouco mais complicada, tal como segue: imapd, ipopd3 : 172.5.4. ALL EXCEPT impad, ipopd3: ALL A palavra EXCEPT é usada para excluir itens de uma lista e também pode ser usada no lado clients de uma regra de acesso. Por exemplo: ALL: .empresa.com.br EXCEPT gateway.empresa.com.br
  • 6. 6 Filtro TCP Wrapper - tcpd Luiz Arthur A primeira regra colocada em um arquivo de controle do TCP wrapper é a regra ALL:ALL em /etc/hosts.deny, tal regra nega todos os serviços, mas uma regra melhor é bloquear todos os serviços não definidos explicitamente é criar a ultima entrada em /etc/hosts.allow como ALL:ALL:DENY eliminando a necessidade de um arquivo /etc/hosts.deny. Tipos de entradas do hosts deny e allow: Endereço IP: 192.168.0.100 corresponde a um IP único; 193.168.0. corresponde à rede inteira 192.168.0.0 se uma poção é deixada de lado toda a porção a direita é tratada como zero Nome do host: segurança.dominio.com.br corresponde a qualquer solicitação do host segurança.dominio.com.br .dominio.com.br corresponderia a qualquer solicitação de qualquer coisa dentro do domínio dominio.com.br Rede/Máscara da rede: 192.168.0.0/255.255.255.0 corresponderia a tudo na rede de classe C 192.168.0.0. Netgroups NIS (YP): Tudo com @ como caractere à esquerda é tratado como netgroups NIS
  • 7. 7 Filtro TCP Wrapper - tcpd Luiz Arthur Note que, quando são usados nomes de domínio ou nomes de hosts, as falhas de DNS podem causar problemas no acesso às máquinas, por isso é recomendado usar endereços IPs. É possível utilizar o operador EXCEPT para permitir excluir determinados clientes de uma correspondência. # vi /etc/hosts.allow sshd: .dominio.com.br EXCEPT bad.dominio.com.br in.telnetd: 192.168.0.6, 10.0.0.0/255.0.0.0 EXCEPT 10.0.0.5 portmap: 192.168.0.100 ALL:ALL:DENY Caracteres curinga TCP Wrappers: Caracteres curinga ALL Corresponde a todos KNOWN Corresponde a um host cujo nome e endereço são conhecidos (via serviços de nome). LOCAL Qualquer nome que não contenha ponto. PARANOID Corresponde a um host cujo nome não corresponde ao endereço (colocando-se ALL:PARANOID em /etc/hosts.allow seria negado acesso a todas as máquinas cujo IP não corresponde ao seu IP) UNKNOWN Quando um nome de host ou endereço é desconhecido porque não pode ser resolvido usando-se as chamadas de sistema que implementam resoluções de nome.
  • 8. 8 Filtro TCP Wrapper - tcpd Luiz Arthur Um outro recurso interessante do TCP wrappers é que ele pode executar comandos quando uma condição é correspondida. Por exemplo, você pode colocar a seguinte linha no seu arquivo /etc/hosts.deny para enviar um e-mail para administrador@dominio.com.br toda vez que há falha de conexão: # vi /etc/hosts.deny ALL:ALL : spawn (/bin/echo Alerta de segurança no host: %a no serviço %d na ‘date’ | tee –a /var/log/security_Alert | mail administrador@dominio.com.br) Se algo não corresponde a nenhuma das regras em /etc/hosts.allow e corresponde à condição ALL:ALL em /etc/hosts.deny deverá ser escrito: Alerta de segurança no host: %a no serviço %d na data E está enviando isso para /var/log/security_Alert assim como enviando por e-mail as informações para administrador@dominio.com.br . O %a e %d dentro do comando gerado com spawn são expansões disponíveis em TCP wrappers.
  • 9. 9 Filtro TCP Wrapper - tcpd Luiz Arthur Expansões de TCP Wrapper Expansão Descrição %a Endereço do host cliente %A Endereço do host servidor %c Todas as informações de clientes disponíveis %d Informações de processos daemon %h Nome do host ou endereço se não houver nome disponível %H Node do servidor ou endereço %n Nome do host do cliente %N Nome do host do servidor %p ID de processo daemon %s Todas as informações de servidor disponíveis %u Nome de usuário do cliente Extensões de linguagem de controle de acesso opcionais Se o tcpd for compilado com PROCESS_OPTIONS habilitado no Makefile, a sintaxe da linguagem de controle de acesso é alterada e estendida. A sintaxe de comando estendida é: services : clients : option : option
  • 10. 10 Filtro TCP Wrapper - tcpd Luiz Arthur O campo services e o campo clients são definidos exatamente do mesmo modo com eles estavam na sintaxe Wrapper original. O campo option é novo e assim é o fato de múltiplas opções serem permitidas para cada regra. Há várias opções possíveis, sendo algumas: allow – Permite o serviço solicitado. deny - Nega o serviço solicitado. spawn shell-command – Executa o comando shell como um processo filho. twist shell-command – Executa o comando shell ao invés do serviço solicitado. keepalive – Envia mensagens keepalive ao cliente. Se o cliente não responder, a conexão é fechada. liger seconds – Especifica quanto tempo o sistema deve tentar entregar dados depois do servidor fechar a conexão. rfc931[timeout] – Usa o protocolo IDENT para procurar o nome de usuário do cliente. Timeout (intervalo) define quantos segundos o servidor deve esperar pela resposta do cliente. banners path – Exibe os conteúdos de um arquivo de mensagens para o cliente sendo path o caminho ao arquivo de banner.
  • 11. 11 Filtro TCP Wrapper - tcpd Luiz Arthur nice [number] – ajusta o valor de nice para o processo de serviço de rede. O valor nice é usado para calcular uma prioridade de execução. O valor padrão é 10. umask mask – Ajusta um valor de umask para arquivos criados pelo processo iniciado pelo tcpd. user user[.group] – Executa o processo de serviço de rede com o ID de usuário de ID de grupo especificados indiferente ao que está definido em /etc/inetd.conf. setenv name value – ajusta uma variável de ambiente para o ambiente do momento de execução do processo. Com a sintaxe nova, não há nenhuma necessidade de ter dois arquivos, pois a opção ALLOW e DENY podem existir em único arquivo. Usando as opções ALLOW e DENY, este comando: ALL: .empresa.org EXCEPT micro1.empresa.org pode ser reescrito como: ALL: micro1.empresa.org :DENY ALL: .empresa.org : ALLOW
  • 12. 12 Filtro TCP Wrapper - tcpd Luiz Arthur O exemplo de comando shell que usa a sintaxe original é quase a mesma: in.rsh : ALL : spawn (safe_finger -l @%h | mail -s %d - %h root) & : DENY Uma variação mais interessante no tema de comando shell vem de usar a opção twist. Em vez de passar um comando ao shell para execução, o comando twist executa um programa para o cliente – mas não o programa que o cliente espera. Por exemplo: in.ftpd : ALL: twist /bin/echo 421 FTP não é permitido para %h : DENY Neste caso, quando o sistema remoto tenta iniciar o daemon FTP, echo é iniciado no lugar. O programa echo então envia a mensagem ao sistema remoto e termina a conexão.
  • 13. 13 Filtro TCP Wrapper - tcpd Luiz Arthur fim