jueves, 3 de mayo de 2012

Servidor DNS con BIND en CENTOS 5.7


A pedido de un amigo, les doy una ayuda con la configuracion del servidor DNS con BIND en Centos 5.7.

Basicamente un servidor de DNS es aquel que resuleve los nombres en una red, esto ayuda bastante cuando tienes una red LAN con servidores y necesitas que los usuarios de la red accedan a los diferentes sistemas de dichos servidores.

BIND DNS es uno de los servidores mas utilizados a nivel mundial, el DNS de Google (8.8.8.8) esta en BIND, al ser un servidor opensource es bastante accesible para utilizar practicar y entender como trabaja el servicio de resolución de nombres de domnio (DNS).

Los componentes basicos de un servidor DNS son 3:

- Dominio (Nombre de dominio de la red)
- Servidor DNS (equipo que aloja el servicio DNS y las listas de nombres e IP's, pertenecientes al dominio)
- Cliente DNS (equipos de la red que realicen peticiones al servidor DNS)


Basicamente el funcionamiento es el siguiente:




El cliente DNS (equipo de trabajo) ingresa a traves de su navegador al sistema Contabilidad, esta peticion se envia al servidor DNS el cual revisa sus tablas de nombres y encuentra que Contabilidad pertenece al dominio ejemplo.net y tiene la dirección 192.168.1.10, el servidor envia esta información al cliente DNS y este envia la peticion al servidor con la dirección 192.168.1.10.

Para configurar el servidor BIND en un servidor con Centos 5.7 o Red Hat 6 los pasos basicos a seguir son:

Instalacion de BIND en el servidor

Lo mas facil es instalarlo mediante YUM.

yum -y install bind bind-chroot caching-nameserver

Una vez instalado el BIND necesitamos configurar nuestras dos zonas necesarias, la del dominio y la del dominio inverso, para ello creamos un nuevo directorio llamado dynamics donde se guardaran nuestras dos zonas.

mkdir /var/named/chroot/var/named/dynamics 

Asignamos permisos de lectura, escritura y ejecución para el usuario y grupo named (770).

chmod 770 dynamics/
chown named.named dynamics/

Creamos nuestra primera zona (dominio ejemplo.net) dentro del directorio dynamics y despues lo editamos.

touch /var/named/chroot/var/named/dynamics/ejemplo.net.zone
vim /var/named/chroot/var/named/dynamics/ejemplo.net.zone 

Dentro del archivo ejemplo.net.zone escribimos los parametros basicos de la zona.

$TTL 86400
@               IN      SOA     dns1.ejemplo.net.      root.ejemplo.net. (
               2009081501 ; número de serie
               28800 ; tiempo necesario para el refresco de la tabla
               7200 ; tiempo necesario entre reintentos
               604800 ; tiempo que la zona expira si deja de resolver
               86400 ; tiempo total de vida (1 día)
               )
@              IN      NS      dns1.ejemplo.net.
@              IN      A       192.168.1.2
dns1           IN      A       192.168.1.2


Donde lo principal es definir la entrada del servidor DNS, que en nuestro caso es el equipo dns1.ejemplo.net, colocamos su traducción indicando que su dirección es la 192.168.1.2.

Guardamos la configuracion (esc :x enter) y continuamos con la creacion de nuestra segunda zona (zona inversa), para ello creamos el archivo dentro del directorio /dynamics y lo editamos.

touch /var/named/chroot/var/named/dynamics/1.168.192.in-addr.arpa.zone
vi /var/named/chroot/var/named/dynamics/1.168.192.in-addr.arpa.zone

Dentro del archivo escribimos los parametros basicos de la zona inversa.

$TTL 86400
@               IN      SOA     dns1.ejemplo.net.      root.ejemplo.net. (
               2009081501 ; número de serie
               28800 ; tiempo necesario para el refresco de la tabla
               7200 ; tiempo necesario entre reintentos
               604800 ; tiempo que la zona expira si deja de resolver
               86400 ; tiempo total de vida (1 día)
               )
@              IN      NS      dns1.ejemplo.net.
1              IN      PTR     proxy.ejemplo.net.

De la misma forma lo principal es indicar cual es nuestro servidor principal que en nuestro caso es dns1.ejemplo.net y colcamos los datos de la resolucion inversa para nuestra red.

Ahora asignamos permisos a ambos archivos:

cd /var/named/chroot/var/named/dynamics/
chown named:named ejemplo.net.zone
chown named:named 1.168.192.in-addr.arpa.zone
chcon -u system_u -r object_r -t named_zone_t ejemplo.net.zone 
chcon -u system_u -r object_r -t named_zone_t 1.168.192.in-addr.arpa.zone

Con nuestras zonas creadas y con permisos asignados, lo ultimo que nos queda es crear y editar nuestro archivo named.conf, que es el servidor DNS en si.

touch /var/named/chroot/etc/named.conf
vim /var/named/chroot/etc/named.conf

Dentro del archivo named.conf escribimos la configuracion basica del servidor DNS.

acl "ejemplo" {
               127.0.0.1/32;
               192.168.1.0/24;
               };
options {
        directory "/var/named";
        dump-file "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        allow-recursion { red-local; };
        allow-query  { red-local; };
        forwarders { 8.8.8.8; 4.2.2.2;};
        forward first;
};

include "/etc/named.rfc1912.zones";
include "/etc/rndc.key";

zone "ejemplo.net" {
        type master;
        file "/var/named/dynamics/ejemplo.net.zone";
        allow-update { key "rndckey"; };
};
zone "1.168.192.in-addr.arpa" {
        type master;
        file "/var/named/dynamics/1.168.192.in-addr.arpa.zone";
        allow-update { key "rndckey"; };
};

Donde lo primero que realizamos es la creación de una lista de acceso llamada "ejemplo" (nombre del dominio, si el dominio fuera ejemplo.com.bo, la lista seria ejemplo.com) dentro de la lista de acceso definimos cuales son las subredes que pertenecen a este dominio, en este caso la interfaz del servidor 127.0.0.1/32 y la subred 192.168.1.0/24.
En forwarders indicamos al servidor donde realizar las consultas de direcciones que no conozca, en nuestro caso colocamos los DNS de Google (8.8.8.8) y de Sprint (4.2.2.2), finalmente indicamos al servidor la locacion de nuestros archivos de zonas.

Salimos de la configuracion (Esc :x enter) e iniciamos nuestro servidor DNS, cuyo servicio es named.

service named start

Si el servidor no nos indica ningun error, podemos configurar nuevas entradas en las zonas.

vim /var/named/chroot/var/named/dynamics/ejemplo.net.zone

$TTL 86400
@               IN      SOA     dns1.ejemplo.net.      root.ejemplo.net. (
               2009081501 ; número de serie
               28800 ; tiempo necesario para el refresco de la tabla
               7200 ; tiempo necesario entre reintentos
               604800 ; tiempo que la zona expira si deja de resolver
               86400 ; tiempo total de vida (1 día)
               )
@              IN      NS      dns1.ejemplo.net.
@              IN      A       192.168.1.2
dns1           IN      A       192.168.1.2
Contabilidad.ejemplo.net       IN      A       192.168.1.10 

Guardamos y salimos (Esc :x Enter).

Para comprobar si el servidor esta resolviendo los nombres correctamente, podemos realizar un ping desde el servidor a nuestro mismo nombre.

ping dns1

Si el servidor funciona correctamente nos entregara la siguiente respuesta.

PING dns1.ejemplo.net (192.168.1.2) 56(84) bytes of data.
64 bytes from dns1.ejemplo.net (192.168.1.2): icmp_seq=1 ttl=64 time=0.075 ms
64 bytes from dns1.ejemplo.net (192.168.1.2): icmp_seq=2 ttl=64 time=0.024 ms
64 bytes from dns1.ejemplo.net (192.168.1.2): icmp_seq=3 ttl=64 time=0.045 ms
64 bytes from dns1.ejemplo.net (192.168.1.2): icmp_seq=4 ttl=64 time=0.021 ms
64 bytes from dns1.ejemplo.net (192.168.1.2): icmp_seq=5 ttl=64 time=0.033 ms

Probamos con nuestro servidor Contabilidad.ejemplo.net

ping Contabilidad

PING Contabilidad.ejemplo.net(192.168.1.10) 56(84) bytes of data.
64 bytes from Contabilidad.ejemplo.net (192.168.1.10): icmp_seq=1 ttl=64 time=0.065 ms
64 bytes from Contabilidad.ejemplo.net (192.168.1.10): icmp_seq=2 ttl=64 time=0.022 ms
64 bytes from Contabilidad.ejemplo.net (192.168.1.10): icmp_seq=3 ttl=64 time=0.034 ms
64 bytes from Contabilidad.ejemplo.net (192.168.1.10): icmp_seq=4 ttl=64 time=0.021 ms
64 bytes from Contabilidad.ejemplo.net (192.168.1.10): icmp_seq=5 ttl=64 time=0.038
ms

Con esto comprobamos que nuestro servidor DNS con BIND se ha configurado correctamente, configuramos el servicio named para que arranque con el sistema.

chkconfig named on

Por ultimo verificamos que nuestro puerto 53 (DNS) este habilitado en las reglas del servidor para esponder a peticiones de otras maquinas.

service iptables status

Verificamos en la cadena INPUT (Chain INPUT) que el puerto 53 este permitido.

Tabla: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:123
4    ACCEPT     udp  --  200.160.7.186        0.0.0.0/0           udp dpt:123
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3128
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:10000
7    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Como en nuestro caso no esta permitido, lo habilitamos, pero solamente permitimos que reciba peticiones en la interfaz de la LAN (nuestro caso toma en cuenta un servidor con salida a internet).

iptables -I INPUT -i eth0 -p udp --dport 53 -j ACCEPT
 
Verificamos que el puerto aparezca en nuestra cadena INPUT.

Tabla: filter
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination
1    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:53
2    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080
3    ACCEPT     udp  --  0.0.0.0/0            0.0.0.0/0           udp dpt:123
4    ACCEPT     udp  --  200.160.7.186        0.0.0.0/0           udp dpt:123
5    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:3128
6    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:10000
7    RH-Firewall-1-INPUT  all  --  0.0.0.0/0            0.0.0.0/0

Guardamos la configuración de nuestras Iptables.

service iptables save

Y finalmente reiniciamos todos los servicios modificados.

service iptables restart
service network restart
service named restart

Una vez que todo inicia sin ningun error, podemos comprobar que el servidor responde a peticiones desde la LAN, realizando un ping desde un equipo en la red local.

ping Contabilidad

PING Contabilidad.ejemplo.net(192.168.1.10) 56(84) bytes of data.
64 bytes from 192.168.1.10: icmp_seq=1 ttl=32 time=0.125 ms
64 bytes from 192.168.1.10: icmp_seq=2 ttl=32 time=0.092 ms
64 bytes from 192.168.1.10: icmp_seq=3 ttl=32 time=0.044 ms
64 bytes from 192.168.1.10: icmp_seq=4 ttl=32 time=0.011 ms

Con esto tenemos un servidor DNS funcional.

martes, 24 de abril de 2012

Compartitela......voz: KARAOKE

Buenos dias tengan todos los lectores, con ustedes Caro y Edu, en esta oportunidad les traemos, a pedido de algunos amigos, una herramienta por demas interesante, nos referimos al ultrastar, un juego parecido al singstar para computadora, el cual nos permite cantar nuestras canciones preferidas y ademas ser puntuados por ello!!

Aca les dejamos unas cuantas capturas:






Pueden descargar canciones desde la pagina de ultrastar y en todo caso si no encuentran alguna canción pueden pedirla en la misma pagina o incluso crear sus propias canciones a partir de algun video de youtube y la letra de la canción, yei!!

Funciona con Windows  XP/Vista/7 y con Ubuntu 9/10 (no verificamos otras distros)

Pronto estaremos subiendo un tutorial sobre como realizar la creacion de una pista de karaoke para ultrastar, por lo pronto los dejamos con el humor de Cyanide&Happiness. Compartanla!





lunes, 23 de abril de 2012

Volvemos........a compartirla

Buenas noches amigos lectores, Edu en el teclado, que decir nos perdemos como 6 meses pero tuvimos nuestras razones, el blog lo dejamos un poco olvidado pero lo retomamos para poder poner nuestro granito de arena y quizas ayudar a alguien, o por lo menos sacarle un sonrisa a algun visitante.

El equipo se mantiene y estaremos publicando poco a poco algunas cosas de utilidad, por el momento solo colocamos este post para anunciar que estamos activos nuevamente y que estamos cambiando el correo por que nos olvidamos la contraseña (no nos culpen le pasa a todo el mundo), asi que por el momento les pedimos que si tienen alguna sugerencia sobre los temas que debamos postear, dejen sus mensajes en el blog, estaremos encantados de poder ayudarlos con todo, como un refresh de quienes somos, lo que hacemos y sabemos:

Soy Edu, especialista en computaciòn, informàtica, electrònica, comunicaciones y demas chucherias tecnològicas, amante de la mùsica, literatura y el arte.

David, nuestro especialista en e-market, redes sociales, publicidad, fotografia, diseño grafico y el mundo bohemio.

Mauge, nuestra poliglota por excelencia (5 idiomas), experta en literatura, cine, mùsica, conciertos, idiomas y traductora profesional.

Carolina, nuestra becaria en Canada, experta en viajes, psicologia, arte, fotografìa, literatura, turismo y consejos practicos de la vida diaria.

Esperamos poder brindar ayuda alguna a quien lo necesite, si necesitan apoyo con algun tema solo dejen un mensaje y estaremos ayudandolos en lo que podamos. Saludos y ya lo sabes ..... compartitela!!! por que el mundo es de los que se la comparten toda.

lunes, 1 de agosto de 2011

Compilado de C&H, compartanla!

Muy buenas tardes queridos bloggermen, David al teclado para rendir cuentas y dar explicaciones, debido a algunos proyectos tanto personales como grupales, nosotros Losqueselacomparten abandonamos un tiempo el blog, decirles que estamos en diversos proyectos, tanto personales como de grupo.

Anunciarles que nuestro buen amigo Edu, se va de gira por todo el pais, y estara sacando algo de informacion para un proyecto impulsado por Losqueselacomparten para ver como sobrevivir por las ciudades de Bolivia, sin tener un peso y sin conocer nada ni a nadie.

Mauge esta "busy" con sus ultimos examenes y trabajos de traductora, para acabar sus cursos de alemán.
Clarisa a quien no tuvieron el gusto de conocer aún, esta de viaje por Canada por una beca, pero ya se alista para publicar historias, experiencias e informacion util en varios campos.

Por mi parte, estoy sin tiempo tratando de sobrevivir a la facultad, el trabajo y a Google+, es como comenzar nuevamente una vida virtual (solo bromeo), debido a mi trabajo de mercadeo virtual, estoy muy entusiasmado y ocupado buscando y rebuscando novedades en la red social de Google. Las cuales espero publicarlas pronto.

De todas maneras decir que si algo sacamos todo el staff de Losqueselacomparten, fue el gusto por el humor negro de C&H y bueno como Mauge no falla ni un solo día, aprovecho para colgar un compilado de las tiras mas graciosas traducidas al español, y solo la ultima en ingles por que Mauge me dijo que pierde el chiste si se traduce.

Enjoy!

















"¿Descuento en grapes (uvas)? Oh mierda!¿Quien puso esa G ahi?"

Explicación rápida, quitandole la G queda como "Disscount rapes" que se traduce como "Descuento en violaciónes".

jueves, 14 de julio de 2011

HACKING, compartitela!

Saludos lectores que se la comparten, por algunos problemillas personales de los miembros del proyecto, ninguno pudo postear en el blog estos dias, para no hacer larga la historia estamos resfriados, ocupados y bloqueados mentalmente, bueno nuevamente con ustedes su amigo Edu y aprovechando el mensaje y la peticion de David (extraña peticion por cierto) tocare el tema de los tan mal tratados, calumniados y poco queridos "hackers", no es de extrañar que cualquiera se pone a pensar en un tipo que se encarga de dañar paginas web, aplicaciones, equipos, robar informacion, etc,etc.

Pero un hacker no es solo eso, no es un tipo que se dedica a dañar y perjudicar a los demas, al contrario el hacking se utiliza actualmente como una herramienta de proteccion, asi es no se rian, la mayoria de las empresas desarrolladoras de software y aplicativos, cuentan con un equipo que utiliza el hacking como forma de testeo para corregir fallas en los productos, cabe decir que toda empresa deberia contar con personal capacitado en hacking para brindar una mejor proteccion a sus sistemas y aplicativos.

Es por ello que existe el curso de Ethical Hacking, orientado a este tipo de soluciones, no se confundan no es un curso donde les enseñaran como desbancar un banco o cosas asi, se trata de un curso donde se les dara el conocimiento base para que puedan identificar, anular y corregir problemas de seguridad ya sea en una pagina web, una aplicacion, sus servidores frontera, etc,etc.

En Bolivia el curso puede tomarselo en las oficinas de CTT, con una carga horaria de 60 horas promedio, que incluye laboratorios, practicas en vivo y ridiculizar a algunas instituciones (ser hacker es divertido), pero obviamente no te conviertes en un "hacker" despues de pasar un curso, la practica hace al maestro, es por ello que este tema lo quiero tratar en  muchas mas publicaciones, con textos, ayudas y demas que permitan compartir la información necesaria para conocer mas acerca del hacking.

Como introducción señalar, que el Ethical Hacking se basa en hacer notar las fallas de seguridad de un sistema, es por ello que una vez se "hackea" una pagina, se debe avisar al administrador de dicha web para que corrija la falla existente, cabe destacar que una forma de estar seguro de que se corregira la falla es publicarla en sitios publicos, donde varios practicantes del hacking  puedan utilizar estos recursos para practicar, tal es el caso de madhacking, no esta demas decir que el administrador del sitio web vulnerado debe saber que se publicara la falla.

Ahora bien, como algo muy basico les dejo un documento que la verdad ayuda mucho, si se lo toma en serio, la primera lección de la guia de hacking school de ISECOM, espero que les sirva, ya estare subiendo mas información util.

Para finalizar un poco de humor negro y estrambotico con la tira de Cyanide&Happines y tambien traducido al español, gracias a Mau que fue la unica que no falló ningun día. Diviertanse.

C&H13072011



viernes, 8 de julio de 2011

La llegada de Google+ y el temor de Facebook

Tengan muy buenas tardes, David al teclado, lamentablemente no pude publicar en el blog ni avisar a alguien para que me reemplazara, ¿la razón? pasion de multitudes, cabe mencionar la alegria al ver como Argentina empataba con Colombia el dia miercoles, pero mas que eso la tristeza de ver como Bolivia perdia frente a Costa Rica por 2 goles contra 0 el día de ayer, y bueno me parecen razones suficientes para  no haber escrito en 2 dias.

Pero en fin, como ligera presentacion decirles que mi papel dentro del blog es compartir conocimientos sobre musica, peliculas, series, fotografía, noticias y todo sobre el ambito social en la blogosfera, cabe decir que manejo las cuentas de Losqueselacomparten en las redes sociales, asi que espero que podamos ser muy amigos con todos los que encuentren esta pequeña isla en medio del ingente oceano del internet.



Para comenzar con mis publicaciones, quiero hacer nota a una noticia que desde hace tiempo nos tiene en vilo a la mayoria de los usuarios de la redes sociales, y obviamente me refiero a la llegada de la red social que ha dado de que hablar desde su púesta en marcha en etapa de pruebas y es Google+.

No esta demás decir que desde su lanzamiento a sido una campaña tan grande como para que todos nos preguntemos ¿Como consigo una cuenta?, ya que cuando abren el sitio, este no aguanta mas de unas horas debido a la saturacion en cuanto a usuarios que querian inscribirse al servicio, y es aca donde debo ser esceptico, acaso no hablamos de Google, ¿Un gigante en cuanto hablamos de internet y servicios web? ¿Acaso no se pudo preveer la cantidad ingente de usuarios a nivel mundial que habria entrando a su servicio?, al parecer Google si sabe hacerse publicidad, ya que desde que anuncio la suspencion temporal de Google+, millones de personas alrededor del mundo nos morimos por ingresar a este servicio y aun mas importante que eso, gigantes como Facebook y Microsoft se han mostrado mas que nerviosos con esta nueva red social.

Para muestra un boton, cuando se anuncio la salida de Google+, su humilde servidor que se encuentra siempre buscando novedades, se topo con una herramienta que me parecio la mejor idea del momento, y les hablo de Facebook Friend Exporter una extension de Chrome desarrollada por Mohamed Mansour, que permitia exportar tu informacion y contactos de Facebook a Google+ (yeiiiiiii), pero a partir del 5 de julio, Facebook a decidido bloquear esta extension, por que segun ellos, viola las politicas de privacidad de informacion de los usuarios de Facebook, mas informacion en el articulo de zdnet en ingles.

Pero la cosas no se quedan ahi, Facebook en alianza con Microsoft, el mas reciente propietario de Skype, a anunciado que muy pronto la red social permitira realizar conversaciones de voz y video entre los contactos de Facebook, anunciandolo como algo posible debido a la infraestructura con la que ya cuenta el gigante, el articulo lo pueden leer acá en el guardian, el articulo esta en ingles, cabe destacar que Google+ ya cuenta con una plataforma similar debido a la funcionalidad de Google Talk, que tambien se encuentra en el web chat de Gmail.

Despues de ver todo lo que hace y prepara Facebook, solo nos queda una pregunta ¿Sera tan bueno el Google+? solo el tiempo lo dira, por lo pronto el sitio ya se encuentra activo nuevamente, pero aun no permite la creacion libre de cuentas.

Para finalizar y a pedido de nuestra traductora oficial, un poco de humor negro con la tira de Cyanide&Happines del dia de hoy y tambien la traduccion en español, cortesia de Mau. Despidiendose David, pasen un buen día.

C&H08072011