Ir al contenido

Entradas etiquetadas como ‘unix’

5
may

Redirección de puertos con SSH

Supongamos que tenemos la siguiente topología:

  • RTB tiene una redirección del puerto 22 hacia la PCB. Esto significa que todas las conexiones que se hagan al puerto TCP 22 con la IP del router serán enviadas a la PCB.
  • Tanto RTA como RTB están en lugares remotos en Internet. Ambos hacen NAT de sus redes internas.
  • PCB tiene un servidor SSH.
  • PCB puede alcanzar al servidor web porque está en la misma LAN.
  • SRV es un servidor web.

En este caso, desde la PCA deseamos acceder al servidor web SRV. Con lo único que contamos es con el acceso vía SSH a la PCB, dado que el servidor SRV tiene una IP privada y ningún puerto redireccionado. En este caso SSH nos da la posibilidad de redireccionar el puerto 80 del servidor por medio de la PCB, permitiéndonos acceder efectivamente al mismo. Esto se logra por medio de SSH haciendo un redirección local de puertos, de la siguiente manera:

ssh -L 10080:192.168.2.3:80 leandro@200.200.200.200

Para entender bien lo que ocurre sigamos los pasos:

  • La PCB puede acceder normalmente al servidor web en SRV, sin ninguna restricción.
  • La PCA tiene acceso SSH a la PCB.
  • La PCA forma un túnel hacia el SRV utilizando la PCB.
  • Luego de la redirección, la PCA puede acceder localmente al puerto 10080 que en realidad es uno de los extremos del túnel. El otro extremo es el puerto 80 en SRV.

Para hacer uso de la redirección se abre un navegador de Internet en PCA y se escribe http://127.0.0.1:10080, lo que hará que las peticiones lleguen hasta SRV, como si estuviéramos en esa red LAN.

24
ene

Permisos granulares en Linux

En linux existe un archivo de configuración muy interesante para establecer distintos tipos de restricciones por usuarios/grupos del sistema, el mismo es /etc/security/limits.conf.

Cada entrada del archivo debe tener la siguiente estructura:

<dominio> <tipo> <item> <valor>

Dominio:

El valor de este item indica cual sería el dominio al que le va a regir la limitación. El valor de este ítem podría ser un usuario, un grupo o todos. Es importante tener conciencia de que el usuario root esta excluído de cualquier limitación que se defina a un grupo de usuarios al que pertenezca. Si fuera necesario aplicarle alguna limitación al usuario root debe realizarse utilizando root dominio.

Dominio
Nombre de usuario
@ seguido de un nombre de grupo (ej. @users)
El caracter ‘*’ para usarlo a forma de comodín para cualquier usuario
% seguido un nombre de grupo (ej. %grupo)

Tipo:

Tipo Descripción
soft Establece el valor con el que dominio inicia sesión. Y luego el usuario podrá cambiar de acuerdo a un rango menor al definido como limite hard
hard Establece el valor que el dominio no puede sobrepasar.

Items:

Item Descripción
core Limita el tamaño del archivo de imagen de memoria (core file) (KB)
data Tamaño máximo de los datos (KB)
fsize Tamaño máximo de un archivo (KB)
memlock Máximo espacio de direcciones de memoria bloqueada (KB)
nofile Cantidad máxima de archivos abiertos
rss Tamaño máximo del conjunto residente (KB)
stack Tamaño máximo de la pila (KB)
cpu Tiempo máximo de CPU (MIN)
nproc Número máximo de procesos
as Límite del espacio de direcciones (KB)
maxlogins Cantidad máxima de logins para el usuario
maxsyslogins Cantidad máxima de logins en el sistema
priority La prioridad con la que se ejecutarán los procesos del usuario
locks Cantidad máxima de archivos bloqueados que puede tener el usuario
sigpending Cantidad máxima de señales pendientes
msgqueue Cantidad máxima de memoria utilizada para la cola de mensajes POSIX (bytes)
nice Máximos valores a los que puede llevarse la prioridad con nice: [-20, 19]
rtprio Prioridad máxima para tiempo real
chroot Cambiar el directorio raíz a uno diferente (ESpecífico de Debian)

Ejemplo:

Si quisiéramos definirle al usuario testing un máximo de 2 terminales, podemos incluir la siguiente línea en el /etc/security/limits.conf.

testing hard maxlogins 2

El usuario al logearse en una tercera terminal le informara que el acceso no está permitido.

22
ene

Wall: chat en una consola Unix

Wall es una utilidad estándar de Unix que permite comunicar usuarios de un mismo sistema vía consola. Es bastante primitivo pero puede sernos de utilidad en más de una oportunidad. Al enviar un mensaje lo reciben todos los usuarios logueados que tengan una consola abierta logueada en el sistema. Además, el mensaje les aparece en pantalla sobre cualquier cosa que estén viendo, con lo cuál se debe tener cierta consideración al utilizarlo. A continuación un ejemplo:

Consola del usuario que envía el mensaje

sh-3.2# wall
esto es un mensaje con wall

Broadcast Message from leandro@scarlet
(/dev/ttys000) at 16:11 BRT...

esto es un mensaje con wall

Consola del usuario que recibe el mensaje

Broadcast Message from leandro@scarlet
(/dev/ttys000) at 16:11 BRT...

esto es un mensaje con wall

14
ene

BackTrack 4.0 final

BackTrack es una distribución de Linux orientada principalmente a la auditoría de seguridad informática, dado que cuenta con múltiples herramientas para realizar tests de penetración y detectar vulnerabilidades en los sistemas escaneados. Está orientada a los profesionales de la seguridad y nos da la posibilidad de instalarla en el disco, ejecutarla desde un Live CD o usarla virtualizada.

La misma ha alcanzado ahora la versión 4.0 final que ya puede ser descargada. Vale la pena probarla, sobre todo para quienes trabajen en el campo de la seguridad.

12
ene

Problema con Ubuntu Karmic y Atheros AR928X

Recién termino de instalar Ubuntu Karmic en una notebook Acer Aspire 5542-5241. Todo funciona a la perfección terminada la instalación, excepto por la placa de red inalámbrica, que es incapaz de conectarse a las redes wireless (al menos las protegidas con WEP y WPA que es lo que probé) e incluso en momentos no las detecta.

La placa inalámbrica en cuestión es la Atheros AR928X, la cuál funciona perfectamente con Ubuntu pero llevando a cabo un procedimiento bastante simple. El mismo está explicado en un thread en los foros de Ubuntu y lo resumo a continuación:

  • Comentar en el archivo /etc/modprobe.d/blacklist-ath_pci.conf la línea:
# blacklist ath_pci
  • Agregar la palabra ath9k a /etc/modules:
ath9k
  • Instalar los módulos adecuados:
linux-backports-modules-karmic and linux-backports-modules-wireless-karmic-generic
  • Reiniciar el sistema y listo, la red inalámbrica debería funcionar correctamente.