Feeds:
Entradas
Comentarios

Posts Tagged ‘servidores’

La versión gratuita de NoMachine NX sólo permite acceso remoto a dos usuarios.

Para poder gestionar dichos usuarios, utilizaremos la utilidad nxserver que se encuentra en “/usr/NX/bin“:

ramiro@cormanthor:~$ cd /usr/NX/bin/
ramiro@cormanthor:/usr/NX/bin$ ls
nxagent  nxclient  nxesd  nxkill  nxnode  nxprint  nxsensor  nxserver  nxservice  nxspool  nxssh  nxstat  nxuexec
ramiro@cormanthor:/usr/NX/bin$

Para listar los usuarios, usaremos el parámetro “–userlist“:

ramiro@cormanthor:/usr/NX/bin$ sudo ./nxserver –userlist
NX> 149 Listing NX users:
Username
——————————–
usuario1
usuario2
NX> 999 Bye.
ramiro@cormanthor:/usr/NX/bin$

Para eliminar a un usuario de la base de datos, usaremos el parámetro “–userdel“:

ramiro@cormanthor:/usr/NX/bin$ sudo ./nxserver –userdel usuario1
NX> 900 Disabling user: usuario1 in the NX user DB.
NX> 900 NX user DB is disabled.
NX> 900 NX password DB is disabled.
NX> 900 To remove user: usuario1 from the system, please
NX> 900 run the command with option: –system.
NX> 999 Bye.
ramiro@cormanthor:/usr/NX/bin$

Y para añadir un usuario a la base de datos, usaremos el parámetro “–useradd“:

ramiro@cormanthor:/usr/NX/bin$ sudo ./nxserver –useradd usuario3
NX> 801 User: usuario3 uses SSHD authentication.
NX> 900 Adding public key for user: usuario3 to the authorized keys file.
NX> 716 Public key is already present in: /home/usuario3/.ssh/authorized_keys2.
NX> 900 Verifying public key authentication for NX user: usuario3.
NX> 900 Public key authentication succeeded.
NX> 301 User: usuario3 enabled in the NX user DB.
NX> 999 Bye.
ramiro@cormanthor:/usr/NX/bin$

Anuncios

Read Full Post »

En el curro usamos bastante Apache Tomcat, un software porculizante donde los haya. Una de sus bonitas costumbres es dejar conexiones TCP “a medias” al bajar el servicio, las cuales impiden volver a levantarlo durante un tiempo que depende directamente del timeout de los estados de TCP.

Una solución es cambiar dicho valor de timeout, pero puede tener consecuencias imprevisibles en otros servidores. Otra solución es matar las conexiones TCP en un determinado puerto, sea cual sea su estado. Para ello, acudiremos a una orden del paquete dsniff: tcpkill.

Un ejemplo concreto, para conexiones a un Tomcat en su puerto por defecto (8080), sería el siguiente:

tcramiro@cormanthor:~$ sudo tcpkill -i eth0 port 8080
tcpkill: listening on eth0 [port 8080]

Read Full Post »

Seguramente alguna vez hayáis oído hablar de la técnica de port knocking (“golpeo de puertos” en castellano), que permite modificar dinámicamente las reglas de un cortafuegos para aceptar conexiones en un sistema que, en principio, tiene todos los puertos bloqueados por el mismo. Veamos cómo montar un escenario de prueba muy simple en sólo tres pasos. Supondremos que hay un servicio, que deseamos proteger, escuchando en un determinado puerto (22 TCP en el ejemplo).

  1. Instalar el demonio knockd.
    $ sudo apt-get install knockd
  2. Configurar el cortafuegos para permitir conexiones ya establecidas y denegar el establecimiento de nuevas.
    $ sudo iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
    $ sudo iptables -A INPUT ! -i lo -j DROP
  3. Configurar las reglas de apertura y cierre de knockd e iniciar el servicio.
    • En “/etc/knockd.conf“, y como regla de apertura:
      command = /sbin/iptables -D INPUT ! -i lo -j DROP && /sbin/iptables -A INPUT -s %IP% -p tcp –dport 22 -j ACCEPT && /sbin/iptables -A INPUT ! -i lo -j DROP
    • En “/etc/knockd.conf“, y como regla de cierre:
      command = /sbin/iptables -D INPUT -s %IP% -p tcp –dport 22 -j ACCEPT
    • En “/etc/default/knockd” habilitamos el servicio:
      START_KNOCKD=1

Tras reiniciar el servicio (sudo /etc/init.d/knockd restart), ya estará desplegado el sistema port knocking. En el otro extremo de la conexión, podremos invocar la llamada de apertura usando la orden “knock” e indicando en sus parámetros la secuencia de puertos con su protocolo y flags asociados, en caso de haberlos. En el syslog (“/var/log/syslog“) del servidor podremos ver el registro de las interacciones detectadas por knockd.

Read Full Post »

Si tenéis un servidor SSH expuesto a Internet, conviene que echéis un ojo de vez en cuando a los ficheros de registro (logs), para vigilar quién y cuándo accede a vuestro sistema de forma remota. Es bastante habitual, además, que de vez en cuando os llegue algún ataque de fuerza bruta automatizado; y siempre es conveniente vigilar por si hubiera algo más raruno o no tan automatizado…

Para echar un vistazo rápido, necesitamos introducir en la consola una única orden:

$ cat /var/log/auth.log | grep sshd

Read Full Post »

Hace ya bastante tiempo que utilizo el servidor UPnP MediaTomb para reproducir contenido multimedia de mi ordenador desde la PS3. Sin embargo, ayer me percaté de que, desde que renové la anotación de metadatos de mi colección de música, la base de datos de MediaTomb se había quedado inconsistente. Por defecto, MediaTomb utiliza como backend SQLite, y almacena su base de datos en “/var/lib/mediatomb/mediatomb.db“. Al borrar dicha base de datos y reiniciar el servicio, descubrí que, por algún motivo, el almacenamiento con SQLite falla para determinados metadatos con caracteres rarunos (algunos UTF-8), aún haciendo explícito el set de caracteres en la configuración con la directiva “metadata-charset“.

Así pues, me dispuse a bucear por la configuración del programa (en “/etc/mediatomb/config.xml“) para cambiar el backend a MySQL, y descubrí que son muchas las nuevas opciones que incluye MediaTomb y que no conocía. Pero lo primero es lo primero, así que vamos a ver cómo cambiar el backend a MySQL. Lo primero, obviamente, será instalar el servidor, si es que no lo teníais ya instalado. Durante la instalación debéis configurar la contraseña del usuario root para el sistema gestor de bases de datos.

ramiro@cormanthor:~$ sudo apt-get install mysql-server

Para gestionar el servidor, instalaremos también un par de utilidades que nos facilitarán la vida (aunque siempre podemos tirar de línea de comandos, como los machotes :-P).

ramiro@cormanthor:~$ sudo apt-get install mysql-admin mysql-query-browser

Aunque no es imprescindible, sería buena idea continuar creando un usuario exclusivo para MediaTomb. En la sección User Administration de  MySQL Administrator podréis crear el nuevo usuario, así como otorgarle todos los privilegios sobre su propio esquema (que también debéis crear, y que yo he llamado “mediatomb”).

Privilegios del usuario mediatomb

Privilegios del usuario mediatomb

Ahora, en el fichero de configuración de MediaTomb, debemos deshabilitar el almacenamiento en SQLite…

<sqlite3 enabled=”no”>
<database-file>mediatomb.db</database-file>
</sqlite3>

… y habilitar el almacenamiento en MySQL.

<mysql enabled=”yes”>
<host>localhost</host>
<username>mediatomb</username>
<password>aquí_tu_contraseña</password>
<database>mediatomb</database>
</mysql>

Tras reiniciar el servicio, podemos acceder a la configuración web de MediaTomb como de costumbre, y añadir los directorios a vigilar. Yo recomiendo utilizar la opción “inotify“, y marcar el escaneo completo y recursivo. Ahora ya no habrá problemas con los caracteres rarunos. Además, y dado el tamaño de la base de datos generada, parece que utilizar SQLite no resultaba demasiado adecuado: la tabla “mt_cds_object” alcanza un tamaño de unos 34 Mb y 100K filas para música y vídeos, y crece hasta más de 50 Mb y 150K filas añadiendo las fotografías. Esos 12-17 Mb de índices se notan, pues ahora la información de la base de datos se obtiene de forma instantánea, mientras que antes tardaba un poco. Para colecciones de vídeos y/o música grandes, esta opción se antoja más adecuada.

MediaTomb en MySQL

MediaTomb en MySQL

Pero hay más opciones interesantes en MediaTomb que no están habilitadas por defecto. Una de ellas es la transcodificación al vuelo de vídeo, para poder ver en streaming desde la PS3 vídeos que, en principio, no utilizan un codec compatible con ésta, como sería el caso del contenedor Matroska. Para hacer esto mismo existe un servidor escrito en Java llamado PS3 Media Server, pero que tiene el inconveniente de tener que ser arrancado con la PS3 encendida. Para habilitar la transcodificación en MediaTomb, debemos especificarlo en la siguiente línea de la configuración:

<transcoding enabled=”yes”>

Si bien la configuración por defecto para los perfiles “oggflac2raw” y “vlcmpeg” así como para los mappings existentes, nos permiten convertir la mayoría de los ficheros de vídeo y audio no compatibles, es interesante ampliar esta información. Existe una guía muy útil para añadir soporte a mayor número de formatos en esta página, donde además nos propone un script de conversión de vídeo alternativo, utilizando como base ffmpeg. Funciona a las mil maravillas, y nos permite ver vídeos MKV en la PS3; aunque, eso sí, no esperéis poder ver una película a 1080p a través de una red inalámbrica, pues el ancho de banda simplemente no lo permite.

Otra opción interesante es la generación automática de thumbnails para los vídeos, para lo cual debemos instalar el paquete ffmpegthumbnailer

ramiro@cormanthor:~$ sudo apt-get install ffmpegthumbnailer

… y activar la opción en el fichero de configuración.

<ffmpegthumbnailer enabled=”yes”>
<thumbnail-size>128</thumbnail-size>
<seek-percentage>5</seek-percentage>
<filmstrip-overlay>yes</filmstrip-overlay>
<workaround-bugs>no</workaround-bugs>
</ffmpegthumbnailer>

Otra opción interesante (aunque para mí no demasiado) es el soporte para la visualización de vídeos de YouTube o los tráilers de Apple a través de la conexión a Internet del equipo servidor. En el enlace que he puesto anteriormente explican cómo habilitarlo, por si a alguien le interesa.

Por cierto, y en el caso de que alguien siga teniendo problemas con los metadatos a pesar de utilizar MySQL, o si, por cualquier motivo no quiere dejar de utilizar SQLite; la mejor manera de evitar el problema es desactivar la visualización de metadatos y la organización del layout virtual, cambiando la línea que reza…

<virtual-layout type=”builtin”>

… por lo siguiente:

<virtual-layout type=”disabled”>

De esta forma, sólo se podrá acceder al contenido a través del directorio “PC Directory” de MediaTomb. También puede modificar el script de análisis de metadatos (“/usr/share/mediatomb/js/import.js“) o escribirse uno personalizado, si bien esto ya es una tarea más compleja.

A la vista de la diferencia de rendimiento entre SQLite y MySQL, incluso para bases de datos pequeñas, no estaría de más que añadieran soporte para backend MySQL a Rhythmbox. De hecho, su contrapartida en KDE, AmaroK, dispone de soporte para sistemas gestores de bases de datos relacionales (MySQL y PostgreSQL) desde hace un tiempo.

Read Full Post »

Un mes más, la revista @rroba llega a vuestros kioscos favoritos; en esta ocasión con su número 142. Como es habitual, en la revista encontraréis dos artículos con mi firma y, una vez más, uno de ellos es el artículo principal en portada (por novena ocasión en esta publicación).

El primer artículo, y tema principal en portada, lleva por título “Crea tu propio blog“. En él veremos, paso a paso, cómo montar nuestro propio blog, bien en un servicio gratuito de alojamiento de bitácoras, en un alojamiento compartido contratado a una empresa profesional, o incluso en nuestro propio ordenador. Para ello, por supuesto, utilizaremos de forma exclusiva soluciones basadas en software libre. Además, y como no podía ser de otra forma, prestaremos especial atención a los detalles relacionados con la seguridad.

El segundo artículo es la entrega correspondiente del Curso de Java Útil (decimotercera), y última dedicada a nuestro programa jWadalSubs. En este número, nos encargaremos de diseñar una interfaz gráfica específica para este programa, viendo por el camino cómo utilizar nuevos componentes de la API swing del JDK. El mes que viene, por tanto, será el momento de empezar un nuevo programa que, si no me equivoco, os gustará mucho…

Por supuesto, y como siempre, NeTTinG nos ofrece la habitual entrega del curso de Hack WiFi, donde estudiaremos cómo adaptar nuestro sistema a las necesidades derivadas de la auditoría de redes inalámbricas.

@rroba 142

@rroba 142

Read Full Post »

Llega el mes de Junio, y con él llega el calor, el asco y odio, la proximidad de las vacaciones y, en general, todo lo que suele asociarse a dicho mes. Y es que, ¿quiénes somos nosotros para violar la causalidad? Pues eso.

Y hablando de causalidad, ya sabéis que a principios de mes siempre toca la entrada del nuevo número de la revista @rroba, ¿verdad? Al menos, no os quejaréis de las introducciones, que cada mes se me ocurre una gilipollez nueva… :-P

Bueno, centrándonos en el tema (que he venido a hablar de mi libro, cual Umbral), este mes encontraréis -como de costumbre- los dos artículos de rigor con mi firmilla.

El primero artículo lleva por título “MediaWiki“, aunque en la portada aparezca el subtítulo del mismo (“Crea tu propia Wikipedia“). Como os podréis imaginar, el artículo trata sobre la instalación y el despliegue de un sistema MediaWiki, utilizando exclusivamente software libre para ello. Sirviéndonos de Linux, Apache, MySQL, PHP y el propio MediaWiki, veremos cómo desplegar nuestro propio Wiki con unos pocos y sencillos pasos. Y, de paso, por el camino aprenderemos algo sobre los orígenes de Wikipedia y el software que la sustenta.

En segundo lugar, encontraréis la habitual entrega del Curso de Java Útil (duodécima entrega, y quinta dedicada a jWadalSubs). En esta entrega, y tras haber terminado de codificar los algoritmos necesarios para el correcto funcionamiento del programa, vamos a ponernos -como diría un colega mío- el gorro de malvados: intentaremos provocar situaciones “incómodas” para el programa, y veremos cómo reacciona. En base a ello, nos centraremos en realizar un correcto tratamiento de excepciones, intentando contemplar todas las posibles situaciones que podrían generarlas.

Por otro lado, NeTTinG, desde el punto de acceso en el que debe de habitar, vuelve a la carga con la acostumbrada entrega del curso de Hack WiFi, donde continúa el estudio de la inyección de tráfico para el craqueo del protocolo WEP. Nada más y nada menos que la entrega número 35 de su curso. Si hay algo sobre WiFi que este hombre no sepa, es porque no existe.

Además, este mes el bueno de Net publica otro artículo, titulado “Passwords para Vista“, en el cual realiza un análisis del sistema de gestión de contraseñas de esa puta mierda llamada Windows Vista.

@rroba 141

@rroba 141

Read Full Post »

Older Posts »

A %d blogueros les gusta esto: