Openshift es una Plataforma como Servicio (PaaS) que permite correr aplicaciones en la nube.
Openshift ofrece mayor flexibilidad que cualquier otra PaaS, soportando más frameworks de desarrollo para Java, Python, PHP y Ruby, incluidos Spring, Seam, Weld, CDI, Rails, Rack, Symfony, Zend Framework, Twisted, Django y Java EE. Incluye base de datos SQL y NoSQL y un sistema de archivos distribuidos.
Octopress es un framework para Jekyll, desarrollado en Ruby, el cual nos permite generar de manera automática los archivos HTML, CSS y Javascript necesarios para poder tener un blog completamente funcional. A diferencia de otros CMS, no utiliza una base de datos para almacenar las entradas del blog y comentarios, en su lugar los post se redactan directamente en archivos de texto plano formateados en Markdown que posteriormente Jekyll se encargara de convertir en HTML
Siguiendo con el tema de los post anteriores sobre seguridad en nuestros server ssh vamos a agregarle una capa mas de seguridad a este. Para esto vamos a usar Google Authenticator que nos va a permitir tener una autenticación de 2 factores en nuestros servidor.
Primero tenemos que instalar Google Authenticator en nuestros teléfonos celulares . Link
Ahora configuremos nuestro servidor :
apt-get install libpam0g-dev hgsvn
Ahora descargamos el codigo usando hgsvn y lo compilamos
hg clone https://google-authenticator.googlecode.com/hg/ google-authenticator/
cd google-authenticator/libpam
make
make install
Para que esto funcione tenemos que agregar esta linea al inicio del archivo /etc/pam.d/sshd
auth required pam_google_authenticator.so
También tenemos que agregar una linea en la configuracion del daemon ssh en /etc/ssh/sshd_config
ChallengeResponseAuthentication yes
Ahora entramos usando la cuenta de usuario que usamos para loguearnos por ssh y ejecutamos el siguiente comando :
google-authenticator
Este comando nos va a generar las configuraciones para autenticar cada usuario.
Do you want authentication tokens to be time-based (y/n) y
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/user@domain%3Fsecret%3**QWE88RTYUI12GE34**
Your new secret key is:** QWE88RTYUI12GE34**
Your verification code is 123456
Your emergency scratch codes are:
429111197
211111111
42222227
133333330
344444440
Do you want me to update your "/home/guerre/.google_authenticator" file (y/n) y
Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) y
By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) n
If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) y
Los emergency scratch codes hay que guardarlos en un lugar seguro ya que en caso de perder el smartphone son los unicos que van a abrir el sistema.
Abrimos la url que nos da y escanemos el código desde nuestro celular con la aplicación google authenticator.
Por ultimo reiniciamos el servidor ssh
/etc/init.d/ssh restart
Ahora cuando nos conectemos por ssh nos va a pedir el código de autenticación