• No se han encontrado resultados

CURSO LINUX: Administración de Sistema y Servicios (parte 3)

N/A
N/A
Protected

Academic year: 2021

Share "CURSO LINUX: Administración de Sistema y Servicios (parte 3)"

Copied!
59
0
0

Texto completo

(1)

Curso Linux: Administración de Sistema y Servicios (parte 3)

IRONTEC - http://www.irontec.com

CURSO LINUX: Administración de

Sistema y Servicios

(2)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Servidor web Apache2

Servidor web de código abierto.

Plataformas Unix, Linux, BSD, Windows y otras.

Versión 2 de Apache:

Threads de UNIX.

Soporte para Ipv6.

Modular:

Módulos para lenguajes de programación:

php, perl, python, ruby, mono (.Net)...

Módulos para autenticación:

ldap, mysql...

Otros módulos:

(3)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Instalación en Debian

#> apt­get install apache2

Se instalan los módulos “core” como dependencia

(apache2-common)

Soporte para PHP:

#> apt­get install libapache2­mod­php4

Soporte MySQL para PHP:

#> apt­get install php4­mysql

Habilitar el módulo en /etc/php4/apache2/php.ini:

extension=mysql.so

Reiniciar Apache2 tras cambios de configuración:

#> /etc/init.d/apache2 restart

(4)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Módulos

Módulos disponibles en /etc/apache2/mods-available.

Módulos habilitados en /etc/apache2/mods-enabled.

¡ Son enlaces simbólicos a los módulos disponibles !

Habilitar un módulo:

#> a2enmod nombre_módulo (crea el link) ●

Deshabilitar un módulo:

#> a2dismod nombre_módulo (borra el link)

(5)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Dominios virtuales

Disponibles en /etc/apache2/sites-available.

Habilitados en /etc/apache2/sites-enabled.

Habilitar un dominio virtual:

#> a2ensite nombre_sitio

Deshabilitar un dominio virtual:

#> a2dissite nombre_sitio

Nota:

Algunas aplicaciones web guardan su configuración

(6)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Dominios virtuales (II)

Si se accede con la IP o con un dominio no asociado a

ningún dominio virtual:

Se ofrece el primer sitio por orden alfabético en

/etc/apache2/sites-enabled.

(7)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Dominios virtuales (III)

Ejemplo de dominio virtual:

/etc/apache2/sites­available/mi_dominio <VirtualHost *:80> ServerName dominio.org     ServerAlias www.dominio.org DocumentRoot /var/www­dominio.org/ <Directory /var/www­dominio.org/>        #Permitimos .htaccess:                 AllowOverride All       #Denegamos a todos menos a la red local:          Order allow,deny        Allow from 10.10.0.0/255.255.0.0        Deny from all </Directory> # Logs: TransferLog /var/log/apache2/dominio.org/access.log

(8)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

SSL

Comunicación segura vía protocolo https.

Configuración:

Creación del certificado:

#> apache2­ssl­certificate

Habilitamos el puerto 443 en /etc/apache2/ports.conf:

Listen 80 Listen 443

Cargamos el módulo:

#> a2enmod ssl   

(9)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

SSL (II)

Creamos un sitio “default-ssl” en /etc/apache2/sites-available:

NameVirtualHost *:443 <VirtualHost *:443>      ... <­­ copiamos el contenido      #SSL:      SSLEngine On      SSLCertificateFile /etc/apache2/ssl/apache.pem </VirtualHost>

Redirigimos los accesos http a https en el fichero “default”:

NameVirtualHost *:80 <VirtualHost *:80>      RewriteEngine  on      RewriteCond    %{SERVER_PORT}  !^443$      RewriteRule    ^/(.*) https://%{SERVER_NAME}/$1 [L,R,NC] </VirtualHost>

Habilitamos el módulo “rewrite”:

(10)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Autenticación

Restringir contenidos a usuarios que se autentiquen.

Diversos tipos de autenticación:

Fichero local

LDAP

(11)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Autenticación por fichero local

Usuarios/password en fichero de texto:

Usaremos el fichero /usr/local/www-users.

¡Debe tener permiso de lectura para www-data!

Añadir usuario:

#> htpasswd /usr/local/www­users nuevo_usuario

Modificar contraseña de un usuario:

#> htpasswd /usr/local/www­users usuario

Eliminar un usuario:

(12)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Autenticación por fichero local (II)

Modificación en nuestro dominio virtual:

<Directory /var/www/>     ...     # Autenticación:     AuthName "Acceso privado"     AuthType Basic     AuthUserFile /usr/local/www­users     require valid­user </Directory> ●

Más info:

http://httpd.apache.org/docs/2.0/mod/mod_auth.html

(13)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Autenticación por LDAP

Autenticamos los usuarios contra nuestro servidor LDAP en

la rama “ou=people,dc=dominio,dc=org”.

Modificación en nuestro dominio virtual:

<Directory /var/www/>     ...     # Autenticación:     AuthName "Acceso privado"     AuthType Basic     AuthLDAPAuthoritative on     AuthLDAPEnabled on     AuthLDAPUrl         ldap://ldap.dominio.org:389/ou=people,dc=dominio,dc=org?uid?sub     require valid­user </Directory>

(14)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Autenticación por LDAP (II)

Cargar el módulo de Apache2:

#> a2enmod auth_ldap

Más info:

(15)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Ficheros .htaccess

Configuración de directorio (recursivo) en un fichero

.htaccess en el propio directorio.

Necesario permitir “AllowOverride All” en la configuración

del sitio.

Ejemplo de fichero .htaccess en /var/www:

# Autenticación:

AuthUserFile /usr/local/www­users require valid­user

En el fichero del sitio:

<Directory />

      AllowOverride All       ...

(16)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Algunas directivas

Alias

Directiva que hacer corresponder una URL con un

determinado directorio/fichero.

Alias /wiki  /usr/share/dokuwiki/ <Directory /usr/share/dokuwiki>     AllowOverride All     ... </Directory> ●

RedirectMacth

Redirección a otra localización.

# Redirigimos todo a otra página/servidor: RedirectMatch ^/$ http://otro­dominio.net

# Redirigimos a una carpeta con la portada: RedirectMatch ^/$ /frontpage/

(17)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

WebDAV

Protocolo paralelo a http.

Permite acceso de escritura a los ficheros ofrecidos por el

servidor web.

Configuración:

Cargamos los módulos:

#> a2enmod dav #> a2enmod dav_fs ➔

Sitio/dominio virtual:

DAVLockDB /tmp/DAVLock DAVMinTimeout 600 #Acceso por webdav://dominio.org/webdav <Location /webdav/>       DAV On </Location>

(18)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

WebDAV (II)

Los ficheros a los que queremos permitir acceso de escritura

deben ser de “www-data”.

Se puede aplicar autenticación para permitir escritura a sólo

determinados usuarios y lectura a otros/el resto.

Más info sobre WebDAV y clientes que lo soportan:

(19)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Apache2

Más información sobre Apache2:

http://httpd.apache.org/docs/2.0/es/

(20)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Base de datos MySQL

Empresa desarrolladora:

http://www.mysql.com

Licencia dual:

Licencia GPL

Licencia privada

Plataformas soportadas:

AIX, BSD, FreeBSD, HP­UX, GNU/Linux, Mac OS X, NetBSD,  Novell Netware, OpenBSD, OS/2 Warp, QNX, SGI IRIX,  Solaris, SunOS, Windows...

(21)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Características:

Motores de almacenamiento:

MyISAM, Merge, InnoDB, BDB, Memory/heap, MySQL Cluster,  Federated, Archive, CSV, Blackhole, Example (versión 5.X) ●

Triggers

Vistas

actualizables

Cursors

Procedimientos almacenados

Integridad referencial

(versión 5.X)

Transacciones

(versión 5.X)

SSL

(22)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Instalación en Debian

En Sarge la versión 4.1:

mysql­server­4.1 mysql­server (meta package depending on the latest version)

Se puede instalar la 5.0 con los repositorios “backports”:

deb http://www.backports.org/debian sarge­backports main contrib non­free

¡Algunas aplicaciones necesitan MySQL 5.0!

Iniciar/parar/reiniciar la base de datos:

(23)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Usuario root de MySQL

¡ Ojo ! el usuario root de MySQL no tiene password por

defecto.

Lo primero que hay que hacer tras instalar:

#> mysql ­u root USE mysql;

UPDATE user SET Password=PASSWORD('*****') WHERE       User='root';

(24)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Backups, dos formas:

Copiar /var/lib/mysql

Comando mysqldump:

Backup de la base de datos “mi_bd”:

#> mysqldump ­uUSER ­pPASSWD mi_bd > backup.sql

Backup de toda la base de datos:

#> mysqldump –­all­databases > backup.sql

Restaurar una copia de seguridad:

#> mysql –­user=usuario –­password=**** < backup.sql

¡ Ojo con las versiones ! Al hacer un “mysqldump” para restaurarlo en

un MySQL de distinta versión hay que habilitar algunas opciones de

compatibilidad:

(25)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Logs de MySQL

Habilitar log de consultas en formato texto:

Descomentar en /etc/mysql/my.cnf:

log       = /var/log/mysql.log

Ahora podemos monitorizar las consultas SQL:

(26)

Curso Linux: Administración de Sistema y Servicios (parte 3)

MySQL

Configuración

Fichero:

/etc/mysql/my.cnf

Existe también otro fichero “debian.cnf” para mantenimiento

del sistema.

Algunos parámetros:

socket       = /var/run/mysqld/mysqld.sock port         = 3306 datadir      = /var/lib/mysql Importante: IP's que escuchan. bind­address  = 127.0.0.1   #Por defecto sólo local. #bind­address  = 0.0.0.0     #Todas las direcciones.

(27)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Cortafuegos Netfilter/Iptables

Remplaza a Ipchains desde el Kernel 2.3.

iptables: herramienta del espacio de usuario que permite:

Reglas para filtrado de paquetes.

NAT.

Firewall stateful (controla estados de conexiones).

(28)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

(29)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

(30)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

(31)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

(32)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Tabla mangle

Para modificar paquetes:

TOS (Type of Service)

TTL (Time To Live)

MARK (marcar un paquete) -> iproute2, QoS

¡ No usar esta tabla para para DNAT, SNAT o

(33)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Tabla nat

Sólo para hacer NAT (Network Address Translation).

DNAT:

Cambiar la IP destino.

Ej: Redirigir entrantes a una DMZ con IP's locales.

SNAT:

Cambiar la IP origen a una definida (estática)

Para dar salida a equipos LAN con IP's locales.

Masquerade:

Igual que SNAT con más carga de procesador.

Cada vez chequea la IP saliente que debe asignarle.

(34)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Tabla filter

Filtrado de paquetes.

¡ Se puede hacer filtrado en otras tablas, pero no es

recomendable !

Acciones como:

Aceptar un paquete (ACCEPT).

Desecharlo (DROP).

(35)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Estado de los paquetes

NEW: paquete nuevo.

ESTABLISHED: comunicación ya establecida.

RELATED: relaionada a otra comunicación

ESTABLISHED

.

Para protocolos como FTP que incluyen puerto de

transmisión de datos dentro de datos de aplicación.

Hace falta un módulo para Netfiler: ip_conntrack_ftp.

--state

Para comparar el estado de un paquete.

El estado de conexiones se aplica sobre:

TCP, UDP o ICMP.

(36)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Estado de los paquetes (II)

Ejemplo:

Nuestra máquina envía un paquete a otra máquina:

Estado de la comunicación: NEW.

Cadena OUTPUT.

La máquina destino nos responde con otro paquete.

Estado de la comunicación: ESTABLISHED.

Cadena PREROUTING.

(37)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Listar reglas actuales

iptables -L -v

iptables-save

Lista las reglas en un formato válido para

iptables­restore

.

iptables-save > fichero-reglas (salva las reglas a fichero)

(38)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comando iptables

Sintaxis para añadir una regla:

iptables [­t tabla] comando [comparación] [objetivo/salto]

(39)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Tablas

(40)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comandos

­A : Añade la regla al final de la cadena. iptables ­A INPUT (añade una regla al final de la  cadena INPUT) ­D : Borrar una regla (hay que ponerla entera). ­R : Reemplaza una regla. ­I : Inserta una regla en la posición indicada. ­L : Lista todas las reglas (de la cadena especificada). ­F : (Flush) Elimina todas las reglas (de la cadena  especificada).

(41)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones

Comparaciones genéricas:

­p, ­­protocol : Para comprobar si es TCP, UDP o ICMP. iptables ­A INPUT ­p tcp ­s, ­­src : Comparación de IP origen. iptables ­A INPUT ­s 192.168.1.10 iptables ­A INPUT ­s 192.168.1.0/24 iptables ­A INPUT ­s ! 192.168.1.0/24 (invertir) ­d, ­­dst : Comparación de IP destino. iptables ­A INPUT ­d 192.168.0.1 iptables ­A INPUT ­d 192.168.0.0/16 ­i, ­­in­interface : Interfaz origen. ●

Sólo válida en INPUT, FORWARD y PREROUTING.

iptables ­A INPUT ­i eth0 iptables ­A INPUT ­i eth+  (por cualquier eth) ­o, ­­out­interface : Interfaz de salida. ●

Sólo válida en OUTPUT, FORWARD y POSTROUTING.

iptables ­A FORWARD ­o eth0

(42)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones implícitas

Comparaciones que se cargan implícitamente:

TCP

UDP

ICMP

Estas comparaciones se cargan con la opción -p:

(43)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones implícitas TCP

-p tcp

­­sport : Puerto origen. iptables ­A INPUT ­p tcp ­­sport 1003 iptables ­A INPUT ­p tcp ­­sport 100:200 (rango) iptables ­A INPUT ­p tcp ­­sport ! 22 (invertir) ­­dport : Puerto destino (ídem) ­­tcp­flags : Flags TCP: ●

SYN, FIN, ACK, ACK SYN

iptables ­A INPUT ­p tcp ­­tcp­flags SYN iptables ­A INPUT ­p tcp ­­tcp­flags SYN,FIN,ACK SYN

(44)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones implícitas UDP

-p upd

­­sport : Igual que en TCP. ­­dport : Igual que en TCP.

(45)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones implícitas ICMP

-p icmp

­­icmp­type : Tipo de ICMP.

iptables ­A INPUT ­p icmp ­­icmp­type 8

Se puede ver un listado con:

(46)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Comparaciones explícitas

Se deben cargan explícitamente con opción -m (--match).

­­state ESTADO : Verifica el estado de la conexión. ●

NEW, INVALID, ESTABLISHED, RELATED

iptables ­A INPUT ­m ­­state RELATED,ESTABLISHED ­­limit VALOR : Limitar el nº de paquetes por tiempo. iptables ­A INPUT ­m limit ­­limit 3/hour ­­mac­source : MAC origen. iptables ­A INPUT ­m mac ­­mac­source 00:00:00:00:11:22 ­­mark : Comprobar paquetes marcados anteriormente. iptables ­t mangle  ­A INPUT ­m mark ­­mark 1 ➔

Más comparaciones:

TOS, TTL, multiport...

(47)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Objetivos/Saltos

Acción que se ejecuta sobre el paquete.

­j ACCIÓN

Salto: Mandar el paquete a otra cadena:

­j cadena

Podemos crear cadenas propias:

iptables ­N cadena_tcp

(48)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Objetivos

ACCEPT : Aceptamos el paquete. ●

¡ El paquete deja de compararse en la cadena 

actual y en las cadenas de la tabla actual !

¡ El paquete podría ser filtrado en otra tabla !

DROP : Deseacha un paquete. REJECT : Rechaza un paquete (envía un ICMP informativo al  origen). LOG : Loguea el paquete en ssylog. DNAT : Cambiamos la IP destino. ●

Sólo en cadenas PREROUTING y OUTPUT de la tabla 

nat.

iptables ­t nat ­A PREROUTING ­p tcp ­d 85.80.23.54  ­­dport 80 ­j DNAT ­­to­destination  192.168.168.10:80

(49)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Objetivos (II)

SNAT : Cambiamos la IP origen. ●

Sólo en la cadena POSTROUTING de la tabla nat.

iptables ­t nat ­A POSTROUTING ­p tcp ­o eth0 ­j  SNAT ­­to­source 90.90.90.90:1024­3200 MASQUERADE : Cambiamos la IP origen (detecta la IP) ●

Sólo en la cadena POSTROUTING de la tabla nat.

iptables ­t nat ­A POSTROUTING ­p tcp ­o eth0 ­j  MASQUERADE –­to­ports 1024­3200 REDIRECT : Redirigir paquetes hacia la máquina. ●

Sólo en cadenas PREROUTING y POSTROUTING de tabla 

nat.

iptables ­t nat ­A PREROUTING ­p tcp ­­dport 80 ­j  REDIRECT –­to­ports 8080 ●

Util para proxy transparente.

Otros objetivos:

(50)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Política por defecto

Dos filosofías:

1ª: “Permitido todo excepto lo explícitamente negado”

2ª: “Denegado todo excepto lo explícitamente permitido”

¡ Mucho más segura la 2ª !

Política por defecto en cada cadena (sólo se cumple si el

paquete no coincide con ninguna regla):

iptables ­P cadena política

Denegamos acceso a la máquina y otras máquinas:

iptables ­P INPUT DROP iptables ­P FORWARD DROP

Permitimos acceso total al exterior desde nuestra propia máquina:

(51)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Política por defecto (II)

¡ OJO con el interfaz “lo” !

“lo” es el interfaz de localhost.

Si ponemos:

iptables ­P INPUT DROP

¡ Estamos bloqueando los accesos por red en localhost !

Solución: Añadir:

(52)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

(53)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Módulos (II)

Es necesario cargar módulos para Iptables según las

necesidades:

insmod : carga el módulo.

insmod ipt_MASQUERADE

rmmod : descarga el módulo.

modprobe : carga el módulo y sus módulos dependientes.

modprobe ip_nat

modprobe -r : descarga el módulo.

modconf (sólo Debian) : muestra la pantalla anterior con

módulos cargados [+] y no cargados [-].

¡ Al cargar con “modconf” el módulo se añade a /etc/modules y se

carga en el arranque !

(54)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

sysctl

Para habilitar el rutado:

#> echo “1” > /proc/sys/net/ipv4/ip_forward

Más elegante:

#> sysctl ­w net.ipv4.ip_forward=1

Para dejarlo definitivo (activo en el arranque):

Fichero /etc/sysctl.conf: net/ipv4/ip_forward=1

(55)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Notas a recordad

¡ No bloquear todos los ICMP ! ¿¿por qué??

Supone cargarse la mitad del protocolo de internet.

No olvidarse del interfaz “lo”.

Cargar módulos necesarios para nuestras reglas.

(56)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Ejemplo

Aspectos comunes de los scripts:

Borrado de las reglas aplicadas actualmente (flush)

Aplicación de políticas por defecto para INPUT, OUPUT,

FORWARD

(57)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Ejemplo (II)

#!/bin/sh ## SCRIPT de IPTABLES ## Red local: eth0 ­ 192.168.0.0/24 ## Internet: eth1 – IP dinámica # Borrar reglas: iptables −F iptables −t nat −F # Política por defecto: iptables −P INPUT DROP iptables −P OUTPUT ACCEPT iptables −P FORWARD DROP iptables −t nat −P PREROUTING ACCEPT iptables −t nat −P POSTROUTING ACCEPT # Permito acceso local: iptables ­A INPUT ­p ALL ­i lo ­j ACCEPT

(58)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Ejemplo (III)

# Masquerading para red local con IP pública dinámica: iptables −t nat −A POSTROUTING −s 192.168.0.0/24 ­o eth1 −j  MASQUERADE # Dejo pasar los paquetes ICMP: iptables −A INPUT −p ICMP −j ACCEPT # Acepto paquetes de conexiones ya establecidas: iptables −A INPUT −p TCP −m state −−state RELATED,ESTABLISHED −j  ACCEPT # Permitir SSH a la máquina: iptables −A INPUT −p TCP −−dport 22 −m state −−state NEW −j ACCEPT # Redirigir HTTP a una máquina local: iptables −t nat −A PREROUTING −i eth1 −p tcp −−dport 80 −j DNAT −−to    192.168.0.2:80

(59)

Curso Linux: Administración de Sistema y Servicios (parte 3)

Iptables

Más info:

http://iptables-tutorial.frozentux.net/spanish/chunkyhtml

Referencias

Documento similar

6.3 de la LAE, describiendo con más detalle y hondura el derecho específico que en el entorno electrónico asiste a los prestadores de servicios: «en los procedimientos relativos

● También es posible usar LVM sobre RAID para. disponer de un esquema flexible

To delete mail messages, select the folder in which the messages are stored in, and in the top right display panel where the list of messages are displayed, select

Existen infinidad de métodos para instalar MySQL y más en un sistema con GNU/Linux, como es el caso del ordenador que va a realizar la función de servidor de esta

1. Se consideran así aquellos cursos y actividades de formación que tienen por finálidad proporcionar a los trabajadores de la UNED una mejora de los conocimientos o

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

33 El análisis de los diferentes gestores de archivos existentes para el sistema operativo Linux y Windows permitió conocer la configuración de los sistemas de