25 de julio de 2013

Proteger Carpetas y Ficheros en Linux y en Samba

En mundo de los permisos en Linux es enormemente potente, pero hay que dedicarle un rato para comprenderlo y sacar el máximo provecho.

Pongamos que queremos proteger unas carpetas personales de la mirada de otros usuarios, de modo que estas carpetas y los ficheros que contienen solo puedan ser vistas por el usuario.

Por defecto los permisos en Linux son:

Carpetas: 777 = rwx rwx rwx
Ficheros: 666 = rw- rw- rw-
Con la máscara 022

Lo que hace:
Carpetas: 777 - 022 = 755 = rwx r-x r-x
Ficheros: 666 - 022 = 644 = rw- r-- r--

De modo que por defecto Linux crea carpetas y ficheros que únicamente son modificables por el usuario pero que pueden ser vistos y copiados por todos los usuarios.
Esto es un problema cuando hay información sensible que se quiere proteger.

Para impedir que los directorios y ficehros sean visibles por otros usuarios tenemos que cambiar los permisos de las carpetas y los ficheros a:

Carpetas: 700 = rwx --- ---
Ficheros: 600 = rw- --- ---

Si ya tenemos una carpeta llamada "mycarpeta" y queremos cambiar los permisos de todo su contenido podemos hacerlo:

# chmod -R go-rwx mycarpeta

Para cambiar los permisos de las carpetas y ficheros que se crean por defecto en un usuario hay que modificar los ficheros .bashrc y .profile de su directorio personal y añadir:

umask 077

de este modo hemos cambiado la mascara que se aplica a los permisos por defecto que tiene linux para las las nuevas carpetas y ficheros que cree este usuario. Los permisos quedarian:

Carpetas: 777 - 077 = 700 = rwx --- ---
Ficheros: 666 - 077 = 600 = rw- --- ---

Los directorios y ficheros solo seran visibles y modificables por el usuario y el root.

Nota: para recargar el fichero .bashrc, hacer:
$ su usuario.

Si otro usuario intentara listar el directorio ...

$ ls mycarpeta
ls: no se puede abrir el directorio mycarpeta: Permiso denegado

En samba:
para poner una mascar en los archivo de los usuarios que accedan por samba, hay que modificar el fichero /etc/samba/smb.conf del siguiente modo:

[mycarpeta]
 create mask = 0700

Ref:
http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m1/permisos_de_archivos_y_carpetas.html

http://www.lasticenelaula.es/portal/index.php/linux-mint/679-cambiando-los-permisos-a-archivos-y-carpetas-en-linux-mint-y-ubuntu

http://blog.manuelviera.es/2012/06/entendiendo-umask/

http://www.ite.educacion.es/formacion/materiales/85/cd/linux/m4/gestin_de_usuarios_grupos_y_permisos_de_samba.html

Resumen de los permisos:
Cód Binario   Permisos efectivos
0       0 0 0       - - -
1       0 0 1       - - x
2       0 1 0       - w -
3       0 1 1       - w x
4       1 0 0       r - -
5       1 0 1       r - x
6       1 1 0       r w -
7       1 1 1       r w x

25 de junio de 2013

Proteger un directorio web con contraseña con apache2

En un servidor web con apache2 necesitamos proteger el acceso a una carpeta con password,
¿como hacerlo?

Protocolo:

1) Creamos el directorio:
# mkdir /var/www/pub

2) Creamos fichero del passwords en el directorio /etc/apache2/:
# cd /etc/apache2
# htpasswd -c .htpasswd usuario

3) Modificamos el fichero /etc/apache2/sites-available/default creando una sección Directory con el nombre de la carpeta y la siguiente configuración:

# nano  /etc/apache2/sites-available/default

     Options -Indexes MultiViews FollowSymLinks
     AllowOverride All
     Order deny,allow
     Allow from All

4) Creamos el fichero /var/www/pub/.htaccess
# nano /var/www/pub/.htaccess

