CLICK HERE FOR THOUSANDS OF FREE BLOGGER TEMPLATES »

jueves, 10 de septiembre de 2009

Recuperar grub de debian

1. Inicia con el live CD de UBUNTU.

2. Abre una terminal y nos Logeamos como Usuario root.
La distribucion de Ubuntu no tiene un usuario root, lo puedes crear con el comando sudo passwd y te pediran una contraseña con la que logeas con superusuario (root). O con el comando sudo bash inicias directamente como root.

3. Con el comando mkdir mas /tmp/ubuntu (Creas una carpeta en /tmp de ubuntu).

4. El comando fdisk -l (Lista las particiones y busco donde esta la particion creada de Linux).

5. Digita el comando mount /dev/hda3/ /tmp/ubuntu (Para montar la particion hda3 en la carpeta /ubuntu).

6. Damos grub (Y entramos a modo grub). En consola grub damos :

7. root (hd0,2) Para que funcione se le resta un numero a la particion donde esta linux, (Ejemplo: Linux esta en hda3 entonces: hda3 - 1= hda2= "hd0,2")

8. setup (hd0) (instala grub en nuestro primer disco duro (hd0), que es con el que inicia la computadora)

9. quit (Salimos de la consola de comando de grub).

10. Damos reboot y saca el LIVE-CD.

Manual de instalacion y configuracion de joomla+ wampserver autenticado con radius

Manual de Instalacion y Configuracion de Joomla Autenticado Con Radius

Paso a paso de la instalación y configuración de un servidor SNMP en windows, monitoreando un agente en Linux.

snmp grupo gloshunos

lunes, 6 de abril de 2009

VPN

Manual Infraestructura VPN Segura

jueves, 5 de marzo de 2009

GPG O GNU PRIVACY GUARD

es una herramienta para cifrado y FIRMAS DIGITALES, que viene a ser un reemplazo del PGP (Pretty Good Privacy) pero con la principal diferencia que essoftware libre licenciado bajo la GPL.GPG utiliza el estándar del IETF denominado OPENPGP

Este modelo es referenciado por el estándar openpgp (prety good privacity) privacidad bastante buena. Su función es proteger la información que se distribuye por la internet mediante el uso de criptografía de calve publica, así como facilitar la autenticación de documentos gracias a firmas digitales.

La finalidad de GPG es cifrar los mensajes usando pares de claves individuales asimetricas generadas por los usuarios este par de llaves son una privada que solo debe conocer el propietario para desencriptar los mensajes que fueron encriptados con la llave publica que se genero al mismo tiempo que la privada, nuestra priavada nos sirve para firmas digitales. Y Las llaves publicas que pueden ser compartidas con otros usuarios para encriptar los mensajes; hay muchas maneras de compartirlas, por ejemplo depositándolas en los servidores de claces. Siempre deben ser compartidas cuidadosamente para prevenir falsas identidades por la corrupción de las claves públicas. También es posible añadir una firma digital criptográfica a un mensaje, de esta manera la totalidad del mensaje y el remitente pueden ser verificados en caso de que se desconfíe de una correspondencia en particular.

GNU GPG

lunes, 2 de marzo de 2009

ssl en windows server 2003

Ssl en Windows Server 2003

ssl en debian etch

SSL en debian etch

IPsec Internet Protocol security

DEFINICION IPSEC

Es un conjunto de protocolos, cuya función es asegurar las comunicaciones sobre el protocolo de Internet (IP) mediante la autenticación y/o cifrando de cada paquete IP en un flujo de datos
Actúa en la capa 3 del modelo OSI

Otros protocolos de seguridad, como SSL y TLS, operan desde la capa de transporte hacia arriba (capas 4 a 7). Esto hace a IPsec más flexible, pues puede ser usada para proteger tanto protocolos basados en TCP o UDP, pero incrementa su complejidad y procesamiento.
Inicialmente fue desarrollado para usarse con el nuevo estándar Ipv6 (donde es obligatorio), aunque posteriormente se adaptó a Ipv4 (donde es opcional).

CARACTERISTICAS
• Extensión del protocolo IP

• Servicios criptográficos de seguridad basados en estándares definidos por
el IETF

• Encriptación y autenticación a nivel de red
• Transparente al usuario: no se tienen que modificar los
Sistemas finales

• Cifrar el tráfico (de forma que no pueda ser leído por nadie más que las partes a las que está dirigido)
• Validación de integridad (asegurar que el tráfico no ha sido modificado a lo largo de su trayecto)
• Autenticar a los extremos (asegurar que el tráfico proviene de un extremo
de confianza)
• Anti-repetición (proteger contra la repetición de la sesión segura).

• Los paquetes tienen la misma apariencia que un paquete IP corriente
• Combina distintas tecnologías: Diffie Hellman, encriptación
Clave pública,
DES, funciones hash, certificados digitales...


MODOS BASICOS DE OPERACION

• MODO TRANSPORTE: Esta permite el cifrado y la autenticación solo de la parte útil del mensaje, utilizada principalmente para comunicaciones de ordenador a ordenador, este modo siempre estará asegurado por un hash que brinda la capa de transporte y aplicación.
• Un mecanismo de encapsulación UDP como NAT permite que los paquetes pasen a través de los cortafuegos.

ALGUNOS ASPECTOS
• Solo se encriptan los datos, la cabecera intacta
• Añade pocos bytes
• Permite ver las direcciones de origen y de destino

• MODO TUNEL: En este modo todo paquete completo es cifrado y autenticado, luego es encapsulado en un nuevo paquete IP para que se de el enrutamiento, este es utilizado principalmente para comunicaciones de red a red (túneles seguros entre routers, o para VPNs) o comunicaciones ordenador a red u ordenador a ordenador sobre Internet.

ALGUNOS ASPECTOS
• uno de los extremos de la comunicación es un Gateway
• Se encripta el paquete IP entero
• Para el sistema final es transparente

Authentication header (AH)
AH garantizar integridad sin conexión y autenticación de los datos de origen de los datagramas IP. Para ello, calcula un Hash Message Authentication Code (HMAC) a través de algún algoritmo hash operando sobre una clave secreta, el contenido del paquete IP y las partes inmutables del datagrama. AH puede proteger opcionalmente contra ataques de repetición utilizando la técnica de ventana deslizante y descartando paquetes viejos. AH protege la carga útil IP y todos los campos de la cabecera de un datagrama IP excepto los campos mutantes, es decir, aquellos que pueden ser alterados en el tránsito. En IPv4, los campos de la cabecera IP mutantes (y por lo tanto no autenticados) incluyen TOS, Flags, Offset de fragmentos, TTL y suma de vefificacion de la cabecera. AH opera directamente por encima de IP, utilizando el protocolo IP número 51. Una cabecera AH mide 32 bits. (ah firma el paquete y brinda autenticidad, integridad, no repudio, "no garantiza confidencialidad") Algoritmos = sha md5

Encapsulating Security Payload (ESP)
ESP proporciona autenticidad de origen, integridad y protección de confidencialidad de un paquete. ESP también soporta configuraciones de sólo cifrado y sólo autenticación, pero utilizar cifrado sin autenticación está altamente desaconsejado porque es inseguro. Al contrario que con AH, la cabecera del paquete IP no está protegida por ESP (aunque en ESP en modo túnel, la protección es proporcionada a todo el paquete IP interno, incluyendo la cabecera interna; la cabecera externa permanece sin proteger). ESP opera directamente sobre IP, utilizando el protocolo IP número 50. (cifra el paquete y brinda autenticidad, integridad, no repudio, confidencialidad) Algoritmos = 3des aes blowfish



IKE
El protocolo para Intercambio de Claves en Internet es el encargado en la infraestructura IPSec de proporcionar un entorno previo seguro para la compartición de una clave secreta y autenticación de los extremos. IKE utiliza el puerto 500 de UDP para establecer el intercambio de mensajes pertinente. Por lo general se implementa como una aplicación en espacio de usuario, al no formar parte del núcleo de muchos sistemas operativos. (autentica los participantes, nagocia las AS, escoger claves simetricas.

SP: políticas de seguridad
lo que queremos hacer y almacena protocolos a proteger, ip de los participantes, la SA asociada

SPD: es la base de datos de la políticas de seguridad

AS: asociaciones de seguridad
como lo vamos a hacer, unidireccional y almacena claves secretas, algoritmos, ip de los participantes.

ASD: es la base de datos de las asociaciones de seguridad


Configuración IPsec en Debían Etch


domingo, 8 de febrero de 2009

Archivo de configuracion de openssh

Líneas de configuración de openssh sshd_config.

Vayamos a las primeras líneas que están así:

#Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::

esto es el puerto tcp en el que escucha peticiones el servidor sshd. Por lo tanto quedara así:

Port 22

Ahora hay que descomentamos la linea de #Protocol 2,1 y dejarla así:

Protocol 2

En este caso solo haremos uso de la versión 2 del protocolo ssh.

La siguiente linea, es para configurar la dirección IP asignada a alguna interfaz de red en la que el servidor ssh escuchara peticiones, si el servidor tiene varias interfaces de red con diferentes direcciones IP asignadas entonces por default el servidor sshd escuchara peticiones en todas ellas, como lo vimos al ejecutar el comando netstat en la parte de arriba, esto es útil por ejemplo cuando tenemos un servidor que tiene dos interfaces de red una para Internet y otra para la red local, y solo quisiéramos que escuchara peticiones en la interfaz de la red local, o en la de Internet, entonces podría ser cambiado a algo así:

ListenAddress 192.168.0.1

NOTA: Si deseas que escuche peticiones en todas las interfaces de red, quizás porque necesites administrar el servidor de manera remota por Internet entonces hay que dejar la línea tal y como esta.

Ahora, las siguientes lineas están así:

Archivos que contienen las llaves privadas de host a usar (solo permisos rw- para root)

# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key

Ahora sigue la parte en la que el servidor sshd guarda los registros de eventos (logs):

# Logging
#obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
#LogLevel INFO

Aquí se especifican los parámetros para el registro de eventos, SyslogFacility especifica el tipo de registros que hará, en este caso es AUTH, ósea de las autenticaciones que se hacen contra el servidor, el parámetro AUTH es el predeterminado.

En LogLevel INFO es el valor predeterminado.


Ahora sigue la parte de los métodos de autenticación.

Por default esta así:

# Authentication:
#LoginGraceTime 2m
#PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6

La primera opción es: #LoginGraceTime 2m, esto le dice al servidor sshd el tiempo en el que desconectara a el usuario después de que no ha podido iniciar sesión satisfactoriamente, si el valor es 0, no hay limite de tiempo para que un usuario se autentique, lo cual no es recomendable ya que de esta manera podrían hacer ataques de fuerza bruta, o usando métodos de diccionario y así adivinar la contraseña (estos métodos son muy comunes últimamente, por lo tanto no es recomendable dejar este parámetro a 0, el valor predeterminado es: 2m, osea 120 segundos.
Se des comentara y se dejara por default haciendo explicito:

LoginGraceTime 2m

El siguiente parámetro es uno de los más importantes en cuanto a seguridad en el servidor sshd se refiere: #PermitRootLogin yes, este parámetro por default le dice que acepte conexiones con el usuario "root" lo cual no es nada recomendable, porque alguien podría identificarse como tal usuario y podría adivinar la contraseña, y tendría privilegios de "root" y así podría hacer cualquier cosa, por lo tanto se desactivara poniendo:

PermitRootLogin no

Luego sigue: StrictModes yes, esto significa que sshd revisara los modos y permisos de los archivos de los usuarios y el directorio $HOME de el usuario antes de aceptar la sesión. Esto es normalmente deseable porque algunos novatos algunas veces dejan sus directorios accidentalmente con permiso de escritura para cualquiera, el valor predeterminado es 'yes'. Por lo tanto lo dejaremos con su valor predeterminado y solo lo des comentaremos para hacerlo explicito:

StrictModes yes

Y el último de estas opciones es: MaxAuthTries 6, esta opción especifica el máximo número de intentos de autenticación permitidos por conexión. Una vez que el intento alcanza la mita de este valor, las conexiones fallidas siguientes serán registradas. El valor predeterminado es 6. En este caso lo dejaremos con su valor predeterminado, pero lo des comentaremos para hacerlo explicito, así:

MaxAuthTries 6

Las siguientes opciones son:

Permitimos la autentificación por RSA (solo para v1)
#RSAAuthentication yes

Permitimos la autentificación por clave pública (solo para v2)
#PubkeyAuthentication yes

Y esta otra se usa en conjunto cuando se usa autenticación por llave pública, que específica donde se guardaran las llaves en el host remoto, el valor por default es: ~/.ssh/authorized_keys esta ruta es por default para el protocolo 2 de ssh, entonces la des comentaremos para hacerla explicita, así:
#AuthorizedKeysFile .ssh/authorized_keys

Las siguientes opciones son:

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
# similar for protocol version 2
#HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
#IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
#IgnoreRhosts yes

Todas están comentadas de manera predeterminada, la mayoría se refieren a autenticación por RSA y rhosts, una que es importante aclarar es la de: #IgnoreUserKnownHosts no, la cual especifica si se ignorara o no el uso de el archivo ~/.ssh/known_hosts el cual al principio vimos que ahí se agregan las llaves de los servidores ssh a los cuales nos conectamos y confiamos. Por lo tanto debe de estar en 'no' para no ignorar este archivo, entonces deberá de quedar todo el bloque así:

# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2
HostbasedAuthentication no
# Change to yes if you don't trust ~/.ssh/known_hosts for
# RhostsRSAAuthentication and HostbasedAuthentication
IgnoreUserKnownHosts no
# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts yes

El siguiente bloque es:

# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no

La primera opción es para especificar si se permite la autenticación por medio de usuario/contraseña, por default esta en 'yes' entonces lo dejaremos así, cuando sigamos en la segunda parte de el documento donde se usan par de llaves publica/privada, se cambiara este parámetro para solo conectarnos usando nuestro par de llaves. La segunda opción especifica si se permitirá el uso de contraseñas vacías, es decir autenticarse sin contraseña (no recomendable), esto solo es valido cuando se usa PaswordAuthenticacion yes. Por ahora dejaremos los valores predeterminados y solos las descomentaremos para hacerlas explicitas, así:

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication yes
PermitEmptyPasswords no

Ahora miraremos la sección que esta así:

#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
#PrintLastLog yes
#TCPKeepAlive yes
#UseLogin no
#UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression yes
#ClientAliveInterval 0
#ClientAliveCountMax 3
#UseDNS yes
#PidFile /var/run/sshd.pid
#MaxStartups 10

Aquí solo comentare a grandes rasgos algunas opciones.

AllowTcpForwarding yes:

Especifica si se permite hacer re direccionamiento de protocolos TCP, esto para hacer túneles de la conexión de un protocolo no seguro, que envía la información en texto plano, y mandarla por un túnel cifrado, muy usual con conexiones POP3 o IMAP, se recomienda dejarlo por default.

X11Forwarding no, X11DisplayOffset 10 y X11UseLocalhost yes:

Se refieren para especificar si se permite hacer uso de el X11 Forwarding, esto para ejecutar aplicaciones gráficas de el server, en el host local, podría ser útil para conectarse a hosts y ejecutar alguna aplicación gráfica, aunque en algunos servidores es raro tener el sistema gráfico, por ahora se dejaran tal y como están.

PrintMotd yes:

Específica si cuando se establezca una conexión, se imprima el Mensaje de el Día (MOTD) se deja por default.

PrintLastLog yes:

Aquí se especifica si se mostrara el mensaje mostrando la dirección IP de donde se conecto el usuario la ultima vez, muy útil para saber si alguien más se esta conectando con un usuario en especifico.

TCPKeepAlive yes:

Significa que el servidor sshd enviara mensajes de keepalive a el cliente después de que detecta alguna inactividad (idle), este método puede ser spoofable.

UsePrivilegeSeparation yes:

Significa que después de que la sesión ssh se ha establecida se pasaran los privilegios de ese proceso a el usuario de quien inicie la conexión, sin esto el proceso estará a nombre de root, muy bueno esto para evitar elevación de privilegios.

ClientAliveInterval 0:

Esta opción especifica el intervalo de tiempo en segundos en el cual después de que no se ha recibido ningún dato de el cliente, sshd enviara un mensaje a través de el canal cifrado para requerir una respuesta de el cliente, el valor predeterminado es 0, el cual significa que no se envía tal mensaje, esta opción aplica solamente al protocolo ssh 2 esta opción útil cuando se tienen una conexión intermitente.

ClientAliveCountMax 3:


Este valor indica las veces que el servidor sshd enviara mensajes keepalive cuando el cliente esta inactivo, si el cliente no envia ninguna respuesta entonces el servidor terminara la conexion y por lo tanto la sesion, si tienes una conexiones intermitentes es recomendable subir el numero a este valor, hay que notar que esta opcion es diferente la opcion TCPKeepAlive, estos mensajes son enviados a través de el canal cifrado, por lo tanto no sera spoofable, como el TCPKeepAlive.


PidFile /var/run/sshd.pid

Esta opcion indica identificador de proceso (pid) de sshd.

Bien ahora que hable de las opciones de este bloque, usando los valores predeterminados, deberá quedar asi:

AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding no
X11DisplayOffset 10
X11UseLocalhost yes
PrintMotd yes
PrintLastLog yes
TCPKeepAlive yes
#UseLogin no
UsePrivilegeSeparation yes
#PermitUserEnvironment no
#Compression yes
ClientAliveInterval 0
ClientAliveCountMax 3
UseDNS yes
PidFile /var/run/sshd.pid
MaxStartups 10

Y por ultimo esta la opcion:

# override default of no subsystems
Subsystem sftp /usr/libexec/sftp-server

Esta opcion lo que hace es iniciar el servidor sftp-server el cual es un sustituto para un servidor ftp, pero la comunicacion es segura, ya que se hace por un canal cifrado.