Un_Buen_Firewall

Shorewall: Un buen Cortafuego para sus Servidores GNU/Linux

¿Qué es un Firewall?

Un Firewall o Cortafuego es un dispositivo de tipo Hardware o Software que nos permite filtrar o gestionar todo el tráfico entrante y saliente que hay que entre dos o más redes. Todo tráfico saliente o entrante es controlado por una serie de Reglas para acceder conexión desde la red pública o acceder conexión desde la red privada. En caso de no cumplir con las reglas, el tráfico saliente o entrante es denegada.

Cuando se instala por primera vez alguna distribución de GNU/Linux derivados para Servidores, tales como: CentOS, Red Hat, Debian, Ubuntu Server o Fedora; por lo general en la mayoría de las distros vienen integrado en el kernel de estos sistemas un firewall de tipo software llamado iptables de netfilter.

Debido a que muchos administradores de sistemas que se adentran al mundo de GNU/Linux le dificultan administrar y configurar el firewall con Iptables, Shorewall es la herramienta ideal para crear y manipular de forma automatizada las reglas, cadenas y modulos de Iptables.

¿Qué es Shorewall (Shoreline Firewall)?

Shorewall o originalmente llamado como Shoreline Firewall es una robusta y extensible herramienta de alto nivel para la configuración de muros cortafuego.

VIDEO TUTORIAL CREADO Y ELABORADO POR EL CEO Y SYSADMIN DE TECNISERVICIOS.NET

[embedyt] https://www.youtube.com/watch?v=ZzUTSMRhuko&height=250[/embedyt]

DESCARGAR, INSTALAR, Y CONFIGURAR SHOREWALL EN EL SERVIDOR FW

Antes de descargar, instalar, y configurar Shorewall en su Servidor FW, hay que tomar en cuenta paso por paso ciertos puntos importantes

  • Identificar el Sistema del Servidor FW: Es importante identificar y conocer el sistema de la distribución del servidor firewall para descargar correctamente el repositorio necesario para la instalación correcta del Shorewall que utilizará como muro de cortafuego.
  • Identificar las Direcciones Ip del Servidor FW: Todo servidor de cortafuego dispondrá más de una tarjeta de red y debido a esto, es sumamente importante identificar las Interfaces de Red, las Direcciones Ip Públicas y Privadas (si es Pública, identificar si es Dinámica o Estática), las Subredes o Nodos de cada Interfaz, las Máscaras de Red, los Enlaces de Salida (Gateways), las Redes de Difusión y sus Tablas de Enrutamiento.
  • Habilitar el Enrutamiento (Router) del Servidor FW: Debido a que un servidor fw dispone de más de una interfaz de red, es sumamente importante que el servidor pueda enrutar los paquetes de datos entre diferentes subredes o nodos de red.
  • Detener y deshabilitar Iptables en el Servidor FW: Iptables es el firewall por defecto pre-instalado en todas las distribuciones GNU/Linux especializados para servidores, debido a esto, no se puede y tampoco es recomendable ejecutar 2 firewalls al mismo tiempo en un solo servidor de cortafuego.
  • Para conocer más información de cada uno de los puntos importantes de forma más detallada, pueden descargar nuestro tutorial en formato PDF.

Después de haber tomado en cuenta paso por paso los puntos importantes explicados anteriormente, es hora de instalar y configurar Shorewall en el Servidor FW con la finalidad de implementar ciertas medidas de seguridad informática en el servidor. El sistema del Servidor Firewall que estamos utilizando como laboratorio para éste tutorial es una distribución llamado CentOS Versión 6.8 de 64 bits pre-instalado como Máquina Virtual con VMware Workstation y asumimos que todo estos procedimientos se hará en un Servidor (No Virtualizado) en Producción. Por lo tanto, para proceder con los pasos de instalación y configuración del mismo, es necesario descargar par de archivos desde el sitio web oficial de Shorewall.

Los archivos que debemos descargar son los siguientes:

  • Shorewall-core: Necesario para instalar Shorewall para el Protocolo de Internet IPv4 o IPv6.
  • Shorewall: Junto con Shorewall-core, lo cual incluye todos los archivos necesarios para crear un muro cortafuego IPv4.

Entonces, debido a que estamos utilizando la distribución CentOS (6.8) de 64 bits y que ésta distribución es una distro derivado de Red Hat, en este caso es necesario descargar los archivos mencionados anteriormente para los repositorios RPMs dentro de la librería ILS-6.

Descargar_Shorewall_RPM_para_CentOS

INSTALAR SHOREWALL

Una vez que tengamos descargado nuestros archivos necesarios de acuerdo a la versión de la distribución (En nuestro caso: ILS-6 para CentOS 6.8), debemos proceder con la instalación de Shorewall. Hay que tomar en cuenta instalar las dependencias necesarios para su debida instalación:

yum -y install perl-Digest-SHA.x86_64 bc.x86_64

Después de instalar todas las dependencias necesarias, ahora procedemos con instalar los archivos "shorewall-core" y "shorewall" de las siguientes maneras:

  • Instalar el archivo Shorewall-Core:
    [root@fwlab1 Downloads]# rpm -Uvh shorewall-core-5.1.3.2-1.el6.noarch.rpm
    Preparing... ########################################### [100%]
    1:shorewall-core ########################################### [100%]
  • Instalar el archivo Shorewall:
    [root@fwlab1 Downloads]# rpm -Uvh shorewall-5.1.3.2-1.el6.noarch.rpm
    Preparing... ########################################### [100%]
    1:shorewall ########################################### [100%]

CONFIGURAR SHOREWALL

Ya que Shorewall está instalado, debemos configurar ciertos archivos importantes ubicados dentro del directorio "/etc/shorewall/".

Archivos_Configuracion_Shorewall

