Menú principal

Mostrando entradas con la etiqueta OpenSSH. Mostrar todas las entradas
Mostrando entradas con la etiqueta OpenSSH. Mostrar todas las entradas

martes, 19 de febrero de 2013

OSX/Pintsized.A: Nuevo Backdoor descubierto para OSX

La industria de antimalware está alertando sobre el descubrimiento en activo de un nuevo software malicioso de tipo backdoor para sistemas operativos OS X que está siendo desplegado, aunque aún no se han dado muchos detalles sobre él. El software, al que se ha denominado OSX/Pintsized.A, funciona como una puerta trasera y parece ser una modificación de OpenSSH 6.0p1. Tiene un tamaño muy reducido, por lo que se cree que es parte de algún ataque dirigido que lo descargará después de comprometer una víctima.

El backdoor está cifrando todo el tráfico con una clave RSA para conectarse con el panel de control, que a día de hoy ha sido interceptado, por lo que los sistemas que estén infectados con este backdoor no pueden recibir comandos actualmente.

Figura 1: OSX/PintSized.A

Uno de los nombres utilizados es corp-appl.com, que no es un domino de Apple, pero sí que es el símbolo que se usa para denotar las acciones de Apple en la bolsa, con lo que está claro que busca pasar inadvertido en la red. Los ficheros donde ha sido detectado son:
com.apple.cocoa.plist
cupsd (Mach-O binary)
com.apple.cupsd.plist
com.apple.cups.plist
com.apple.env.plist
Si tienes un antimalware profesional para Mac OS X en tu sistema, actualiza las firmas para tener al día todas las protecciones contra nuevo software malicioso.

domingo, 26 de septiembre de 2010

Fue noticia en Seguridad Apple: del 13 al 26 de Septiembre

Como cada 2 domingos, repasamos todas las noticias publicadas, para que no se quede nada en el tintero, que han pasado muchas cosas en este blog durante este tiempo.

13 de Septiembre:

Arrancábamos la semana realizando alguna que otra prueba sobre como crackear volúmenes DMG que estuvieran cifrados. Para aquellos que no recuerdan cual es la contraseña que pusieron a sus datos "privados".

14 de Septiembre:

El martes estuvimos realizando pruebas de concepto con la herramienta Aircrack para crackear redes WiFi con cifrado WEP en un iPhone. Además una nueva nueva vulnerabilidad en Flash salia a la luz, un 0-day interesante y peligroso. Por último, para cerrar este Martes tan cargado de noticias, publicamos la noticia del famoso y esperado SHAtter exploit.

15 de Septiembre:

Este día cerramos la serie sobre cómo configurar un servidor SSH seguro en un iPhone. Publicamos la 4ª entrega del artículo que se centró en la configuración de la criptografía a utilizar en el servidor.

16 de Septiembre:

El jueves pudimos ver como Apple lanzaba el parche a la vulnerabilidad de QuickTime, la cual dotaba al atacante de control total sobre la máquina objetivo.

17 de Septiembre:

La creación de permisos por defecto en los nuevos usuarios es algo que puede resultar peligroso para la seguridad del equipo. En un rápido artículo se vio una prueba de concepto sobre el tema, ejecutando código arbitrario sin permisos desde la carpeta Aplicaciones. Además, nos hicimos eco de la noticia referente a que Flash llega a los 64 bit, ya que está disponible una nueva beta para Mac OS X.

18 de Septiembre:

Una nueva entrega sobre serie de post de la historia de Mac OS X. Es la tercera entrega de la serie que aún continúa viva.

19 de Septiembre:

¿Quién no conoce BASIC? El primer negocio entre Microsoft y Apple está en una cinta de casete que guarda un código BASIC. Sería el comienzo de una relación con altos y bajos.

20 de Septiembre:

De nuevo comenzamos la semana con un tema fundamental como es el  malware en sisetemas Mac OS X. Algunos ejemplos de que realmente sí existe el malware en Mac OS X, aunque en menor medida que Windows, pero que obliga a tomar precauciones.

21 de Septiembre:

Se produce el acuerdo de colaboración entre Informática 64 y BitDefender para colaborar en la difusión de información sobre malware en Mac OS X. También informamos ese día de que Adobe parchea una de sus 2 vulnerabilidades sin solución críticas.

22 de Septiembre:

La noticia más curiosa del mes en Seguridad Apple, o al menos una de ellas. Lily Allen denuncia a Apple por no querer realizar un análisis forense en su equipo tras ser hackeada. Además, una revisión rápida de Stellar Phoenix, una herramienta que permite recuperar ficheros borrados o perdidos en Mac OS X y en iPod.

23 de Septiembre:

Redsn0w un nuevo Jailbreak para iOS 4.1. El iPhone Dev Team, ha publicado esta semana su nuevo Jailbreak, el cual sólo es funcional en los dispositivos iPhone 3G e iPod Touch 2G. También nos hicimos eco de la noticia de la vulnerabilidad que Apple acaba de arreglar, la cual permitía a un usuario acceder a carpetas compartidas simplemente sabiendo el  nombre de usuario del equipo remoto, saltándose completamente la contraseña.

24 de Septiembre:

RootKits en Mac OS X. Cómo evitar este tipo de malware en Mac, cómo averiguar que tenemos este tipo de malware el cual puede ocultar procesos, y hacernos la vida un poco más compleja.

25 de Septiembre:

Para acabar el ciclo, este sábado un poco de humor para recordar que, hoy en día, cualquier persona puede tener un Macbook, eso está claro.

Hasta aquí el repaso, que como cada 2 semanas realizamos a nuestro blog en. Os esperamos dentro de 2 semanas con la esperanza e ilusión de tener muchas cosas nuevas que contaros.

miércoles, 15 de septiembre de 2010

Configuración OpenSSH en dispositivos iPhone (4 de 4)

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

Este último post de la serie sobre la fortificación del servidor OpenSSH en los dispositivos iPhone/iPad/iPod Touch se centra en el uso de certificados digitales tanto para autenticar al servidor, como para configurar un canal cifrado seguro o autenticar a los usuarios para evitar el uso de contraseñas.

Claves RSA

Cuando en este artículo se hace referencia a una clave RSA se ha de tener presente que se refiere a un par de claves pública y privada utilizadas en los sistemas criptográficos de cifrado asimétrico. La pública es la parte de la clave RSA que puede ser conocida por todos mientras que la parte privada debe estar bien almacenada con seguridad mediante permisos estrictos y debe transmitirse siempre por canales seguros que no puedan ser interceptados.

Generación de la clave de Host

Por defecto, nada más instalarse el servidor OpenSSH en el dispositivo, se crea un par de claves RSA, es decir, una parte pública y una parte privada para identificar al servidor y que el cliente pueda autenticar su veracidad. Este par de claves son autofirmadas, es decir, no están creadas por ninguna entidad certificadora conocida, y se almacenan en la siguiente ruta: /etc/ssh.


Dentro de ese directorio se crean tres pares de claves para diferentes usos: 

- ssh_host_key: parte privada de la clave RSA para la versión 1 del protocolo SSH. Se desaconseja el uso de la versión 1 del protocolo SSH ya que éste fue roto.

- ssh_host_key.pub: parte pública de la clave RSA para la versión 1 del protocolo SSH.

- ssh_host_rsa_key: parte privada de la clave RSA para la versión 2 del protocolo SSH. Es la que OpenSSH utiliza por defecto.

- ssh_host_rsa_key.pub: parte pública de la clave RSA para la versión 2 del protocolo SSH.

- ssh_host_dsa_key: parte privada de la clave DSA. Es la alternativa a RSA.

- ssh_host_dsa_key.pub: parte pública de la clave DSA.

Por defecto, como se puede observar en el fichero sshd_config, la última versión de OpenSSH utiliza las claves, pública y privada, RSA para la versión 2.

Algoritmos de cifrado utilizados en las distintas versiones de SSH

Dependiendo de la versión del protocolo que se esté utilizando, el protocolo soportará unos algoritmos u otros. En la versión 1 del protocolo se disponen los siguientes algoritmos de cifrado: DES, 3DES, IDEA, Blowfish. Mientras que para la versión 2 del protocolo se aumentaron el número de algoritmos disponibles y se incluyeron algoritmos de cifrado más potentes: 3DES, Blowfish, Twofish, Arcfour, Cast128-cbc.

Creación de una clave de host más segura

Para generar una nueva clave de host más fiable que la que se genera en la instalación del OpenSSH se ejecutará la siguiente acción:


