Ventanas.  virus  Cuadernos.  Internet.  oficina.  Utilidades.  Conductores

Existe una idea errónea común de que los servidores que ejecutan el sistema operativo Linux son los más seguros y protegidos de las intrusiones externas. Lamentablemente no es así, la seguridad de cualquier servidor depende de una serie de factores y medidas para garantizarla, y prácticamente no depende del sistema operativo utilizado.

Decidimos iniciar una serie de artículos dedicados a Seguridad de la red Con Servidor Ubuntu, porque las soluciones en esta plataforma son de gran interés para nuestros lectores y porque muchos creen que las soluciones de Linux son seguras en sí mismas.

Al mismo tiempo, un enrutador con una dirección IP dedicada es una "puerta de enlace" a la red local, y dependerá solo del administrador si esta puerta será una barrera confiable o si resultará ser una puerta de país cerrada. con un clavel.

Otro error común, razonando al estilo: "pero quién lo necesita, nuestro servidor, no tenemos nada interesante". De hecho, su red local puede no ser de ningún interés para los atacantes, sin embargo, pueden usar un servidor pirateado para enviar spam, ataques a otros servidores, un proxy anónimo, en resumen, como punto de partida para sus oscuras acciones.

Y esto ya es desagradable y puede servir como fuente de varios problemas: desde el proveedor hasta las fuerzas del orden. Y no debe olvidarse de la propagación de virus, el robo y la destrucción de información importante, así como el hecho de que el tiempo de inactividad de una empresa genera pérdidas bastante tangibles.

A pesar de que el artículo está dedicado a Ubuntu Server, primero consideraremos los problemas generales de seguridad que se aplican por igual a cualquier plataforma y son los conceptos básicos, sin los cuales no tiene sentido discutir el tema con más detalle.

¿Dónde comienza la seguridad?

No, la seguridad no comienza con un firewall, no comienza con un firewall en absoluto. medios tecnicos, la seguridad comienza con el usuario. Después de todo, ¿cuál es el punto de la puerta de metal más genial instalada por la mayoría los mejores especialistas si el dueño deja la llave debajo de la alfombra?

Por lo tanto, lo primero que debe hacer es realizar una auditoría de seguridad. No tenga miedo de esta palabra, no todo es tan difícil: dibuje un plan de red esquemático en el que marque una zona segura, una zona de peligro potencial y una zona de mayor peligro, y también haga una lista de los usuarios que tienen (deberían tienen) acceso a estas zonas.

La zona segura debe incluir recursos de red internos a los que no haya acceso desde el exterior y para los cuales sea aceptable un bajo nivel de seguridad. Estos pueden ser estaciones de trabajo servidores de archivos etcétera. dispositivos cuyo acceso está limitado por la red local de la empresa.

La zona de peligro potencial debe incluir servidores y dispositivos que no tengan acceso directo a la red externa, pero algunos de cuyos servicios sean accesibles desde el exterior, por ejemplo, servidores web y de correo ubicados detrás del firewall, pero al mismo tiempo sirviendo solicitudes de la red externa.

La zona de peligro debe incluir dispositivos directamente accesibles desde el exterior, en el caso ideal debe ser un enrutador.

Si es posible, una zona potencialmente peligrosa debe moverse a una subred separada, una zona desmilitarizada (DMZ), que está separada de la red principal por un firewall adicional.

Los dispositivos LAN solo deben poder acceder a los servicios en la DMZ que necesitan, como SMTP, POP3, HTTP, otras conexiones deben bloquearse. Esto aislará de manera confiable a un atacante o malware que explotó una vulnerabilidad en un servicio separado con una zona desmilitarizada, bloqueando su acceso a la red principal.

Físicamente, la DMZ se puede configurar instalando un servidor/firewall de hardware separado o agregando una tarjeta de red adicional al enrutador, pero en este último caso, deberá prestar mucha atención a la seguridad del enrutador. Pero en cualquier caso, es mucho más fácil asegurar un solo servidor que un grupo de servidores.

El siguiente paso debe ser analizar la lista de usuarios, si todos ellos necesitan acceso a la DMZ y al enrutador (a excepción de los servicios públicos), se debe prestar especial atención a los usuarios que se conectan desde el exterior.

Esto generalmente requiere el paso muy impopular de hacer cumplir una política de contraseñas. Todas las contraseñas de usuarios con acceso a servicios críticos y con la capacidad de conectarse desde el exterior deben contener al menos 6 caracteres y contener, además de letras minúsculas, caracteres de dos de las tres categorías: letras mayúsculas, números, caracteres no alfabéticos.

Además, la contraseña no debe incluir el inicio de sesión del usuario o parte de él, no debe contener fechas y nombres que puedan asociarse con el usuario y, preferiblemente, no debe ser una palabra del diccionario.

Es una buena idea adquirir el hábito de cambiar las contraseñas cada 30 o 40 días. Es claro que tal política puede causar rechazo por parte de los usuarios, pero siempre debes recordar que contraseñas como 123 o QWERTY son equivalentes a la llave que queda debajo del tapete.

Seguridad del servidor, nada más.

Ahora, teniendo una idea de lo que queremos proteger y de qué, pasemos al servidor en sí. Haga una lista de todos los servicios y servicios, luego considere si todos ellos son necesarios en este servidor en particular o si se pueden mover a algún otro lugar.

Cuantos menos servicios, más fácil es garantizar la seguridad, menos posibilidades de que un servidor se vea comprometido por una vulnerabilidad crítica en uno de ellos.

Configure los servicios de red local (como squid) para aceptar solo solicitudes de la interfaz local. Cuantos menos servicios estén disponibles externamente, mejor.

Un buen asistente de seguridad es un escáner de vulnerabilidades que debería escanear la interfaz externa del servidor. Utilizamos una versión de demostración de uno de los productos más famosos: XSpider 7.7.

El escáner muestra los puertos abiertos, intenta determinar el tipo de servicio en ejecución y, si tiene éxito, las vulnerabilidades del mismo. Como puede ver, un sistema correctamente configurado es bastante seguro, pero no debe dejar la llave debajo del tapete, la presencia de puertos abiertos 1723 (VPN) y 3389 (RDP, reenviado al servidor de terminal) en el enrutador es una buena razones para pensar en la política de contraseñas.

Por separado, vale la pena hablar sobre la seguridad de SSH, este servicio comúnmente utilizado por los administradores para control remoto servidor y es de particular interés para los intrusos. La configuración de SSH se almacena en un archivo /etc/ssh/sshd_config, se realizan todos los cambios que se describen a continuación. En primer lugar, debe deshabilitar la autorización bajo el usuario root, para hacer esto, agregue la opción:

PermitRootLogin no

Ahora el atacante tendrá que adivinar no solo la contraseña, sino también el inicio de sesión, mientras que aún no sabrá la contraseña de superusuario (esperamos que no coincida con su contraseña). Todas las tareas administrativas al conectarse desde el exterior deben realizarse desde abajo sudo iniciando sesión como un usuario sin privilegios.

Vale la pena especificar explícitamente la lista de usuarios permitidos, mientras que puede usar registros como [correo electrónico protegido] , que permite que el usuario especificado se conecte solo desde el host especificado. Por ejemplo, para permitir que el usuario ivanov se conecte desde casa (IP 1.2.3.4), agregue la siguiente entrada:

Permitir usuario [correo electrónico protegido]

También deshabilite el uso del protocolo SSH1 obsoleto y menos seguro, permitiendo solo la segunda versión del protocolo, para hacer esto, cambie la siguiente línea al formulario:

Protocolo 2

