Etiquetas

lunes, 8 de abril de 2013

Servidor ftp seguro con una instancia independiente de ssh

Como SysAdmins, en muchas ocasiones precisamos ofrecer servicio de acceso sftp (secure ftp) en un host conectado a internet. En un principio, el problema que se plante es que como sftp utiliza ssh, si ya estamos usando ssh para administración remota y otros servicios administrativos utilizar la misma instancia para acceso sftp a usuarios externos podría plantear una brecha de seguridad. Por eso, utilizar otra instancia de sshd, independiente de la "principal" (administrativa) puede suponer un agregado de seguridad extra, porque vamos a "limitar" los permisos que daremos a los usuarios que accedan vía sftp.

sftp, conocido como "ftp seguro" utiliza el protocolo ssh ("secure shell") para encriptar todo el tráfico de red envuelto en este tipo de comunicación o transferencias de archivos. De esta forma, mejora el protocolo ftp clásico, en el cual credenciales de acceso como archivos se envían sin cifrado, lo que los hace visibles para ojos de malvivientes.

Lo que nos proponemos con este acercamiento es crear una instancia adicional de sshd, es decir, correr otro deminio (servidor) ssh que será el encargado de prestar el servicio para sftp, en otro puerto diferente al estándar (puerto 22). Partiendo de ese punto limitaremos los usuarios solo a usuarios definidos para usar sftp como también limitaremos las opciones del shell del usuario.

Manos a la obra

1) Crear configuracion para nuevo demonio:

Aquí copiaremos el archivo original de configuración del servidor sshd para que nos sirva de punto de partida.

cd /etc/ssh
cp -p sshd_config sshd_config-sftp


2) Modificaciones en sshd_config-sftp (Alterar puerto, bindings, etc):
OBS. Importante: es clave definir el PID file para este nuevo demonio o instancia.
Este nuevo servicio sshd escuchará conexiones en el puerto 2222, definido en el archivo sshd-config-sftp.

# BOF Modificaciones para segundo demonio
# Port modificado
Port 2222
# Agregado PID para este demonio
PidFile /var/run/sshd-sftp.pid

3)Seguridad: no permitir acceso root y limitar usuarios: Permitiremos acceso a esta instancia de sshd solo a los usuarios listados en AllowUsers o a los pertenecientes al grupo AllowGroups

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes
AllowUsers ptolomeo alberto # Usuarios permitidos para acceso sftp
AllowGroups sftp # Grupo permitido

4) Crear symlink para diferenciar el demonio del principal:

# cd /usr/sbin
# ln -s /usr/sbin/sshd /usr/sbin/sshd-sftp
# ls -l sshd-sftp
lrwxrwxrwx 1 root root 14 mar 28 11:10 sshd-sftp -> /usr/sbin/sshd

5) Si se usa PAM, como es default en Debian:

# cd /etc/pam.d/
# ln -s sshd sshd-sftp

6) Modificar el script SysV para inicio y parada:

# cd /etc/init.d/
# cp -p ssh ssh-sftp

7) Alterar script de inicio ssh-sftp para definir las config de la nueva instancia (ver abajo en Anexo I el script completo).

8) Creacion de usuario y grupo para acceso restringido:

# useradd -m -c "usuario acceso sftp limitado" -s /bin/bash ptolomeo
# passwd ptolomeo
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente

# addgroup sftp
Añadiendo el grupo `sftp' (GID 1005) ...
Hecho.

# usermod -aG sftp ptolomeo
# groups ptolomeo
ptolomeo : ptolomeo sftp

9) OPCIONAL: ambiente chroot para el acceso sftp

Si bien, se recomiendan, los pasos descriptos en esta sección (9) son opcionales. Describen cómo configurar un ambiente chroot para que los usuarios sftp se encuentren limitados únicamente a su directorio de usuario ($HOME). De esa forma no podrán acceder a lectura de otros archivos del sistema operativo, por ejemplo.

# chown root:sftp /home/ptolomeo/
# chmod 755 /home/ptolomeo/

9.1) Alterar estas líneas de /etc/ssh/sshd_config-sftp

# Comentado para acceso chroot (ver abajo)
#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

9.2) Agregar al final de /etc/ssh/sshd_config-sftp:

###################################################
## OPT. (RECOMENDADO): ###
## Para acessos sftp ambiente chroot ###
## Requiere OpenSSH>= 4.8 ###
## Este bloque debe estar al final del archivo ###
## sshd_config-sftp ###
###################################################
Match User ptolomeo
ChrootDirectory /home/ptolomeo
#ForceCommand internal-ftp
# Restringir todavia mas las posibilidades (+ paranoia)
AllowTcpForwarding no
GatewayPorts no
X11Forwarding no

Esta última configuración establece que cuando el usuario coincida com ptolomeo, que fue el que se definió para acceso sftp el mismo quede en una jaula chroot en su directorio home. También la misma directiva condicional se puede aplicar al grupo sftp, lo que sería mejor en caso de que tengamos que dar acceso sftp a múltiples usuarios , lo que suele ser lo habitual.


Anexo I

Script llamado ssh-sftp tipo SysV de inicio para la instancia, que fue modificado a partir del original /etc/init.d/ssh, que queda inalterado.

#! /bin/sh

### BEGIN INIT INFO
# Provides: sshd-sftp
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: OpenBSD Secure Shell server
### END INIT INFO

set -e

# /etc/init.d/ssh-sftp: start and stop the OpenBSD "secure shell(tm)" daemon

test -x /usr/sbin/sshd-sftp || exit 0
( /usr/sbin/sshd-sftp -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0

umask 022

if test -f /etc/default/ssh; then
. /etc/default/ssh
fi

. /lib/lsb/init-functions

if [ -n "$2" ]; then
SSHD_OPTS="$SSHD_OPTS $2"
fi

# Are we running from init?
run_by_init() {
([ "$previous" ] && [ "$runlevel" ]) || [ "$runlevel" = S ]
}

check_for_no_start() {
# forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
if [ -e /etc/ssh/sshd_not_to_be_run ]; then
if [ "$1" = log_end_msg ]; then
log_end_msg 0
fi
if ! run_by_init; then
log_action_msg "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)"
fi
exit 0
fi
}

check_dev_null() {
if [ ! -c /dev/null ]; then
if [ "$1" = log_end_msg ]; then
log_end_msg 1 || true
fi
if ! run_by_init; then
log_action_msg "/dev/null is not a character device!"
fi
exit 1
fi
}


check_privsep_dir() {
# Create the PrivSep empty dir if necessary
if [ ! -d /var/run/sshd-sftp ]; then
mkdir /var/run/sshd-sftp
chmod 0755 /var/run/sshd-sftp
fi
}

check_config() {
if [ ! -e /etc/ssh/sshd_not_to_be_run ]; then
/usr/sbin/sshd-sftp $SSHD_OPTS -t || exit 1
fi
}

export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"

case "$1" in
start)
check_privsep_dir
check_for_no_start
check_dev_null
log_daemon_msg "Starting OpenBSD Secure Shell server" "sshd"
if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd-sftp.pid --exec /usr/sbin/sshd-sftp -- -f /etc/ssh/sshd_config-sftp $SSHD_OPTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
stop)
log_daemon_msg "Stopping OpenBSD Secure Shell server" "sshd"
if start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd-sftp.pid; then
log_end_msg 0
else
log_end_msg 1
fi
;;

reload|force-reload)
check_for_no_start
check_config
log_daemon_msg "Reloading OpenBSD Secure Shell server's configuration" "sshd"
if start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd-sftp.pid --exec /usr/sbin/sshd-sftp; then
log_end_msg 0
else
log_end_msg 1
fi
;;

restart)
check_privsep_dir
check_config
log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd"
start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile /var/run/sshd-sftp.pid
check_for_no_start log_end_msg
check_dev_null log_end_msg
if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd-sftp.pid --exec /usr/sbin/sshd-sftp -- -f /etc/ssh/sshd_config-sftp $SSHD_OPTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
try-restart)
check_privsep_dir
check_config
log_daemon_msg "Restarting OpenBSD Secure Shell server" "sshd"
set +e
start-stop-daemon --stop --quiet --retry 30 --pidfile /var/run/sshd-sftp.pid
RET="$?"
set -e
case $RET in
0)
# old daemon stopped
check_for_no_start log_end_msg
check_dev_null log_end_msg
if start-stop-daemon --start --quiet --oknodo --pidfile /var/run/sshd-sftp.pid --exec /usr/sbin/sshd-sftp -- -f /etc/ssh/sshd_config-sftp $SSHD_OPTS; then
log_end_msg 0
else
log_end_msg 1
fi
;;
1)
# daemon not running
log_progress_msg "(not running)"
log_end_msg 0
;;
*)
# failed to stop
log_progress_msg "(failed to stop)"
log_end_msg 1
;;
esac
;;

status)
status_of_proc -p /var/run/sshd-sftp.pid /usr/sbin/sshd-sftp sshd && exit 0 || exit $?
;;

*)
log_action_msg "Usage: /etc/init.d/ssh-sftp {start|stop|reload|force-reload|restart|try-restart|status}"
exit 1
esac

exit 0
Continuar »

lunes, 18 de marzo de 2013

Elección de nuevo Papa disparó las descargas de e-books de y sobre Jorge Bergoglio

La elección de Jorge Bergoglio como nuevo Papa produjo un aluvión de descargas de e-books
Columna de Tecnología por Matías Gutiérrez Reto en el programa "Dinero por Nada", que conducen Horacio Riggi y Julieta Camandone, por Radio América 1190 Khz los domingos a las 18 hs.

Para escuchar la emisión del domingo 17 de marzo, pinchar en el reproductor abajo:



También se puede escuchar en directo por http://www.estoesamerica.com/


El nombramiento de Jorge Bergoglio como nuevo Papa, ahora Francisco, produjo una auténtica "Papamanía" o "Francisco Manía". Las ventas de sus libros, en formato e-book porque muchos de ellos están agotados en papel se dispararon.

Continuar »

lunes, 11 de marzo de 2013

Tecnología programa "Dinero por Nada"

Pronto llegan nuevos smartphones equipados con FirefoxOS y Ubuntu
Día Internacional de la Mujer: algunas que hicieron la historia de la Informática

Habrá más ofertas en materia de Smartphones, FirefoxOS y Ubuntu son los nuevos sistemas operativos que se agregan a la oferta actual de Android, IPhone, Blackberry OS y Windows Phone. Como Android, Ububtu y FirefoxOS son sistemas de Código Abierto.
El viernes pasado se conmemoró un nuevo Día Internacional de la Mujer. La ocasión es válida para recordar a algunas que se destacaron en el campo de la tecnologías de la información.





La primera que la historia recuerda se remonta a la primera mitad del siglo XIX y es la historia de Ada Lovelace, a quien se le reconoce el mérito de haber sido la primera programadora del mundo. Ada fue una matemática inglesa, única hija reconocida del poeta Lord Byron con su esposa Anna Isabella. Byron se separó y las abandonó tan solo un mes después del nacimiento de Ada para iniciar su viaje por Europa.

A Ada Lovelace se la reconoce por haber sido la primera programadora de la historia, porque ella creó algoritmos (es decir un programa, una secuencia ordenada de órdenes y decisiones lógicas) para la máquina analítica de Charles Babbage que es considerada la primera computadora.

Ada Lovelace conoció a Babbage en 1833 y fascinada por el proyecto, ella empezó a intercambiar correspondencia e ideas con él. Así llegó a escribir el que sería considerado como el primer programa de computadora.

Parte del legado de Lovelace: en 1980 el Departamento de Defensa de los EE.UU bautizó con su nombre de pila a un lenguage de programación, conocido como Ada. Desde 2009 el 16 de octubre de cada año se conmemora en todo el mundo el "Día de Ada", como una forma de recordar la contribución de todas las mujeres al mundo de la informática.

Más cerca de nuestra época, hubo muchas otras mujeres. Un listado algo arbitrario de ellas puede incluir por ejemplo, a Carol Shaw, que trabajó en Atari -que fue una compañía de avanzada en los años '70 y '80. Shaw diseñó videojuegos para Atari como el Ta-Te-Ti 3D de 1979. Y posteriormente trabajó en otras compañías ligadas a los videojuegos.

Otra de ellas es quizá Sandy Lerner, que junto a su novio Len Bosack en 1984 fundaron Cisco.
Adele Goldberg trabajaba en el centro de investigación de Palo Alto de la compañía Xerox (PARC por sus siglas en inglés) a principios de los años '80 cuando Xerox permitió que el grupo que trabajaba liderado por Steve Jobs en Apple tuviera acceso a los detalles de desarrollos del PARC, las interfaces gráficas, el lenguaje Smalltalk y la computadora "Alto". Goldberg se opuso ferreamente a que Xerox permitiera a Apple acceder a sus joyas secretas. Es cierto, que después Apple perfeccionó del desarrollo de la interface gráfica y la comercializó magistralmente.
Posiblemente, la que más estuvo en los medios actualmente sea Marissa Mayer, la directora de Yahoo, que decidió acabar con el teletrabajo en esa empresa.

Esta brebe listado no puede ser exhaustivo, hay muchas otras desde luego, famosas o anónimas que día a día y en todos los campos del quehacer humano hacen sus trabajos con pasión, en la argentina y en el mundo. A ellas, nuestro modesto homenaje.

Columna de Tecnología en el programa "Dinero por nada"
Domingos a las 18 hs en Radio America 1190 khz
o http://www.estoesamerica.com/


Continuar »

domingo, 3 de marzo de 2013

Crece la descarga de archivos digitales y el streaming, pero persisten otros soportes físicos

El año pasado la descarga de archivos musicales -legales- superó a la venta de
formatos físicos, básicamente CDs. Aumenta el uso de los servicios de streaming musical como medio de difusión y escucha de obras musicales. Y grandes compañías, antiguas y nuevas, del mundo de la música pero también de la tecnología ponen sus fichas en ello.






"El perdedor de hoy
será el ganador mañana,
porque los tiempos están cambiando"
(Bob Dylan, "The Times are changing", 1963)


Es posible que la canción que el jóven Bob Dylan escribió en 1963 sirve para ilustrar muchos de los cambios que aún vive la industria de la música grabada.
Desde hace más de 20 años que se observa el paulatino e irreversible pasaje del CD a los archivos digitalizados, básicamente el mp3.

A grandes rasgos, el streaming permite reproducir un contenido digital sea audio o video a medida que se va transfiriendo el archivo desde el servidor que lo provee. El más conocido es, claro YouTube, propiedad de Google desde 2006.
En el ámbito de la música uno de los más populares es Spotify, una compañía de origen sueco, que todavía no opera en Latinoamérica.
Las compañías discográficas están conformes con el streaming legal, porque también les está permitiendo mantener a raya a la piratería. Por ejemplo Last.fm una compañía de origen inglés que fusiona los conceptos de radio en línea, con streaming más red social fue comprada en 2007 por CBS.

¿Y del lado de los músicos?

Algunos se quejan que con el modelo de streaming ganan poco. Especialmente, los músicos que no pertenecen a la corriente principal o los de mayor popularidad. El problema se les presenta sobre todo al músico "de estudio" cuyas creaciones no se destinan a ser intrpretadas en vivo.

Cada nuevo formato o dispositivos trae aparejados cambios en la forma en que se produce y se escucha música grabada. Eso fue siempre así a lo largo de la larga vida de la música grabada, y como un premio Nobel (Niels Bohr) dijo, es muy dificil hacer predicciones, especialmente acerca del futuro. Hoy el perdedor parece ser el CD, pero nunca se sabe quién será el ganador de mañana. Porque hace
diez años dabamos por muerto al vinilo y hoy una pequeña pero significativa parte del mercado lo revivió.
Acá en Argentina ciertos grupos de música y algunas empresas están invirtiendo en grabar no solo en revitalizar el disco larga duración de vinilo sino también -aunque parezca increíble- en cassette.
Mi opinión personal es que por el bien de la música grabada, espero que el CD o algo parecido persista, aunque sea en el corazón de unos fanáticos. Porque desde que el centro lo ocupó el MP3, la calidad de grabación de los álbumes se resintió muchísimo.
La oposición legal/ilegal en el caso de ciertas descargas es un tema dificil de cerrar con total imparcialidad. Porque es innegable la función de inmensos repositorios de la cultura universal que desempeñan servicios de streaming como YouTube o Groobeshark.
De las opniones más lúcidas que encontré sobre este asunto es la de Neil Young, para quien las descargas ilegales juegan un rol asimilable a las radios FM de otra época. Y creo que el músico no se equivoca, porque el cotenido de muchas FM actuales es poco musical y se parecen más a las antiguas emisiones de AM.


Matías Gutiérrez Reto
Continuar »

domingo, 17 de febrero de 2013

Experiencia Norteamericana ¿Cómo fue el ecosistema que posibilitó el surgimiento del Silicon Valley?

Recientemente la Televisión Pública estadounidense (PBS) estrenó un documental de una serie que
realiza, llamada "Experiencia Norteamericana" ("American Experience"). La serie se inició en 1989 y, en esta ocasión, se dedica a investigar el surgimiento del llamado Valle del Silicio en el área del Valle de Santa Clara, California.




El documental se centra en el grupo de ocho ingenieros que acompañó a Robert Noyce en la fundación de la empresa Fairchild Semiconductores, que fue pionera en el desarrollo de transistores de silicio y circuitos
integrados. Dos de sus empleados luego serían los fundadores de Intel, también establecida en la zona del valle de Santa Clara.

En el año 2006 cuando Tony Blair era Primer Ministro de Gran Bretaña visitó el Valle para llevarse algunas ideas para intentar hacer florecer un ambiente similar al del Valle pero en Londres.

Uno puede preguntarse -como Blair estaba tan interesado en eso- ¿Cuáles fueron las condiciones que posibilitaron semejante desarrollo tecnológico, económico y humano?
Porque en poco menos de una década la fisonomía del Valle de Santa Clara en California cambió radicalmente. Pasó de ser una zona de paisaje bucólico y agricola a convertirse en el centro mundial de la cultura emprendedora en alta tecnología.

Algunos puntos que el documental ayuda a explicitar podrían ser:

-- Disponibilidad de Educación de alta calidad. En la zona la Universidad de Stanford y de Berkeley fueron muy importantes. Graduados de sus claustros fueron fundadores de muchas de las empresas del Valle, como Sun Microsystems o Cisco.

-- Apetito por emprender: Desde los años '50 esas universidades incentivaban la cultura emprendedora a sus estudiantes. El decano de Stanford en los '50 impulsaba a que sus alumnos crearan sus propias empresas.

-- Tolerancia al fracaso: esta declaración de Jonathan Swartz -ex CEO de Sun- es muy interesante al respecto: "en el Valle del Silicio, si vos asumiste un riesgo pero fallaste, de hecho te volvés más interesante y potencialmente más valioso, porque ahora vos sabés algo más".


-- Disponibilidad de inversión privada de riesgo: Uno de los pilares del desarrollo fue sin duda que hubiera capitales dispuestos a asumir altos riesgos.

-- Florecimiento de la cultura "hacker" y de experimentación "de garage": empresas como HP o Apple surgieron literalmente en el garage.

-- Capacidad de "Pensar diferente", y esas palabras las tomo prestadas. No en vano la zona de la Bahía de San Francisco floreció en los '60 como el centro de la cultura alternativa. La capital del "Flower Power" y sin duda muchos de esos ideales se expandieron y florecieron en otras áreas de la cultura.

Uno puede preguntarse también ¿El Estado, en este caso de los Estados Unidos, estuvo ausente entre los factores determinantes para este enorme desarrollo? Desde luego que no. Desde tiempos de la Segunda Guerra se habían instalado en la zona organismos e industrias de alta tecnología, orientadas al esfuerzo que requirió aquella guerra. Pero sin duda los ingredientes de educación, talento, inversión privada de riesgo, libertad y tolerancia hicieron del Valle del Silicio lo que es actualmente.

Desde el punto de vista económico, sociológico o cultural el Silicon Valley es un fenómeno espectacular, del cual se pueden extraer múltiples enseñanzas para países de todo el mundo. Su historia de décadas con sus gigantes éxitos y sus numerosos fracasos puede constituirse en una inagotable fuente de inspiración, no solo para emprendedores, hombres de negocios y amantes de la electrónica sino también políticos.

Matías Gutiérrez Reto
Continuar »