Red Hat Enterprise Linux
Desde la versión 5, Red Hat Enterprise Linux (RHEL) ofrece 10 años de soporte. Es decir
que el ciclo de vida (EOL) de las versiones es de 10 años. Esto significa que quienes
hayan instalado RHEL 6, podrán mantenerlo actualizado hasta el año 2020:
RHEL 6 (liberado el 10 de noviembre de 2010) tiene soporte hasta el 30 de noviembre de
2020.
RHEL 5 (liberado el 14 de marzo de 2007) tiene soporte hasta el 31 de marzo de 2017.
Cabe destacar que Red Hat ofrece la posibilidad de contratar un período extendido de 3
años de soporte adicionales al EOL.
CentOS
Al igual que Red Hat, CentOS ofrece 10 años de soporte desde la versión 5:
CentOS 6 (liberado el 10 de julio de 2011) tiene soporte hasta el 30 de noviembre de
2020.
CentOS 5 (liberado el 12 de abril de 2007) tiene soporte hasta el 31 de marzo de 2017.
A diferencia de Red Hat, CentOS es gratuito, y por supuesto ofrece actualizaciones
gratuitas ya que se trata de un proyecto comunitario. Red Hat Enterprise Linux está
basado mayormente en software libre y open source, pero no es gratuito. Aunque, respeta
la licencia GPL ya que libera su código fuente completamente para quien quiera
descargarlo. El proyecto CentOS se encarga de tomar el código fuente de Red Hat
Enterprise Linux y liberarlo bajo el nombre "Community Enterprise Operating System".
Actualmente CentOS se ha afiliado a Red Hat por lo que se espera que su soporte mejore
aún más.
Ubuntu LTS
Las versiones de Ubuntu LTS (Long Term Support) tienen un período de soporte de 5
años, tanto para la edición Desktop como para la edición Server:
Ubuntu 12.04 (liberado el 26 de abril de 2012) tiene soporte hasta abril de 2017.
Ubuntu 10.04 (liberado el 29 de abril de 2010) tiene soporte hasta abril de 2015.
Debian
Las versiones estables (stable) de Debian tienen, aproximadamente, un ciclo de vida (al
que llaman Total lifetime) de 3 años:
Debian 7 (current stable, liberado el 4 de mayo de 2013) tiene soporte estimado
hasta mayo de 2016.
Debian 6 (oldstable, liberado el 6 de febrero de 2011) tiene soporte estimado hasta fines
de 2014.
Cabe destacar que Debian libera actualizaciones estables, llamadas "Point releases" cada
2 meses.
SUSE Linux Enterprise
SUSE Linux Enterprise posee un ciclo de vida de 7 años de soporte para la edición
"Desktop" y 10 años para la edición "Server", ambos con la opción de contratar soporte
extendido por 3 años adicionales:
SUSE Linux Enterprise Desktop 11 (liberado el 24 de marzo de 2009) alcanza su EOL
el 31 de marzo de 2016.
SUSE Linux Enterprise Server 11 (liberado el 24 de marzo de 2009) alcanza su EOL
el 31 de marzo de 2019.
Además, SUSE libera service packs cada 12 ó 18 meses. Por supuesto, SUSE Linux
Enterprise no es gratuito (al igual que Red Hat).
Conclusión
Si se necesita un sistema operativo estable, libre y con soporte a largo plazo, éstas son las
mejores distribuciones GNU/Linux disponibles. Si además se requiere que sea gratuito, se
debe optar por CentOS, Debian o Ubuntu.
Cómo bypassear un proxy HTTP
06 Mayo 2014
A medida que pasan los años, Internet deja de ser una red libre para convertirse, cada vez
más rápidamente, en un lugar controlado, censurado, filtrado y bloqueado. Tal vez
impensado hace algunos años, hoy es común tolerar casos de censura burda y cruda por
parte de gobiernos, corporaciones (o en el trabajo/oficina/escuela) y proveedores de
servicios de Internet (ISPs), tal como el caso del bloqueo a Twitter por parte del gobierno
turco para cubrir un escándalo de corrupción.
Por esta razón, los usuarios con ciertos conocimientos de redes y sistemas debemos
contar con todas las técnicas y herramientas que nos permitan escapar del control,
censura, filtrado y shaping de tráfico. Para cuidar nuestra libertad, que es lo más
importante que tiene Internet según mi parecer.
En esta ocasión me complace presentarles este artículo que explica detalladamente cómo
escaparle a la censura de una red corporativa y un proxy HTTP restrictivo. Todo nació a
causa de que el proxy HTTP de mi red corporativa no me permite visitar alexa.com (el sitio
de estadísticas de accesos a sitios Web propiedad de Amazon). Tal vez por parecer una
URL de página triple equis, o el nombre artístico de un travesti (?). La cosa es que no
puedo entrar a alexa.com. Challenge accepted.
El escenario es el siguiente: estoy dentro de una red corporativa; el firewall perimetral no
me permite la salida hacia ningún sitio:puerto; sólo el proxy HTTP tiene permitida la salida
hacia los puertos 80 y 443; el proxy está abierto o cuento con un usuario para acceder al
mismo. ¿Qué necesito para lograr la navegación libre hacia Internet? Un servidor SSH
accesible desde Internet escuchando en el puerto 443. O, si el proxy permite conexiones
HTTPS hacia cualquier puerto, simplemente un servidor SSH accesible desde Internet.
El primer paso consiste en engañar al proxy HTTP para enmascarar una conexión SSH
como si fuese tráfico SSL. Tal como expliqué en el artículo Cómo crear un túnel SSH a
través de un proxy HTTP debido a que las conexiones SSL son encriptadas, los servidores
proxy HTTP no pueden examinar el contenido de las mismas ni mucho menos modificar
los pedidos. Por lo tanto es posible hacer pasar una conexión SSH como si fuera una
sesión SSL utilizando corkscrew.
Una vez configurado corkscrew, siguiendo los pasos del artículo Cómo crear un túnel SSH
a través de un proxy HTTP, logramos el acceso SSH a nuestro servidor externo haciéndole
el bypass al proxy HTTP.
SSH es una herramienta magnífica que ofrece una gran cantidad de posibilidades. No sólo
permite abrir un simple login remoto seguro, sino que también es posible implementar todo
tipo de túneles, abrir shells reversas, ejecutar comandos remotos y además implementar
un proxy SOCKS. Así es.
Del manual de OpenSSH (man ssh), cuando se utiliza el cliente OpenSSH con la opción -
D, es posible especificar un forwarding de puertos dinámico a nivel aplicación, actuando
efectivamente como un servidor proxy SOCKS. Esto funciona creando en el cliente un
socket para que escuche en un puerto local (opcionalmente asignado a una dirección
específica). Cada vez que se hace una conexión a este puerto, la conexión se reenvía a
través del túnel SSH, y el protocolo a nivel aplicación es utilizado para determinar hacia
donde conectarse desde la máquina remota.
De mínima sólo es necesario especificar un puerto para escuchar localmente, por ejemplo:
[emi@hal9000 ~]$ ssh -D 666 -p 443 root@host01.outsideworld.net
Privileged ports can only be forwarded by root.
[emi@hal9000 ~]$ ssh -D 6666 -p 443 root@host01.outsideworld.net
root@host01.outsideworld.net's password:
Last login: Sat Feb 7 19:40:34 1934 from hal9000
[root@host01.outsideworld.net ~]#
El servidor SSH en el host "host01.outsideworld.net" escucha en el puerto 443. Tal como
se observa, los puertos privilegiados (<1024) sólo pueden ser utilizados por root, por lo
tanto debo utilizar un puerto mayor a 1024 (o autenticarme localmente como root). En el
ejemplo elegí el puerto 6666.
Una vez que la conexión sucede exitosamente, se abre la sesión SSH en el host remoto
(notar el cambio de prompt). Es necesario dejar esta sesión abierta mientras deseemos
utilizar el proxy SOCKS. Desde otra shell local es posible comprobar que el puerto local
6666 está abierto y escuchando peticiones:
[emi@hal9000 ~]$ netstat -nl | grep 6666
tcp 0 0 127.0.0.1:6666 0.0.0.0:*
LISTEN
tcp 0 0 ::1:6666 :::*
LISTEN
El resultado es un proxy SOCKS local que es capaz de acceder libremente a Internet a
través del host externo "host01.outsideworld.net", tal como se observa en la figura:
Gráfico creado con yEd.
Ahora sólo resta configurar un browser para que se conecte a Internet a través de este
proxy SOCKS. A modo de ejemplo voy a utilizar Opera, aunque funciona con cualquier
navegador.
Cuando intento ingresar a alexa.com utilizando el proxy HTTP de la red corporativa, se
bloquea el acceso:
¡Ouch, man!
Abrir la configuración de Opera desde:
Opera > Settings > Preferences...
Y luego acceder a la configuración del proxy desde la pestaña "Advanced > Network",
utilizando el botón "Proxy Servers...":
Configurar el proxy SOCKS local ingresando la dirección IP "127.0.0.1" y el puerto
especificado en el cliente SSH (en este ejemplo, el puerto 6666):
Ahora es posible navegar libremente cualquier sitio en Internet, por ejemplo páginas triple
equis o de travestis artistas, tales como alexa.com:
Para minimizar el tráfico por el túnel SSH es recomendable usar dos navegadores, uno
"liberado" configurado con el proxy SOCKS (por ejemplo Opera) para entrar a sitios
filtrados, y otro configurado con el proxy corporativo para usar la mayoría del tiempo (por
ejemplo Firefox).
Luchemos juntos por una Internet libre y abierta para todos.
____________-------------------------------------___________________________-----------------------
CentOS: ¿cuáles son los requisitos del sistema para la distribución?
Lógicamente, dependiendo de la versión de CentOS, los requisitos de hardware pueden
ser muy diferentes: desde una interfaz gráfica de usuario, CentOS funciona con 512 MB de
memoria y en la terminal de líneas de comando solo necesita 120 MB. Adicionalmente se
recomiendan 5 GB de memoria (o al menos 1GB). Para controlarlo en la interfaz de línea
de comandos, que ya no está incluida como opción independiente en CentOS 7, la versión
6 demanda 392 MB y, en arquitecturas que no pertenecen a la familia x86, 1 GB de
almacenamiento. Por defecto, la anteriormente mencionada versión 7 de la distribución de
Linux utiliza 1 GB de RAM y 20 GB (o al menos 10 GB) de espacio en disco duro.
Los diferentes lanzamientos de la descendencia RHEL también difieren en cuanto a las
arquitecturas de hardware compatibles. Muchos de los puertos para la versión 7 fueron
creados y añadidos posteriormente por el grupo de trabajo “Alternative Architecture
Special Interest Group” (AltArch SIG). En la siguiente tabla echamos un vistazo a las
posibles arquitecturas de los sistemas:
Arquitectura CentOS 4 CentOS 5 CentOS 6 CentOS
Sistemas i386 (AMD, Via, Pentium de 32 bits) Sí Sí Sí Sí
Sistemas x86_64 (AMD64/EM64T) Sí Sí Sí Sí
Sistemas ia64 (Itanium2) Sí No No No
Sistemas s390/s390x (IBM zSeries & IBM S/390) Sí No No No
Sistemas ppc/ppc64 (IBM Power, Mac) Sí No No No
Sistemas SPARC (Procesadores Sun SPARC) Sí No No No
Sistemas Alpha (Procesadores DEC Alpha) Sí No No No
Sistemas armhfp (arm32) No No No Sí
Sistemas aarch64 (arm64) No No No Sí
Servidor web: httpd 2.4.6 (Apache)
LAN Manager: Samba-4.1.x
Base de datos: MariaDB 5.5.x, PostgreSQL 9.2.x
Lenguaje de script: PHP 5.4, Python 2.7, Perl 5.16.3
Interfaz de escritorio: Gnome 3.14, KDE 4.14
Servidor de pantalla: X.org 7.7
Cliente de correo electrónico: Evolution 3.12, Thunderbird 45
Navegador web: Firefox 45
Office Suite: LibreOffice 4.3.7
_--_______________------------------------_____________________
Tamaño Mínimo de Partición
Directorio Tamaño mínimo
/ 250 MB
/usr 250 MB, pero evite ubicarlo en una partición independiente
/tmp 50 MB
/var 384 MB
/home 100 MB
/boot 250 MB
Nota
Solamente asigne espacio de almacenamiento a las particiones que se requieran
inmediatamente. Puede asignar el espacio libre en cualquier otro momento para
ajustarse a las necesidades a medida que se presentan. Para aprender sobre un
método flexible de gestión del almacenamiento, consulte la Apéndice D,Entendiendo
LVM.
Si no está seguro de cómo configurar mejor las particiones para su computadora,
acepte el diseño de particiones predeterminadas.
9.15.5.1.1. Sugerencias sobre Particiones
La configuración óptima de particiones depende del uso del sistema Linux en cuestión.
Los siguientes consejos pueden ayudarle a decidir cómo distribuir su espacio en disco.
Considere encriptar las particiones que pueden contener datos sensibles. La
encriptación evita el acceso a los datos en las particiones a gente sin
autorización. En la mayoría de casos, por lo menos debe encriptar la
partición /home.
Cada kernel instalado en su sistema requiere aproximadamente 10 MB de
espacio en la partición /boot. A menos que planee instalar una gran cantidad
de kernels, el tamaño estandar de 250 MB en /boot debería ser suficiente.
Importante
El gestor de arranque GRUB en Red Hat Enterprise Linux 6 soporta
únicamente los sistemas de archivos ext2, ext3, y ext4. No puede utilizar
ningún otro sistema de archivo para /boot, tales como Btrfs, XFS, o VFAT.
El directorio /var guarda contenido para una cantidad de aplicaciones que
incluyen al servidor web Apache. También se usa para almacenar los
paquetes descargados para actualizaciones de forma temporal. Asegure que la
partición que contiene al directorio/var tenga suficiente espacio para descargar
las actualizaciones pendientes y aloje el resto de los otros contenidos.
Aviso
El Agente de Actualización descarga paquetes actualizados
a/var/cache/yum/ por defecto. Si particiona el sistema manualmente y crea
una partición /var/ separada, asegúrese de crear la partición lo
suficientemente grande (3.0 GB o más) para poder descargar todas las
actualizaciones de paquetes.
El directorio /usr guarda la mayoría del contenido del software en un sistema
Red Hat Enterprise Linux. Para una instalación con el conjunto estándar de
software, asigne al menos 4 GB de espacio. Si usted es un desarrollador de
software o planea usar Red Hat Enterprise Linux para aprender y desarrollar
sus habilidades en ese sentido, debe considerar al menos doblar ese tamaño.
Importante
Si /usr está en un sistema de archivos independiente de /, el proceso de
arranque se torna mucho más complejo debido a que /usr contiene
componentes de arranque críticos. En algunas situaciones (como instalaciones
sobre unidades iSCSI), el proceso podría no funcionar.
Considere dejar un parte del espacio sin asignar en el grupo de volumen LVM.
Este espacio sin asignar le da flexibilidad si sus requerimientos de espacio
cambian y no desea eliminar datos desde otras particiones para reasignar
almacenamiento.
Al separar los subdirectorios en particiones, puede retener el contenido de esos
directorios si decide instalar una nueva versión de Red Hat Enterprise Linux en
su sistema. Por ejemplo, si planea correr una base de
datos MySQL en /var/lib/mysql, cree una partición separada para ese
directorio en caso de que necesite reinstalar en el futuro.
La siguiente tabla muestra una posible configuración de la particiones para un sistema
con un único disco duro de 80 GB y con 1 GB de RAM. Observe que
aproximadamente 10 GB del grupo de volumen está sin asignar y está disponible para
futuros crecimientos.
APÉNDICE D. ENTENDIENDO
LVM
Las particiones LVM (Administrador de volumen lógico), ofrecen un número de
ventajas sobre las particiones estándar. Las particiones LVM están formateadas
como volúmenes físicos. Uno o más volúmenes físicos se combinan para formar
un grupo de volumen. Cada almacenamiento total de grupo de volumen se divide más
tarde en uno o más volúmenes lógicos. Los volúmenes lógicos funcionan casi como
particiones estándar. Tienen un tipo de sistema de archivos, como ext4 y un punto de
montaje.
Nota
El gestor de arranque no puede leer volúmenes LVM. Usted debe crear una partición
estándar que no sea del tipo LVM para su partición /boot.
Sin embargo, en System z, el gestor de arranque zipl soporta /boot en volúmenes
lógicos LVM con asignación lineal.
Para entender mejor a LVM, imagine el volumen físico como una pila de bloques. Un
bloque es simplemente una unidad de almacenamiento utilizada para almacenar
datos. Varias pilas de bloques se pueden combinar para construir una pila más
grande, igual a como los volúmenes físicos se pueden combinar para crear un grupo
de volúmenes. La pila resultante puede ser subdividida en pedazos más pequeños de
tamaño arbitrario, al igual que un grupo de volumen se puede repartir en varios
volúmenes lógicos.
Un administrador puede agrandar o reducir los volúmenes lógicos sin destruir datos, a
diferencia de las particiones de disco estándares. Si los volúmenes físicos en un grupo
de volumen son discos separados o matrices RAID, entonces los administradores
también podrán extender un volumen lógico entre los dispositivos de almacenamiento.
Puede perder datos si intenta reducir un volumen lógico a una capacidad inferior a la
que requieren los datos en el volumen. Para garantizar la máxima flexibilidad, cree
volúmenes lógicos que satisfagan las necesidades actuales, y deje sin asignar el
espacio de almacenamiento restante. Puede aumentar de una forma segura los
volúmenes lógicos para usar espacio sin asignar, a medida que lo dicten sus
necesidades.
Nota
Por defecto, el proceso de instalación crea / y particiones swap dentro de volúmenes
LVM, con una partición /boot independiente.