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.
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.
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
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.
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.