AuthName "Directorio privado"
AuthType Basic
AuthUserFile /etc/.htpasswd
require valid-user

5) Reiniciamos apache2
# service apache2 restart

Al intentar acceder a este directorio desde el navegador web, aparecerá una pantalla que nos pedira el user y password para acceder.


8 de junio de 2013

Instalando KDE4 en Debian7.0 Wheezy

Instalando KDE4 en Debian7.0
Tengo una maquina AMD 2400+ con ATI Raedon9200  en la que que no me funciona gnome3 ya que no hay forma de configurar la aceleración 3D en la tarjeta gráfica.

De modo que voy a instalar KDE.

Protocol:
Con Debian 7.0 Wheezy instalado con gnome.

1) # aptitude update

2) # aptitude install kde-full

Esto instala todo el sistema d escritorio KDE con todas sus aplicaciones.
Son 1585 MB en disco. !!

3) Con esto tendré instalado ambos sistemas de escritorios pudiendo elegir con cual arranco desde gdm o kdm.

Una vez configurado y probado me plantearé desinstalar gnome para liberar espacio del disco.


Update: Finalmente KDE-Plasma no funciona en mi sistema, la tarjeta gráfica me da problemas. Si que he podido usar KDE-OpenBox, seleccionando esta opción desde KDM.

Ref.:
http://diversidadyunpocodetodo.blogspot.com.es/2013/05/debian-wheezy-instalar-entorno-escritorio-adicional-kde-gnome.html

1 de junio de 2013

Arrancar un live USB desde VirtualBox

Tengo varios LiveUSB con distribuciones linux de uso frecuentemente.
Uno de ellos es BackTrack, la octava maravilla en Penetration Testing Debian Distribution.
Pero para ejecutarlo tengo que reiniciar el ordenador, rediriigir la BIOS para que arranque desde el USB, ...
¿Y si creara una maquina virtual con VirtualBox que arranca el LiveUSB?

Pero la última version que tengo de VirtualBox, NO permite arrancar las maquinas virtuales desde dispositivos USB, de modo que hay que buscar una alternativa.

Vamos a ello.

Protocolo:

1) Descargamos la herramienta: Plop Boot Manager
http://www.plop.at/en/bootmanager/download.html

Extraemos y decomprimimos de plpbt-5.0.14.zip el fichero plpbt.iso
y lo dejamos accesible para usarlo como CD en nuestra maquina virtual VirtualBox.

Vamos ahora con VitualBox,
... abrimos VirtualBox Manager.

2) Crear una maquina virtual en VirtualBox
- Linux Debian.
- Parámetros por defecto.
- Sin disco duro.

3) Pinchamos el LiveUSB
- Agregamos Filtro dese Dispositivo USB.
- Desactivamos "Habilitar Controlador 2.0 (EHCI)".

4) Crear un CD virtual con el fichero plpbt.iso

5) Establecer que la maquina virtual arranque del CD.



6) Arrancar la máquina virtual.

7) Seleccionamos del menu de Plop Boot Manager la opción USB.




8) y... aqui tenemos nuesto USB arrancado:



Esto me ha funcionado con un LiveUSB de BackTrack5.

Lo que ya hubiera sido una pasada es que estuvieran las tarjetas wifi dispuestas para ponerlas en modo monitor y ... bueno ya me entendeis.


... aunque no ha habido suerte.

Ref.:
http://bicimatica.blogspot.com.es/2013/01/arranque-desde-una-unidad-usb-en-vmware.html
http://www.plop.at/


18 de mayo de 2013

Monitorizando el disco duro en Linux Debian

En mi microservidor debeian uno de los muchos cuellos de botella que tiene, es el bus de acceso al disco duro.

Una herramienta similar a top pero para monitorizar la lectura y escritura del disco duro es iotop.

1) Instalarlo:
En debian es muy sencillo:

# aptitude install iotop

2) Uso:

# iotop