Los archivos necesarios para la configuración son los siguientes:

  • Shorewall.conf: Este es el archivo de configuración global en donde se configura las opciones que aplica a todo Shorewall como Cortafuego.
  • Zones: Este es el archivo para declarar las zonas de cada red o subredes. Por ejemplo: fw, loc, net, dmz o vpn.
  • Params: Este es el archivo para especificar parámetros o variables shell procesados por "/bin/sh" or por el parámetro "SHOREWALL_SHELL" en el archivo shorewall.conf.
  • Interfaces: Este es el archivo para especificar o definir los interfaces de red por cada zona.
  • Policy: Este es el archivo para definir las políticas de seguridad de alto nivel para las conexiones entre diferentes zonas de la red
  • Snat: Este es el archivo para definir el Enmascaramiento dinámico NAT o para definir la fuente del NAT en caso que la fuente sea Estático (Dirección Ip Privada/Pública Estático). Este archivo reemplaza el archivo Masq de las versiones anteriores del 5.0.14.
  • Rules: Este es el archivo en donde se especifica las reglas para establecer y filtrar las conexiones de los paquetes de datos.

Estos archivos NO son los únicos archivos accesibles y configurables para fortalecer el muro de cortafuego con Shorewall ya que este dispone de muchos más archivos de configuración más complejos y avanzados. Por este medio le compartimos un enlace en donde se muestra todos los archivos para más consejos y sugerencias para cada uno de los archivos de configuración de Shorewall.

A continuación, vamos a configurar cada uno de los archivos de Shorewall mencionados anteriormente:

CONFIGURAR EL ARCHIVO SHOREWALL.CONF

Tal como se explicó anteriormente, este archivo es para configurar globalmente todo el muro cortafuego Shorewall y dentro de este archivo vamos a configurar o editar los siguientes parámetros necesarios:

  • STARTUP_ENABLED=Yes # Este permite inicializar automáticamente el muro de cortafuego cuando el sistema del Servidor FW arranca o se enciende el servidor. Si el valor es "No", entonces el muro de cortafuego no se inicializará de manera automática.
  • LOG_LEVEL="info" # Este es el Nivel de Registro, lo cual el valor "info" significa que se mostrará solamente información de los registros del Firewall
  • LOGFILE=/var/log/messages # Esto especifica la ruta del archivo de registros, es decir, el archivo "messages" es en donde se muestra toda información de los registros.
  • IPTABLES=/sbin/iptables # Debido a que el objetivo de Shorewall es implementar y manipular de forma automatizada las reglas y cadenas de Iptables, es necesario especificar la ruta ejecutable de Iptables.
  • DETECT_DNAT_IPADDRS=Yes # Cuando el valor es "Yes" se detectará una Traducción de Dirección de Red Destino (DNAT) cuando se necesita direccionar una conexión de origen externo hacia una dirección ip destino de algún equipo o servidor ubicado detrás del Servidor FW.
  • DISABLE_IPV6=Yes # Cuando el valor es "No", significa que se habilitará el Protocolo IPV6, y debido a que nuestro valor es "Yes", significa que no necesitamos habilitar el protocolo IPV6 ya que sólo estamos ocupando el Protocolo IPV4.
  • FASTACCEPT=Yes # Debido a que el valor es "Yes", significa que anticipadamente estamos aceptando conexiones de paquetes de datos cuando el estado de los paquetes están ESTABLECIDOS y RELACIONADOS (ESTABLISHED/RELATED) en las cadenas INPUT, FORWARD y OUTPUT de Iptables.
  • IP_FORWARDING=On # Cuando el valor es "On", significa que estamos habilitando el Enrutamiento de Datos (/proc/sys/net/ipv4/ip_forward) con el objetivo de intercomunicar paquetes de datos entre diferentes nodos.

CONFIGURAR EL ARCHIVO ZONES

Dentro de este archivo, vamos a especificar el tipo de Protocolo IPV4 para las zonas: loc, net, y dmz y nuestra configuración es de la siguiente manera:

#ZONE TYPE
fw firewall # Zona del mismo Servidor FW con la Dirección Ip 192.168.2.10.
net ipv4 # Zona de las Redes Externas para la WAN o Internet.
loc ipv4 # Zona para la Red Local con la Dirección Ip 172.16.20.1 para la LAN.
dmz ipv4 # Zona para la Red Desmilitarizada con la Dirección Ip 10.16.20.1 para la DMZ.

CONFIGURAR EL ARCHIVO PARAMS

Dentro de este archivo, vamos a especificar todos los variables o parámetros (aliases) para engrupar interfaces, direcciones ip, puertos, opciones para cada interfaz de red y mucho más y nuestra configuración es de la siguiente manera:

# Interfaces de Red
WAN_INTERFACE=eth0 # Interfaz de Red de la WAN.
LAN_INTERFACE=eth1 # Interfaz de red de la LAN.
DMZ_INTERFACE=eth2 # Interfaz de red de la DMZ
# Opciones para las Interfaces de Red
WAN_OPTIONS=dhcp,routeback,nosmurfs,logmartians
LAN_OPTIONS=dhcp,routeback,nosmurfs,routefilter,logmartians
DMZ_OPTIONS=dhcp,routeback,nosmurfs,routefilter,logmartians
# Subredes de la WAN, LAN y DMZ
WAN_SUBNET="192.168.2.0/24" # Subred de la WAN.
LAN_SUBNET="172.16.20.0/28" # Subred de la LAN.
DMZ_SUBNET="10.16.20.0/29" # Subred de la DMZ.
# Direccion ip del Servidor FW
WAN_IP_FW="192.168.2.10"
# Direccion Ip del Gateway de la LAN
LAN_IP_GATEWAY="172.16.20.1"
# Direccion Ip del Gateway de la DMZ
DMZ_IP_GATEWAY="10.16.20.1"
# Direcciones Ip Privadas de los Ordenadores Anfitriones de la WAN
WAN_IP_PRIVATE_HOSTS="192.168.2.2,192.168.2.3,192.168.2.4"
# Direcciones Ip Publicas de los Ordenadores Anfitriones de la WAN
WAN_IP_PUBLIC_HOSTS="181.115.10.245"
# Direcciones Ip Privadas Estaticas de la LAN
LAN_IP_PRIVATE_HOSTS="172.16.20.2,172.16.20.3,172.16.20.4,172.16.20.5"
# Puertos HTTP y HTTPS para la Conexion y Navegacion a Internet
PORTS_INTERNET="80,443"
# Puerto para el Servidor Webmin
PORT_WEBMIN="10000"
# Puertos SSH y WEBMIN para conexion y gestion del Servidor FW
PORTS_FW_ADMIN="22,10000"

CONFIGURAR EL ARCHIVO INTERFACES

Dentro de este archivo y ya que tenemos nuestros parámetros o variables configurados, vamos a especificar y adicionar las interfaces por cada zona agregando nuestros variables poniendo antes de cada variable el símbolo de dólar "$". Hay que tomar en cuenta que en este archivo ahora se utiliza el "FORMAT 2", el cual es un formato que en las versiones después del 5.0.14 se omite la columna de la Red de Difusión (BROADCASTS). Entonces, nuestra configuración es de la siguiente manera:

?FORMAT 2
#ZONE INTERFACE OPTIONS
net $WAN_INTERFACE $WAN_OPTIONS # Interfaz de Red eth0 para la zona NET.
loc $LAN_INTERFACE $LAN_OPTIONS # Interfaz de Red eth1 para la zona LOC.
dmz $DMZ_INTERFACE $DMZ_OPTIONS # Interfaz de Red eth2 para la zona DMZ.

CONFIGURAR EL ARCHIVO POLICY

Este archivo es sumamente importante para especificar las políticas de seguridad de informática del mismo servidor fw y de las demás zonas (nodos de red) y nuestras políticas configuradas es de la siguiente manera:

#SOURCE DEST POLICY LOGLEVEL
fw all ACCEPT # Permitir al Servidor FW todo tipo de conexión hacia cualquier destino.
loc net ACCEPT # Permitir conexión a la Red Local LAN hacia la Red de la Internet.
dmz net ACCEPT # Permitir conexión a la Red de la Zona Desmilitarizada DMZ hacia la Red de la Internet.
loc dmz ACCEPT # Permitir conexión a la Red Local LAN hacia la Red de la DMZ.
net dmz ACCEPT # Permitir conexión a la Red de la Internet hacia la Red de la DMZ.
net fw DROP info # Denegar y botar conexión de la Red de la Internet hacia al Servidor FW y registrar la denegación.
loc fw DROP info # Denegar y botar conexión de la Red Local LAN hacia al Servidor FW y registrar la denegación.
dmz fw DROP info # Denegar y botar conexión de la Red DMZ hacia al Servidor FW y registrar la denegación.
dmz loc DROP info # Denegar y botar conexion de la Red DMZ hacia la Red local LAN y registrar la denegación.
all all REJECT info # Rechazar toda conexión omitida desde cualquier origen hacia cualquier destino y registrar el rechazo.

CONFIGURAR EL ARCHIVO SNAT

Para que todo equipo y servidores ubicados en las zonas loc y dmz puedan disponer de conexión y navegación hacia al Internet, es necesario enmascarar o hacer NAT las subredes de ambas zonas. Sin la existencia del NAT, es imposible que las redes internas (direcciones ip privadas) se comuniquen con las redes externas (direcciones ip públicas) y viceversa debido a que ambas redes son incompatibles. Entonces, dentro de este archivo y tomando en cuenta nuestras variables, nuestra configuración del enmascaramiento es de la siguiente manera:

#ACTION SOURCE DEST
MASQUERADE $LAN_SUBNET $WAN_INTERFACE # Enmascarar la subred 172.16.20.0/28 con la Interfaz de Red eth0.
MASQUERADE $DMZ_SUBNET $WAN_INTERFACE # Enmascarar la subred 10.16.20.0/29 con la Interfaz de Red eth0.

CONFIGURAR EL ARCHIVO RULES

Este archivo también es de suma importancia debido a que dentro de este archivo se especifica toda regla para filtrar (permitir, denegar, rechazar, y registrar) todo tipo de conexión de paquetes de datos desde cualquier origen y hacia cualquier destino por medio de cualquier protocolo, puertos destinos, puertos de origen y mucho más opciones más avanzadas de configuración. Utilizando nuestras siempre nuestras variables y tomando en cuenta que nuestro Estado de Conexión de Paquetes de Datos es siempre NUEVA (NEW), nuestras reglas configuradas son de las siguientes maneras:

#ACTION SOURCE DEST PROTO DPORT
?SECTION NEW
?COMMENT Aceptar conexion desde la Subred de la WAN hacia al FW via ICMP
Ping(ACCEPT) net:$WAN_SUBNET fw:$WAN_IP_FW
?COMMENT Aceptar conexion desde la Subred de la LAN hacia al FW via ICMP
Ping(ACCEPT) loc:$LAN_SUBNET fw:$LAN_IP_GATEWAY
?COMMENT Aceptar conexion desde la Subred de la DMZ hacia al FW via ICMP
Ping(ACCEPT) dmz:$DMZ_SUBNET fw:$DMZ_IP_GATEWAY
?COMMENT Aceptar conexion desde las Direcciones Ip Privadas de la WAN hacia al FW via SSH
SSH(ACCEPT) net:$WAN_IP_PRIVATE_HOSTS fw:$WAN_IP_FW
?COMMENT Aceptar conexion desde la Subred de la WAN hacia al FW via TCP por medio del puerto WEBMIN
ACCEPT net:$WAN_SUBNET fw:$WAN_IP_FW tcp $PORT_WEBMIN
?COMMENT Aceptar conexion desde las Direcciones Ip Publicas de la WAN hacia al FW via TCP por medio de los puertos SSH y WEBMIN
ACCEPT net:$WAN_IP_PUBLIC_HOSTS fw:$WAN_IP_FW tcp $PORTS_FW_ADMIN
?COMMENT Aceptar conexion desde la Subred de la LAN hacia al FW via DNS
DNS(ACCEPT) loc:$LAN_SUBNET fw:$LAN_IP_GATEWAY
?COMMENT Aceptar conexion desde la Subred de la DMZ hacia al FW via DNS
DNS(ACCEPT) dmz:$DMZ_SUBNET fw:$DMZ_IP_GATEWAY
?COMMENT Aceptar conexion desde la Subred de la LAN hacia al Internet via TCP por medio de los puertos HTTP y HTTPS
ACCEPT loc:$LAN_SUBNET net tcp $PORTS_INTERNET
?COMMENT Aceptar conexion desde la Subred de la DMZ hacia al Internet via TCP por medio de los puertos HTTP y HTTPS
ACCEPT dmz:$DMZ_SUBNET net tcp $PORTS_INTERNET
?COMMENT Aceptar conexion desde las Direcciones Ip Privadas Estaticas de la LAN hacia al FW via SSH
SSH(ACCEPT) loc:$LAN_IP_PRIVATE_HOSTS fw:$LAN_IP_GATEWAY
?COMMENT Permitir direccion de conexion desde la Subred de la WAN hacia Ordenador WINXP de la LAN via RDP
RDP(DNAT) net:$WAN_SUBNET loc:172.16.20.2

REVISAR, INICIAR/REINICIAR, SALVAR Y RESTAURAR SHOREWALL

Al finalizar de configurar el Shorewall, es muy importante revisar que toda su configuración elaborada por el SysAdmin (Administrador de Sistemas) y/o por el NetAdmin (Administrador de Red) ejecutando el comando "shorewall check", tal como se muestra de la siguiente manera:

[root@fwlab1 ~]# shorewall check
Checking using Shorewall 5.1.3.2...
Processing /etc/shorewall/params ...
Processing /etc/shorewall/shorewall.conf...
Loading Modules...
Checking /etc/shorewall/zones...
Checking /etc/shorewall/interfaces...
Determining Hosts in Zones...
Locating Action Files...
Checking /etc/shorewall/policy...
Running /etc/shorewall/initdone...
Adding Anti-smurf Rules
Adding rules for DHCP
Checking TCP Flags filtering...
Checking Kernel Route Filtering...
Checking Martian Logging...
Checking /etc/shorewall/snat...
Checking MAC Filtration -- Phase 1...
Checking /etc/shorewall/rules...
Checking MAC Filtration -- Phase 2...
Applying Policies...
Checking /usr/share/shorewall/action.Broadcast for chain Broadcast...
Checking /usr/share/shorewall/action.Multicast for chain Multicast...
Shorewall configuration verified

Si es el mensaje de la revisión del Shorewall es "Shorewall configuration verified", significa que toda la configuración del Shorewall está verificada y correctamente configurada, de lo contrario, hay que revisar minuciosamente cada archivo de configuración gestionada para encontrar el error y corregirlo. Por consiguiente, es necesario iniciar el muro de cortafuego Shorewall ejecutando el comando "shorewall start", tal como se muestra de la siguiente manera:

[root@fwlab1 ~]# shorewall start
Starting Shorewall....
Initializing...
Processing /etc/shorewall/init ...
Processing /etc/shorewall/tcclear ...
Setting up Route Filtering...
Setting up Martian Logging...
Setting up Proxy ARP...
Preparing iptables-restore input...
Running /sbin/iptables-restore ...
IPv4 Forwarding Enabled
Processing /etc/shorewall/start ...
Processing /etc/shorewall/started ...
done.

Si por alguna razón es necesario gestionar el muro de cortafuego (cambiar la configuración del Shorewall), al finalizar el cambio de la misma configuración, es necesario reiniciar el Shorewall ejecutando el comando "shorewall restart", tal como se muestra de la siguiente manera:

[root@fwlab1 ~]# shorewall restart
Stopping Shorewall....
Processing /etc/shorewall/stop ...
Processing /etc/shorewall/tcclear ...
Preparing iptables-restore input...
Running /sbin/iptables-restore...
IPv4 Forwarding Enabled
Processing /etc/shorewall/stopped ...
done.
Starting Shorewall....
Initializing...
Processing /etc/shorewall/init ...
Processing /etc/shorewall/tcclear ...
Setting up Route Filtering...
Setting up Martian Logging...
Setting up Proxy ARP...
Preparing iptables-restore input...
Running /sbin/iptables-restore ...
IPv4 Forwarding Enabled
Processing /etc/shorewall/start ...
Processing /etc/shorewall/started ...
done.

Para finalizar del todo, es sumamente importante salvar toda la configuración gestionada ejecutando el comando "shorewall save", tal como se muestra de la siguiente manera:

[root@fwlab1 ~]# shorewall save
Currently-running Configuration Saved to /var/lib/shorewall/restore

Toda configuración salvada se almacena en un script "/var/lib/shorewall/restore", lo cual sirve para restaurar toda la configuración solo y cuando la configuración de la misma es perdida o borrada. Para restaurar toda la configuración se ejecuta el comando "shorewall restore", tal como se muestra de la siguiente manera:

[root@fwlab1 ~]# shorewall restore
Restoring Shorewall...
Initializing...
Processing /etc/shorewall/init ...
Processing /etc/shorewall/tcclear ...
Setting up Route Filtering...
Setting up Martian Logging...
Setting up Proxy ARP...
IPv4 Forwarding Enabled
Processing /etc/shorewall/restored ...
done.
Shorewall restored from /var/lib/shorewall/restore

quienes utilizan gnulinux

Grandes empresas que utilizan y confían en GNU/Linux

GNU/Linux es un sistema operativo (como MS Windows o iOS de Apple). La licencia es gratis y no entran virus. Los sistemas operativos de Linux son parte de un movimiento mundial llamado Open Source, que entre sus politicas tiende a ofrecer software gratis al mundo, otro ejemplo de ello es este sitio web, esta siendo admisitrado por varias plataformas catalogadas como open source. (Estaremos publicando otros paquetes de software con licencias GNU y por lo tanto Gratis). Esto en cierta forma no a sido muy relevante para Latino América, en donde casi el 61% del software es pirata. Sin embargo, los problemas con virus, la importancia de la ética virtual, invaciónes a la privacidad digital y vulnerabilidad de las camaras y microfonos en sus dispositivos y el incremento de empresas multadas por usar software pirata que a contribuido a una marcada tendencia hacia el uso de software libre. Tecniservicios hizo una pequeña investigación sobre ejemplos de empresas que utilizan GNU Linux. Preguntenos como puede ayudarle este software en su empresa.

A nivel global son muchos los paises, empresas, escuelas, universidades, redes sociales, instituciones gubernamentales, etc., quienes utilizan los sistemas o distribuciones de GNU/Linux en los servidores debido a que éste ofrece mayor escabilidad, disponibilidad, seguridad, estabilidad, rendimiento y muchas otras funcionalidades para las infraestructuras de la red empresarial.

Son todas estas características y funcionalidades mencionadas que han dado resultado como el sistema de mayor prestigio desplazando a Microsoft Windows de muchas computadoras y servidores no solo en los hogares, sino también en el ámbito profesional, empresarial y gubernamental. Por lo tanto, en la actualidad, GNU/Linux cuenta con el apoyo y respaldo de importantes empresas y corporaciones, tales como: IBM, Novell, Dell, Sun Microsystems, Hewlett-Packard, Oracle, Adobe, Google, Yahoo, entre otras.

A continuación mencionaremos algunas empresas importantes e internacionales que utilizan servidores con GNU/Linux a nivel global.

CERN - Organización Europea para la Investigación Nuclear

Cern

La Organización Europea para la Investigación Nuclear llamada CERN utilizan GNU/Linux en la máquina más grande y costosa jámas construida llamada "Large Hadron Collider", incluyendo todas las dependencias del CERN. Los resultados de los experimentos se comparten con la comunidad científica utilizando una red distribuida que también está basada en GNU/Linux. En ésta organización es el lugar de nacimiento y uso principal de Scientific Linux, una distribución basada en Red Hat para los hombres y mujeres de la ciencia.

Empresas de Tránsito y Transporte

Control de Tráfico

En la actualidad, son muchas las empresas o aeropuertos en las medianas y grandes ciudades a nivel mundial que confían más en GNU/Linux por la seguridad y rendimiento 24/7 de los sistemas que controlan y monitorean el tránsito vehícular y el tráfico aereo. Estas ciudades son algunos por ejemplo: San Francisco, Londres, Singapur, Nueva York, Madrid, Barcelona, Berlin, México D. F., Buenos Aires, y muchas más paises a nivel global.

NASA - Administración Nacional de Aeronáutica y Espacio

NASA

No cabe duda alguna que la NASA en la actualidad cuenta con sistemas GNU/Linux en sus supercomputadoras y servidores con un gran poder de procesamiento para realizar cálculos avanzados, realizar investigaciones y experimientos e incluso para almacenar datos confidenciales en sus base de datos de manera segura. Además, muchos de los austronautas que desarrollan aplicaciones están utilizando muchas distribuciones de Linux en sus computadoras personales en el estación espacial internacional.

FBI - Oficina Federal de Investigaciones

FBI

Debido que el FBI disponen de hackers e informáticos expertos en seguridad para administrar redes de información confidencial y para espiar computadoras y servidores ubicados en diferentes puntos estratégicos tanto dentro de EE.UU. como también en paises extranjeros; es por esta razón que disponen de servidores propios altamente potentes y seguros en sus centros de datos con GNU/Linux ya que los sistemas con el núcleo Linux son los más utilizados para apuntar a las vulnerabilidades de otros sistemas que son utilizados por criminales informáticos.

Android para Dispositivos Móviles

android

Android es el sistema de GNU/Linux más utilizado a nivel mundial en los automóviles, en los televisores, y especialmente en los dispositivos móviles tales como celulares y tablets. No es de extrañar que muchos usuarios que usan éste bello sistema a diaro desconocen que Android es un sistema con Kernel Linux. Android fue desarrollado por Google (otra mega empresa que utilizan en sus servidores sistemas GNU/Linux) debido que muchas de sus aplicaciones compatibles se administran con Google Play.

Google - Empresa Multinacional de Tecnología

Google

Otro gigante de la red que ha desarrollado su propia distro, Goobuntu, que es más que nada un skin que se aplica sobre la última versión LTS de Ubuntu y utilizado por los empleados donde cada uno pueden personalizar este sistema como lo deseen. Google utiliza GNU/Linux tanto en sus computadoras y terminales como en sus servidores. Estos últimos corren una versión especialmente modificada y optimizada para su motor de búsqueda y el resto de los servicios que ofrece la Empresa Multinacional de Tecnología más grande del mundo.

Facebook - La Red Social más grande de la Internet

Facebook

Facebook es la mega empresa que ofrece servicios de redes sociales más grande en el mundo de la Internet. Facebook confía la seguridad de los datos de más de 1.000 millones de usuarios a servidores que corren bajo una versión modificada de CentOS. Todo su hardware (Open Compute Platform) lo certifica bajo los estándares de Red Hat.

Amazon - Empresa Estadounidense del Comercio Electrónico

Amazon

La tienda online más grande del mundo no sólo usa GNU/Linux para administrar sus operaciones de venta, sino que también han desarrollado su propia distro, Amazon Linux, basada en Red Hat Enterprise Linux. Amazon además se ha vuelto líder mundial en el campo de la computación en la nube, con su plataforma Amazon Elastic Compute Cloud (Amazon EC2) que utiliza por debajo virtualización Xen basada en Linux.

Twitter - Empresa de las Noticias en Línea

Twitter

Twitter es una mega empresa que ofrece servicios de noticias en línea, también denominado como "microblogging" o llamado famosamente "Tweets". Esta empresa también es una Red Social, al igual como lo es Facebook, Google+, Youtube, Instagram, etc. Twitter es miembro de la Fundación Linux en donde sus decenas de miles de servidores corren bajo GNU/Linux y otras tantas tecnologías libres que ellos aprecian por la capacidad de poderlas modificar a su antojo para adaptarlas mejor a sus necesidades

Wikipedia - La Enciclopedia Libre en Línea

La Fundación Wikipedia es una organización sin fines de lucro cuya financiación está basada en donaciones. Wikipedia fue escrita por colaboradores y voluntarios; y esta organización siempre ha tenido sus servidores corriendo sistemas basados en GNU/Linux. En el año 2008, los servidores dejaron de ser administrados por Red Hat y Fedora para ser adminsitrados por la distribución Ubuntu Server.

Casa Blanca - Casa Presidencial de USA

Casa Blanca

La Casa Blanca es la residencia oficial y principal centro de trabjo del presidente de los Estados Unidos. En el año 2012, después de un intento de ataque por parte de equipos infectados en todo el mundo con el gusano Code Red, el sitio web de la Casa Blanca fue movido hacia un hospedaje con mejor protección contra ataques DDoS y de paso aprovecharon para migrar de su sistema operativo anterior Solaris hacia el sistema GNU/Linux basado con la distribución Red Hat Enterprise Linux.

Toyota - Empresa Lider en Automotriz

Toyota

La empresa Toyota de Japón es la segunda empresa lider en automóviles después del Grupo Volkswagen de Alemania. Esta empresa ha sido una de las últimas compañías en convertirse en Gold Members de la Fundación Linux, demostrando todo su apoyo a la comunidad de software libre y abierto. Los nuevos modelos de ésta gran marca internacionanl utilizan GNU/Linux para administrar sus sistemas de entretenimiento e información.

NYSE y LSE - Bolsas de Valores de Nueva York y Londres

NYSE-y-LSE

La NYSE (New York Stock Exchange) es la bolsa más activa del planeta, en ella se venden y compran más de 150 billones de dólares en acciones y bonos todos los días. Su infraestructura informática corre bajo Red Hat Enterprise Linux. La LSE (London Stock Exchange) siguió los pasos de la NYSE utilizando Novell SUSE Enterprise Linux después que su sistema anterior basado en Windows Server 2003 y .Net empezó a colapsar continuamente al no poder soportar la enorme cantidad de transacciones simultáneas que se realizaban en él. Los resultados de la migración fueron en un sistema más estable y mucho más rápido que el de todos sus competidores.

Linux-o-Windows

¿Cuál sistema debo utilizar? ¿MS Windows o GNU/Linux?

¿Qué es MS Windows? y ¿Qué es GNU/Linux?

Antes de tomar una decisión acerca de cuál Sistema Operativo de Windows o cuál Distribución de Linux hay que elegir a utilizar para su computadora o servidor, hay que tomar en cuenta la definiciones o significados entre MS Windows y GNU/Linux.

Definiciones de MS Windows y de GNU/Linux de acuerdo a Wikipedia.
MS Windows:Es el nombre de una familia de distribuciones de software para PC, smartphone, servidores y sistemas empotrados, desarrollados y vendidos por Microsoft y disponibles para múltiples arquitecturas, tales como x86 y ARM.
GNU/Linux:Es uno de los términos empleados para referirse a la combinación del núcleo o kernel libre similar a Unix denominado Linux con el sistema operativo GNU.
Microsft Windows
GNU/Linux

Antes de elegir, ¿MS Windows o GNU/Linux?

Antes de elegir el Sistema Operativo (MS Windows o MS Windows Server) o la Distribución (GNU/Linux) adecuado para su computadora o servidor, hay que tomar en cuenta sus diferencias y puntos importantes entre ambos:

Puntos ImportantesMS WindowsGNU/Linux
InstalaciónLa instalación es mucho más sencillo con la posibilidad de administrar el disco duro y sus particiones, aplicación del nombre del equipo, y el tiempo del sistema, todo durante en el proceso de instalación pero siempre sus opciones de configuración es mínima en la mayoría de las versiones de MS Windows.La instalación es un poco más compleja pero con mucho más opciones de configuración, tales como particiones del disco, administración de LVM, creación de discos RAID, configuración del punto de arranque GRUB, personalización de instalación de paquetes y mucho más dependiendo el tipo del Distro y su tipo de uso.
CompatibilidadAunque ninguna versión es 100% compatible con el Hardware debido a que la tecnología de los dispositivos y componentes integrados son variables dependiendo del fabricante, Microsoft ofrece una gran cantidad de drivers debido a que su gran poder económico hace que las empresas mismas de hardware crean sus propios drivers.Igualmente ninguna distribución es totalmente compatible con el Hardware. Al principio de la era de Linux en los 90's, con las viejas distribuciones eran un dolor de cabeza y ahora en la actualidad, ya que el Kernel siempre está evolucionando, es cada vez más compatible y amigable con cualquier Hardware.
Sistema de Archivos

  • Los sistemas de archivos son representados por letras. Por ejemplo, C: es el disco duro y X: puede representar una unidad externo.

  • Se usa la barra invertida (\) para separar nombres de directorios. Por ejemplo, C:\usuarios\juan.

  • Los nombres de archivos tienen sufijos o extensiones, tales como .txt, .exe, .doc.

  • Los tipos de sistemas de archivos basados en discos son los siguientes: FAT, FAT16, FAT32, y NTFS


  • Todos los discos están incluidos dentro de la jerarquía del sistema de archivos. Para más información, presionen aquí.

  • Se usa la barra diagonal (/) en vez de la barra invertida (\) para separar nombres de directorios. Por ejemplo: C:\usuarios\juan en Windows, sería /home/juan en Linux.

  • Los nombres de archivos, tales como .txt, .exe, .doc., no son usados y no tienen ningún significado. Sin embargo, pueden ser usados para identificar cierto tipo de archivos.

  • Los tipos de sistemas de archivos basado en discos son los siguientes: Ext2, Ext3, Ext4, ReiserFS y Swap. También soporta los siguientes: XFS, JFS, UFS, ISO9660, FAT, FAT32 o NTFS.

JuegosSin duda alguna casi el 60% de los juegos en el mercado están creados para el soporte de Windows. Si eres aficionado a los juegos, este sistema es el más adecuado para usted. A pesar que los juegos son compatibles para ésta familia, no tiene sentido instalar juegos en MS Windows Servers para servidores debido que los juegos pueden bajar considerablemente el rendimiento del servidor. Existen algunos juegos desarrollados para las distribuciones Linux, en especial para computadoras personales. Con respecto para servidores, no tiene caso instalar juegos y los juegos para Windows no son nada compatibles con Linux. Sin embargo, existe un método para instalar juegos para Windows en Linux, el cual es con un emulador llamado Wine con las desventajas que su configuración es muy complejo y no siempre da buena resolución de video sin importar que la tarjeta de video sea NVIDEA.
Licencias

  • La licencia utilizada para Microsoft se llama EULA o End-User License Agreement.

  • Pretende a proteger a la empresa Microsoft.

  • Limita al usuario a tomar acciones, elecciones y opciones sobre el SO.

  • Se prohíbe la copia.

  • Puede ser empleado en un único ordenador con un máximo de 2 procesadores.

  • El límite de tiempo para el registro necesario es de 30 días.

  • Puede dejar de funcionar si se efectúan cambios en el Hardware.

  • Las actualizaciones del sistema pueden modificar la licencia, si Microsoft lo desea.

  • Solo puede ser transferida una vez a otro usuario.

  • Impone limitación sobre la ingeniería inversa.

  • La garantía es sólo por los primeros 90 días y no cubren las actualizaciones y parches.

  • Sus licencias son bien costosas y pueden costar entre 60$ a 200$.

  • Su código fuente siempre permanece oculto.


  • La licencia utilizada para las distribuciones de código abierto se llama GNU GPL o General Public License.

  • Se enfoca más a los derechos del usuario.

  • Permite la copia, modificación y redistribución de la distribución.

  • Proporciona garantía de los derechos del usuario a la copia, modificación y redistribución del Sistema.

  • Puede ser vendido y se puede cobrar por los servicios sobre el Software.

  • Cualquier patente sobre el mismo debe ser licenciada para el beneficio de todos.

  • El sistema modificado no debe tener costo por la licencia.

  • Los cambios en la licencia deben mantener ciertos términos generales.

  • Sus licencias son gratuitas pero tampoco ofrecen garantías.

  • Su código fuente es visible para todo usuario final del Software.

Líneas de ComandoSi se trata para computadoras personales, la mayoría de los usuarios ni se dan cuenta de la existencia del CMD (Command Prompt o Interpretador de Línea de Comandos) y para los administradores de sistemas es una herramienta muy util para diagnosticar y solucionar problemas del SO. Sin embargo, no hay duda alguna que para servidores siempre es y siempre será una herramienta poderosa para solucionar cualquier tipo de circunstancias y problemas críticos del servidor dedicado.No importa lo bonito que luzca el GUI (Interfaz Gráfica del Usuario) con las distros actuales, la herramienta de línea de comandos siempre es y siempre será una herramienta de administración invaluable para dar solución a todo tipo de problemas críticos y en especial si se trata para servidores dedicados que funcionan las 24/7.
RendimientoTodo depende del tipo y capacidad del Hardware, ya que si un sistema operativo por ejemplo Windows 10, es instalado con un Hardware limitado, sin duda alguna el sistema puede quedarse colgado o experimentar la famosa pantalla azul de la muerte. Un dolor de cabeza que sucede con las nuevas versiones de Windows, es que Microsoft siempre está exigiendo más recursos de Hardware lo cual implica más gastos enormes para el usuario, en especial si se trata para servidores. El mejor consejo ya sea para servidores o computadoras, es que siempre se asesoren con los requerimientos mínimos y máximos de Hardware para el mejor rendimiento de su sistema u ordenador.Es muy cierto que éste sistema puede tener más rendimiento que MS Windows, sin embargo, su rendimiento siempre puede depender del tipo o capacidad del Hardware debido a que no es recomendable instalar una Distro actual con su GUI moderno en una computadora con un Hardware antiguo o limitado. La buena noticia que a diferencia de Microsoft, que no es necesario gastar grandes cantidades de dinero en un Hardware ya que siempre se puede acoplar el GUI adecuado de acuerdo al tipo de capacidad de la computadora. Para servidores, con la finalidad de que siempre tenga el mejor rendimiento posible, lo recomendable es instalar la distribución sin el GUI sin importar su tipo de uso lo cual hace una gran diferencia en comparación con MS Windows Servers.
SeguridadEste es un tema de mucha importancia ya que con MS Windows, en comparación con GNU/Linux, es mucho más vulnerable a ataques cibernéticos independientemente si es una pc personal o un servidor dedicado. Esto no significa que es imposible proteger éste sistema ante cualquier ataque pero si requiere mayor supervisión y mantenimiento dependiendo de la destreza del administrador de sistemas tomando en cuenta algunos de muchos factores, por ejemplo:

  • En la forma de descargar e instalar las aplicaciones y anti-virus (por ejemplo, si la aplicación y anti-virus son originales o crackeados).

  • La manera o forma de configurar las conexiones de red privada y pública incluyendo la configuración del firewall integrado del sistema.

  • En la manera de aplicar las políticas de compartimiento del sistema en la red privida y pública.

  • En la forma de añadir las contraseñas a los usuarios del sistema.

Tomando en cuenta la seguridad con las distribuciones de código abierto, el sistema es mil veces más seguro en comparación con MS Windows y esto es debido a que estadísticamente el 95% de los hackers y crackers maliciosos (atacantes cibernéticos) utilizan éste sistema para apuntar más a las vulnerabilidades de Microsoft. Con esto no significa que los sistemas Linux no son atacados diariamente pero si es más difícil penetrar a este tipo de sistemas ya sea por medio de algún agujero o por introducción exitosa de virus, troyanos o gusanos. Además, si algún virus o gusano es introducido al sistema, no se le verá afectado de ninguna forma por el tipo de la arquitectura del sistema de archivos que disponen éste maravilloso sistema. Cabe recalcar que para ofrecer mayor seguridad, también dependerá de la destreza del SysAdmin y/o del administrador de red tomando en cuenta algunos de muchos factores para computadoras personales y en especial para servidores, tales como:

  • Políticas de usuarios y grupos de usuarios del sistema.

  • Las políticas de seguridad del kernel (SELinux).

  • Las configuraciones y políticas de la red del sistema, por ejemplo: direcciones ip, puertos, sockets, etc.

  • Las configuraciones y políticas del firewall y proxy.

Aplicaciones o ProgramasAl igual que a los juegos, estadísticamente hablando casi el 90% de las aplicaciones o programas desarrollados en el mercado web están diseñados para ser compatibles con Microsoft Windows debido a la gran demanda comercial que existe en las empresas para sus computadoras. Existen muchos programas en la Internet que son gratuitos y que solo basta con descargar el archivo .exe y seguir con el asistente de instalación para tener el programa instalado. La única desventaja es que cuando se refiere con las aplicaciones de Microsoft, la mayoría de sus productos no son nada gratuitos y sus precios son bien altos.Muchas de las aplicaciones o programas vienen integrados en base a distribuciones para computadoras personales y las mayorias de los programas son de código abierto (open source), los cuales significan que son gratuitos. Cabe mencionar que, así como muchos de sus aplicaciones integrados son gratis, también existen programas comerciales, lo que significa que hay que comprarlos pero en comparación con los productos de Microsoft, sus precios son más bajos o económicos. Es importante darse cuenta que los programas que son compatibles para Microsoft, no son compatibles para GNU/Linux, sin embargo, esto no significa que que no se pueda realizar las tareas cotidianas ya que las distribuciones disponen de programas necesarios para cumplir sus tareas o proyectos; por ejemplo, en lugar de utilizar Microsoft Office para Windows, en Linux se puede utilizar Libre Office.
SoporteEsto es una gran ventaja para Microsoft por el simple hecho de ser un sistema operativo comercial a nivel global y gracias a ésta razón, dispone de muchas compañias que también ofrecen apoyo empresarial con soporte en línea. Para disponer apoyo ante cualquier problema del sistema de parte de Microsoft, uno de los requisitos es que el SO debe estar registrado legalmente con ellos cuando se compra la licencia, de los contrario, no podrán recibir apoyo técnico de parte de ellos ya que desafortunadamente casi el 90% de los usuarios finales a nivel global piratean las llaves de las licencias. Un ejemplo de apoyo de parte de Microsoft es visitando su Página de Soporte Técnico presionando aquí.Debido a que Linux no es un sistema comercializado (con excepción de Red Hat) dentro del mercado web, en comparación con MS Windows, no dispone de mucho soporte en línea de forma comercial. Sin embargo, esto no quiere decir que no se pueda encontrar soporte en la Internet debido a que existen muchas comunidades en foros, en busquedas via Google y en sitios web oficiales de cada distribución, por ejemplo, con Ubuntu se puede encontrar soporte visitando su Página de Soporte y Ayuda presionando aquí.
PrecioLos precios de compra de los sistemas operativos equivalen aproximadamente 135 euros por cada uno y sus precios pueden variar dependiendo de la versión del sistema. Esto es una gran desventaja para los usuarios finales ya que deben de invertir grandes cantidades de dinero y ésto es muy similar cuando se debe comprar las licencias para sus debidos registros. Debido a toda estas razones, en la actualidad es muy común que los usuarios de estos sistemas tienden en adentrarse al mundo de la pirateria y esto también es una gran desventaja para Microsoft ya que pierden sus ventas en el mercado web.Por otro lado, debido a que sus licencias son gratuitas, todas las distribuciones con excepción de Red Hat son grátis. La única desventaja es que a pesar que son grátis, también tienen sus costos y más que todo para los nuevos usuarios que desean aventurarse con GNU/Linux debido a que deben estudiar mucho y poner en práctica sus estudios para poder aprender y manejar a la perfección estos sistemas en especial para dar soluciones ante cualquier problema crítico para sus propias computadoras y en especial para servidores.

Los Servidores DHCP y ¿Por qué son Importantes?

¿Qué es un Servidor DHCP?

Un Servidor DHCP (Dynamic Hosts Configuration Protocol, en español, Protocolo de Configuración Dinámica del Ordenador) es un conjunto de reglas para dar direcciones IP y opciones de configuración a ordenadores y estaciones de trabajo de una red. Una Dirección Ip es un número que identifica de forma única a un ordenador en la red, ya sea en una red corporativa o en Internet. Con un Servidor DHCP, una dirección ip puede ser asignada de forma automática o de forma dinámica, o puede ser reservada estáticamente (manualmente) por el administrador.

¿Por qué es importante un Servidor DHCP?

funcionamiento-dhcp

DHCP funciona sobre un servidor central (servidor, estación de trabajo o incluso un PC) el cual asigna direcciones IP a otras máquinas de la red. Este protocolo puede entregar información de la red en una LAN (Red de Área Local), en una WLAN (Redes Inalámbricas) o entre varias VLAN (Redes Virtuales). Esta tecnología reduce el trabajo de un administrador, que de otra manera tendría que visitar todos los ordenadores o estaciones de trabajo uno por uno para asignarle una IP de forma manual.

Otras de sus importancias son las siguientes:

  • Proporciona una configuración de red TCP/IP segura y evita conflictos de direcciones IP repetidas.
  • Utiliza un modelo cliente-servidor en donde el Servidor DHCP mantiene una administración centralizada de las direcciones IP utilizadas en la red.
  • Los clientes podrán solicitar al servidor una dirección IP y así poder integrarse en la red.
Servidor DHCP

Conclusión

DHCP es un protocolo diseñado principalmente para ahorrar tiempo gestionando direcciones IP en una red grande. El Servicio DHCP está activo en un servidor en donde se centraliza la gestión de la direcciones IP de la red. Hoy en día, muchos Enrutadores (Routers) incluyen este servicio dada su importancia.