A pesar de todas las medidas tomadas, todavía habrá intentos de conectarse a SSH y otros servicios públicos, para evitar adivinar contraseñas, use la utilidad fail2ban, que le permite prohibir automáticamente a un usuario después de varios intentos de autorización fallidos. Puedes instalarlo con el comando:

sudo apt-get install fail2ban

Esta utilidad está lista para funcionar inmediatamente después de la instalación, sin embargo, le recomendamos que cambie inmediatamente algunos parámetros, para esto, realice cambios en el archivo. /etc/fail2ban/jail.conf. Por defecto solo se controla el acceso a SSH y el tiempo de baneo es de 10 minutos (600 segundos), en nuestra opinión vale la pena aumentarlo cambiando la siguiente opción:

tiempo de banda = 6000

Luego desplácese por el archivo y habilite las secciones para los servicios que se ejecutan en su sistema configurando el parámetro después del nombre de la sección correspondiente activado en un estado verdadero, por ejemplo para el servicio beneficiopd se verá así:


habilitado = verdadero

Otro parámetro importante maxreintentar, que es responsable del número máximo de intentos de conexión. Después de cambiar la configuración, no olvide reiniciar el servicio:

sudo /etc/init.d/fail2ban reiniciar

Puede ver el registro de la utilidad en /var/log/fail2ban.log.

Ninguno de nosotros quiere que la información personal caiga en manos equivocadas. Pero, ¿cómo proteger el sistema de ataques y robo de datos? ¿Realmente tiene que leer manuales de kilómetros de longitud sobre la configuración y los algoritmos de encriptación? No es del todo necesario. En este artículo, le mostraré cómo hacer que un sistema Linux sea seguro en solo 30 minutos.

Introducción

Vivimos en una era dispositivos móviles y permanente en línea. Vamos a un café con una computadora portátil y ejecutamos servidores web en Internet en máquinas domésticas. Nos registramos en cientos de sitios y usamos las mismas contraseñas para los servicios web. Siempre tenemos un teléfono inteligente en el bolsillo, que está repleto de docenas de contraseñas y almacena las claves de varios servidores SSH. Nos hemos acostumbrado tanto a que servicios de terceros cuiden nuestra privacidad que ya hemos dejado de prestarle atención.

Cuando perdí mi teléfono inteligente, tuve mucha suerte de que el antirrobo instalado en él resultara eficiente y me permitiera borrar de forma remota todos los datos de la memoria del dispositivo. Cuando sin darme cuenta abrí un puerto SSH en coche de casa con un usuario sin contraseña (!) al mundo exterior (!!), tuve mucha suerte de que script-kiddies entrara en la máquina, que, aparte de la divertida historia del caparazón, no dejó ningún rastro serio de su estancia en el sistema. Cuando publiqué accidentalmente una lista en Internet con mi contraseña de Gmail, tuve mucha suerte de que una persona amable me lo advirtiera.

Quizá esté exagerando, pero creo firmemente que este tipo de incidentes les han ocurrido a muchos de los que leen estas líneas. Y es bueno si estas personas, a diferencia de mí, se preocuparon seriamente por proteger su automóvil. Después de todo, es posible que el antirrobo no funcione, y en lugar de un script kiddy, las personas serias podrían ingresar al automóvil y no podría perder un teléfono inteligente, sino una computadora portátil, en la que, además de la contraseña del usuario, no había otra protección. No, confiar en una autenticación de dos factores de Google y contraseñas estúpidas definitivamente no vale la pena en nuestra era, se necesita algo más serio.

Este artículo es una guía para Unixoid paranoica dedicada a la protección total de una máquina Linux contra cualquier cosa y todo. No me atrevo a decir que todo lo aquí descrito es de uso obligatorio. Muy por el contrario, es una colección de recetas, cuya información se puede utilizar para protegerse a sí mismo y a los datos en aquellas fronteras donde se necesita en su situación particular.

¡Contraseña!

Todo comienza con las contraseñas. Están en todas partes: en la ventana de inicio de sesión en una distribución de Linux, en formularios de registro en sitios de Internet, en servidores FTP y SSH, y en la pantalla de bloqueo de un teléfono inteligente. El estándar para contraseñas hoy en día es de 8 a 12 caracteres en mayúsculas y minúsculas con números incluidos. Genere dichas contraseñas para su mi propia mente bastante tedioso, pero hay una manera fácil de hacerlo automáticamente:

$ abre SSL Rand -base64 6

Sin aplicaciones externas, sin extensiones de navegador web, OpenSSL está disponible en cualquier máquina. Aunque, si a alguien le resulta más cómodo, puede instalar y usar pwgen para estos fines (dicen que la contraseña será más resistente):

$ pwgen-Bs 8 1

¿Dónde almacenar las contraseñas? Hoy en día, cada usuario tiene tantos que es simplemente imposible tener todo en la cabeza. ¿Confía en el sistema de guardado automático del navegador? Puedes, pero quién sabe cómo los tratarán Google o Mozilla. Snowden dijo que no era muy bueno. Por lo tanto, las contraseñas deben almacenarse en la propia máquina en un contenedor cifrado. Los padres fundadores recomiendan usar KeePassX para esto. La cosa es gráfica, cosa que a los propios padres fundadores no les gusta mucho, pero funciona en todos lados, incluido el conocido Google Probe Android (KeePassDroid). Todo lo que queda es transferir la base de datos con contraseñas al lugar correcto.

ciframos

Cifrado: cuánto hay en esta palabra... Hoy en día, el cifrado está en todas partes y en ninguna al mismo tiempo. Nos vemos obligados a utilizar versiones HTTPS de los sitios, pero no nos importa. Nos dicen: "Cifra tu directorio de inicio", y nosotros decimos: "Lo configuraré más tarde". Nos dicen: “El pasatiempo favorito de los empleados de Dropbox es reírse de las fotos personales de los usuarios”, y nosotros: “Que se rían”. Mientras tanto, el cifrado es el único medio absoluto de protección en la actualidad. Y es muy asequible y suaviza las arrugas.

En Linux, puede encontrar toneladas de herramientas de encriptación para todo, desde particiones de disco duro hasta archivos individuales. Las tres herramientas más conocidas y probadas son dm-crypt/LUKS, ecryptfs y encfs. El primero cifra discos y particiones completos, el segundo y el tercero, directorios con información importante, cada archivo por separado, lo cual es muy conveniente si necesitas hacer copias de seguridad incrementales o usarlo en conjunto con Dropbox. También hay varias herramientas menos conocidas, como TrueCrypt, por ejemplo.

Haré una reserva de inmediato de que cifrar todo el disco es una tarea difícil y, lo más importante, inútil. No hay ni puede haber nada particularmente confidencial en el directorio raíz, pero el directorio de inicio y el intercambio son solo un almacén de información. Además, el segundo es incluso más grande que el primero, ya que los datos y las contraseñas ya descifrados pueden llegar allí (los programadores normales prohíben que el sistema arroje dichos datos en un intercambio, pero es una minoría). Configurar el cifrado para ambos es muy simple, simplemente instale las herramientas de cifrado:

$ sudo apt-get install ecryptfs-utils

Y, de hecho, habilite el cifrado:

$ sudo ecryptfs-setup-swap $ ecryptfs-setup-privado

A continuación, simplemente ingrese su contraseña utilizada para iniciar sesión e inicie sesión en el sistema. Sí, es realmente así de simple. El primer comando cifrará y volverá a montar el intercambio cambiando las líneas necesarias en /etc/fstab. El segundo creará los directorios ~/.Private y ~/Private, que almacenarán los archivos cifrados y descifrados, respectivamente. Cuando inicie sesión, se activará el módulo PAM pam_ecryptfs.so, que montará el primer directorio en el segundo con cifrado de datos transparente. Después de desmontarlo, ~/Private estará vacío y ~/.Private contendrá todos los archivos en forma cifrada.