Screenshot - Click here to close

Una opción interesante es -o que solo muestra los procesos que están accediendo al disco duro, reduciendo la información de salida.

# iotop -o

Ref.:
http://www.linuxhispano.net/2011/02/04/monitorizar-disco-duro-en-linux/
http://packages.debian.org/search?keywords=iotop
http://screenshots.debian.net/package/iotop

17 de mayo de 2013

Actualizando Debian6 a Debian7


He actualizado mi servidor micra de Debian6 a Debian7.
Estos cambios siempre son algo peligrosillos ya que algún servicio deja de funcionar o algún programa se desconfigura.

Para asegurar el tiro: primer realicá una copia del disco duro con Clonezilla.

Y después a actualizar el sistema:

Protocolo:

1) Actualaizr el fichero /etc/apt/sources.list
Cambiar squeeze por wheezy, y el resto igual.

2) # aptitude update

3) #aptitude dist-upgrade

.. es el momento de tomas un cafecito o dos si el ordenata es lento.

Ojo con actualizar los ficheros de configuración, si has realizado cambios importantes en ellos lo ideal es que conserves los actuales.

Resultado:

De momento todo parece funcionar bién: el servidor smba, apache2, MySQL, PHP5, ...
El cambio ha sido bastante poco traumático y muy estable.

Fallos:

  • Lo que si se ha fastidiado es la resolución de la pantalla de la consola, la había cambiado a 1024x768 siguiendo este protocolo: Cambiar resolución de la consola linux con Grub2
    que funcionaba perfectamente en Debian6 pero no en Debian7 ???
    ... a ver si lo arreglo.
  • No se han generado los módulos para VirtualBox, puede porque no tenia instaladas las cabeceras del nuevo kernel. VirtualBox en debian 6.0 Squeeze. Fácil de solucionar, a ver si tengo un rato y lo arreglo.
    ... Solucionado: tan fácil como: #dpkg-reconfigure virtualbox


1 de mayo de 2013

Instalar Joomla en VirtualBox con Lubuntu12.10


Joomla!Hoy en dia, hacer websites desde cero, programando todo el html y leguajes anexos, es algo muy trabajoso. El tiempo y esfuerzo invertido comparado con el resultado obtenido no compensa, salvo para prototipos en los que el aspecto final no se crítico y solo se pretende probar la funcionalidad.

Buscando he llegado a Joomla, un CMS: Content Management System que voy a probar a en una máquina virtual en Virtulabox sobre windows con Lubuntu12.10.

Protocolo:

1) Creamos la maquina virtual, con un disco duro de 8GB, como CD el iso de Lubuntu12.10, y para tener acceso al servidor la red como puente.

2) Configuramos la red de Lubuntu con IP fija. Para poder acceder desde la red local a la maquina virtual con su propia ip.

Todo el suguiente protcolo se realiza desde la maquina virtual Lubuntu:

3) Instalamos los paquetes en la maquina virtual Lubuntu:
     # apt-get install aptitude
     # aptitude install apache2
     # aptitude install php5
     # aptitude install mysql-server
     # aptitude install phpmyadmin

4) Instalar ser vidor ftp
     # aptitude install vsftpd

5) Configurar vsftp:
     # nano /etc/vsftpd.conf
         [modificar, descomentar o añadir para que el fichero quede:]
listen=YESanonymous_enable=NO local_enable=YESlocal_umask=022write_enable=YES connect_from_port_20=YES ftpd_banner=Welcome to Lubuntu FTP service chroot_local_user=YES chroot_list_enable=YESlocal_root=/var/www
chroot_list_file=/etc/vsftpd.chroot_list ls_recurse_enable=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Para tener acceso desde ftp a todos los ficheros y subdirectorios de /var/www/ cambiar su propietario al mismo usuario con el que se va a acceder por ftp:
     # chown -R usuario:usuario /var/www/

Crear y añadir usuarios autorizado a /etc/vsftpd.chroot_list

5) Descargamos Joomla en /var/www/.
Actualmente la última versión es la Joomla! 3.0

     # cd /var/www
     # wget  http://joomlacode.org/gf/download/frsrelease/17965/78414/Joomla_3.0.3-Stable-Full_Package.zip

6) Descomprimir el ficheros .zip descargado

     # unzip Joomla_3.0.3-Stable-Full_Package.zip

7) Creamos fichero escribible /var/www/configuration.php (1) y eliminamos index.html

     # cd /var/www
     # touch configuration.php
     # sudo chmod 777 configuration.php
     # rm index.html

(1) Esto no es necesario si tienes correctamente configurado el y activado el intercambio FTP en Joomla.

8) Creamos base de datos en MySQL para usar con Joomla
Usar phpmyadmin

9) Configuramos Joomla accediendo con el navegador a http://serverhost/administrator/

10) Eliminar o renombrar la carpeta /var/www/installation
      # rm -rf  /var/www/installation


Refs.:
http://lamaquinadiferencial.wordpress.com/2009/07/31/como-instalar-joomla-en-debianubuntu/

4 de abril de 2013

Instalar WordPress en Lubuntu12.10 virtualizado en VirtualBox

Como parte de la ronda de pruebas que voy a hacer con algunos CMS o Content Management System, voy a comenzar con WordPress.

La críticas de este gestor contenidos y mis pruebas apuntan a que se trata de un CMS de fácil manejo, aunque comparado con Joomla! o Drupal sus posibilidades son algo menores.

Lo veo muy orientado a la generación de blogs.

Veamos como instalar WordPress en un sistema linux Lubuntu12.10 virtalizado en VirtualBox.


Protocolo:

0) La instalación de Lubuntu en una maquina virtual bajo VitualBox es muy sencilla, y no tiene mayor problema. Crear una maquina virtual linux en VirtualBox,un disco duro virtual extensible de 8GB y usar como CD el ISO de instalación de Lubuntu12.10. Para poder acceder a esta máquina virtual desde otros ordenadores de la redlocal configurar la red de VirtualBox como Bridge.

 http://misnotaslinux.blogspot.com.es/search/label/virtualbox

1) Instalar en Lubuntu apache2, php5, MySQL ... con aptitude es cosa facil.
Aunque primero hay que instalar aptitude!!

# apt-get install aptitude


2) Descargar wordpress en /var/www/
     # wget http://es.wordpress.org/wordpress-3.5.1-es_ES.zip

3) Descomprimir en /var/www/
     # unzip wordpress-3.5.1-es_ES.zip

4) Otorgamos permisos de escritura a todos los ficheros y directorios de nuestro servidor web, para ello hacemos:

     # chown -R www-data:www-data /var/www

5) Crear base de datos para WordPress en MySQL : Usar phpmyadmin.
     Le podeis poner el nombre que mas os guste.

6) Configurar WordPress
Accedemos con en navegador a: http://yourwebserver/wordpress/
La creación del fichero wp-config.php suele fallar, por lo que es recomendable hacerlo a mano.

Copia el fichero wp-config-sample.php a  wp-config.php y edita los campos de accceso a la base de datos.

Salva y cambia el usuario de este fichero a www-data:www-data como en el paso 5.

http://codex.wordpress.org/Editing_wp-config.php

Después de modificar wp-config.php, vuelve a acceder a  http://yourwebserver/wordpress/ para continuar con la instalación.

7) Accede a tu web
http://yourwebserver/

8) Administrar y configurar tu WordPress web:
http://yourwebserver/wordpress/wp-admin/
... y completa la configuración.

Ya teneis WordPress funcionando en tu maquina linux virtualizada y lista para probar.

Refs.:
http://alopezaberasturi.blogspot.com.es/2012/11/instalar-wordpress-en-un-servidor.html
http://www.mkeficaz.com/joomla-vs-drupal-que-cms-es-mejor-para-web/