Seguridade Perimetral

De Wiki do Ciclo ASIR do IES de Rodeira

Índice

Introducción

Boxinfo info.png
A seguridade perimetral consiste na integración de diversos elementos e sistemas para a protección do perímetro dunha rede informática, a detección de tentativas de intrusión e a disuasión dos potenciais atacantes.

A seguridade perimetral precisa da configuración de distintos elementos, sendo os máis importantes os tornalumes (devasas), proxys e as ferramentas de acceso remoto seguro, como o SSH ou as VPN.

Tornalumes ou Devasas (Firewall)

Hoxe en día é común a conexión das redes locais de ordenadores a Internet. Nunha rede local moitas veces se ofrecen servicios como a transferencia de ficheiros (ftp), o servicio Web (http), servicios de acceso remoto (RDP, SSH, telnet...) ou compartición de arquivos (NFS, CIFS ... etc) que si non temos especial coidado poden quedar expostas ao acceso dende redes externas (Internet) de xeito que potencialmente poden facilitar o acceso a información restrinxida ou confidencial. Para evitar esto, a primeira medida a tomar é pechar completamente o acceso dende o exterior á rede interna da empresa, agrupando nunha zona accesible dende o exterior e aillados da rede interna os servizos que se desexen ofrecer ao exterior (DMZ, ou zona desmilitarizada).

Para a implantación de DMZ, normalmente se recurre a máquinas especialmente configuradas para filtrar o tráfico de rede, de xeito que se poda establecer qué comunicacións están permitidas e cales non. Estes dispositivos reciben o nome de firewall.

Os tornalumes poden funcionar con dúas políticas: ACEPTAR, ou DENEGAR. Nas políticas de ACEPTAR, todo o tráfico que non é prohibido explícitamente está permitido, e coas políticas de DENEGAR todo o tráfico está prohibido, excepto o permitido explícitamente.

Podemos distinguir catro tipos de firewall:

firewalls de pasarela
Funcionan para aplicacións específicas, como telnet, http ou ftp.
firewalls de capa de rede
Permiten o filtrado en base as direccións IP e portos involucrados na comunicación
firewalls de aplicación
Están deseñados para protocolos concretos, como o HTTP, permitindo filtrar peticións específicas do protocolo empregando normalmente patróns.
firewalls de escritorio
Están pensados para filtrar tráfico para un equipo de escritorio, en lugar de protexer unha rede local.

Os firewalls máis utilizados para a protección de redes son os de capa de rede, xa que teñen unha gran flexibilidade, destacando o sistema netfilter de Linux, que permite a filtraxe do tráfico da rede en base a multitude de criterios.

Boxinfo info.png
iptables é o front-end ou interface para netfilter nos sistemas Linux. Netfilter está integrado hoxe en día en multitude de dispositivos de rede como routers ou puntos de acceso WiFi.

Sistemas de Detección de Intrusos (IDS)

Ademáis da protección do acceso aos sistemas da rede mediante un firewall, é convinte configurar sistemas de xeito que se poidan detectar posibles intentos de acceso ilexítimo a tempo para tomar medidas. Estos sistemas reciben o nome de IDS (Intrusion Detection Systems) ou sistemas de detección de intrusos. A súa misión e detectar posibles intentos de ruptura da seguridade da rede e informar aos administradores, almacenado rexistros con toda a información relacionada.

Boxinfo info.png
Os modernos sistemas de detección de intrusos poden detectar posibles ataques e bloquealos de xeito automático en lugar de limitarse a emitir reportes (IDPS Intrusion Detection and Prevention Systems )

Os sistemas de detección de intrusos vixilarán o tráfico da rede (NIDS Network Intrusion Detection System) entre os distintos sistemas en busca de anomalías, dispoñendo ademáis de patróns de diversos ataques típicos na súa base de datos, que permiten a identificación concreta da ameaza en un gran número de casos. Os sistemas NID permiten a creación de regras de alerta, que se dispararán no caso de que exista algún tipo de comunicación que se axuste ao patrón. Existen empresas especializadas na creación de este tipo de reglas que normalmente pretenden detectar o ataque a vulnerabilidades coñecidas, de xeito que os IDS as poden actualizar continuamente e de xeito automático.

Ademáis, os IDS poden crear un rexistro que permite a detección de cambios significativos na configuración ou nos arquivos críticos dos sistemas (HIDS Host-based Intrusion Detection System) o que permite alertar de posibles intrusións ou instalacións de distinto malware.

IDS coñecidos e moi utilizados son Snort, Prelude ou Tripwire.

Honeypots

Un honeypot é un sistema especialmente "mal" configurados de forma que reciban os intentos de intrusión dos atacantes, de modo que se poda examinar como se realizan estos ataques e tomar medidas para impedilos ou mitigalos nos sistemas de traballo real.

Antivirus e Antispam

Co xeito de evitar as infeccións dos equipos da rede e a recepción de correos non desexados é común a instalación de sistemas de filtraxe de virus e de spam a nivel de rede, ademáis da instalación dos antivirus persoais en cada un dos equipos.

Un método típico é a instalación dun filtro de correo que se encargue de analizar o correo recibido previamente ao seu envío aos clientes. Estos filtros fan uso tanto do análise do contido dos correos (mediante patróns e antivirus) como de listas negras e listas brancas.

Outro sistema de limitar o alcance do malware e o uso dun proxy donde se analiza o contido descargado antes do seu envío aos clientes da rede, ademais de ofrecer a posibilidade de filtrar os contidos accesibles dende a rede local.

É habitual o uso de sistemas Linux para establecer filtrados de correo ou do tráfico web mediante o uso de servidores de correo como exim, postfix, sendmail combinados con filtros como spamassassin e servidores proxy combinados con filtros como squidguard, todos eles filtrados por antivirus como clamAV.

Acceso Remoto

Cada vez é máis habitual o acceso remoto ao equipamento das organización co obxecto de traballar dende localizacións distintas á rede local da empresa. Habitualmente este acceso se realiza mediante un software que permite o acceso a un terminal ou escritorio que se está executando nun equipo da rede remota.

O método máis tradicional de conseguir esto é mediante telnet, que permite acceder a un terminal remoto.Hoxe en día non se aconsella o uso de telnet por ser altamente inseguro (información sen cifrar) e por existir alternativas coa mesma e máis funcionalidade e moita máis seguridade, como SSH.

Coas tecnoloxías de virtualización cada vez é máis común o acceso ás máquinas virtuais mediante ferramentas de acceso remoto, particularmente o uso da chamada Virtualización do Escritorio, na que se accede ao entorno gráfico dunha máquina virtual mediante unha ferramenta de escritorio remoto.

Escritorio Remoto

Hoxe en día, un acceso de terminal non é suficiente para a maior parte dos traballos, polo que se fai necesario un servizo de acceso remoto ao entorno gráfico. Nos sistemas UNIX/Linux, o acceso remoto ao sistema gráfico é inherente ao seu propio funcionamento, xa que o entorno é cliente/servidor e as aplicacións se atopan separadas do servidor gráfico. A pesar de eso, para o acceso dende redes remotas é necesario o uso de protocolos que empreguen un menor ancho de banda que o protocolo XDCMP propio dos servidores X. No caso dos sistemas Windows, Microsoft dispón dun protocolo de acceso remoto altamente eficiente basado en tecnoloxía de Citrix chamado RDP.

VNC

VNC (Virtual Net Computing) é un protocolo de acceso remoto que permite a visualización e o control remoto de sistemas con entorno gráfico. Se basa na transmisión de rectángulos da pantalla gráfica e dos distintos eventos producidos. A súa gran ventaxa, é que non precisan de colaboración do sistema para a visualización remota, sendo posible ofrecer nas máquinas virtuais imáxenes do terminal antes do arranque do sistema operativo. O seu principal inconvinte e o uso de ancho de banda, sensiblemente superior a RDP ou tecnoloxías como NX, e a calidade da imaxe obtida.

Existen numerosas implementacións de clientes e servidores VNC para unha gran variedade de sistemas, sendo o sistema empregado por Gnome para permitir o control remoto do escritorio.

RDP

RDP (Remote Desktop Protocol) e o sistema de visualización e control remoto de escritorios utilizado de xeito nativo polos sistemas Windows. Precisa que o propio sistema operativo envie os comandos de debuxo ao cliente, o que permite unha maior velocidade e calidade, pero require que o sistema esté en funcionamento para o acceso, a diferencia de VNC.

Microsoft emprega RDP en diversas ferramentas:

Asistencia Remota
Permite a un usuario remoto o control do escritorio para facilitar tarefas de asistencia.
Acceso Remoto
O incorporan as versións de escritorio de Windows e permiten o acceso remoto ao equipo, pero únicamente de un cliente. Non é posible o traballo simultáneo de varios clientes.
RemoteApp
Permite o acceso remoto a aplicacións, en lugar de ao escritorio completo.
Terminal Server
Permite o traballo simultáneo de varios usuarios. Está incorporado nas versións Server de Windows, e precisa de licencias adicionais según o número de usuarios soportados.

Todos os sistemas Windows dispoñen de cliente RDP, pero existen numerosos clientes para outros sistemas como remmina, rdesktop ou freerdp

NX/X2GO

NX é unha tecnoloxía desenvolta pola empresa NoMachine a partir do protocolo XDCMP de X-Window. Esta tecnoloxía estaba basada en SSH e técnicas de compresión de xeito que se conseguía o envío do protocolo XDCMP cun mínimo gasto de ancho de banda, ofrecendo un gran rendimento en velocidade e calidade en liñas de baixo ancho de banda.

Estando NX basado en tecnoloxías libres, ofreceuse o código fonte, do que se desenvolveu o servidor FreeNX (hoxe discontinuado) e X2GO. Hoxe en día, NoMachine desenvolveu unha nova versión de NX incompatible e completamente pechada.

X2Go é probablemente a tecnoloxía basada en NX máis en uso hoxe en día, ofrecendo numerosas características e plugins como o cliente para navegador, que permite o acceso a un escritorio empotrado nunha páxina web.

Para o acceso a servidores X2Go é preciso o cliente X2Go, mentras que para as versións libres de NX e para FreeNX o máis eficiente e o uso do cliente de NoMachine, aínda que existen outras implementacións como un plugin para remmina.

SSH e Túneis SSH

SSH é un protocolo de acceso remoto seguro que, a diferencia de outros protocolos como telnet, cifra a comunicación e establece a autenticidade das partes da comunicación mediante técnicas criptográficas. Ademáis do cifrado, SSH é capaz de certo grado de compresión e de encapsular outros protocolos, polo que é unha ferramenta de gran eficiencia e polivalencia.

Existen servicios de gran utilidade como SFTP(transmisión remota de arquivos baixo ssh), SSHFS (Acceso a sistemas de ficheiros remotos mediante ssh) ou SCP (copia remota de arquivos baixo ssh) basados en SSH.

  • SSH permite establecer túneis establecendo unha canle encriptada entre dous portos (port forwarding). Por exemplo, podemos establecer unha canle segura para a consulta de páxinas web dun servidor sen soporte https:
ssh -L 1000:servidor.com:80 equipo.no.dominio.servidor.com

Unha vez feito esto, cun navegador podemos acceder a url http://localhost:1000, co que accederíamos ao equipo.no.dominio.servidor.com de xeito seguro, redirixindo este a petición ao porto 80 de servidor.com. Coa opción -g, podemos facer o túnel dispoñible a todos os equipos da rede local.

  • Tamén é posible establecer túneis inversos. Supoñamos que quero acceder de dende a rede local a un equipo que non está accesible, pero que ese equipo sí pode acceder á miña rede. Podemos establecer previamente un túnel inverso dende o equipo remoto que permita o acceso posterior dende a rede local, escribindo no equipo remoto:
ssh -R 10000:localhost:22  equipodaredelocal

O acceso ao porto 100000 no equipodaredelocal proporcionará unha conexión ao porto 22 (ssh) no equipo remoto, que non era accesible.

  • SSH permite a creación de un proxy SOCKS, que nos serviría para recibir a información web cifrada e para proporcionar acceso Web nunha rede segmentada.
ssh -N -D localhost:10080 proxy.example.net -p 443

Con esta orden, as peticións ao porto 1080 do host local se reenviarán ao porto 443 de proxy.example.net, este equipo procesará a petición reenviándoa donde sexa necesario e nos devolverá a resposta. Si o queremos utilizar como proxy web, bastará con configurar no navegador un proxy SOCKS v5 no porto 10080 do ordenador local.

SSH é unha ferramenta estándar en UNIX/Linux. En Windows existen implementacións de terceiros como putty.

VPN

Unha rede privada virtual (VPN) é unha rede que utiliza infraestructuras públicas de telecomunicacións como Internet para proporcionar acceso a unha rede privada. Normalmente os usuarios remotos deben ser autenticados e os seus datos transmitidos dun xeito seguro utilizando encriptación. As VPN proporcionan ao cliente remoto todos os servizos de rede presentes na rede privada, de tal modo que o traballo é igual que si o ordenador estivera directamente conectado.

Mecanismos de Seguridade.

As VPN deben proporcionar protocolos de tunneling criptográficos para:

  • Proporcionar confidencialidad e evitar a intercepción da información (packet sniffing)
  • Asegurar que a conexión é realizada entre os equipos desexados (identity spoofing)
  • Garantizar a integridade da información transmitida.

Os protocolos seguros VPN inclúen os seguintes mecanismos:

  • IPSec (Internet Protocol Security): Foi desenvolto para IPv6, onde é obrigatorio, e se utiliza ampliamente en IPv4. O seu obxectivo e a autenticacón e garantizar a integridade e confidencialidade. A miúdo o protocolo L2TP (Layer 2 tunneling Protocol) traballa con IPSec.
  • TLS/SSL (Transport Layer Security): Pode dirixir todo o tráfico (Open VPN), ou simplemente asegurar unha conexión individual. É posible proporcionar capacidades VPN mediante SSL, e se utiliza cando o esquema da rede dificulta o uso de IPSec (problemas con NAT ou regras do firewall).
  • DTLS (Datagram Transport Layer Security): A utiliza CISCO para resolver problemas que presenta SSL/TLS con túneis UDP.
  • MPPE (Microsoft Point to Point Encryption):Traballa co protocolo de túnel punto a punto (PPTP) de MS.
  • SSTP (Secure Socket Tunneling Protocol): Protocolo de Microsoft introducido en Windows Server 2008 e Windows Vista SP1. Utilízase para dirixir o tráfico PPP ou L2TP (Layer 2 Tunneling Protocol) a través dunha canle SSL 3.0.
  • Secure Shell (SSH): OpenSSH permite dirixir o tráfico para asegurar conexións remotas entre redes ou a unha rede.

En Linux existen varias implementacións de VPN, destacando as implementacións de IPSec OpenSwan e StrongSwan e a implementación sobre SSL OpenVPN. Hoxe en día IPSec é o estándar nas implementacións de VPN.

Sistemas de Xestión Unificada de Ameazas (UTM)

Os sistemas de Xestion Unificada de Ameazas proporcionan diversas características de seguridade perimetral nun único dispositivo hardware. A menudo incorporan:

  • Tornalumes
  • IDS
  • Antivirus/Antispam
  • Filtrado Web
  • Control do ancho de banda
  • Conectividade VPN