No está prohibido cifrar todo el directorio de inicio como un todo. El rendimiento no disminuirá mucho, pero todos los archivos estarán protegidos, incluido el mismo directorio de red ~/Dropbox. Se hace así:

# ecryptfs-migrate-home -u vasya

Por cierto, debería haber 2,5 veces más espacio en disco que los datos que tiene Vasya, por lo que recomiendo limpiar con anticipación. Una vez completada la operación, debe iniciar sesión inmediatamente como el usuario vasya y verificar si funciona:

$ montaje | grep Privado /home/vasya/.Privado en /home/vasya escriba ecryptfs...

Si todo está bien, la copia sin cifrar de los datos se puede sobrescribir:

$ sudo rm -r /home/vasya.*

Cubrimos nuestras huellas

OK, las contraseñas están en un lugar seguro, los archivos personales también, ¿y ahora qué? Y ahora tenemos que asegurarnos de que algunos de nuestros datos personales no caigan en manos equivocadas. No es un secreto para nadie que cuando se elimina un archivo, su contenido real permanece en el medio incluso si se formatea después de eso. Nuestros datos cifrados estarán seguros incluso después de borrarlos, pero ¿qué pasa con las unidades flash y otras tarjetas de memoria? Aquí es donde la utilidad srm es útil, que no solo elimina el archivo, sino que también llena los bloques de datos que quedan después con basura:

$ sudo apt-get install seguro-borrar $ srm archivo-secreto.txt home-video.mpg

# dd if=/dev/cero de=/dev/sdb

Este comando borrará todos los datos en el dispositivo sdb. A continuación, queda por crear una tabla de particiones (con una partición) y formatearla en el sistema de archivos deseado. Se recomienda usar fdisk y mkfs.vfat para esto, pero también puede arreglárselas con el gparted gráfico.

Prevención de ataques de fuerza bruta

Fail2ban es un demonio que analiza los registros en busca de intentos de adivinar las contraseñas de los servicios de red. Si se encuentran dichos intentos, iptables o TCP Wrappers bloquean la dirección IP sospechosa. El servicio puede notificar al propietario del host sobre el incidente por correo electrónico y restablecer el bloqueo después de un tiempo específico. Fail2ban se desarrolló originalmente para proteger SSH, hoy en día existen ejemplos preparados para Apache, lighttpd, Postfix, exim, Cyrus IMAP, named, etc. Además, un proceso Fail2ban puede proteger varios servicios a la vez.

En Ubuntu/Debian, para instalar, tecleamos:

# apt-get install fail2ban

Las configuraciones se encuentran en el directorio /etc/fail2ban. Después de cambiar la configuración, reinicie fail2ban con el comando:

# /etc/init.d/fail2ban reiniciar

Amenaza desde afuera

Ahora cuidémonos de las amenazas que vienen de las entrañas World Wide Web. Aquí es donde debería comenzar a hablar sobre iptables y pf ejecutándose en una máquina dedicada que ejecuta OpenBSD, pero todo eso es redundante cuando hay ipkungfu. ¿Lo que es? Este es un script que hará todo el trabajo sucio de configurar el firewall por nosotros, sin tener que hacer listas de reglas kilométricas. Instalar:

$ sudo apt-get install ipkungfu

Editar configuración:

$ sudo vi /etc/ipkungfu/ipkungfu.conf # la red local, si la hay, escribimos la dirección de red junto con la máscara, si no, escribimos la dirección de loopback LOCAL_NET="127.0.0.1" # Nuestra máquina no es una puerta de enlace GATEWAY=0 # Cierra los puertos necesarios FORBIDDEN_PORTS="135 137 139" # Bloquear pings, el 90% de los niños se caerán en esta etapa BLOCK_PINGS=1 # Descartar paquetes sospechosos (inundación de varios tipos) SUSPECT="DROP" # Descartar paquetes "incorrectos" (algunos tipos de DoS) KNOWN_BAD="DROP" # ¿Escaneo de puertos? ¡Movimiento de piernas! PORT_SCAN="DROP"

Para habilitar ipkungfu, abra el archivo /etc/default/ipkungfu y cambie la línea IPKFSTART = 0 a IPKFSTART = 1. Ejecute:

$ sudo ipkung-fu

Además, haremos cambios en /etc/sysctl.conf:

$ sudo vi /etc/systcl.conf # Soltar redireccionamientos ICMP (contra ataques MITM) net.ipv4.conf.all.accept_redirects=0 net.ipv6.conf.all.accept_redirects=0 # Habilitar mecanismo TCP syncookies net.ipv4 .tcp_syncookies =1 # Varios ajustes (anti-spoofing, aumento de la cola de conexiones TCP "medio abiertas", etc.) net.ipv4.tcp_timestamps=0 net.ipv4.conf.all.rp_filter=1 net.ipv4.tcp_max_syn_backlog= núcleo 1280 .core_uses_pid=1

Activar cambios:

$ sudo sysctl-p

Detección de intrusiones

Snort es una de las herramientas favoritas de los administradores y un pilar en todas las guías de seguridad. Una cosa con una larga historia y posibilidades colosales, a la que se dedican libros enteros. ¿Qué hace en nuestra guía de configuración rápida sistema seguro? Y aquí está el lugar para él, Snort no necesita ser configurado:

$ sudo apt-get install resoplido $ resoplido -D

¡Todo! No estoy bromeando, configuración por defecto Snort es más que suficiente para proteger los servicios de red típicos si los tiene, por supuesto. Solo necesita mirar el registro de vez en cuando. Y en él puedes encontrar líneas como estas:

[**] Intento de desbordamiento de la respuesta de la sonda MS-SQL [**] http://www.securityfocus.com/bid/9407]

Ups. Alguien intentó causar un desbordamiento de búfer en MySQL. También hay un enlace a una página con una descripción detallada del problema. Belleza.

Alguien heredó...

Alguien particularmente inteligente pudo eludir nuestro firewall, pasar Snort, obtener acceso de root al sistema y ahora inicia sesión en el sistema regularmente usando la puerta trasera instalada. No es bueno, es necesario encontrar la puerta trasera, eliminarla y actualizar el sistema. Para buscar rootkits y puertas traseras, use rkhunter:

$ sudo apt-get install rkhunter

Lanzamos:

$ sudo rkhunter -c --sk

El software comprobará todo el sistema en busca de rootkits y mostrará los resultados. Si aún se encuentra el malware, rkhunter señalará el lugar y se puede sobrescribir. Un registro más detallado se encuentra aquí: /var/log/rkhunter.log. Es mejor ejecutar rkhunter como un trabajo cron diario:

$ sudo vi /etc/cron.daily/rkhunter.sh #!/bin/bash /usr/bin/rkhunter -c --cronjob 2>&1 | mail -s "Resultados del análisis de RKhunter" [correo electrónico protegido]

Reemplazamos la dirección de correo electrónico de Vasya con la nuestra y hacemos que el script sea ejecutable:

$ sudo chmod +x /etc/cron.daily/rkhunter.sh

$ sudo rkhunter --actualizar

Por cierto, se puede agregar antes del comando de verificación en el script cron. Otras dos herramientas de búsqueda de rootkits:

$ sudo apt-get install tigre $ sudo tiger $ sudo apt-get install lynis $ sudo lynis -c

De hecho, los mismos huevos de Fabergé a vista de pájaro, pero con bases diferentes. Quizás con su ayuda sea posible revelar lo que rkhunter se perdió. Bueno, para empezar, debsums es una herramienta para verificar sumas de verificación de archivos, paquetes instalados con un estándar. Nosotros ponemos:

$ sudo apt-get install debsums

Iniciamos la comprobación:

$ sudo debsums-ac

¿Como siempre? El lanzamiento se puede agregar a los trabajos cron.



Afuera

Ahora hablemos sobre cómo mantener su anonimato en la Web y obtener acceso a sitios y páginas bloqueadas a pedido de varias organizaciones de derechos de autor y otros Mizulins. La forma más sencilla de hacerlo es utilizar uno de los miles de servidores proxy de todo el mundo. Muchos de ellos son gratuitos, pero a menudo cortan el canal a la velocidad de un antiguo módem analógico.

Para navegar con seguridad por los sitios y activar el proxy solo si es necesario, puede usar una de las muchas extensiones para Chrome y Firefox, que se encuentran fácilmente en el directorio del conmutador de proxy. Instalamos, ingresamos en la lista de proxies necesarios y cambiamos al requerido, viendo en lugar de la página el letrero "El acceso a la página está limitado a pedido del Sr. Skumbrievich".

En aquellas situaciones en las que todo el sitio cayó bajo el filtro y su dirección se incluyó en la lista negra del lado de los servidores DNS de los proveedores, puede usar servidores DNS gratuitos cuyas direcciones están publicadas. Simplemente tome las dos direcciones que desee y agréguelas a /etc/resolv.conf:

Servidor de nombres 156.154.70.22 Servidor de nombres 156.154.71.22

Para evitar que varios tipos de clientes DHCP y NetworkManagers sobrescriban el archivo con direcciones recibidas del proveedor o enrutador, hacemos que el archivo no se pueda escribir usando atributos extendidos:

$ sudo chattr +i /etc/resolv.conf

Después de eso, el archivo quedará protegido contra escritura para todos, incluido el root.

Para anonimizar aún más su experiencia de navegación, también puede utilizar el demonio dnscrypt, que cifrará todas las solicitudes al servidor DNS además del servidor proxy utilizado para conectarse al sitio en sí. Instalar:

$ wget http://download.dnscrypt.org/dnscrypt-proxy/dnscrypt-proxy-1.3.2.tar.bz2 $ bunzip2 -cd dnscrypt-proxy-*.tar.bz2 | tar xvf - $ cd dnscrypt-proxy-* $ sudo apt-get install build-essential $ ./configure && make -j2 $ sudo make install

Especifique la dirección de loopback en /etc/resolv.conf:

$ vi /etc/resolv.conf servidor de nombres 127.0.0.1

Comencemos el demonio:

$ sudo dnscrypt-proxy --daemonize

Por cierto, existen versiones de dnscrypt para Windows, iOS y Android.

Enrutamiento de cebolla

¿Qué es el enrutamiento de cebolla? Este es Tor. Y Tor, a su vez, es un sistema que te permite crear un red anónima con acceso a Internet. El término "cebolla" se utiliza aquí en relación con el modelo de trabajo, en el que cualquier paquete de red se "envolverá" en tres capas de cifrado y pasará por tres nodos en el camino hacia el destinatario, cada uno de los cuales eliminará su propio capa y transmitir el resultado aún más. Todo, por supuesto, es más complicado, pero para nosotros lo único importante es que este es uno de los pocos tipos de redes que te permite mantener el anonimato completo.

Sin embargo, donde hay anonimato, hay problemas de conexión. Y Tor tiene al menos tres de ellos: es terriblemente lento (gracias al cifrado y al pasar por una cadena de nodos), creará una carga en su red (porque usted mismo será uno de los nodos) y es vulnerable a intercepción de tráfico. Esto último es una consecuencia natural de la capacidad de acceder a Internet desde la red Tor: el último nodo (la salida) eliminará la última capa de cifrado y podrá acceder a los datos.

Sin embargo, Tor es muy fácil de instalar y usar:

$ sudo apt-get install

Todo, ahora en la máquina local habrá un servidor proxy que conduce a la red Tor. Dirección: 127.0.0.1:9050, puede ingresarlo en el navegador usando la misma extensión o agregarlo a través de la configuración. Tenga en cuenta que se trata de SOCKS, no de un proxy HTTP.


INFORMACIÓN

La versión Android de Tor se llama Orbot.

Para poner en línea de comando la contraseña no se ha guardado en el historial, puede usar un truco inteligente llamado "agregar un espacio al comienzo del comando".

Es ecryptfs el que se usa para cifrar el directorio de inicio en Ubuntu.

La lucha contra las inundaciones

Aquí hay algunos comandos que pueden ayudar a inundar su host.

Contando el número de conexiones en un puerto específico:

$ netstat-na | grep ":puerto\" | wc-l

Contando el número de conexiones TCP "medio abiertas":

$ netstat-na | grep ":puerto\" | grep SYN_RCVD | wc-l

Visualización de la lista de direcciones IP desde las que se realizan las solicitudes de conexión:

$ netstat-na | grep ":puerto\" | ordenar | uniq-c | sort-nr | menos

Analizando paquetes sospechosos con tcpdump:

# tcpdump -n -i eth0 -s 0 -w output.txt dst port puerto y host del servidor IP

Soltamos las conexiones del atacante:

# iptables -A INPUT -s ip del atacante -p tcp --destination-port port -j DROP

Limitamos el número máximo de conexiones "medio abiertas" de una IP a un puerto específico:

# iptables -I INPUT -p tcp --syn --dport port -m iplimit --iplimit-above 10 -j DROP

Deshabilite las respuestas a las solicitudes ICMP ECHO:

# iptables -A ENTRADA -p icmp -j DROP --icmp-tipo 8

conclusiones

Eso es todo. Sin entrar en detalles y sin necesidad de estudiar manuales, hemos creado una Linux-box que está protegida de intrusiones externas, de rootkits y otras infecciones, de intervención humana directa, de intercepción de tráfico y vigilancia. Todo lo que queda es actualizar periódicamente el sistema, deshabilitar el inicio de sesión con contraseña a través de SSH, eliminar servicios innecesarios y evitar errores de configuración.

Muchos usuarios enfrentan problemas cuando intentan configurar una conexión a Internet en Ubuntu. La mayoría de las veces esto se debe a la inexperiencia, pero puede haber otras razones. El artículo proporcionará instrucciones para configurar varios tipos de conexiones con análisis detallado todas las posibles complicaciones en el proceso de implementación.

Hay muchos tipos de conexiones a Internet, pero este artículo cubrirá las más populares: red cableada, PPPoE y DIAL-UP. También hablará sobre una configuración separada del servidor DNS.

Actividades preparatorias

