Quadro com as portas dos serviços mais comuns e que devem ser sabidas de cor por qualquer administrador de redes.
Porta(s) Serviços
20, 21 File Transfer Protocol (FTP)
23 Telnet
25 Simple Mail Transfer Protocol (SMTP)
50, 51 IPSec
53 Domain Name Server (DNS)
67, 68 Dynamic Host Configuration Protocol (DHCP)
69 Trivial File Transfer Protocol (TFTP)
80 HyperText Transfer Protocol (HTTP)
88, 749 Kerberos
110 Post Office Protocol (POP3)
119 Network News Transport Protocol (NNTP)
137-139 NetBIOS
143 Internet Message Access Protocol (IMAP4)
161, 162 Simple Network Management Protocol (SNMP)
389 Lightweight Directory Access Protocol (LDAP)
443 HTTP with Secure Sockets Layer (SSL)
1701 Layer Two Tunneling Protocol (L2TP)
1723 Point-to-point Tunneling Protocol (PPTP)
12.28.2012
Portas utilizadas pelos serviços de Rede mais comuns
12.13.2012
Instalação do Webmin no CentOs 6.3
O Webmin é um sistema Web para administração de servidores Linux muito abrangente e poderoso. Para instalá-lo com suporte SSL (permite acessos https o que é importante por razões de segurança) faça-se o seguinte :
Habilitar repositório webmin. É possível efetuar o download do pacote com o wget e instalar o webmin com o comando rpm. No entanto assim simplifica-se o processo e asseguram-se futuros updates do programa.
Criar ficheiro~~: #vi /etc/yum.repos.d/webmin.repo
Adicionar texto:
[Webmin] name=Webmin Distribution Neutral #baseurl=http://download.webmin.com/download/yum mirrorlist=http://download.webmin.com/download/yum/mirrorlist enabled=1
Importar e instalar a chave GPG para garantir que apenas pacotes assinados são instalados para o Webmin.
# wget http://www.webmin.com/jcameron-key.asc
# rpm --import jcameron-key.asc
Instalar Webmin
#yum install webmin
Iniciar o serviço:
service webmin start
Por defeito, o Webmin corre na porta 10000, sendo necessário abrir a porta na firewall. Adicionar a respectiva regra e reeiniciar o serviço iptables.
#iptables -A INPUT -p tcp -m tcp --dport 10000 -j ACCEPT
service iptables restart
Pode-se agora aceder por http colocando no browser o IP da máquina e a respetiva porta: http://[IP da máquina]:10000
Para configurar o acesso por https é necessário instalar módulo SSLeay que permite a operabilidade entre os scripts perl que constituem o Webmin e a livraria OpenSSL
#yum install perl-Net-SSLeay
Acede-se ao Webmin e activa-se o acesso https Webin --> Webmin configuration --> Enable SSL if available? --> Yes
A partir desse momento não é mais possível aceder por http.
Nmap - Introdução e alguns exemplos de comandos.
O nmap ( Network Mapper) é um programa que permite efectuar o scanning de redes podendo ser utilizado para auditorias de segurança já que permite descobrir portas abertas e serviços a correr em máquinas remotas. Obviamente, pode ser utilizado para fins ilícitos, sendo uma das ferramentas de eleição para esquemas de footprintig. Como tal, em muitos países existe legislação que consagra a proibição de utilização de programas de rastreamento como o nmap. Isto dito, a utilização do nmap para efectuar o scanning de sistemas na Internet pode levar a que as Instituições que são alvo desses atos os encarem como hostis e procedem judicialmente contra os autores dos mesmos. Relembre-se que as firewalls têm mecanismos para detectar, bloquear e informar os administradores quando este tipo de acções ocorrem, não sendo muitas das vezes difícil verificar o IP de origem do scan. Obviamente existem métodos sofisticados que permitem utilizar o nmap de forma a mitigar a sua detecção, no entanto desencoraja-se a utilização deste tipo de ferramentas para outra utilização que não nos sistemas e máquinas que directamente administramos.
Um administrador poderá recorrer ao nmap para responder às seguintes perguntas:- Quantos computadores com interfaces de rede activas existem na Rede Local ?
- Que endereços IP estão atribuídos?
- Qual é o sistema operativo das máquinas?
- Que portas estão abertas ?
- Existem sistemas contaminados com vírus/malware ?
- Existem máquinas e serviços de rede não autorizados ?
- Existem sistemas com falhas graves de segurança?
[root@centos01 ~]# rpm -qa nmapSe não devolver nenhum resultado, instale o programa com o comando
[root@centos01 ~]#yum install nmap -yO comando rpm deveolverá agora o resultado:
[root@centos01 ~]# rpm -qa nmap nmap-5.51-2.el6.i686Scan a um endereço IPv4 ou usando o nome do host
nmap 172.16.1.1 ou nmap srv1.localScan a múltiplos endereços IP
nmap 172.16.1.1 172.16.1.2 172.16.1.3Scan a uma subnet
nmap 192.168.1.0/24Scan recorrendo a um wild card
nmap 192.168.1.*Scan utilizando um ficheiro de texto contendo os endereços IP ou nomes dos hosts
nmap -iL /tmp/test.txtScan com exclusão de endereços
nmap 192.168.1.0/24 --exclude 192.168.1.5,192.168.1.254Scan com exclusão de endereços contidos num ficheiro de texto
nmap -iL /tmp/lista.txt --excludefile /tmp/excluir.txtAtivar deteção de OS
nmap -A 192.168.1.254 nmap -v -A 192.168.1.1Verificar se host ou rede está protegido por uma firewall
nmap -sA 192.168.1.254Scan a host/rede protegido por uma firewall
nmap -PN 192.168.1.1Scan a host/endereço IPv6
nmap -6 2607:f0d0:1002:51::4Scan a um host ou rede para detetar serviços que estejam a correr
nmap -sP 192.168.1.0/24Efetuar um scan rápido
nmap -F 192.168.1.1Descobrir a razão pela qual uma porta está num determinado estado
nmap --reason 192.168.1.1Mostrar apenas as portas possivelmente abertas
nmap --open 172.16.1.1Scan a portas específicas
nmap -p 80 192.168.1.1 nmap -p T:80 192.168.1.1 (TCP) nmap -p U:53 192.168.1.1 (UDP) nmap -p 80,443 192.168.1.1 (duas portas) nmap -p 80-200 192.168.1.1 (range de portas) nmap -v -sU -sT -p U:53,111,137,T:21-25,80,139,8080 192.168.1.254 nmap -p "*" 192.168.1.1 (todas as portas)Scan com deteção de SO remoto
nmap -O 192.168.1.1 nmap -O --osscan-guess 192.168.1.1 nmap -v -O --osscan-guess 192.168.1.1Detecção precisa da versão remota dos serviços a correrem num sistema
nmap -sV 192.168.1.1Scan rápido de portas abertas de todos os dispositivos numa subnet
nmap -T5 192.168.1.0/24Detecção de serviços UDP (DNS, DHCP, SNMP)
nmap -sU 192.168.1.1Scan com utilização de pings TCP ACK (PA) e TCP Syn (PS) (utilizados se a firewall estiver a bloquear o protocolo ICMP
nmap -PS 192.168.1.1Detecção das portas TCP mais utilizadas com recurso a TCP SYN
nmap -sS 192.168.1.1 (scan furtivo) nmap -sA 192.168.1.1 (scan furtivo) nmap -sW 192.168.1.1 (scan furtivo) nmap -sM 192.168.1.1 (scan furtivo)Detecção de falhas de segurança em firewalls
nmap -sN 192.168.1.254 nmap -sF 192.168.1.254 nmap -sX 192.168.1.254Scan com recurso a pacotes "fragmentados" (evita detecção)
nmap -f 192.168.1.1Scan com spoofing do endereço MAC
nmap -v -sT -PN --spoof-mac MAC-ADDRESS-HERE 192.168.1.1 nmap -v -sT -PN --spoof-mac 0 192.168.1.1 (gerado aleatoriamente)
Caso possua um sistema com GUI poderá utilizar o programa ZENMAP que não é mais do que o nmap com uma interface gráfica (yum install zenmap -y para instalá-lo no CentOs).
Fonte: http://www.cyberciti.biz11.30.2012
Configurar IP estático - Linux CentOs 6.3
Não investiguei ainda porquê, mas não consegui correr o system-config-network numa instalação base do CentOs. Assim sendo, recorri ao processo de configuração manual.
Ficheiro ifcfg-eth0
DEVICE="eth0" BOOTPROTO="dhcp" HWADDR="xx:xx:xx:xx:xx:xx" NM_CONTROLLED="yes" ONBOOT="no" TYPE="Ethernet" UUID="xxxxxxxx-05a0-4adf-84fd-850aca6521c7
Configurar o ficheiro ifcfg-eth0
[root@centos ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0" BOOTPROTO="static" HWADDR="xx:xx:xx:xx:xx:xx" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="xxxxxxxx-05a0-4adf-84fd-930bcde234c7" IPADDR=172.16.1.100 NETMASK=255.255.255.0
Configurar Gateway
[root@centos ~]# vi /etc/sysconfig/network
NETWORKING=yes HOSTNAME=homeall.local GATEWAY=172.16.1.254
Configurar DNS
[root@centos ~]# vi /etc/resolv.conf nameserver 208.67.222.222
Reeiniciar o serviço de Networking do sistema
[root@centos ~]# service network restart
11.27.2012
IPv6 - Curso on-line em português
Os conhecimentos de IPv6 tornam-se cada vez mais importantes. O link http://ipv6.br/curso/ disponibiliza um curso excelente, em português, onde se podem aprender as principais características do protocolo. O próprio site possui imensos recursos sobre IPv6. Visualização obrigatória!
10.25.2012
Noções básicas - Cisco ZBF (Zone Based Firewall)
Este artigo tem como objetivo apresentar alguns conceitos teóricos básicos sobre o ZBF - Zone Based Firewall-. É apresentada uma configuração básica de uma ZBF num cenário muito simples (router com uma ligação à Internet), mas contudo suficiente para perceber os conceitos básicos. Refira-se que a Cisco aconselha vivamente a utilização desta tecnologia tendo mesmo deixado de desenvolver a antiga ferramenta para implementação mecanismos de firewall stateful num router - CBAC-. Dito isto, a aprendizagem e acompanhamento da evolução das ZBFs é totalmente aconselhável por parte de administradores Cisco. As ZBFs podem suportar (conforme a versão do IOS)
- Firewall de estado ou Stateful inspection
- Application inspection
- Filtragem de pacotes
- Filtragem de URLs
- Firewall transparente
- Suporte para VRF – Virtual routing and forwarding
Com as ZBFs as interfaces são colocadas em zonas. As zonas podem ter qualquer nome atribuído, sendo que nomes como inside, outside ou DMZ são os escolhidos normalmente. As políticas são especificadas contemplando qual o tráfego que pode ser originado e qual a ação que a firewall deve ter sobre o mesmo. Cada uma das situações requer uma política diferente.
Uma zona precisa de ser inicialmente criada e só depois se podem atribuir interfaces a essa zona. Uma interface apenas pode pertencer a uma zona, sendo que uma zona pode ter mais do que uma interface. Existe uma zona por defeito, a self zone, sendo esta uma zona lógica. Para cada pacote dirigido ao router este automaticamente o interpreta como direcionado para a self zone e inversamente o tráfego que sai do router é interpretado como saindo da self zone. Por defeito, todo o tráfego que sai da self zone é permitido, sendo que tal comportamento pode ser alterado. Para todas as restantes zonas criadas administrativamente, não é permitido tráfego entre interfaces de zonas diferentes, sendo apenas permitido se pertenceram à mesma zona.
Se pretendermos que o tráfego entre interfaces colocadas em zonas diferentes seja permitido, temos que criar uma política específica para tal, entrando em equação o conceito de zone pair. Um zone pair, é uma configuração onde é identificado tráfego com origem numa zona para um destino noutra zona. O administrador associa uma série de regras (policy) para esse zone pair, onde especifica o tipo de inspeção a realizar sobre o tráfego e aplica essa policy ao zone pair.
No nosso exemplo, vamos criar duas zonas (inside, outside) e atribuir a interface interna à inside zone e a interface externa à outside zone. Depois criaremos uma policy para inspecionar o tráfego gerado pelos utilizadores com destino à Internet (Cada ligação vai gerar uma entrada na stateful database da firewall do IOS e apenas o tráfego de retorno legitimado pela informação constante nessa base de dados será permitido. Todo o restante é bloqueado. Os conceitos de ZBF aproximam a tecnologia usada aos conceitos aplicados nas firewalls de 2ª e nalguns aspetos de 3 geração)
Num exemplo mais complexo, uma empresa que tenha três interfaces (interna, externa e DMZ), criará 3 zonas onde colocará cada uma das interfaces, inside, outsider e DMZ. Em comparação com o cenário anterior, será criado um zone pair adicional (outside para DMZ) e aplicada uma política que permita que utilizadores na Internet possam enviar tráfego para os servidores colocados na DMZ. Noutro artigo exploraremos uma configuração possível para o efeito.
A Cisco tem uma linguagem para criar as políticas C3PL – Cisco Common Classification Policy Language. O processo para criar uma policy tem 3 componentes:
- Class maps: Identificam tráfego a ser inspecionado. Tal pode ser feito desde o Layer 3 ao Layer 7, incluindo tráfego originado por aplicações específicas. Podem referir acls para identificar tráfego assim como referir outros class maps. Um class map pode especificar que todos os match statemets têm que combinar (match-all) ou que basta uma condição de um match se verificar (match-any). Um class-map por default que albergue todo o tráfego que não é alvo de condições de verificação pode ser usado.
- Policy maps: Acções a serem tomadas após inspeção do tráfego. As acções que podem ser tomadas são inspect (ordena stateful inspection dos tráfego), permit ( permite sem inspecionar), drop, ou log.
- Service policies: Especifica onde é aplicada a policy, identificada por um policy map, num zone pair.
Se um policy map contém múltiplas ações baseadas em diferentes class maps, o policy map é processado do seu inicio até ao fim, aplicando as acões conforme o match do tráfego com as condições definidas nas class maps. Se nenhuma das condições se verificar, entra em vigor a ação por defeito. A default policy para o tráfego que pretende inicar-se numa zona com destino a outra é uma negação implícita, implicit deny . A exceção é o tráfego originado de e para a self zone, que é permitido por defeito. Reveja-se no quadro seguinte as ações que podem ser especificadas num policy map:
- Inspect: Ativa mecanimos de firewall stateful sobre o tráfego, deve ser aplicado no tráfego gerado para a Internet.
- Pass: Permite o tráfego sem criar mecanismos de inspeção. Poderá ser necessário para permitir determinados tipos de tráfego inbound e outbound.
- Drop: Bloqueia o tráfego de circular entre os zone pairs
- Log: Gera mensagens de log. Aplica-se geralmente no tráfego que foi bloqueado
Quando um router recebe um pacote, toma uma decisão sobre o roteamento, encaminhando o pacote para uma interface ou fazendo um drop caso não conheça nenhum destino. Com uma ZBF configurada, o router atentará às políticas definidas e à informação da stateful database. A tabela seguinte mostra o fluxo de tráfego entre várias interfaces de várias zonas, dependendo da configuração. Convém memorizar a informação constante na tabela para efeitos de troubleshooting de ZBFs. Refira-se que Ingress refere-se a tráfego a entrar uma interface e Egress refere-se a tráfego que sai de uma interface.
Interface Ingress (membro de uma zona) | Interface Egress (membro de uma zona) | Existe um Zone pair com uma policy aplicada | Resultado |
---|---|---|---|
Não | Não | Não é relevante | O trágefo é encaminhado |
Não | Sim (qualquer zona) | Não é relevante | O tráfego não é encaminahdo |
Sim (zona A) | Sim (zona B) | Não | O tráfego não é encaminhado |
Sim (zona A) | Sim (zona B) | Sim | A policy é aplicada |
Se existe um zone pair que identifica tráfego entre duas zonas e a policy não está aplicada nesse zone pair, o comportamento por defeito é não encaminhar o tráfego como se nenhum zone pair existisse.
Uma configuração com recurso a ZBFs inclui os seguintes componentes:
- Zonas
- Interfaces que são membros dessas zonas
- Class maps que identificam o tráfego
- Policy maps que usam class maps para identificar o tráfego e que especificam as ações a tomar
- Zone pairs que identificam um fluxo de tráfego unidirecional, a iniciar-se em dispositivos pertencentes a uma zona e roteados para outra interface pertencente a outra zona
- Service policy, que associa um policy map a um zone pair.
Com isto em mente, vamos criar uma configuração que implemente uma ZBF num router com um acesso à Internet:
Zonas
Vamos criar uma zona para a rede interna (LAN) e outra zona para a conter a interface pública ou seja a internet. Podemos atríbuir qualquer nome à zona mas no presente exemplo optamos por inside para a LAN e outisde para a zona que se liga à Internet. Optou-se por colocar essa informação na descrição das zonas (comandos facultativos)
RTHOME(config)#zone security inside
RTHOME(config-sec-zone)#description LAN_PRIVADA
RTHOME(config-sec-zone)#exit
RTHOME(config)#zone security outside
RTHOME(config-sec-zone)#description INTERNET
RTHOME(config-sec-zone)#exit
Colocar as interfaces nas respetivas zonas
RTHOME(config)#interface vlan1
RTHOME(config-if)#zone-member security inside
exit
RTHOME(config)#interface vlan2
RTHOME(config-if)#zone-member security outside
exit
Vamos criar as Class maps que identificam o tráfego. Escolhemos aleatoriamente alguns protocolos para figurarem no exemplo. Obviamente, este passo exige um planeamento prévio sobre o que é pretendido ao nível das políticas e da segurança.
RTHOME(config)#class-map type inspect match-any OUT_TRAFFIC_INTERNET
RTHOME(config-cmap)#match protocol dns
RTHOME(config-cmap)#match protocol ftp
RTHOME(config-cmap)#match protocol tcp
RTHOME(config-cmap)#match protocol udp
RTHOME(config-cmap)#match protocol ssh
RTHOME(config-cmap)#match protocol smtp
RTHOME(config-cmap)#match protocol icmp
RTHOME(config-cmap)#match protocol http
RTHOME(config-cmap)#match protocol https
Vamos criar uma policy map que vai referenciar a class map previamente criada para identificar o tráfego. Após essa referência é configurada a ação a tomar.
RTHOME(config-pmap)#class type inspect OUT_TRAFFIC_INTERNET
RTHOME(config-pmap-c)#inspect
Criamos agora o zone pair que identifica o sentido (unidirecional do tráfego) e o sercice policy que referencia o Policy map previamente configurado.
RTHOME(config)#zone-pair security PRIVATE_LAN_TO_INTERNET source inside destination outside
RTHOME(config-sec-zone-pair)#service-policy type inspect INTERNET_TRAFFIC
RTHOME(config-sec-zone-pair)#exit
RTHOME(config)#
Obviamente que terá de ser configurado PAT no Router para permitir que os disporitivos da LAN acedema à Internet.
ip access-list standard ACL_NAT
RTHOME(config-std-nacl)#permit 192.168.1.0 0.0.0.255
RTHOME(config-std-nacl)#exit
RTHOME(config)#
RTHOME(config)#interface vlan1
RTHOME(config-if)#ip nat inside
RTHOME(config-std-nacl)#exit
RTHOME(config)#interface vlan2
RTHOME(config-if)#ip nat outside
RTHOME(config-if)#exit
RTHOME(config)#ip nat inside source list ACL_NAT interface Vlan2 overload
Este exemplo deve servir como base para entender os conceitos das ZBFs. Contudo a configuração mostrada funciona perfeitamente num equipamento doméstico ou um router de uma pequena empresa.
Para saber mais
- Stateful firewall: http://en.wikipedia.org/wiki/Stateful_firewall
- Diferenças entre CBAC e ZBF: http://www.cisco.com/en/US/prod/collateral/vpndevc/ps5708/ps5710/ps1018/prod_white_paper0900aecd806f31f9.html
Fonte: Cisco CCNA Security Official Cert Guide