De este modo se genera un par de claves RSA para identificar al host. Parte privada y parte pública que se almacenarán dónde se indique con el modificador '-f'. En este caso se generarán en el directorio por defecto del servidor /etc/ssh. Es recomendable cambiar el tamaño de la clave de host a un tamaño de 2048 bits y no  usar la clave por defecto de sólo 1024 bits. 

Distribución segura de la clave de host

Los clientes, cuando se conecten al servidor, durante el proceso de handshake SSL deberán identificar correctamente al servidor. Para ello, las claves públicas de los hosts de confianza son almacenadas en el cliente. El lugar donde se almacenan estas claves depende de la herramienta cliente que se esté utilizando. En los sistemas Linux se encuentra en la ruta ~/.ssh/known_hosts

Si el cliente se conecta a un servidor del que no se tiene la clave pública almacenada, se generará una alerta de seguridad y se pedirá confirmación al usuario antes de iniciar la conexión. Se debe tener claro que en este punto en concreto se puede sufrir un ataque Man In The Middle si un atacante cogiera el certificado de host que envía el servidor, por lo que se recomienda distribuir la clave pública del host previamente a la primera conexión por medio de un dispositivo externo e instalarlo en el servidor sin utilizar la red. En el caso de los dispositivos iPhone, iPod Touch o iPad se puede conectar el dispositivo a un PC o Mac y realizar la operación o bien enviar ese archivo por correo electrónico como un adjunto protegido con clave.

Creación del canal seguro

El Handshake son todas las acciones que se realizan entre el cliente y el servidor para verificar que los dos son quien dicen ser y establecer una clave de cifrado simétrica que pueda utilizarse para generar un canal de comunicaciones seguro.

En primer lugar, el cliente manda un mensaje "Hello" al servidor junto con la lista de algoritmos de firma y cifrado que soporta.

El servidor, contestará con el envío de la clave pública de host con su identidad es decir,  la  Host Key, los algoritmos que van a utilizar en la comunicación, si es que el cliente soporta alguno de los permitidos por el servidor, junto la parte pública de una clave RSA de sesión que se genera cada cierto tiempo.

El cliente verificará la identidad del servidor comprobando la host key recibida con la información almacenada en la carpeta de host conocidos. Una vez verificado generará, basándose en los algoritmos marcados por el servidor, una clave de cifrado simétrico de sesión de 256 bits que enviará al servidor cifrada con la clave pública de sesión recibida.

El servidor, después de este paso, enviará una copia al cliente con todo lo acordado ya cifrado simétricamente. Una vez el canal esta creado, ya pueden intercambiar datos de forma segura. OpenSSH utiliza Diffie Hellman efímero que es uno de los métodos más seguros.

Cambio del tamaño de la clave de sesión

Otra de las recomendaciones para fortificar la comunicación es cambiar el tamaño de la clave de sesión para que sea de 1024 bits y no de 768 bits como se configura por defecto. Esta recomendación es debido a que durante este año se han realizado pruebas de concepto en las que se han roto las claves 768 bits.


En el fichero de configuración del servidor que se encuentra en la ruta /etc/ssh/sshd_config se puede observar la directiva ServerKeyBits dónde se puede cambiar el tamaño de la clave de sesión. Se recomienda un valor de 1024.

También se observa una línea por encima, en el mismo fichero, como se encuentra la directiva KeyRegenerationInterval. Esta directiva indica el tiempo que tiene que pasar para renovar la clave de sesión que puede ser reducido si se quiere hacer más difícil aún la ruptura de las claves, ya que habría que romper más claves por unidad de tiempo de una conversación en caso de un ataque.

Creando el par de claves en el cliente para autenticarse

Lo primero que se va a intercambiar tras el establecimiento del canal seguro es la petición de login por parte del servidor y en este caso se va a configurar una autenticación basada en certificados de usuario. Para ello se utiliza el esquema de clave pública y privada. Con esta técnica se pretende que el usuario no envíe una contraseña cada vez que intente entrar al sistema remoto sino que se utilicen claves RSA.

Primero se tiene que crear el par de claves para el usuario. Se crearán con el comando ssh-keygen:
ssh-keygen –q –f ~/.ssh/id_rsa –t rsa


Para el passphrase se recomienda no utilizar la contraseña de usuario que tiene en el sistema, ni dejarla en blanco. Se recomienda que al menos tenga 16 caracteres de longitud, y que se mezclen caracteres alfanuméricos, no solamente letras.