Antes de comenzar a establecer una conexión, debe asegurarse de que su sistema esté listo para esto. Inmediatamente se debe aclarar que los comandos ejecutados en "Terminal", se dividen en dos tipos: que requieren derechos de usuario (irán precedidos del símbolo $ ) y requiere derechos de superusuario (el símbolo está al principio # ). Presta atención a esto, porque derechos necesarios la mayoría de los comandos simplemente se negarán a ejecutarse. También vale la pena aclarar que los propios personajes de "Terminal" no hay necesidad de entrar.

Deberá completar una serie de pasos:


Entre otras cosas, debe conocer el nombre del adaptador de red. Para saber ingresa "Terminal" esta línea:

$ sudo lshw -C red

Como resultado, verás algo como esto:

El nombre de su adaptador de red se ubicará frente a la palabra "nombre lógico". EN este caso "enp3s0". Es este nombre el que aparecerá en el artículo, puede ser diferente para ti.

Nota: Si su computadora tiene más de una adaptadores de red, se numerarán en consecuencia (enp3s0, enp3s1, enp3s2, etc.). Decida con cuál trabajará y utilícelo en configuraciones posteriores.

Método 1: terminal

"Terminal"- Este remedio universal en la configuración de todo en Ubuntu. Con su ayuda, será posible establecer una conexión a Internet de todo tipo, que se discutirá ahora.

Configuración de red cableada

La configuración de una red cableada en Ubuntu se realiza haciendo nuevas configuraciones en archivo de configuración "interfaces". Por lo tanto, primero debe abrir este mismo archivo:

Nota: el editor de texto Gedit se usa en el comando para abrir el archivo de configuración, pero puede escribir cualquier otro editor en la parte correspondiente, por ejemplo, vi.

Ahora debe decidir qué tipo de IP tiene su proveedor. Hay dos variedades: estáticos y dinámicos. Si no está seguro, llame al técnico. apoyar y consultar con el operador.

Primero, tratemos con IP dinámica: su configuración es más fácil. Después de la introducción equipo anterior, en el archivo que se abre, especifique las siguientes variables:

iface [nombre de la interfaz] inet dhcp
automático [nombre de la interfaz]

  • iface [nombre de la interfaz] inet dhcp- se refiere a la interfaz seleccionada, que tiene una dirección IP dinámica (dhcp);
  • automático [nombre de la interfaz]- al ingresar al sistema, se conecta automáticamente a la interfaz especificada con todos los parámetros especificados.

Después de ingresar, debería terminar con algo como esto:

Una IP estática es algo más difícil de configurar. Lo principal es conocer todas las variables. En el archivo de configuración, debe ingresar las siguientes líneas:

iface [nombre de interfaz] inet estático
dirección Dirección]
máscara de red [dirección]
Dirección de la entrada]
DNS-servidores de nombres [dirección]
automático [nombre de la interfaz]


Después de ingresar todos los parámetros, verá algo como esto:

No olvide guardar cualquier configuración que haya realizado antes de cerrar el editor de texto.

Entre otras cosas, en Ubuntu, puede configurar temporalmente una conexión a Internet. Se diferencia en que los datos especificados no cambian los archivos de configuración de ninguna manera, y después de reiniciar la PC, se restablecerán todas las configuraciones especificadas previamente. Si es la primera vez que intenta configurar una conexión por cable en Ubuntu, esta es la forma recomendada de comenzar.

Todos los parámetros se configuran usando un comando:

$ sudo ip addr agregar 10.2.119.116/24 dev enp3s0

  • 10.2.119.116 - Dirección IP tarjeta de red(puede ser diferente para ti)
  • /24 - el número de bits en la parte del prefijo de la dirección;
  • enp3s0- interfaz de la red a la que está conectado el cable del proveedor.

Después de ingresar todos los datos necesarios y ejecutar el comando en "Terminal", puede comprobar su corrección. Si apareció Internet en la PC, entonces todas las variables son correctas y se pueden ingresar en el archivo de configuración.

Configuración de DNS

Configuración de una conexión DNS en diferentes versiones de Ubuntu realizado de manera diferente. En versiones del sistema operativo a partir de 12.04, de una manera, en versiones anteriores, de otra. Consideraremos solo la interfaz de conexión estática, ya que la dinámica implica la detección automática de servidores DNS.

La configuración en versiones de SO superiores a 12.04 se realiza en un archivo ya conocido "interfaces". Debes ingresar la línea "servidores de nombres DNS" y enumere los valores separados por un espacio.

Así que primero abre a través de "Terminal" archivo de configuración "interfaces":

$ sudo gedit /etc/red/interfaces

DNS-servidores de nombres [dirección]

Como resultado, debería obtener algo como esto, solo los valores pueden ser diferentes:

Si desea configurar DNS en una versión anterior de Ubuntu, el archivo de configuración será diferente. Vamos a abrir con "Terminal":

$ sudo gedit /etc/resolv.conf

Después de eso, puede configurar las direcciones DNS necesarias en él. Vale la pena tener en cuenta que, a diferencia de ingresar parámetros en "interfaces", V "resolv.conf" las direcciones se escriben cada vez desde un párrafo, se usa un prefijo antes del valor "nombre del servidor"(sin comillas).

Configuración de una conexión PPPoE

Configuración de PPPoE a través de "Terminal" no implica la introducción de muchos parámetros en varios archivos de configuración en la computadora. Por el contrario, sólo se utilizará un comando.

Por lo tanto, para realizar una conexión punto a punto (PPPoE), debe hacer lo siguiente:


Después de todos los pasos realizados, su computadora establecerá una conexión a Internet si hizo todo bien.

Tenga en cuenta que, por defecto, la utilidad pppoeconf nombra la conexión creada proveedor de dsl. Si necesita terminar la conexión, ejecute en "Terminal" dominio:

$ sudo poff dsl-proveedor

Para restablecer la conexión, ingrese:

$ sudo pon dsl-proveedor

Nota: si se conecta a la red mediante la utilidad pppoeconf, no será posible administrar la red a través de Network Manager, debido a la configuración en el archivo de configuración de "interfaces". Para restablecer todas las configuraciones y transferir el control a Network Manager, debe abrir el archivo "interfaces" y reemplazar todo el contenido con el texto que se muestra a continuación. Después de ingresar, guarde los cambios y reinicie la red con el comando "$ sudo /etc/init.d/networking restart" (sin comillas). También reinicie la utilidad Network Manager ejecutando "$ sudo /etc/init.d/NetworkManager restart" (sin comillas).

Configuración de una conexión DIAL-UP

Para configurar DIAL-UP, puede usar dos utilidades de consola: pppconfig Y dial wv.

Establecer una conexión usando pppconfig Suficientemente simple. Generalmente este método muy parecido al anterior pppoeconf): se le harán preguntas de la misma manera, respondiendo a las cuales, como resultado, establecerá una conexión a Internet. Primero, ejecute la utilidad en sí:

$ sudo pppconfig

Después de eso, siga las instrucciones. Si no sabe algunas de las respuestas, se recomienda contactar al operador de esas. soporte de su ISP y consulte con ellos. Después de completar todas las configuraciones, se establecerá la conexión.

En cuanto a establecer con dial wv, entonces es un poco más complicado. Primero necesita instalar el paquete en sí mismo a través de "Terminal". Para hacer esto, ejecute el siguiente comando:

$ sudo apt install wvdial

Incluye una utilidad diseñada para configurar automáticamente todos los parámetros. Se llama "wvdialconf". Ejecutarlo:

$ sudo wvdialconf

Tras su ejecución en "Terminal" Se mostrarán muchos parámetros y características, no es necesario que los entienda. Solo necesita saber que la utilidad creó un archivo especial wvdial.conf, en el que ingresé automáticamente los parámetros necesarios, leyéndolos desde el módem. A continuación, debe editar el archivo creado. wvdial.conf, ábralo a través de "Terminal":

$ sudo gedit /etc/wvdial.conf

Como puede ver, la mayoría de las configuraciones ya se han escrito, pero los últimos tres puntos aún deben complementarse. Deberá ingresar su número de teléfono, nombre de usuario y contraseña, respectivamente. Sin embargo, no se apresure a cerrar el archivo; para un trabajo más conveniente, se recomienda agregar algunos parámetros más:

  • Segundos inactivos = 0- la conexión no se romperá incluso con una inactividad prolongada en la computadora;
  • Intentos de marcación = 0- hace interminables intentos de establecer una conexión;
  • Marcar Comando=ATDP- el número se marcará de forma pulsada.

Como resultado, el archivo de configuración se verá así:

Tenga en cuenta que la configuración se divide en dos bloques, titulados con nombres entre paréntesis. Esto es necesario para crear dos versiones de uso de parámetros. Entonces, los parámetros bajo «» , siempre se ejecutará, y bajo «» - al especificar la opción apropiada en el comando.

Después de completar todas las configuraciones, para establecer una conexión DIAL-UP, debe ejecutar este comando:

Si desea establecer una conexión de pulso, escriba lo siguiente:

$ sudo wvdial pulse

Para finalizar una conexión establecida, "Terminal" necesita presionar una combinación de teclas ctrl+c.

Método 2: administrador de red

Ubuntu tiene utilidad especial, que ayudará a establecer la conexión de la mayoría de las especies. Además, ella tiene interfaz gráfica de usuario. Este es el Administrador de red, al que se llama haciendo clic en el icono correspondiente en el lado derecho del panel superior.

Configuración de red cableada

Comenzaremos de la misma manera con la configuración de una red cableada. Primero debe abrir la utilidad en sí. Para ello, haga clic en su icono y presione "Cambiar conexiones" V Menú de contexto. A continuación, en la ventana que aparece, haz lo siguiente:


Después de todos los pasos dados conexión a internet por cable debe ser instalado. Si esto no sucede, verifique todos los parámetros ingresados, es posible que haya cometido un error en alguna parte. Además, no olvide comprobar si la casilla está marcada. "Administración de redes" en el menú desplegable de la utilidad.

Configuración de DNS

Para establecer una conexión, es posible que necesite Ajuste manual servidores DNS. Para hacer esto, haga lo siguiente:


configuración PPPoE

Configurar una conexión PPPoE en Network Manager es tan fácil como "Terminal". De hecho, solo necesitará especificar el nombre de usuario y la contraseña recibidos del proveedor. Pero echemos un vistazo más de cerca.


Ahora ha aparecido una nueva conexión DSL en el menú Administrador de red, al seleccionar cuál tendrá acceso a Internet. Recuerda que en ocasiones es necesario reiniciar el equipo para que los cambios surtan efecto.

Conclusión

Como resultado, podemos decir que el sistema operativo Ubuntu tiene muchas herramientas para configurar la conexión a Internet necesaria. La utilidad Network Manager tiene una interfaz gráfica que simplifica enormemente el trabajo, especialmente para los principiantes. Sin embargo "Terminal" permite más configuración flexible, ingresando aquellos parámetros que no están en la utilidad.

Según cvedetails.com, desde 1999 en núcleo de linux Se encontraron 1305 vulnerabilidades, de las cuales 68 fueron en 2015. La mayoría de ellos no tienen ningún problema especial, están marcados como Local y Low, y algunos solo se pueden llamar con referencia a ciertas aplicaciones o configuraciones del sistema operativo. En principio, los números son pequeños, pero el núcleo no es todo el sistema operativo. También se encuentran vulnerabilidades en GNU Coreutils, Binutils, glibs y, por supuesto, en aplicaciones de usuario. Analicemos los más interesantes.

VULNERABILIDADES EN EL KERNEL DE LINUX

sistema operativo: linux
Nivel: Medio-bajo
Vector: Remoto
CVE: CVE-2015-3331, CVE-2015-4001, CVE-2015-4002, CVE-2015-4003
explotar: concepto, https://lkml.org/lkml/2015/5/13/740 , https://lkml.org/lkml/2015/5/13/744

Una vulnerabilidad encontrada en junio en el kernel de Linux anterior a 3.19.3 en la función __driver_rfc4106_decrypt en el archivo arch/x86/crypto/aesni-intel_glue.c se debe a que la implementación de RFC4106 para procesadores x86 que soportan AES AES-NI extensión de conjunto de comandos (Intel propuesto, Intel Advanced Encryption Standard Instructions) calcula incorrectamente las direcciones de búfer en algunos casos. Si el túnel IPsec está configurado para usar este modo (el algoritmo AES es CONFIG_CRYPTO_AES_NI_INTEL), la vulnerabilidad podría provocar daños en la memoria, bloqueos y la posible ejecución remota del código CryptoAPI. Y lo más interesante es que el problema puede surgir por sí solo, en un tráfico completamente legal, sin interferencias externas. En el momento de la publicación, el problema se ha solucionado.

Se han identificado cinco vulnerabilidades en el controlador Linux 4.0.5 ozwpan, que tiene el estado de experimental, cuatro de las cuales permiten un ataque DoS a través de un bloqueo del kernel mediante el envío de paquetes especialmente diseñados. El problema está relacionado con un desbordamiento de búfer debido a un manejo incorrecto de los enteros con signo, en el que el cálculo en memcpy entre required_size y offset devolvió un número negativo, como resultado, los datos se copian en el montón.

Se encuentra en la función oz_hcd_get_desc_cnf en drivers/staging/ozwpan/ozhcd.c y en las funciones oz_usb_rx y oz_usb_handle_ep_data en el archivo drivers/staging/ozwpan/ozusbsvc1.c. En otras vulnerabilidades, había una situación de posible división por 0, un bucle del sistema o la capacidad de leer desde áreas fuera de los límites del búfer asignado.

El controlador ozwpan, uno de los nuevos controladores de Linux, se puede emparejar con los existentes Dispositivos inalambricos compatible con la tecnología Ozmo Devices ( Wi-Fi directo). Proporciona una implementación de un controlador de host USB, pero el truco es que en lugar de una conexión física, el periférico se comunica a través de Wi-Fi. Conductor Aceptar paquetes de red con tipo (ethertype) 0x892e, luego los analiza y los traduce a varias funciones USB. Hasta ahora, se usa en casos raros, por lo que se puede desactivar descargando el módulo ozwpan.ko.

linuxubuntu

sistema operativo: linux ubuntu 12.04–15.04 (básico hasta el 15 de junio de 2015)
Nivel: Crítico
Vector: Local
CVE: CVE-2015-1328
explotar: https://www.exploit-db.com/exploits/37292/

Vulnerabilidad crítica en el sistema de archivos OverlayFS le permite obtener acceso de root en Sistemas Ubuntu, que permiten el montaje de particiones OverlayFS por parte de un usuario sin privilegios. La configuración predeterminada requerida para explotar la vulnerabilidad se usa en todas las ramas de Ubuntu 12.04-15.04. OverlayFS apareció en el kernel de Linux hace relativamente poco tiempo: desde 3.18-rc2 (2014), es un desarrollo de SUSE para reemplazar a UnionFS y AUFS. OverlayFS le permite crear una multicapa virtual sistema de archivos, que combina varias partes de otros sistemas de archivos.

FS se crea a partir de las capas inferior y superior, cada una de las cuales se adjunta a directorios separados. La capa inferior se usa solo para leer en los directorios de cualquier sistema de archivos compatible con Linux, incluidos los de red. La capa superior generalmente se puede escribir y anulará los datos de la capa inferior si los archivos están duplicados. Es demandado en distribuciones Live, sistemas de virtualización de contenedores y para organizar el trabajo de contenedores de algunas aplicaciones de escritorio. Los espacios de nombres para usuarios (espacios de nombres de usuario) le permiten crear sus propios conjuntos de identificadores de usuarios y grupos en contenedores. La vulnerabilidad se debe a una verificación incorrecta de los derechos de acceso al crear nuevos archivos en el directorio del FS subyacente.

Si el núcleo está construido con CONFIG_USER_NS=y (habilitar el espacio de nombres de usuario) y se especifica el indicador FS_USERNS_MOUNT en el montaje, OverlayFS puede ser montado por un usuario normal en un espacio de nombres diferente, incluso donde las operaciones con como root. Al mismo tiempo, las operaciones con archivos con derechos de raíz realizadas en dichos espacios de nombres reciben los mismos privilegios cuando se realizan operaciones con el FS subyacente. Por lo tanto, puede montar cualquier partición FS y ver o modificar cualquier archivo o directorio.

En el momento de la publicación, ya estaba disponible una actualización del kernel con el módulo OverlayFS parcheado de Ubuntu. Y si el sistema está actualizado, no debería haber problemas. En el mismo caso, cuando la actualización no sea posible, como medida temporal, debe dejar de usar OverlayFS eliminando el módulo overlayfs.ko.

VULNERABILIDADES EN PRINCIPALES APLICACIONES

sistema operativo: linux
Nivel: Crítico
Vector: remoto local
CVE: CVE-2015-0235
explotar: https://www.qualys.com/research/security-advisories/exim_ghost_bof.rb

Una vulnerabilidad peligrosa en la biblioteca estándar GNU glibc, que es la parte principal del sistema operativo Linux, y en algunas versiones de Oracle Communications Applications y Oracle Pillar Axiom, descubierta durante una auditoría de código por piratas informáticos de Qualys. Recibió el nombre en clave GHOST. Implica un desbordamiento de búfer dentro de la función __nss_hostname_digits_dots(), que utilizan funciones de glibc como gethostbyname() y gethostbyname2() (de ahí el nombre GetHOST) para obtener el nombre de host. Para aprovechar la vulnerabilidad, debe provocar un desbordamiento del búfer con un argumento de nombre de host no válido en una aplicación que realiza la resolución de nombres a través de DNS. Es decir, en teoría, esta vulnerabilidad se puede aplicar a cualquier aplicación que utilice la red en alguna medida. Se puede llamar de forma local y remota, lo que permite ejecutar código arbitrario.

Lo más interesante es que el error se solucionó en mayo de 2013, entre los lanzamientos de glibc 2.17 y 2.18 se envió un parche, pero el problema no se clasificó como un parche de seguridad, por lo que no se le prestó atención. Como resultado, muchas distribuciones eran vulnerables. Inicialmente, se informó que la primera versión vulnerable fue la 2.2 del 10 de noviembre de 2000, pero existe la posibilidad de que aparezca hasta la 2.0. Las distribuciones RHEL/CentOS 5.x–7.x, Debian 7 y Ubuntu 12.04 LTS se vieron afectadas, entre otras vulnerabilidades. Las correcciones están disponibles actualmente. Los propios piratas informáticos ofrecieron una utilidad que explica la esencia de la vulnerabilidad y le permite verificar su sistema. En Ubuntu 12.04.4 LTS todo está bien:

$ wget https://goo.gl/RuunlE

$ gcc archivo esencial1 . c-o CVE-2015-0235

ps /CVE-2015-0235

No vulnerable

Comprobación del sistema para GHOST

Casi de inmediato, se lanzó el módulo k, que le permite ejecutar código de forma remota en Linux x86 y x86_64 con un sistema operativo. servidor de correo Exim (con la opción helo_try_verify_hosts o helo_verify_hosts habilitada). Más tarde aparecieron otras implementaciones, como el módulo Metasploit para consultar un blog de WordPress.

Un poco más tarde, en 2015, se descubrieron tres vulnerabilidades más en GNU glibc que permiten a un usuario remoto realizar un ataque DoS o sobrescribir celdas de memoria fuera del límite de la pila: CVE-2015-1472, CVE-2015-1473, CVE-2015- 1781.

sistema operativo: Linux (GNU Coreutils)
Nivel: Bajo
Vector: remoto local
CVE: CVE-2014-9471
explotar: No

GNU coreutils es uno de los principales paquetes *nix, que incluye casi todas las utilidades básicas (cat, ls, rm, date...). Problema encontrado en la fecha. Un error en la función parse_datetime permite que un atacante remoto que no tiene cuenta en el sistema, causar una denegación de servicio y posiblemente ejecutar código arbitrario usando una cadena de fecha especialmente diseñada usando una zona horaria. La vulnerabilidad se ve así:

$ toque '-- fecha=TZ=”123”345”@1”

Fallo de segmentación

$ fecha - d ‘TZ = ”Europa/Moscú ”“00 : 00 + 1 hora ”’

Fallo de segmentación

$fecha ‘-- fecha=TZ=”123”345”@1”

* * * Error en ` fecha ': libre (): puntero inválido: 0xbfc11414 * * *

Vulnerabilidad en GNU Coreutils

Si no hay vulnerabilidad, recibiremos un mensaje sobre el formato de fecha incorrecto. Casi todos los desarrolladores informaron sobre la presencia de la vulnerabilidad. distribuciones de Linux. Actualmente hay una actualización disponible.


Salida normal de GNU Coreutils parcheado

sistema operativo: Linux (grep 2.19–2.21)
Nivel: Bajo
Vector: Local
CVE: CVE-2015-1345
explotar: No

La utilidad grep, que se utiliza para buscar texto por un patrón, rara vez encuentra vulnerabilidades. Pero esta utilidad a menudo es llamada por otros programas, incluidos los del sistema, por lo que la presencia de vulnerabilidades es mucho más problemática de lo que parece a primera vista. Un error en la función bmexec_trans en kwset.c puede hacer que los datos no inicializados se lean desde un área fuera del búfer asignado o que la aplicación se bloquee. Esto puede ser aprovechado por un pirata informático mediante la creación de un conjunto especial de datos suministrados como entrada a la aplicación utilizando grep -F. Las actualizaciones están disponibles actualmente. No hay exploits que utilicen la vulnerabilidad o un módulo para Metasploit.

VULNERABILIDAD EN FREEBSD

sistema operativo: FreeBSD
Nivel: Bajo
Vector: remoto local
CVE: CVE-2014-0998, CVE-2014-8612, CVE-2014-8613
explotar: https://www.exploit-db.com/exploits/35938/

No hay tantas vulnerabilidades en la base de datos CVE para 2015, para ser más precisos, solo seis. Tres vulnerabilidades fueron encontradas en FreeBSD 8.4-10.x a finales de enero de 2015 por investigadores del Core Exploit Writers Team. CVE-2014-0998 está relacionado con la implementación del controlador de consola VT (Newcons) que proporciona varios terminales virtuales habilitados por la opción kern.vty=vt en /boot/loader.conf.
CVE-2014-8612 se manifestó al usar el protocolo SCTP y se debe a un error en el código para verificar la ID de la secuencia SCTP que implementa los sockets SCTP (puerto local 4444). El resultado final es el error de falta de memoria en la función sctp_setopt() (sys/netinet/sctp_userreq.c). Esto le da a un usuario local sin privilegios la capacidad de escribir o leer 16 bits de datos de la memoria del kernel y elevar sus privilegios en el sistema, exponer datos confidenciales o apagar el sistema.

CVE-2014-8613 permite activar la desreferencia de puntero nulo cuando se procesa un paquete SCTP recibido externamente configurando la opción de socket SCTP SCTP_SS_VALUE. A diferencia de los anteriores, CVE-2014-8613 se puede utilizar para llamada remota bloqueo del kernel al enviar paquetes especialmente diseñados. En FreeBSD 10.1, puede protegerse configurando la variable net.inet.sctp.reconfig_enable en 0, deshabilitando así el procesamiento de bloques RE_CONFIG. O simplemente deshabilite las aplicaciones (navegadores, clientes de correo electrónico, etc.) para que no usen conexiones SCTP. Aunque al momento de la publicación, los desarrolladores ya lanzaron una actualización.


Estadísticas de vulnerabilidad de FreeBSD

VULNERABILIDAD EN OPENSSL

sistema operativo: OpenSSL
Nivel: Remoto
Vector: Local
CVE: CVE-2015-1793
explotar: No

En 2014, se encontró una vulnerabilidad Heartbleed crítica en OpenSSL, un paquete criptográfico ampliamente utilizado para trabajar con SSL/TLS. El incidente en un momento provocó críticas masivas sobre la calidad del código y, por un lado, esto llevó a la aparición de alternativas como LibreSSL, por otro lado, los propios desarrolladores finalmente se pusieron manos a la obra.

Principales proveedores por vulnerabilidad

Una vulnerabilidad crítica fue descubierta por Adam Langley de Google y David Benjamin de BoringSSL. Los cambios realizados en las versiones 1.0.1n y 1.0.2b de OpenSSL hicieron que OpenSSL intentara encontrar una cadena de verificación de certificados alternativa si fallaba el primer intento de crear la cadena de confianza. Esto le permite omitir el procedimiento de verificación del certificado y organizar una conexión verificada utilizando un certificado falso, en otras palabras, atraer al usuario con calma a sitios falsos o un servidor. Correo electrónico o implementar cualquier ataque MITM donde se utilice el certificado.

Después del descubrimiento de la vulnerabilidad, los desarrolladores lanzaron el 9 de julio las versiones 1.0.1p y 1.0.2d, en las que se solucionó este problema. Las versiones 0.9.8 o 1.0.0 no tienen esta vulnerabilidad.

Linux.codificador

El final del otoño estuvo marcado por la aparición de varios virus de cifrado, primero Linux.Encoder.0, seguido de modificaciones de Linux.Encoder.1 y Linux.Encoder.2, que infectaron más de 2500 sitios. Según las compañías de antivirus, los servidores en Linux y FreeBSD con sitios web que se ejecutan utilizando varios CMS: WordPress, Magento CMS, Joomla y otros están siendo atacados. Los piratas informáticos utilizan una vulnerabilidad no especificada. A continuación, se colocó un script de shell (archivo error.php), con la ayuda de la cual se realizaron otras acciones (a través del navegador). En particular, se lanzó un troyano codificador de Linux.

Encoder, que determinó la arquitectura del sistema operativo y lanzó el ransomware. El codificador se lanzó con los derechos del servidor web (Ubuntu - www-data), que es suficiente para cifrar los archivos en el directorio donde se almacenan los archivos y componentes del CMS. Los archivos cifrados obtienen una nueva extensión .encrypted.

El ransomware también intenta eludir otros directorios del sistema operativo, si los derechos no están configurados correctamente, entonces podría ir más allá de los límites del sitio web. Además, el archivo README_FOR_DECRYPT.txt se guardó en el directorio, que contiene instrucciones para descifrar archivos y los requisitos del hacker. En este momento Las empresas antivirus han introducido utilidades que le permiten descifrar directorios. Por ejemplo, un conjunto de Bitdefender. Pero debe recordar que todas las utilidades diseñadas para descifrar archivos no eliminan el shellcode y todo puede volver a suceder.

Teniendo en cuenta que muchos usuarios que desarrollan o experimentan con la administración de sitios web a menudo instalan un servidor web en computador de casa, debe preocuparse por la seguridad: cierre el acceso desde el exterior, actualice el software, organice experimentos en la VM. Y la idea en sí misma puede usarse en el futuro al atacar sistemas domésticos.

CONCLUSIÓN

El software complejo sin errores no existe físicamente, por lo que debe aceptar el hecho de que se descubrirán vulnerabilidades todo el tiempo. Pero no todos ellos pueden presentar problemas reales. Y puede protegerse siguiendo pasos simples: elimine el software no utilizado, controle las nuevas vulnerabilidades y asegúrese de instalar actualizaciones de seguridad, configure un firewall, instale un antivirus. Y no se olvide de tecnologías especiales como SELinux, que son bastante capaces de comprometer un demonio o una aplicación de usuario.

Ciertamente se puede decir que linux más seguro(protegido) que Windows. Seguridad V linux incorporado, y no atornillado en algún lado, como se implementa en Windows. Seguridad sistemas linux cubre el área desde el núcleo hasta el escritorio, pero hay posibilidades de que los piratas informáticos dañen su directorio de inicio (/ home).

Sus bytes de fotos, videos caseros, documentos y datos de tarjetas de crédito o billeteras son la información más valiosa en una computadora. Por supuesto, Linux no es susceptible a todo tipo de gusanos y virus de Internet para Windows. Pero los atacantes pueden encontrar una manera de acceder a sus datos en su directorio de inicio.

Habiendo preparado su vieja computadora o disco duro antes de vender formato, ¿crees que será suficiente? Hay muchas herramientas modernas para la recuperación de datos. Un hacker puede recuperar fácilmente sus datos de disco duro, independientemente del sistema operativo en el que haya trabajado.

Sobre este tema, recuerdo la experiencia de una empresa que recompró computadoras y discos usados. En el curso de sus actividades, emitieron un veredicto de que el 90% de los dueños anteriores de su computadora no tuvieron el cuidado adecuado de limpiar sus medios de almacenamiento antes de venderlos. Y estaban extrayendo bytes de datos muy sensibles. Incluso da miedo imaginar que en algún lugar de los contenedores de su disco duro hay información para ingresar a su banco en línea o billetera en línea.

Comience con los conceptos básicos de seguridad de Linux

Pasemos a lo básico (), que se adaptará a casi cualquier
distribuciones de Linux.

Cifrado del sistema de archivos en Linux para una seguridad de Linux más completa

Las contraseñas personalizadas no resolverán el problema si realmente desea que nadie pueda leer su directorio de inicio (/home) o un cierto tamaño de bytes. Puede hacerlo para que incluso un usuario con los privilegios más altos de root no pueda meter la nariz.

Elimine archivos confidenciales para que nadie más pueda recuperarlos

Si decide vender o donar su computadora o medio de almacenamiento, no asuma que el simple formateo eliminará sus archivos de forma permanente. Puede instalar la herramienta de eliminación segura en su Linux, que incluye la utilidad srm para eliminación segura archivos

Además, no se olvide del cortafuegos disponible en el kernel de Linux. Todas las distribuciones de Linux incluyen lptables, que es parte del kernel. Lptables le permite filtrar paquetes de red. Por supuesto, puedes configurar esta utilidad en la terminal. Pero este método está más allá del poder de muchos, incluyéndome a mí. Así que instalo y configuro tan fácilmente como si estuviera jugando un juego.

Como todo sistema operativo, Linux tiende a acumular basura mientras ejecuta varias aplicaciones. Y esto no es culpa de Linux, ya que diversas aplicaciones, como navegadores, editores de texto e incluso reproductores de video, funcionan fuera del nivel del kernel y acumulan archivos temporales. Puede instalar la utilidad de eliminación de basura universal BleachBit.

Navegación anónima, ocultando su IP: muy importante para la seguridad de su identidad en el sistema operativo Linux


En conclusión, quiero decirles navegación web anónima. A veces sucede que es necesario, como lo hago yo, cuando, a escondidas de mi esposa, visito sitios con contenido erótico. Por supuesto que estaba bromeando.

Será difícil para los atacantes llegar a ti si no pueden determinar tu ubicación. Cubrimos las pistas con una configuración simple de dos utilidades que trabajan juntas llamadas privoxy y tor.

En mi opinión, seguir y configurar todas estas reglas lo protegerá a usted y a su computadora en un 90 %.

PD Estoy usando una nube llamada dropbox. Guardo mis artículos antiguos y nuevos, aún no publicados. Es conveniente tener acceso a tus archivos desde cualquier parte del mundo y en cualquier computadora. Al escribir artículos para el sitio en editor de texto mantengo mi documentos de texto con una contraseña y solo después de eso lo subo al servidor de dropbox. Nunca debe descuidar la seguridad adicional, que solo jugará a su favor.

Si nota un error, seleccione un fragmento de texto y presione Ctrl + Enter
COMPARTIR: