Muestra las diferencias entre la revision seleccionada y la versión actual de esta página.
|
doc:freebsd:seguridad003 [2009/07/30 22:59] espartano |
doc:freebsd:seguridad003 [2009/07/30 23:20] (actual) espartano |
||
|---|---|---|---|
| Línea 360: | Línea 360: | ||
| + | ===== Eliminando los servidores virtuales ===== | ||
| + | Si por alguna razon ya no vamos a hacer uso de alguno de nuestros servidores virtuales podemos eliminarlos sin mayor problema con el siguiente comando: | ||
| - | ===== Creando el entorno del servidor virtual ===== | + | realsystem# ezjail-admin delete -w vhttp2.ezjailexamples.org |
| + | realsystem# | ||
| + | **Nota**: para eliminar los servidores virtuales estos mismos no deben estar en ejecución. | ||
| - | Ahora tenemos que crear el userland de nuestro servidor virtual, creamos el directorio en donde queremos que se instale nuesto jail, por ejemplo /usr/jail y ejecutamos los siguientes comandos: | ||
| - | Moscu# D=/usr/jail | + | |
| - | Moscu# cd /usr/src | + | ===== Algunas variables del kernel sobre el sistema de jails ===== |
| - | Moscu# mkdir -p $D | + | |
| - | Moscu# make world DESTDIR=$D | + | * //security.jail.allow_raw_sockets//: determina si en el servidor virtual se pueden crear sockets raws, al permitirlo utilidades como ping o traceroute estaran disponibles para usarlas, sin embargo los sockets raws se pueden usar de forma maliciosa ya que permiten generar paquetes de red con datos definidos totalmente por un usuario. |
| - | Moscu# cd etc | + | |
| - | Moscu# make distribution DESTDIR=$D | + | * //security.jail.sysvipc_allowed//: determina si los procesos que están dentro del jail tienen o no acceso a las primitivas IPC de System V. Aunque esto podría permitir que los procesos de nuestro jail afecten otros procesos fuera del jail. |
| - | Moscu# mount_devfs devfs $D/dev | + | |
| - | Moscu# cd $D | + | * //security.jail.set_hostname_allowed//: estavariable determina si los usuarios privilegiados dentro del servidor virtual pueden o no cambiar el nombre del host, si en el servidor virtual se permitirá la entrada a usuarios teceros es recomendable establecer esta variable a 0. |
| - | Moscu# ln -sf dev/null kernel | + | |
| - | + | * //security.jail.socket_unixiproute_only//: El sistema de jails permite la virtualizacion solo de sockets tipo ip y sockets unix, sin embargo dentro del sistema de jails es factible utilizar otros protocolos no-ip como lo es IPX, para lograr esto hay que establecer esta variable a 0 sin embargo es poco recomendable hacer esto, ya que el acceso a protocolos distintos de ip estará disponible a todos los servidores virtuales. | |
| + | |||
| + | |||
| + | ===== Actualizando el arbol de ports de los servidores virtuales ===== | ||
| + | |||
| + | Para actualizar el árbol de ports de los servidores virtuales (que esta contenido en el directorio basejail) haremos uso del comando //ezjail-update// mediante el parámetro –P (en mayúscula), esta tarea puede ser realizada mientras los servidores virtuales están en ejecución sin ningún problema. | ||
| + | |||
| + | |||
| + | realsystem# ezjail-admin update -P | ||
| + | Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. | ||
| + | Fetching snapshot tag from portsnap2.FreeBSD.org... done. | ||
| + | Fetching snapshot metadata... done. | ||
| + | Updating from Sun Jul 26 13:04:01 PDT 2009 to Mon Jul 27 21:01:33 PDT 2009. | ||
| + | Fetching 3 metadata patches.. done. | ||
| + | Applying metadata patches... done. | ||
| + | Fetching 1 metadata files... done. | ||
| + | Fetching 78 patches.....10....20....30....40....50....60....70.... done. | ||
| + | Applying patches... done. | ||
| + | Fetching 3 new ports or files... done. | ||
| + | Removing old files and directories... done. | ||
| + | Extracting new files: | ||
| + | /usr/jails/basejail/usr/ports/GIDs | ||
| + | /usr/jails/basejail/usr/ports/UIDs | ||
| + | /usr/jails/basejail/usr/ports/UPDATING | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | . | ||
| + | Building new INDEX files... done. | ||
| + | realsystem# | ||
| + | |||
| + | |||
| + | ===== Actualizando el basejail ===== | ||
| + | |||
| + | En ocasiones será necesario que actualicemos nuestro sistema operativo, ya sea para aplicar parches de seguridad o porque deseamos tener alguna nueva característica que ha sido implementada recientemente, cada vez que actualicemos nuestro sistema base del servidor real será necesario que también actualicemos el directorio basejail, si hemos actualizado nuestro sistema operativo desde las fuentes solo tendremos que ejecutar el comando //ezjail-admin update// con el flag //–i// (instalar) y ezjail realizara un //make installworld// sobre el directorio basejail, omitiendo realizar un //make buildworld//, esto nos ahorrara una gran cantidad de tiempo, si no se especifica el flag //-i// el comando //make buildworld// será invocado. | ||
| + | |||
| + | |||
| + | ===== Conclusiones ===== | ||
| + | |||
| + | Hemos visto como crear y manipular servidores virtuales mediante el sistema de jails de FreeBSD, como pudimos darnos cuenta los servidores virtuales agregan un nivel de seguridad a todo el conjunto de servicios y sistema real que administramos, sin embargo la mejor forma de asegurarnos de correr el menor riesgo posible de una penetración es mantener actualizado el software que utilizamos y estar al pendiente de las alertas de seguridad, así como auditar regularmente nuestros sistemas. | ||
| + | |||
| + | Para terminar solo decir que cualquier comentario o critica a este documento son bienvenidos. | ||
| + | |||
| + | |||
| + | ===== Enlaces ===== | ||
| + | |||
| + | [1] http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/jails.html | ||
| + | |||
| + | [2] http://en.wikipedia.org/wiki/FreeBSD_jail | ||
| + | |||
| + | [3] http://erdgeist.org/arts/software/ezjail/ | ||
| + | |||
| + | [4] http://en.wikipedia.org/wiki/Operating_system-level_virtualization | ||
| + | |||
| + | [5] http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html | ||
| + | |||
| + | [6] http://www.freebsd.org/doc/en/books/handbook/security-portaudit.html | ||
| + | |||
| + | [7] http://anonsvn.h3q.com/projects/jailaudit/ | ||