La clave privada y pública del usuario deben estar en el cliente, almacenadas en la ruta configurada para ello en el cliente SSH. Es por ello que el Path dónde se encuentre el par de claves, que en los sistemas Linux es  ~/.ssh debe tener seguridad respecto a otros usuarios del sistema. Por lo que sería buena idea dotar de permisos 700 al directorio .ssh.

Distribuyendo la clave del usuario

El servidor OpenSSH debe tener asociada la clave pública del par de claves generado para identificar al usuario. Para ello debe copiarse el fichero id_rsa_pub, es decir, la parte pública en el servidor. Para copiar el fichero id_rsa.pub al iPhone se puede usar el comando SCP que forma parte del protocolo SSH si ya estamos en una sesión SSH previa o hacerlo conectando el dispositivo al equipo.


La calve se debe guardar en un fichero especial denominado authorized_keys que se encuentra en el directorio del home ~/.ssh del usuario al que queremos asociar la clave en el servidor.


Autenticándose con la clave RSA

Cuando el usuario se quiere conectar utilizando utilizando su clave debe realizarlo desde el cliente donde tiene instalada la parte privada. El cliente SSH, cuando encuentre la clave privada, solicitará la passphrase creada para poder acceder a ella. Una vez se introduzca la passphrasse se procederá al desafío del usuario. Para ello el servidor enviará un desafío que el cliente cifrará con la parte privada de la clave. El servidor comprobará si con alguna de las claves autorizadas, almacenadas en el directorio de ese usuario, se puede descifrar y obtener el desafío. Si es así, el usuario queda autenticado sin enviar su contraseña, tal y como se ve en la siguiente imagen.


Conclusiones

Con este último paso se tiene un servidor OpenSSH más fortificado para nuestro pequeño dispositivo. Normalmente SSH es un protocolo seguro, pero hay técnicas como ataques de fuerza bruta las cuales pueden debilitar nuestro sistema hasta acceder a él. Con todo lo que hemos ido viendo a lo largo de la serie se puede observar como paso a paso se han bastionado los aspectos más relevantes del servidor. Aún así, como puede aparecer una vulnerabilidad en cualquier momento, se recomienda estar muy atento a nuevas actualizaciones de OpenSSH.

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)

========================================================================

sábado, 4 de septiembre de 2010

Configuración OpenSSH en dispositivos iPhone (3 de 4)

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

En las dos primeras partes de la serie de configuración OpenSSH en dispositivos iPhone se ha hablado acerca de como instalar el servidor SSH en el dispositivo móvil, como se podía cambiar las contraseñas de los usuarios para dotar a éstos de una mayor seguridad, como realizar conexiones desde equipos al dispositivo móvil y dónde se encuentran los ficheros de configuración de OpenSSH. En este tercer post de la serie se va a hablar sobre como mejorar la seguridad del servidor para que a un atacante malintencionado le cueste tener acceso al dispositivo móvil.

Ficheros de configuración: /etc/ssh/sshd_config


Este fichero es el que contiene la configuración del demonio servidor SSH. En él se pueden modificar aspectos tan importantes para la seguridad como:
  • El puerto por el que está escuchando.
  • El número de intentos para loguearse.
  • Número de conexiones simultáneas
  • La posibilidad de poder loguearnos como root.
  • Tiempo para loguearse.
  • Banner para los usuarios que se logueen en el sistema.
Estas características son sólo algunas de las que se pueden realizar con el fichero de configuración y vamos a ver como se pueden configurar en detalle.

Lanzador de demonios


El sistema operativo del iPhone no dispone del comando service, el cual puede parar, arrancar y reiniciar un servicio en otras versiones de sistemas de las familias UNIX. En el sistema iOS de  iPhone se dispone de una ruta, /Library/LaunchDaemons, en la cual se almacenan los ficheros XML de aquellos servicios que se deben arrancar al encender el dispositivo. Este fichero es el que se se usará después para poder configurar la ejecución del puerto del servidor.

Fichero de servicios

En el sistema operativo de iPhone existe un fichero que es el encargado de establecer qué puerto utiliza cada servicio. El archivo se encuentra en la ruta /etc/services.

Se puede observar en la imagen como en el fichero tiene una estructura fácil de comprender: En la columna de la izquierda se establece el nombre del  servicio, en la columna del centro el puerto y protocolo de transporte que utilizan, y en la columna de la derecha un breve descripción del puerto, opcional, siempre después del carácter de comentario #.

Cambiar puerto de escucha por defecto

El puerto del protocolo SSH es, por defecto, el 22. Este dato es conocido por todo usuario medio/avanzado por lo que sería interesante que nuestro servidor no estuviera tan visible a ojos ajenos si sólo queremos usarlo nosotros. Una buena práctica en seguridad es cambiar el puerto por el que el servidor está escuchando las peticiones de conexión con el fin de evitar los ataques realizados mediante el uso de scanners.

Para realizar el cambio de puerto por el que el servidor está a la escucha de peticiones basta con insertar en el fichero de servicios un nuevo puerto y un nuevo nombre de servicio para él. Para el ejemplo se ha utilizado el nombre securessh como nombre de servicio y el puerto escogido es el 9123.

Una vez realizada esta inserción se debe editar el fichero  com.openssh.sshd.plist situado en  la ruta /Library/LaunchDaemons/ Como se ha comentado anteriormente, el fichero está en formato XML y es el que alberga la configuración de arranque del demonio SSH.

Para configurar el puerto de escucha, se debe buscar la clave Bonjour y cambiar, entre la apertura y el cierre de las etiquetas  string  el valor ssh por securessh, o el nombre que se haya puesto en el fichero de servicios. Además, también es necesario cambiar en la clave SockServiceName el valor ssh por securessh.

Una vez editado el fichero y guardado se debe reiniciar el dispositivo mediante la ejecución del comando reboot. Hay otros medios para hacer esto, pero de momento valdrá para los propósitos.

Probando el cambio del puerto


Utilizando la herramienta Putty - en nuestro caso - se puede realizar una nueva conexión sobre el dispositivo y, tal y como se puede apreciar en la imagen, por el puerto por defecto no se puede conectar al dispositivo. Sin embargo, se puede conectar por el nuevo puerto configurado. De este modo, se ha conseguido “esconder” un poco más el servidor SSH.


Posibilidad de loguearse como root

Para evitar la posibilidad de que un usuario pueda hacer login con la cuenta de  root se debe editar el fichero /etc/ssh/sshd_config y modificar la directiva PermitRootLogin que se debe descomentar y cambiar el valor de yes por un no. Una vez se reinicie el sistema esta directiva estará operativa. Esto evitará los ataques de fuerza bruta a la conexión que típicamente se realizan a la cuenta de root.

Número de intentos para loguearse


Para controlar el número de intentos que tiene un usuario para loguearse también se debe editar el fichero /etc/ssh/sshd_config. En este caso hay que descomentar la directiva MaxAuthTries y establecer el número de intentos que se quiere que un usuario tenga antes de dejarle un tiempo sin poder loguearse. Se recomienda 3 intentos, ya que siempre se puede olvidar la clave y no acertar a la primera... ni a la segunda.

Tiempo máximo de login

Esta directiva es importante ya que permite configurar un tiempo máximo para realizar el login al servidor SSH. Está pensada para las conexiones olvidadas en la mesa de trabajo, es decir, para que una sesión de login no se quede abierta esperando a que alguien introduzca las credenciales. Si salta, se da por supuesto que el usuario que se quería conectar ha perdido foco y mejor cerrar la sesión.

Para configurar la directiva se debe también editar el fichero /etc/ssh/sshd_config y buscar la directiva LoginGraceTime. Hay que descomentar la directiva y modificar su valor. Se recomienda un valor entre 10 y 20 segundos. Cuando el usuario se vaya a loguear tendrá ese número de segundos para hacerlo si no la conexión se cerrará.

Eso no es todo

En el siguiente post se terminará la serie con las últimas modificaciones para fortificar el servidor SSH. En este punto se tiene un servidor con claves seguras y distintas entre usuarios, no se puede loguear como root en el servidor y además el puerto por el que el servidor escucha no es el de por defecto. Con esto tenemos un poco más de seguridad, pero se puede mejorar aún bastante.

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

miércoles, 1 de septiembre de 2010

Configuración OpenSSH en dispositivos iPhone (2 de 4)

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

En la primera parte de este artículo se explicó como instalar el servidor OpenSSH descargándolo de algún repositorio de Cydia y como conectarse por primera vez con un cliente SSH a través de una red segura. En esta segunda parte el objetivo es fortificar la configuración del servidor SSH para no comprometer la seguridad del dispositivo por haber instalado OpenSSH.

Contraseñas y usuarios por defecto

Lo primero que hay que tener en cuenta es que al instalar OpenSSH se abre un portal a la red que puede ser aprovechado por atacantes remotos si no se han cambiado las contraseñas de los usuarios por defecto del dispositivo iPhone.

La contraseña por defecto del usuario root depende de la versión exacta del firmware que tenga instalado el terminal. Será dottie si está instalado una versión del firmware igual o inferior a la versión 1.0.2 y alpine hasta la versión actual. Otro usuario que se instala con el mismo password es el usuario mobile que, aun teniendo menos privilegios dentro del sistema, puede ser peligroso dejarlo con la clave por defecto.

Todas las personas que naveguen por Internet pueden obtener estos datos en múltiples páginas, por lo que si no modificas la password del usuario root del dispositivo iPhone, cualquier atacante podrá conectarse en remoto si tienes instalado un

Esta vulnerabilidad, es decir, el mantener las contraseñas por defecto, fue utilizada en Noviembre de 2009 para que se crearan los primeros virus que aprovechaban las conexiones OpenSSH. Primero el que en Holanda avisaba de la inseguridad de los dispositivos con jailbreak y después en Australia el gusano que configuraba como fondo de pantalla a Rick Astley, para disfrute de todos.

Cambio de contraseñas de los usuarios

La primera y más importante recomendación es cambiar la contraseña, tanto de la cuenta root como de la cuenta mobile. Por supuesto, hay que evitar que estas contraseñas sean iguales, ya que si un atacante averigua la contraseña de un usuario obtendría automáticamente la del otro usuario también.  Por supuesto, es recomendable cumplir con las buenas prácticas a la hora de elegir las contraseñas:

- Longitud mínima de 8 caracteres.
- Complejidad de contraseñas.
- No usar palabras que aparezcan en diccionarios.
- Evitar repetir contraseñas de otros servicios.

Para cambiar la contraseña de una cuenta de usuario, primero hay que conectarse por medio de una conexión SSH al dispositivo móvil. Después introducir el comando de contraseñas para los sistemas UNIX: passwd usuario


El cambio de la contraseña es realmente sencillo, ya que iPhone por debajo tiene la estructura de un sistema Unix, por lo que su funcionamiento es similar.

Conexiones administrativas

Se recomienda que las conexiones al terminal iPhone se hagan siempre con el usuario mobile a no ser que sea imprescindible la conexión con la cuenta de  usuario root, ya que éste dispone de menos privilegios. Evita que la conexión se realice con la cuenta de administración siempre que sea posible y sólo úsala para tareas de mantenimiento y en redes de confianza.

Ubicación de los archivos de configuración de OpenSSH

Para fortificar el servidor SSH estudiaremos dónde se localizan los archivos de configuración de OpenSSH y cuales son los archivos más importantes. Hay que tener claro que el tratamiento de estos archivos será igual que en un sistema basado en Unix.

Para localizar los archivos debemos tener una consola abierta ya sea por medio SSH, o por algún Software que dote al iPhone de consola. En el ejemplo se ha realizado, al igual que en el post anterior, con putty.


En la imagen superior se ha navegado hasta la ruta /etc/ssh, que coincide con la ruta que por defecto se instala en los sistemas basados en Unix, y al hacerse un ls se observan todos los ficheros de configuración relacionados con SSH.

Hay que diferenciar el fichero de configuración del servidor y el que es del cliente. El archivo sshd_config es el fichero de configuración del demonio, por lo que de este modo sabemos que es el del servidor. El archivo ssh_config es el archivo de configuración del cliente.

En la imagen de la derecha se observa el contenido del fichero sshd_config. Es muy importante para fortificar el servidor SSH en el dispositivo iPhone saber que significa cada directiva del fichero.

En el próximo post investigaremos y entraremos más a fondo en la configuración de los ficheros, y obtendremos resultados importantes en la fortificación del servidor SSH.

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

lunes, 30 de agosto de 2010

Configuración OpenSSH en dispositivos iPhone (1 de 4)

========================================================================
- Configuración OpenSSH en dispositivos iPhone (1 de 4)
- Configuración OpenSSH en dispositivos iPhone (2 de 4)
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
- Configuración OpenSSH en dispositivos iPhone (4 de 4)
========================================================================

Hoy comenzamos con esta serie dedicada a como utilizar el protocolo SSH [Secure Shell] como medio de conexión seguro al dispositivo iPhone. En ella se van a tratar diversos temas, tales como la conexión por defecto al servidor SSH tras la realización del Jailbreak al dispositivo, la seguridad de las claves de conexión, las opciones más importantes de configuración en el servidor SSH del iPhone, así como recomendaciones de seguridad sobre el uso de este protocolo y la generación de pares de clave.

SSH es un protocolo creado desde el punto de vista de seguridad, pero descuidos a la hora de su configuración o implementación, como fue el caso del famoso Bug de OpenSSL en Debian, puede llevarnos a un estado de inseguridad. Se puede decir también que, en función de dónde se ejecute una conexión SSH, pueden existir más o menos riesgos.

Por supuesto, todo lo que aquí se trate es válido para el resto de dispositivos móviles de Apple. Aunque el artículo se centra en iPhone todo lo explicado puede ser utilizado tanto en dispositivos iPod touch como iPad.

Instalación del servidor OpenSSH desde Cydia

Con un iPhone con el Jailbreak realizado se pueden realizar muchas tareas que de otro modo no se pueden ejecutar. SSH capacita al terminal de Apple para permitir el acceso a dispositivos iPhone con permisos de administración. En este caso se desea ejecutar dicho acceso mediante clientes SSH.

Para la instalación del servidor SSH en el dispositivo se debe utilizar la aplicación de repositorios Cydia. Una vez arrancada, se buscará el paquete OpenSSH, como se aprecia en la imagen inferior izquierda. Este paquete es el que instalará el servidor SSH en el dispositivo.

Para ver en que repositorio se encuentra el paquete buscado, se debe pulsar el botón de instalar. En este caso, en la imagen inferior derecha, en lugar del botón instalar, aparece el botón modificar porque en el dispositivo iPhone en el que se han hecho las capturas ya se encontraba instalada la herramienta.


Configuración por defecto de OpenSSH

El servidor OpenSSH estará funcionando, por defecto, en el puerto 22 del dispositivo IPhone, además, atenderá las conexiones por la dirección IP que tenga configurado, ya sea esta una dirección IP estático o dinámica entregada por el servidor DHCP de la red que se esté utilizando. Todos los usuarios del sistema, es decir, el usuario root y el usuario mobile, tendrán privilegios para conectarse al servidor SSH. Es por tanto muy importante que las contraseñas de estos usuarios estén fortificadas.

Primera conexión

Para realizar la primera conexión, y comprobar que todo funciona correctamente, se necesitará un cliente que soporte el protocolo SSH. Para la realización del presente post se ha utilizado el cliente putty para Windows. Si quisiéramos un cliente para Mac se podría utilizar directamente desde un terminal de MacOS X el comando ssh, o bien Filezilla que es un cliente gráfico.

El primer paso a realizar es tener el iPhone y el equipo, ya sea  Windows o Mac OS X, en la misma red. Por lo que no valdría que el iPhone estuviera conectado a la red 3G. Esto es debido a que las compañías telefónicas usan un rango de direcciones IP privado, del estilo 10.x.x.x\8. Hay que tener presente que, en una primera conexión, hasta que el servidor SSH no esté fortificado, es necesario realizar esta prueba en una red de confianza o fortificada.

Una vez se tiene el iPhone conectado mediante Wifi, a la misma red que el equipo y OpenSSH instalado, ya se podrá pedir la solicitud de conexión al dispositivo.

Se configura para ello putty con la dirección IP del dispositivo iPhone al que se quiere conectar y el puerto, que en la primera conexión será el 22. Introducimos credenciales de acceso, y si éstas son correctas estaremos conectados al dispositivo móvil.

Una vez conectados se podrá visualizar todo el sistema de ficheros del iPhone y realizar las gestiones u operaciones que se antojen.


Conexión al dispositivo iPhone como usuario root

Ejecución de comandos en el dispositivo iPhone

========================================================================
- Configuración OpenSSH en dispositivos iPhone (3 de 4)
========================================================================

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares