nietogranada
Usuario (España)

mas barato imposible y gasto de envio gratis esta pagina es la ganga entra en dealer y compra todo lo ke necesites a precio imejorable http://www.dealextreme.com/ no tengas miedo a las compra por internet ni a paypal ya que es totalmente de fiaarrr
DECAPITADO ¿Guillotina o hacha? Da igual, porque si nos cortan la cabeza, nada nos librará de sufrir dos segundos de dolor extremo. La cuchilla cercena los huesos que unen la cabeza al cuerpo, y eso, según explicó el forense Harold Hillman en New Scientist: “Tiene que causar un gran dolor”. Grande, pero breve, ya que dos segundos después caeremos inconscientes por la hemorragia, aunque el cerebro conservará aún sangre y oxígeno para sobrevivir 15 segundos mas. ¿Explica eso los casos de cabezas cortadas que mueven los ojos o la boca? Según Hillman, solo son espasmos involuntarios causados por la agonizante química cerebral. SEDIENTO Y a que el exceso de alcohol causa una ligera deshidratación, podemos imaginar que morir de sed provoca un dolor de cabeza cien veces superior al de la peor resaca que recordemos. Porque, debido a la falta de agua, el cuerpo se nutre del líquido cefalorraquídeo del cerebro, y por tanto, lo seca. Además, tras dos días sin beber, dejamos de orinar y los riñones se hinchan como un globo, lo que causa un dolor similar a una puñalada; los ojos se secan y endurecen como si fueran de cristal. La agonía dura de tres a siete días. AHOGADO Aunque muramos en el mar, puede que nuestros pulmones sigan estando secos. ¿Por qué? Gracias a la laringe, cuyos espasmos impiden el paso del agua al aparato respiratorio. Pero ni eso nos salvará… El agua anegará el estómago, y la falta de oxígeno hará que se nos amorate el rostro y que el cerebro sufra un coma mortal en unos minutos. QUEMADO Qué podemos hacer si el fuego nos rodea? Esperar un milagro, porque en solo unos segundos las llamas prenderán nuestros cabellos e irán consumiendo, por este orden, las manos, los hombros, el pecho y el rostro; aunque no veremos cómo nuestro cuerpo se calcina, ya que los glóbulos oculares estallarán al contacto con el fuego. Se estima que el dolor es mil veces superior al que se siente al poner la mano sobre una sartén al rojo, y dura diez minutos, los que tardan las llamas en achicharrar los nervios. Pero, probablemente, moriremos antes por las gravisimas heridas. ASFIXIADO Un hueso de pollo atascado en las vías respiratorias, o las manos de un estrangulador alrededor de nuestro cuello, provocan la hipoxia, que es la falta del suministro necesario de oxígeno a los tejidos y al cerebro. Las células sanguíneas, desoxigenadas, pierden su color rojizo y adquieren un tono morado que se refleja en la piel. La víctima pierde la consciencia en pocos minutos, y muere de un paro cardíaco. CONGELADO Algunas víctimas de muerte por hipotermia se desnudan antes de fallecer, aunque se ignora la causa. Lo que sí se sabe es que el peligro comienza cuando la temperatura corporal baja a 35ºC. Tras los escalofríos iniciales, las manos se entumecen, señal de que nos quedan 90 minutos de vida. Los vasos sanguíneos se hielan, lo que impide la circulación: en una hora, las extremidades estarán congeladas y el dolor será atroz. Ates de caer inconscientes por falta de riego cerebral, algunos se desnudan. ¿Por qué? Las alucinaciones pueden ser la causa. GASEADO El monóxido de carbono provoca una muerte rápida e indolora; por eso lo llaman el asesino silencioso. En caso de intoxicación, el CO2 sustituye al oxígeno en el organismo, ya que su afinidad para mezclarse con la sangre es 250 veces superior. La víctima solo nota un dolor de cabeza seguido de náuseas. Lo más probable es que se quede dormida antes de morir, pero si intenta huir, no podrá moverse. Los músculos están agarrotados por el gas, y el desdichado solo puede reptar unos metros. DESANGRADO Tenemos cinco litros de sangre en el cuerpo; perderla toda puede llevar desde unos minutos hasta horas, según el tipo de herida. Al sabio romano Petronio, que se suicidó cortándose las venas durante un banquete, le dio tiempo a hablar de filosofía. ¿Pero sufrió? En absoluto. Podemos perder hasta el 15% de la sangre sin sentir más que un mareo. Pero conforme aumenta la hemorragia, sufriremos una grave hipotermia, hasta que, tras perder 2,5 litros de sangre, entremos en coma.

Instalación: Iniciamos Ubuntu e iniciamos sesión una vez iniciada la sesión hacemos clic en la parte superior derecha en “aplicaciones”-“accesorios” y por ultimo clic en “terminal”. Se nos abrirá una ventana en la que podremos ejecutar diversos comandos para ejecución de software o como en este caso la administración de servicios. Primero vamos hacer que todas las órdenes que demos en esa terminal sean con permisos de administrador escribimos: $ sudo su Una vez puestos como administrador pasaremos a la actualización de los repositorios de Ubuntu con esta orden: # aptitude update o # apt-get update Ahora pasaremos a la instalación del servicio en este caso “SSH” con esta orden : # aptitude install ssh • Escribir “y” cuando lo solicite El servicio ya está instalado ahora pasaremos a la configuración del mismo. Configurando el servidor En la configuración básica vamos a tocar estos archivos: /etc/ssh/sshd_conf este es el fichero de configuración del servidor /etc/ssh/ssh_conf este es el fichero de configuración del cliente Estos archivos tienen las configuraciones básicas de este servicio, ahora también los comandos que son más usuales “arrancar, parar, reiniciar” Arranque # /etc/init.d/ssh start Parar # /etc/init.d/ssh stop Reiniciar # /etc/init.d/ssh restart Ahora vamos a empezar a modificar los ficheros # gedit /etc/ssh/sshd_conf En el archivo buscamos los siguientes apartados para modificarlos: “Port 22” este es el puerto de por defecto de ssh se puede cambiar pero de pues a la hora de la conexión tendremos que especificar el puerto al que queremos conectar “#ListenAddress 0.0.0.0” aquí es donde vamos a indicar ip de escucha pero primero hay que quitar la “#” de la izquierda y los ceros sustituirlos por la ip de la maquina “Protocol 2” Hay dos versiones de protocolo SSH. La primera está ya en desuso y tiene varias vulnerabilidades. Así debéis dejarlo en vuestra configuración Ahora buscamos: # authentication: loginGraceTime 120 este el tiempo que tendrá un usuario para identificarse PermitRootLogin yes esta opción es peligrosa tenerla habilitada ya que su uso puede permitir al “root” por nuestro sistema y eso no es conveniente por poder modificar todos los ficheros esta opción deberemos poner “no” Si también Queremos que ala hora de conectar a nuestro PC salga un mensaje de advertencia o un saludo deberemos habilitar la opción # Banner /etc/issue.net quitaremos la almohadilla y modificamos el fichero nombrado # gedit /etc/issue.net Configuracion del cliente: En otra maquina el cliente se instala de esta manera: # aptitude install ssh-client • Escribir “y” si lo pide Este lo lleva por defecto Ubuntu instalado Ahora pasamos a la configuración del mismo es muy sencilla: Aquí podemos permitir que se ejecute el entorno grafico y varias opciones mas # forwardX11 yes esta opción permite el entorno grafico Este fichero tiene muchas más opciones que ahora no vamos a utilizar Conexion e intercambio de archivos Para conectar a una maquina el server debe tener el servicio iniciado: # /etc/init.d/ssh start Una vez iniciado el servicio pasamos a la conexión remota por ssh # ssh –l [nombre del usuario] [ip de la maquina] O ssh [nombre de usuario]@[ip de la maquina] • Si hemos cambiado el puerto estas dos ordenes deben estar finalizadas –p [y el puerto deseado] Ahora una vez pulsado enter no dirá que es la primera vez que te vas a conectar que si quieres pasar la clave RSA key escribimos “yes” ahora se abra nos habrá pasado la clave publica a la maquina en la carpeta personal del usuario/home//.ssh esta carpeta esta oculta Y ya estaremos dentro de la maquina ala que hemos querido conectar. • Copiar ficheros de la maquina remota o Copiar fichero desde una maquina a otra por ssh evita hombre en medio esta táctica evita que otra persona escuche con algún sniffer y capture lo que enviamos gracias a que lo que enviamos está cifrado con las llaves publica y se puede descifrar con la llave privada scp ruta/archivo [cuenta del pc remoto]@[ip del pc real]:ruta/fichero • Copiar ficheros de maquina real a maquina remota o Esta opción copia ficheros de tu maquina a otra maquina scp @[ip de maquina remota:/home/[nombre de usuario]/ • Otro Usos o También existe la posibilidad de usar nautilus para la copia de archivos sin conectar Escribimos en terminal : # nautilus una vez abierto el visor arriba ala izquierda hacemos clic en un lápiz y escribimos en la nueva barra que ha sido desplegada ssh://[nombre-de-usuario]@[ip-de-la-maquina] Y podremos copiar archivos Como conectar sin que pida mas la contraseña Esta técnica es bastante buena para conexiones rapidas arrancamos en el PC servidor el eval con esta orden eval `ssh-agent` Nos saldrá el pid del eval este número identificador de procesos Una vez iniciado escribimos esta nueva orden Ssh-agent Esta orden dirá de nuevo el pid ssh_auth_sock y varia opciones mas ahora procederemos ala creación de la clave RSA escribimos ssh-keygen Ahora nos pedirá que digamos el nombre de la clave, podemos saltar este paso pulsando enter Ahora nos pedirá que escribamos la clave de paso passphrase esta clave debemos memorizarla la volvemos a reescribir Y nos dirá que ha terminado de crearla Nos vamos ala /home/[el nombre de usuario]/.ssh y hay encontraremos dos archivos id_rsa y id_rsa.pub esta última es la que deberemos pasar al usuario al que nos conectemos copiándosela en la carpeta /home/[nombre de usuario]/.ssh bien con los comando “scp” antes mencionados o un pendrive o enviándosela por email e introducirla en la carpeta Ahora conectamos a la maquina y ponemos la contraseña del usuario y la contraseña de la rsa Ya la próxima vez que volvamos a conectar al pc remoto no nos hara falta volver a escribir la contraseña

Configurar apache poner errores en español y hacer carpetas privadas En apache los errores no salen en español ya que por defecto no tiene ni los modulos ni puede haceder a los fichero necesarios Para ello debemos tener instalado apache en la maquina ,mi version 10.04 pero en ubuntu 9.10 tambien funciona = 1º Para aquellos que no sepan lo que es Apache2 El servidor HTTP Apache es un servidor web HTTP de código abierto para plataformas Unix (BSD, GNU/Linux, etc.), Microsoft Windows, Macintosh y otras, que implementa el protocolo HTTP/1.1[1] y la noción de sitio virtual. Cuando comenzó su desarrollo en 1995 se basó inicialmente en código del popular NCSA HTTPd 1.3, pero más tarde fue reescrito por completo. Su nombre se debe a que Behelendorf quería que tuviese la connotación de algo que es firme y enérgico pero no agresivo, y la tribu Apache fue la última en rendirse al que pronto se convertiría en gobierno de EEUU, y en esos momentos la preocupación de su grupo era que llegasen las empresas y "civilizasen" el paisaje que habían creado los primeros ingenieros de internet. Además Apache consistía solamente en un conjunto de parches a aplicar al servidor de NCSA. Era, en inglés, a patchy server (un servidor "parcheado". El servidor Apache se desarrolla dentro del proyecto HTTP Server (httpd) de la Apache Software Foundation. Apache presenta entre otras características altamente configurables, bases de datos de autenticación y negociado de contenido, pero fue criticado por la falta de una interfaz gráfica que ayude en su configuración. TODOS LOS COMANDOS SE HACEN DESDE UNA TERMINAL. 1º atualizar directorios de ubuntu $ sudo apt-get update 2º instalar apache -> sudo apt-get install apache2 3º una vez terminado de instalar pasamos ala configuracion de apache2 Archivos de configuracion de apache Basicos en la carpeta de apache port.conf ruta del fichero /etc/apache2/port.conf apache2.conf este es el fichero mas importante de configuracion de apache2 aqui es donde se configura apache ruta /etc/apache2/apache2.conf envvars este fichero son la variables de entorno, este fichero lo localizamos en /etc/apache2/envvars Ahi mas fichero de configuracion como el httpd.conf pero este ya no se usa era muy utilizado en versiones antiguas de apache ahora vamos a arrancar apache2 abirmos una terminal nos ponemos como administrador sudo su en intoducimos la contraseña del usuario en el que estamos logueados. y a continuacion introducimos /etc/init.d/apache2 start <-- este comando puede varia segun para la funcion que queramos que son tale como estas start,stop,restart una vez iniciado en el navegador pondremos localhost y nos saldra esto quiere decir que apache esta funcionando ahora vamos a probar los errores de apache ponemos localhost/aaa apache no encontrara y debera mostra esto ahora vamos a hacer que estas paginas salgan en español abrimos el archivo envvars mencionado anteriormente como administrador sudo gedit /etc/apache2/envvars y buscamos la siguiente linea export LANG= ahi la sutituiremos por esta export LANG="es" destos ahi dos debemos aserlos en los dos despues tambien localizaremos # ./etc/default/locale deberemos dejar /etc/default/locale el punto y la almohadilla deben borrarse ahora guardamos y cerramos Ahora daremos permisos a un archivo Para que ubuntu pueda entra en un archivo En el terminal pondremos $ sudo chmod 777 /etc/default/locale Este comando Cambiara los permisos para Qe pueda usar este fichero Ahora deberemos activar unos modulos para apache deberemos poner en el termianl estos comandos $ sudo a2enmod mod_alias y nos saldra que se a añadido la nueva configuracion hacemos lo mismo con esto mod $ sudo a2enmod include y $ sudo a2enmod negotiation Ahora ya hemos activado los modulos de apache necesarios vamos a pasar a descomentar la lineas de un fichero llamado localized-error-pages este archivos esta en /etc/apache2/conf.d/localized-error-pages este archivo lo podremos modifcar con gedit llamandolo con esta orden $ sudo gedit /etc/apache2/conf.d/localized-error-pages y nos abrira el archivo que en el abra este contenido Estas 30 lineas saldran comentadas con una almoadilla # delante de todas las lineas deberemos borrarlas y donde e puesto la flecha poner ese orden <IfModule mod_negotiation.c> <IfModule mod_include.c> <IfModule mod_alias.c> Alias /error/ "/usr/share/apache2/error/" <Directory "/usr/share/apache2/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority es en cs de fr it nl sv pt-br ro <---- este orden debe ser asin para que sarga en español ForceLanguagePriority Prefer Fallback </Directory> ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var ErrorDocument 404 /error/HTTP_NOT_FOUND.html.var ErrorDocument 405 /error/HTTP_METHOD_NOT_ALLOWED.html.var ErrorDocument 408 /error/HTTP_REQUEST_TIME_OUT.html.var ErrorDocument 410 /error/HTTP_GONE.html.var ErrorDocument 411 /error/HTTP_LENGTH_REQUIRED.html.var ErrorDocument 412 /error/HTTP_PRECONDITION_FAILED.html.var ErrorDocument 413 /error/HTTP_REQUEST_ENTITY_TOO_LARGE.html.var ErrorDocument 414 /error/HTTP_REQUEST_URI_TOO_LARGE.html.var ErrorDocument 415 /error/HTTP_UNSUPPORTED_MEDIA_TYPE.html.var ErrorDocument 500 /error/HTTP_INTERNAL_SERVER_ERROR.html.var ErrorDocument 501 /error/HTTP_NOT_IMPLEMENTED.html.var ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var </IfModule> </IfModule> </IfModule> Una vez puesto el fichero como lo he puesto anteriormente reiniciamos el servidor apache2 don el siguiente comando $sudo /etc/init.d/apache2 restart Ahora en el navegador pondremos localhost/aaaa y os dira archivo no encontrado en español y todos lo errores como 404, 500, 400 todos lo errores en español CARPETAS PRIVADAS Ahora vamos a configurar la carpetas privadas esta opcion sirve para proteger el contenido de una carpeta creamos una carpeta en /var/www/"nombre de la carpeta" en mi caso privada y dentro con gedit crearemos un fichero llamado ".htaccess" en el intruciremos este texto AuthName "Es necesario Autentificarse" AuthType Basic AuthUserFile "/var/claves" <-- esta ruta no debe ponerse con comillas y puede variar require valid-user ahora en un terminal pondremos $ sudo htpasswd -c "ruta donde lo guardaremos /var/claves" "nombre de usuario pepe"<-- la comillas no nos saldra que introducamos la contraseña y lo abra creado ahora deberemos decir en el fichero de configurarcion de la pagina de IT WORKS anteriomente vista en la foto que vea los enlaces abriremos el archivo con este comando $ sudo gedit /etc/apache2/sites-avalibles/default y buscamos en la primeras lineas este texto "AllowOverride none" lo cambiaremos por "AllowOverride all" Ahora en el navegador pondremos localhost/"nombre-de-la-carpeta en mi caso es privada" asin seria localhost/privada YA ABREMOS TERMINADO LOS ERRORES EN ESPAÑOL Y LAS CARPETAS PRIVADA ESPERO QUE LES GUSTE PROXIMAMENTE SSL, Y CREAR PAGINAS Ò DOMINIOS VIRTUALES tODO REALIZADO POR NIETOGRANADA Y TESTEADO COMENTEN y soy novato xd
SERVIDOR DNS BIN9 Domain Name System / Service (o DNS, en español: sistema de nombre de dominio) es un sistema de nomenclatura jerárquica para computadoras, servicios o cualquier recurso conectado a internet o a una red privada. Este sistema asocia información variada con nombres de dominios asignados a cada uno de los participantes. Su función más importante, es traducir (resolver) nombres inteligibles para los humanos en identificadores binarios asociados con los equipos conectados a la red, esto con el propósito de poder localizar y direccionar estos equipos mundialmente. El DNS es una base de datos distribuida y jerárquica que almacena información asociada a nombres de dominio en redes como Internet. Aunque como base de datos el DNS es capaz de asociar diferentes tipos de información a cada nombre, los usos más comunes son la asignación de nombres de dominio a direcciones IP y la localización de los servidores de correo electrónico de cada dominio. La asignación de nombres a direcciones IP es ciertamente la función más conocida de los protocolos DNS. La dirección numérica podría cambiar por muchas razones, sin que tenga que cambiar el nombre. BIND (Berkeley Internet Name Domain, anteriormente: Berkeley Internet Name Daemon) es el servidor de DNS más comúnmente usado en Internet, especialmente en sistemas Unix, en los cuales es un Estándar de facto. Es patrocinado por la Internet Systems Consortium. BIND fue creado originalmente por cuatro estudiantes de grado en la University of California, Berkeley y liberado por primera vez en el 4.3BSD. Paul Vixie comenzó a mantenerlo en 1988 mientras trabajaba para la DEC. Una nueva versión de BIND (BIND 9) fue escrita desde cero en parte para superar las dificultades arquitectónicas presentes anteriormente para auditar el código en las primeras versiones de BIND, y también para incorporar DNSSEC (DNS Security Extensions). BIND 9 incluye entre otras características importantes: TSIG, notificación DNS, nsupdate, IPv6, rndc flush, vistas, procesamiento en paralelo, y una arquitectura mejorada en cuanto a portabilidad. Es comúnmente usado en sistemas GNU/Linux. Nosotros lo vamos a utilizar con 2 sistemas operativo pero este software es compatible con muchas distribuciones de Linux/gnu las versiones utilizadas son(Ubuntu 9.10) y (Ubuntu 10.04) Iniciamos Ubuntu la versión deseada y procedemos abrir un terminal esta terminal ejecutara diverso comandos donde llevaremos acabo todos los servicios por instalar ahora ingresaremos como súper usuario a esa terminal: $ sudo su Una vez ingresados como súper usuario procederemos a la actualización de los repositorios de Ubuntu # aptitude update o # apt-get update una vez terminado de actualizar los repositorios de Ubuntu procederemos a la instalación de bind9 # aptitude install bind9 ya terminado de descargar y e instalar procederemos al uso de software pero antes de nada vamos a modificar y hacer copias de seguridad de varios archivos de configuración En primer lugar: # cp /etc/bind/db.local /etc/bind/db.ejemplo.com Ya habremos creado una copia exacta del fichero “local” pero con otro nombre “ejemplo.com” que va a ser el nombre de nuestro servidor de domino DNS ahora vamos a proceder a hacer una nueva copia de otro fichero para copias de seguridad # cp /etc/bind/named.conf /etc/bind/named.conf.bak # cp /etc/bind/ named.conf.default-zones /etc/bind/named.conf.default-zones.bak # cp /etc/bind/ named.conf.local /etc/bind/named.conf.local.bak Estos archivos son importantes tener una copia de seguridad, también deberemos tener varios ficheros llamados “db.0, db.255 db” ahora vamos a proceder a la modificación de uno de los ficheros anteriormente mencionados “db.ejemplo.com” introducimos el siguiente código para abrirlo con gedit procesador de texto gnome # gedit /etc/bind/db.ejemplo.com ahora una vez abierta la ventana de gedit en el entorno grafico procederemos a la modificación del no vamos a encontrar una estructura mas o menos como esta ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA local. root.local. ( en esta línea deberemos modifica donde pone local y poner ejemplo.com en los dos local 2010101402 ; Serial este número es importantísimo modificar cada vez que ágamos una modificación del fichero es recomendable ponerlo año mes día y nº de modificación 604800 ; Refresh tiempo de refresco 86400 ; Retry tiempo para reintentar 2419200 ; Expiretiempo que tarda en expirar 604800 ) ; Negative Cache TTLes el tiempo negativo de la cach ; @ IN NS local. aquí también deberemos poner ejemplo.com @ IN A 192.168.2.160 y aquí la ip del servido de DNS @ IN AAAA ::1 aquí se puede modificar también si se va utilizar ipv6 guardamos y cerramos el fichero ahora nos vamos al otro fichero llamado “named.conf.default-zones” lo abrimos también con gedit CONFIGURAR PARA SERVIDOR MAESTRO # gedit /etc/bind/ named.conf.default-zones Este fichero tendrá la siguiente estructura este fichero guarda la configuraciones ahora lo vamos a configurar para que el servicio sea maestro: // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; masters { 192.168.2.17; }; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; masters { 192.168.2.17; }; }; zone "ejemplo.com" { añadimos esto parrafos al fichero type master; esto indi que el servicio cuando arranque sera maestro file "/etc/bind/db.ejemplos.com "; aquí se está relacionado con la base de datos }; zone "192.in-addr.arpa" { añadimos también esta líneas al fichero de configuración type master; indicando que va a arranca en maestro file "/etc/bind/db.192"; esta es la base de datos }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; Una vez terminado este fichero guardamos y salimos de ahora el servicio estaría listo para iniciar como maestro su ordenes de arranque seria esta # /etc/init.d/bind9 start arrancar servicio DNS también puede quedarse memorizado en memoria y podríamos reiniciar el servicio # /etc/init.d/bind9 restart para reniciar el servicio o si tenemos que pararlo su orden seria # /etc/init.d/bind9 stop esta orden para el servicio si no no a dado ningún fallo el servicio debería de estar funcionando ahora en la maquina que queramos darle servicio le pondríamos como servidor DNS nuestra ip si diera fallo pondríamos la siguiente orden # gedit /var/log/syslog este fichero contiene todos lo errores y cambios del sistema tendríamos que localizar la hora en la que el error fue reportado CONFIGURAR PARA SERVIDOR MAESTRO Y ESCLAVO Debe de haber 2 PC con bind instalado y configurado como hasta ahora hemos pronunciado Ahora vamos a configura el servidor maestro esclavo esto quiere decir que si uno de lo servidores cae el otro seguirá trabajando: comenzamos modificando el fichero db.ejemplos.com en la terminal deberemos estar como súper usuario para saberlo tiene que aparece una # antes de la instrucción que nosotros escribamos # /etc/bind/db.ejemplo.com el cual debe tener esta estrutura ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ejemplo.com. root.ejemplo.com. ( 2010101402 ; Serial acodaros ala hora de salir del fichero modificar el numero 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ejemplo.com. @ IN A 192.168.2.160 @ IN AAAA ::1 @ IN NS ejemplo2.com. nombre del DNS esclavo @ IN A 192.168.2.161 ip del DNS ESCLAVO y ahora guardamos este fichero es del servido de DNS maestro ahora en el servidor de DNS esclavo de quedar así ; ; BIND data file for local loopback interface ; $TTL 604800 @ IN SOA ejemplo2.com. root.ejemplo2.com. ( 2010101402 ; Serial acodaros ala hora de salir del fichero modificar el numero 604800 ; Refresh 86400 ; Retry 2419200 ; Expire 604800 ) ; Negative Cache TTL ; @ IN NS ejemplo.com. nombre del DNS maestro @ IN A 192.168.2.160 ip del DNS maestro @ IN AAAA ::1 @ IN NS ejemplo2.com. nombre del DNS esclavo @ IN A 192.168.2.161 ip del DNS ESCLAVO guardamos y salimos del fichero . ahora en la maquina de servidor maestro abrimos el fichero de configuración # gedit /etc/bind/ named.conf.default-zones en el cual deberemos de añadir párrafos nuevos // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type master; file "/etc/bind/db.local"; masters { 192.168.2.17; }; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; masters { 192.168.2.17; }; }; zone "ejemplo.com" { añadimos esto parrafos al fichero type master; esto indi que el servicio cuando arranque sera maestro file "/etc/bind/db.ejemplos.com "; aquí se esta relacionado con la base de datos }; zone "192.in-addr.arpa" { añadimos también esta líneas al fichero de configuración type master; indicando que va a arranca en maestro file "/etc/bind/db.192"; esta es la base de datos }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; zone "ejemplo2.com" { añadimos esto parrafos al fichero type slave; esto indi que el servicio cuando arranque sera esclavo file "/etc/bind/db.ejemplos2.com "; aquí se esta relacionado con la base de datos }; zone "192.in-addr.arpa" { añadimos también esta líneas al fichero de configuración type slave; indicando que va a arranca en esclavo file "/etc/bind/db.192"; esta es la base de datos }; Guardamos y salimos de ese fichero ahora en la máquina de servidor de DNS esclavo deberemos de configura el mismo fichero # gedit /etc/bind/ named.conf.default-zones // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 zone "localhost" { type slave; file "/etc/bind/db.local"; masters { 192.168.2.161; };aquí indicamos quien es el maetro }; zone "127.in-addr.arpa" { type slave; file "/etc/bind/db.127"; masters { 192.168.2.161; };aquí indicamos quien es el maetro }; zone "ejemplo2.com" { type slave; file "/etc/bind/db.ejemplo2.com"; masters { 192.168.2.161; };aquí indicamos quien es el maetro }; zone "192.in-addr.arpa" { type slave; file "/etc/bind/db.192"; masters { 192.168.2.161; };aquí indicamos quien es el maetro }; zone "0.in-addr.arpa" { type slave; file "/etc/bind/db.0"; masters { 192.168.2.161; };aquí indicamos quien es el maetro }; zone "255.in-addr.arpa" { type slave; file "/etc/bind/db.255"; masters { 192.168.2.161; }; aquí indicamos quien es el maetro }; Guardamos el fichero y arrancamos los servicios en las dos maquina # /etc/init.d/bind9 start arrancar servicio DNS también puede quedarse memorizado en memoria y podríamos reiniciar el servicio # /etc/init.d/bind9 restart para reniciar el servicio o si tenemos que pararlo su orden seria # /etc/init.d/bind9 stop esta orden para el servicio Si no reporta errores en la maquina que quiera disfrutar del servicio debemos poner la ip del servidor de DNS esclavo SERVIDOR DE DNS CACHE El servidor de dns cache tiene la función de preguntar a otros servidores de DNS esta manera es de la mas fáciles de configurar en la terminal como super usuario ejecutamos la siguente orden # gedit /etc/bind/name.conf.options Y no sale el siguiente texto que debermos configura en la pc options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. // forwarders { deberemos des comentar quitando las dos // // 0.0.0.0; aquí es donde escribiremos la ip del servidor DNS y también des comentaremos // }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; El fichero debe quedar con el siguiente escrito a continuación options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See http://www.kb.cert.org/vuls/id/800113 // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. forwarders { deberemos des comentar quitando las dos // 195.235.96.90; aquí es donde escribiremos la ip del servidor DNS y también des comentaremos en este caso hemos elegido el servidor de DNS de telefónica “movistar” }; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; Guardamos y salimos del fichero para que funcione el servicio cache deberemos comenta r unas líneas del fichero name.conf # gedit /etc/bind/name.conf // This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; include "/etc/bind/named.conf.local"; //include "/etc/bind/named.conf.default-zones"; vamos a hacer que no busque en este fichero comentándolo con dos // al principio Guardamos el fichero y arrancamos el servicio # /etc/init.d/bind9 start arrancar servicio DNS también puede quedarse memorizado en memoria y podríamos reiniciar el servicio # /etc/init.d/bind9 restart para reniciar el servicio o si tenemos que pararlo su orden seria # /etc/init.d/bind9 stop esta orden para el servicio La maquina que disfrutara del servicio debe poner como servidor DNS la ip deservidor

¿Qué es un hacker? El Jargon File contiene un montón de definiciones del termino "hacker", la mayoría basadas en la afición a lo técnico y en el placer de resolver problemas sobrepasando los límites. Si deseas saber cómo convertirte en un hacker, bien, solo 2 puntos son realmente relevantes. Existe una comunidad, una cultura compartida, de programadores expertos y magos de las redes, cuya historia se remonta décadas atrás a los tiempos de los primeros miniordenadores de tiempo compartido y los tempranos experimentos con ARPAnet. Los miembros de esta cultura crearon el término "hacker". Los hackers construyeron Internet. Los hackers hicieron de Unix el sistema operativo que es hoy día. Los hackers hacen andar Usenet. Los hackers hacen funcionar la WWW. Si eres parte de esta cultura, si has contribuido a ella y otras personas saben quién eres y te llaman hacker, entonces eres un hacker. Los mentalidad hacker no está confinada a esta cultura del software. Hay gente que aplica la actitud de hacker a otras cosas, como la electrónica o la música —de hecho, puedes encontrarla en los más altos niveles de cualquier ciencia o arte. Los hackers de software reconocen estos espíritus emparentados en otras partes y pueden llamarlos "hackers" también— y algunos sostienen que la naturaleza hacker es en realidad independiente del medio particular en el cual el hacker trabaja. Sin embargo, en el resto de este documento nos centraremos en las habilidades y actitudes de los hackers de software, y en las tradiciones de la cultura compartida que originó el término "hacker". Existe otro grupo de personas que se llaman a sí mismos hackers, pero que no lo son. Son personas (generalmente varones adolescentes) que se divierten irrumpiendo ilegalmente en ordenadores y haciendo "phreaking" en el sistema teléfonico. Los auténticos hackers tienen un nombre para esas personas: "crackers", y no quieren saber nada de ellos. Los auténticos hackers opinan que la mayoría de los crackers son perezosos, irresponsables y no muy brillantes, y fundamentan su crítica en que ser capaz de romper la seguridad no le hace a uno un hacker, de la misma manera que ser capaz de arrancar un coche con un puente en la llave no le convierte en ingeniero de automotores. Desafortunadamente, muchos periodistas y escritores utilizan erróneamente la palabra "hacker" para describir a los crackers; esto causa enorme irritación a los auténticos hackers. La diferiencia básica es esta: los hackers construyen cosas; los crackers las destruyen. Si quieres ser un hacker, continúa leyendo. Si lo que quieres es ser un cracker, ve directo a leer el alt.2600 y prepárate para soportar la dura realidad cuando descubras que no eres tan listo como crees. Y eso es todo lo que voy a decir de los crackers. La actitud del hacker Los hackers resuelven problemas y construyen cosas, y creen en la libertad y la ayuda voluntaria mutua. Para ser aceptado como hacker, deberás comportarte como si tuvieras esta actitud en tu interior. Y para comportarte como si tuvieras esta actitud, deberás creerte de verdad dicha actitud. Pero si piensas en cultivar las actitudes de hacker solo como una forma de ganar aceptación en esta cultura, te estás equivocando. Transformarse en la clase de persona que cree estas cosas es importante para ti —para ayudarte a aprender y mantenerte motivado. Como en todas las artes creativas, el modo más efectivo de transformarse en un maestro es imitar la mentalidad de los maestros —no sólo intelectualmente, sino también emocionalmente. O como dice el siguiente poema zen moderno: Para seguir la trayectoria: mira al maestro, sigue al maestro, camina junto con el maestro, mira a través del maestro, conviértete en el maestro. Así que, si quieres ser un hacker, repite lo que sigue hasta que te creas lo que estás diciendo: 1. El mundo está lleno de problemas fascinantes que esperan ser resueltos Es muy divertido ser un hacker, pero es la clase de diversión que requiere mucho esfuerzo. El esfuerzo requiere motivación. Los atletas triunfadores obtienen su motivación a partir de un tipo de placer físico que surge de trabajar su cuerpo, al forzarse a sí mismos más allá de sus propios límites físicos. De manera similar, para ser un hacker deberás sentir un estremecimiento de tipo primitivo cuando resuelves problemas, afinas tus habilidades y ejercitas tu inteligencia. Si no eres la clase de persona que te sientes inclinado hacia estas cosas de forma natural, necesitarás poder experimentarlas para llegar a ser un hacker. De no ser así, encontrarás que tu energía para "hackear" se verá agotada por otras distracciones como el sexo, el dinero o la aprobación social. (Además deberás desarrollar cierta clase de fe en tu propia capacidad de aprendizaje —la creencia de que, aun cuando puedes no saber todo lo que necesitas para resolver un problema, si tomas una parte de él y aprendes desde allí, aprenderás lo suficiente para resolver la siguiente parte, y así, hasta que lo tengas resuelto por completo.) 2. Ningún problema tendría que resolverse dos veces Los cerebros creativos son un recurso valioso y limitado. No deben desperdiciarse reinventando la rueda cuando hay tantos y tan fascinantes problemas nuevos esperando por allí. Para comportarte como un hacker, debes creer que el tiempo para pensar que emplean otros hackers es precioso —tanto, que es casi una obligación moral para ti el compartir la información, resolver los problemas y luego exponer la solución de manera que los otros hackers puedan resolver nuevos problemas, en lugar de enfrentarse perpetuamente con los viejos. (No tienes que pensar que estás obligado a regalar todo tu producto creativo, aunque aquellos hackers que lo hacen son los que obtienen más respeto por parte de los demás hackers. Es consistente con los valores de un hacker venderse lo suficiente para pagar la comida, el alquiler y los ordenadores. También está bien la utilización de estas habilidades de hacker para sostener a la familia, o incluso hacerse rico, siempre que no olvides la lealtad a tu arte y a tus colegas hackers mientras lo haces.) 3. El aburrimiento y el trabajo rutinario son perniciosos Los hackers (y las personas creativas en general) nunca debieran ser sometidas a trabajos estupidamente repetitivos, porque cuando esto sucede significa que no están haciendo lo único que son capaces de hacer: resolver nuevos problemas. Este desperdicio de talento daña a todo el mundo. Por ello, las tareas rutinarias, repetitivas y aburridas no sólo son desagradables, sino intrínsecamente perversas. Para comportarte como un hacker, debes creer en esto lo suficiente como para automatizar las tareas rutinarias todo lo que se pueda, no solamente por ti mismo, sino para beneficio de todos los demás (especialmente otros hackers). (Existe una aparente excepción a esta regla. Los hackers hacen cosas a veces que pueden parecer repetitivas o aburridas a un observador, pero son un ejercicio para lograr claridad mental o para adquirir cierta habilidad u obtener cierta clase de experiencia que no podría conseguirse de otro modo. Pero esto es una elección —ningún ser pensante debiera nunca ser forzado a una situación que les aburra.) 4. La libertad es buena Los hackers son antiautoritarios por naturaleza. Cualquiera que pueda darte órdenes, puede obligarte a dejar de resolver ese problema que te está fascinando —y, dada la manera como trabajan las mentes autoritarias, encontrarán alguna razón espantosamente estúpida para hacerlo. Por eso, la actitud autoritaria debe ser combatida donde sea que se la encuentre, pues si se la deja te asfixiará, tanto a ti como a otros hackers. (Esto no es lo mismo que combatir toda autoridad. Los niños necesitan guía, y los criminales, restricciones. Un hacker puede estar de acuerdo en aceptar algún tipo de autoridad para poder obtener algo que desea más que el tiempo que gasta en seguir órdenes. Pero este es un pacto limitado, consciente; la clase de sumisión que desean los autoritarios no está en oferta.) Los autoritarios prosperan en la censura y el secreto. Y desconfían de la cooperación voluntaria y del intercambio de información —sólo les agrada la cooperación que tienen bajo su control. Así que, para comportarte como un hacker, deberás desarrollar una hostilidad instintiva hacia la censura, el secreto y la utilización de la fuerza o el fraude para someter a adultos responsables. Y deberás estar preparado para actuar en consencuencia. 5. La actitud no es sustituto para la competencia Para ser un hacker, deberás desarrollar algunas de esas actitudes. Pero tener solo la actitud no te transformará en hacker, como tampoco te puede transformar en un atleta campeón o en estrella del rock. Para transformarte en hacker necesitarás inteligencia, práctica, dedicación y trabajo duro. Por lo tanto, debes aprender a desconfiar de la actitud y respetar la competencia en todas sus formas. A ningún hacker le gusta perder el tiempo con quienes adoptan la pose de hacker, sino que veneran la competencia —especialmente la competencia al hackear, pero la competencia en cualquier ámbito está bien. Especialmente buena es la competencia en habilidades exigentes que poca gente domina, y la mejor es la competencia en habilidades exigentes que requieren agudeza mental, destreza y concentración. Si respetas la competencia, disfrutarás desarrollándola en ti mismo —el trabajo duro y la dedicación se transformarán en una especie de juego intenso, y no una rutina. Esa actitud es vital para transformarse en hacker. Habilidades básicas para el hacking La actitud hacker es vital, pero más aún lo son las habilidades. La actitud no es sustituto para la competencia, y existe un cierto conjunto de herramientas básicas que debes dominar antes que cualquier hacker sueñe con llamarse así. Este conjunto de herramientas cambia lentamente a lo largo del tiempo a medida que la tecnología crea nuevas habilidades y descarta otras por obsoletas. Por ejemplo, se incluía la programación en lenguaje máquina, y no se hablaba de HTML hasta hace poco. Pero hacia finales de 1996, está claro que se debe incluir lo siguiente: 1. Aprende a programar Esta es, por supuesto, la habilidad fundamental del hacker. Si no conoces ningún lenguaje de programacion, recomiendo empezar con Python. Es limpio, bien documentado, y relativamente fácil para novatos. A pesar de ser un buen primer lenguaje, no es un juguete; es muy poderoso, flexible y se adapta bien a grandes proyectos. He escrito un detallado análisis de Python. Hay disponibles buenos tutoriales en el sitio web de Python. Java es tambien un buen lenguaje para iniciarse en la programación. Es más difícil que Python, pero produce código más rápido que Python. Creo que es un buen segundo lenguaje para aprender. Pero no creas que podrás ser un hacker, siquiera un programador, si solo conoces un único lenguaje —debes aprender cómo pensar en los problemas de programación de una manera general, independiente de cualquier lenguaje. Para ser un hacker de verdad, precisas llegar al punto en el cual aprendas un lenguaje nuevo en días, relacionando lo que está en el manual con lo que ya sabe de antes. Esto significa que debes aprender varios lenguajes muy diferentes entre sí. Si deseas meterte seriamente en programación, tendrás que aprender C, la base de Unix. C++ es muy parecido a C; si conoces uno, aprender el otro no te resultará difícil. Sin embargo, ninguno de ellos es bueno para aprender a programar. Y hoy día, cuanto más puedas evitar programar en C, mas productivo serás. C es muy eficiente, y trabaja bien con los recursos de las maquinas. Desafortunadamente, C obtiene su eficiencia a base de mucho manejo a bajo nivel de los recursos (como la memoria) a mano. Todo esa programación a bajo nivel es muy compleja y propensa a errores, y tendrás que dedicar gran cantidad de tiempo a la depuración de los programas. Con las máquinas de hoy, tan poderosas, esto ya no es tan necesario —es más inteligente usar un lenguaje que use el tiempo de máquina menos eficientemente, pero en cambio use tu tiempo más eficientemente. O sea, Python. Otros lenguajes de particular importancia para los hackers son Perl y LISP. Perl vale la pena aprenderlo por razones prácticas: es amplísimamente usado por páginas web dinámicas y por sistemas de administración, así que incluso si nunca has escrito en Perl, deberías aprender a leerlo. Mucha gente usa Perl en la forma que yo sugiero usar Python, para evitar la programacion en C en trabajos que no requieran la eficiencia de C. Necesitarás ser capaz de entenderlo. Vale la pena aprender LISP por una razón diferente — La profunda e iluminadora experiencia que obtendrás cuando finalmente lo logres te hará ser mejor programador el resto de tus días, incluso si no usas LISP mucho. (Puedes obtener fácilmente algo de primera experiencia con LISP escribiendo y modificando los modos de edición del editor Emacs.) Lo mejor hoy día es aprender estos cinco (Python, Java, C/C++, Perl y LISP). Además de ser estos lenguajes los mas importantes en el hacking, representan muy diversas formas de aproximarse a la programación, y cada uno te educará de diferentes maneras. No puedo dar instrucciones completas en este documento de cómo puedes aprender a programar —es una habilidad compleja. Pero puedo adelantarte que los libros y los cursos no servirán (muchos, tal vez la mayoría de los mejores hackers, son autodidactas). Puedes aprender las características de los lenguajes —partes de conocimiento— de libros, pero el verdadero conocimiento lo adquieres en la vida real aplicando lo que ya sabes. Lo que sí servirá es a) leer código y b) escribir código. El aprendizaje de la programación es como aprender a escribir bien en lenguaje natural. La mejor manera de aprender es leer algo de las cosas escritas por los maestros del estilo, luego escribir algunas cosas tú mismo, leer mucho más, escribir un poco más... y repetir esto hasta que lo que escribes empieza a mostrar la clase de fuerza y economía que aprecias en tus modelos. Antes era difícil encontrar código de buena calidad para leer, porque había pocos programas de cierta magnitud disponibles en código fuente de tal manera que los hackers noveles pudieran meterles mano. Esta situación ha cambiado drásticamente: software de fuente abierta, herramientas de programación libres y sistemas operativos libres (todo ello hecho por hackers) están ampliamente disponibles en la actualidad. Lo que me lleva elegantemente a nuestro siguiente tema... 2. Consigue uno de los Unices libres; aprende a usarlo y a ponerlo en funcionamiento Asumo que tienes un ordenador personal o puedes acceder a uno (a estos muchachos de hoy día les resulta tan sencillo obtenerlo... :-)). El paso con mucho más importante que cualquier novato puede dar en el camino de adquirir las habilidades de un hacker es obtener una copia de Linux o alguno de los otros Unices tipo BSD libres, instalarlo en una máquina personal y hacerlo funcionar. Sí, es cierto que existen otros sistemas operativos en el mundo además de Unix. Pero sólo pueden encontrarse en formato binario —no puedes ni leer el código ni modificarlo—. Si intentas aprender a hackear en una máquina DOS, Windows o en un MacOS te sentirás como si tratas de aprender a bailar con el cuerpo escayolado. Bajo OS/X es posible, pero solo una parte del del sistema es código de fuente abierta —Es como si estuvieras golpeando un muro de varias capas de cemento, y aparte tienes que ser cuidadoso para no desarrollar el mal hábito de depender del código propietario de Apple. Si te concentras en Unix bajo el capó, puedes aprender cosas mas útiles. Unix es el sistema operativo de Internet. Si bien puedes aprender a usar Internet sin saber Unix, nunca podrás ser un hacker en Internet sin conocerlo. Por este motivo, la cultura hacker actual está muy centrada en Unix. (Esto no fue siempre así, e incluso la situación le desagrada a algunos de los hackers más veteranos, pero la simbiosis entre Unix e Internet es tan fuerte que hasta la energía de Microsoft parece incapaz de hacerle mella.) Así que consigue un Unix —personalmente me gusta Linux, pero hay otros (y sí, puedes hacer funcionar Linux y DOS/Windows en la misma máquina). Apréndelo. Hazlo funcionar. Métele mano, anímate. Comunícate en Internet mediante él. Lee el código. Modifícalo. En ese sistema se incluyen las mejores herramientas de programación (que incluyen C, Lisp y Perl) de lo que cualquier sistema operativo de Microsoft ni siquiera podría soñar, además te divertirás y te sumergirás en un caudal de conocimientos de tal magnitud que nunca hubieras imaginado, hasta que en cierto momento, mirando hacia atrás, te darás cuenta que ya eres un maestro hacker consumado. Si quieres saber más acerca del aprendizaje de Unix, ve a The Loginataka. Si quieres meter tus manos en Linux, echa un ojo en Dónde puedo obtener Linux. Puedes encontrar ayuda y recursos de BSD Unix en www.bsd.org. He escrito sobre los fundamentos básicos de Unix y de Internet. (Nota: No recomiendo instalar ni Linux ni BSD a solas si eres novato. Para Linux, encuentra un grupo de usuarios local de Linux y pide ayuda; o contáctalo mediante Open Projects Network. LISC mantiene canales IRC donde puedes obtener ayuda.) 3. Aprende a usar la Web y a programar en HTML La mayoría de las cosas que ha construido la cultura hacker funcionan fuera de la vista del gran público, ayudando en el funcionamiento de fábricas, oficinas y universidades, y carecen de un impacto obvio en la vida de quienes no son hackers. La Web es la única gran excepción, y es tan enorme y brillante este juguete de hackers que incluso los políticos admiten que está cambiando el mundo. Sólo por esta razón (y hay un montón de otras igualmente buenas), debes aprender a trabajar en la Web. No me estoy refiriendo a aprender a manejar un navegador (cualquiera puede hacer eso), sino que debes aprender a escribir HTML, el lenguaje de marcas de la Web. Si aún no sabes cómo programar, el aprendizaje que implica la escritura de HTML te enseñará algunos de los hábitos mentales que te ayudarán luego con la programación. Así que hazte una página personal. Prueba con XHTML, que es más claro que el clasico HTML. (Existen buenos tutoriales para principiantes en la Web; aquí hay uno.) Pero no vayas a creer que por tener una página personal estás más cerca de ser un hacker. La Web está llena de páginas personales. La mayoría de ellas son banales, basura sin contenido —basura muy vistosa, pero basura al fin (si deseas saber más sobre este tema, mira en The HTML Hell Page). Para que valga la pena, tu página debe tener contenido —debe ser interesante y/o útil para los otros hackers. Y esto nos lleva al próximo tema... 4. Si no tienes un inglés funcional, apréndelo Como estadounidense y hablante nativo de inglés, era reacio a sugerir esto, por si se interpretaba como una suerte de imperialismo cultural. Pero hablantes nativos de otras lenguas me han urgido a que señale que el inglés es el lenguaje con el que trabaja la cultura hacker e Internet, y necesitarás saberlo para funcionar en la comunidad hacker. Esto es muy cierto. Tiempo atrás, alrededor de 1991, aprendí que muchos hackers que tenían el inglés como segundo idioma lo usaban en discusiones técnicas, incluso cuando compartían su lengua natal; me comentaron que el inglés tiene un vocabulario técnico más rico que cualquier otra lengua y sencillamente por esto era mejor herramienta para el trabajo. Por razones similares, las traducciones de libros técnicos escritos originalmente en inglés son con frecuencia insatisfactorias (si es que se hacen). Linus Torvalds, un finlandés, comenta su codigo en inglés (al parecer nunca se le ocurrió hacerlo de otra manera). Su fluidez con el inglés ha sido un importante factor en su habilidad para reclutar una comunidad mundial de desarrolladores de Linux. Y esto nos lleva al próximo tema... Estatus en la cultura hacker De manera similar a muchas otras culturas sin economía monetaria, el hackerismo se basa en la reputación. Estás intentando resolver problemas interesantes, pero cuan interesantes y buenas son las soluciones que encuentres es algo que sólo tus iguales o superiores técnicamente hablando serán capaces de juzgar. De acuerdo a esto, cuando juegas el juego del hacker, aprendes a puntuarte principalmente en función de lo que los otros hackers piensan acerca de tus habilidades (este es el motivo por el cual no puedes ser un hacker de verdad hasta que otros hackers te denominen así de manera consistente). Este hecho está empañado por la imagen del hacking como trabajo solitario; también por un tabú cultural hacker (que ahora está decayendo, pero aún es fuerte) que impide que se admita el ego o la validación externa como elementos involucrados en la propia motivación. Específicamente, el hackerismo es lo que los antropólogos denominan una cultura del don. Adquieres estatus y reputación no mediante la dominación de las otras personas, ni por ser hermoso/a, ni por tener cosas que las otras personas desean, sino por donar cosas. Específicamente, al donar tu tiempo, tu creatividad, y el resultado de tu destreza. Existen básicamente cinco clases de cosas que puedes hacer para obtener el respeto de los hackers: 1. Escribir software de fuente abierta Lo primero (lo más central y más tradicional) es escribir programas que los otros hackers opinen que son divertidos o útiles, y donar los fuentes del programa a la cultura hacker para que sean utilizados. (Solíamos llamarlo free software pero esto confundía a demasiada gente, que no estaban seguros de qué se suponía que significaba free [en inglés, el término free es polisémico y puede significar "libre" o "gratis". En castellano no se da tal ambigüedad por lo que la expresión "software libre" resulta perfectamente adecuada — N. del T.]. La mayoría de nosotros, al menos un ratio 2:1 de acuerdo con los análisis del contenido de la web, ahora preferimos el término software "open source" [En castellano, sin embargo, se sigue usando habitualmente "software libre", aunque en esta versión hemos respetado, como es natural, el cambio en la terminología de Eric, que ha sustituido " free software" por open source en todos sus documentos, y lo hemos traducido por "código de fuente abierta" — N. del T.]). Los más reverenciados semidioses del hackerismo son las personas que han escrito programas de gran magnitud, con grandes capacidades que satisfacen necesidades de largo alcance, y los donan, de tal manera que cualquiera pueda utilizarlos. 2. Ayudar a probar y depurar software de fuente abierta También son reconocidas aquellas personas que depuran los errores del software de fuente abierta. En este mundo imperfecto, inevitablemente pasaremos la mayoría de nuestro tiempo de desarrollo en la fase de depuración. Este es el motivo por el cual los desarrolladores de software de fuente abierta piensan que un buen "beta-tester" (probador de versiones beta, alguien que sabe cómo describir claramente los síntomas, que puede localizar correctamente los problemas, que tolera los errores en una entrega apurada, y que está dispuesto a aplicar unas cuantas rutinas sencillas de diagnóstico) vale su peso en oro. Aun contando con un solo probador de estos, puede hacerse que el proceso de depuración pase de ser una prolongada pesadilla que lo deja a uno exhausto a ser sólo una saludable molestia. Si eres novato, trata de encontrar un programa en desarrollo en el cual estés interesado, y conviértete en un buen probador beta. Hay una progresión natural desde ayudar a probar programas, luego ayudar a depurarlos y más adelante ayudar a modificarlos. Aprenderás un montón de esa manera, y la gente te ayudará en el futuro. 3. Publicar informacion útil Otra buena cosa que puedes hacer es recopilar y filtrar información útil e interesante y construir páginas web o documentos tipo FAQ ("Preguntas Frecuentes", y ponerlos a disposición de los demás. La gente que mantiene las FAQ técnicas más importantes gozan de casi tanto respeto como los autores de software libre. 4. Ayudar a mantener en funcionamiento la infraestructura La cultura hacker (y el desarrollo ingenieril de Internet, para el caso) funciona gracias al trabajo voluntario. Existe una gran cantidad de trabajo necesario pero sin glamour que debe hacerse para que esto siga marchando —administrar listas de correo, moderar foros de discusión, mantener sitios donde se archivan grandes cantidades de software, desarrollar RFCs y otros estándares técnicos. La gente que desarrolla estas actividades goza de mucho respeto, porque todos saben que esos trabajos son grandes consumidores de tiempo y no tan divertidos como meterse con el código. Al hacerlos demuestran su dedicación. 5. Hacer algo por la cultura hacker en sí misma Finalmente, puedes propagar la cultura hacker en sí misma (por ejemplo, escribiendo un texto acerca de cómo transformarse en hacker :-)). Esto es algo que no estarás en disposición de hacer hasta que seas bien conocido en el ambiente por alguna de las cuatro cosas recién descritas. La cultura hacker no tiene líderes exactamente, pero tiene héroes culturales, ancianos de la tribu, historiadores y portavoces. Cuando hayas estado en las trincheras tiempo suficiente, podrás crecer y transformarte en uno de ellos. Pero ten cuidado: los hackers desconfían del ego ruidoso en sus jefes tribales, así que la búsqueda visible de esa clase de fama es peligrosa. En lugar de esforzarte en ello, es mejor colocarse en una posición tal que ella caiga sobre ti, y luego debes comportarte de manera modesta y con gracia con tu estatus. La conexión hacker/nerd Contrariamente al mito popular, no tienes que ser un nerd [literalmente "empollón", pero en la jerga hacker se ha asumido de forma irónica, perdiendo el matiz originalmente despectivo, y ha acabado usándose como sinónimo de alguien que se preocupa por las cosas importantes y no se entretiene en trivialidades. — N. del T.] para ser hacker. Ayuda, sin embargo, y muchos hackers son nerds. Al ser un marginado social, el nerd puede mantenerse concentrado en las cosas realmente importantes, como pensar y hackear. Por esta razón, muchos hackers han adoptado la etiqueta "nerd" e incluso utilizan el desagradable término geek como insignia de orgullo —es su forma de declarar su propia independencia de las expectativas sociales normales. Si deseas ver una discusión más extensa, dirígete a The Geek Page. Si puedes concentrarte lo suficiente en el hacking para ser bueno en ello, y encima disfrutar de vida personal, está bien. Es muchísimo más fácil ahora que cuando yo era un novato en los años setenta; la cultura dominante ve con mejores ojos a los tecno-nerds en la actualidad. Hay además un número creciente de personas que se dan cuenta de que con frecuencia los hackers son un material de alta calidad para novio/novia/marido/esposa. Si te siente atraído por la actividad hacker porque no tienes vida propia, está bien también —al menos no tendrá problemas de concentración—. A lo mejor más adelante puedes conseguir una vida propia como el resto de la gente. Cuestiones de estilo De nuevo, para ser un hacker, debes desarrollar la mentalidad del hacker. Existen algunas cosas que puedes hacer cuando estás sin ordenador, que pueden ayudarte. Estas cosas no son sustituto para la actividad propia de hackear (nada lo es) pero muchos hackers las realizan, y sienten que de alguna manera primitiva se conectan con la esencia de la actividad de hackear. Aprende a escribir correctamente en tu lengua. A pesar de que existe el estereotipo de que los programadores no son capaces de escribir, una cantidad sorprendente de hackers (incluyendo a los mejores que conozco), son escritores competentes. Lee ciencia-ficción. Ve a las reuniones sobre ciencia-ficción (es un buen método para conocer hackers y proto-hackers). Estudia zen, y/o practica artes marciales. (La disciplina mental se parece en ambos casos.) Desarrolla un oído analítico para la música. Aprende a apreciar clases peculiares de música. Aprenda a tocar correctamente algún instrumento musical, o a cantar. Desarrolla inclinación por los dobles sentidos y los juegos de palabras. Cuantas más cosas de estas hayas hecho, es más probable que poseas material natural para hacker. Por qué estas cosas en particular y no otras es algo que no está completamente claro, pero todas están conectadas con un mezcla de tu parte izquierda y derecha de las habilidades de tu cerebro, lo que parece ser una cosa importante; los hackers ser capaces tanto de razonamiento lógico como de dar pasos al margen de lógica aparente de un problema en un momento dado. Trabaja tan intensamente como juegas y juega tan intensamente como trabajas. Para los verdaderos hackers, la diferiencia entre "juego", "trabajo", "ciencia" y "arte" tienden a desaparecer, o mezclarse en un alto nivel de creatividad. Además, no te des por satisfecho con tener un estrecho rango de habilidades. Aunque la mayoría de los hackers se autodescriben como programadores, suelen ser más que competentes en actividades diversas —administración de sistemas, diseño web y arreglar problemas de hardware son algo común—. Un hacker que, por un lado, es administrador de sistemas, por el otro es también habilidoso en programación de scripts y diseño de webs. Los hackers no hacen las cosas a medias; si se meten de lleno en un tema, tienden a ser muy buenos en él. Finalmente, unas cuantas cosas que no debes hacer: No uses un nombre de usuario tonto o grandioso. No te metas en "flamewars" (discusiones airadas) en Usenet (ni en ningún otro lado). No te llames a ti mismo "ciberpunk", y no pierdas tu tiempo con nadie que lo haga. No publiques en los foros ni escribas correos con montones de errores de tecleo o construcciones gramaticales incorrectas. La única reputación que te ganarás con esas costumbres es la de tonto. Los hackers tienen una gran memoria —puede costar años hasta que te acepten de nuevo después de estas cosas. El problema con los apodos virtuales merece alguna explicación. Ocultar tu identidad detrás de un apodo es un comportamiento infantil y tonto que es característico de los crackers, warez d00dz, y otras formas inferiores de vida. Los hackers no hacen eso; ellos están orgullosos de lo que que hacen y lo quieren asociado con sus nombres reales . Así que si tienes un nombre de estos, abandónalo. En la cultura hacker solo servirán para marcarte como un perdedor. Otras fuentes de información Peter Seebach mantiene un excelente Hacker FAQ para directivos que no entiendan el trato con hackers. Si la pagina de Peter no responde, en la siguiente búsqueda en Excite encontrarás una copia. También he escrito A Brief History Of Hackerdom. He escrito un artículo The Cathedral and the Bazaar [existe traducción castellana: La catedral y el bazar — N. del T.], donde se explica bastante sobre cómo funciona la cultura de Linux y del software de fuente abierta. He estudiado este tema más directamente en su segunda parte, Homesteading the Noosphere [existe traducción castellana: Cultivando la noosfera — N. del T.]. Rick Moen ha escrito un excelente documento en how to run a Linux user group. Rick Moen y yo hemos colaborado en otro documento en How To Ask Smart Questions [existe traducción castellana: Cómo hacer preguntas de manera inteligente — N. del T.]. Esto te ayudará a encontrar asistencia en el camino. Si necesitas instrucciones para lo básico como ordenadores personales, Unix e Internet , ve a The Unix and Internet Fundamentals HOWTO. Cuando publicas software o escribes parches, procura seguir las directrices en el Software Release Practice HOWTO. Preguntas Frecuentes P: ¿Me enseñarás a hackear? P: ¿Cómo puedo iniciarme entonces? P: ¿Cuándo conviene empezar? ¿Es demasiado tarde para aprender? P: ¿Cuánto tiempo me costará aprender a hackear? P: ¿Son Visual Basic o C# buenos lenguajes para empezar? P: ¿Me ayudarías a crackear un sistema, o me enseñarías cómo hacerlo? P: ¿Cómo puedo obtener la contraseña de la cuenta de otra persona? P: ¿Cómo puedo acceder/leer/monitorizar el correo de otra persona? P: ¿Cómo puedo robar privilegios de operador de canal en el IRC? P: He sido crackeado. ¿Me ayudarás a defenderme de futuros ataques? P: Estoy teniendo problemas con mi Windows, ¿me ayudarás? P: ¿Dónde puedo encontrar a hackers de verdad para charlar con ellos? P: ¿Me puedes recomendar libros útiles sobre hacking y temas relacionados? P: ¿Necesito ser bueno en matemáticas para llegar a ser un hacker? P: ¿Qué lenguaje debería aprender primero? P: ¿Qué clase de hardware necesito? P:. Deseo contribuir. ¿Puedes ayudarme a escoger un problema en el que trabajar? P: ¿Necesito odiar y golpear a Microsoft? P: ¿Pero no imposibilitará el software de fuenta abierta ganarse la vida a los programadores? P: ¿Cómo puedo iniciarme? ¿Dónde puedo obtener un Unix libre? P: ¿Me enseñarás a hackear? R: Desde la primera publicación de esta página, me llegan varias peticiones por semana (a menudo varios por día) de gente que quiere que le "enseñe todo sobre hackeo". Desafortunadamente, no tengo ni el tiempo ni la energía para hacer eso; mis propios proyectos de hackeo consumen el 110% de mi tiempo. Aun si pudiera hacerlo, el hackeo es una actitud y habilidad que debes aprender por ti mismo. Te darás cuenta de que los hackers de verdad quieren ayudarte, pero no te respetarán si comienzas a rogarles que te alimenten en la boca con todo lo que saben. Aprende unas cuantas cosas primero. Muéstrales que lo estás intentando, que eres capaz de aprender por tu cuenta. Entonces dirígete a los hackers que conozcas pero ya con preguntas específicas. Si escribes un email a un hacker pidiéndole consejo, hay 2 cosas que debes saber antes. Primero, hemos encontrado que la gente que es perezosa o descuidada en sus escritos suelen ser demasiado perezosos o descuidados para pensar en ser buenos hackers —Así que ten cuidado en deletrear correctamente, y usar buena gramática y puntuación. En caso contrario, probablemente serás ignorado. En segundo lugar, no te atrevas a pedir una respuesta con una cuenta de ISP diferente a la cuenta desde la que estás enviando; nos encontramos gente que lo hacen que suelen ser timadores usando cuentas robadas, y no tenemos interes en ayudar o apoyar el robo. P: ¿Cómo puedo iniciarme entonces? R: La mejor manera para empezar probablemente es pasarte por un LUG ("Linux User Group", un grupo de usuarios de Linux local). Puedes encontrar grupos por ejemplo en la LDP General Linux Information Page; probablemente haya uno cerca de tu localidad, asociado con un colegio o universidad. Los miembros de los LUG probablemente te darán un Linux si lo pides, y ciertamente te ayudarán a instalarlo e iniciarte. P: ¿Cuándo conviene empezar? ¿Es demasiado tarde para aprender? R: Cualquier edad en la cual estés motivado para iniciarte es buena edad. La mayoría de la gente parece interesarse entre los 15 y 20 años, pero conozco excepciones en ambas direcciones. P: ¿Cuánto tiempo me costará aprender a hackear? R: Esto depende de tu talento y lo duro que trabajes. La mayoría de la gente puede adquirir un nivel de habilidad respetable a los dieciocho meses o dos años, si se concentran. Sin embargo, no creas que has finalizado ahí; si eres un hacker de verdad, te pasarás el resto de tu vida aprendiendo y perfecionando tu material. P: ¿Son Visual Basic o C# buenos lenguajes para empezar? R: No, porque no son portables. No hay ninguna implementación libre de esos lenguajes, así que estarías cerrándote solo a las plataformas a las que el fabricante decide dar soporte. Aceptar esta situacion de monopolio no es el camino del hacker. Visual Basic es especialmente tremendo. El hecho de que sea un lenguaje propiedad de Microsoft es suficiente para descalificarlo, y como otras versiones de Basic tiene un diseño pobre y te enseñará malos hábitos de programacion. Uno de esos malos hábitos es hacerte dependiente de las bibliotecas, módulos y herramientas de desarrollo procedentes de un solo fabricante. En general, cualquier lenguaje que no esté soportado bajo Linux o un de los BSDs, y/o cuando menos pueda ser ejecutado en 3 diferentes sistemas operativos, es un lenguaje deficiente para aprender a hackear. P: ¿Me ayudarías a crackear un sistema, o me enseñarías cómo hacerlo? R: No. Alguien que pregunta esto después de leer este documento es demasiado estúpido para poder ser instruido, incluso aunque tuviese tiempo para ello. Cualquier correo con este tipo de preguntas lo ignoraré o responderé con extrema rudeza. P: ¿Cómo puedo obtener la contraseña de la cuenta de otra persona? R: Eso es cracking. Desaparece, idiota. P: ¿Cómo puedo acceder/leer/monitorizar el correo de otra persona? A: Eso es cracking. Piérdete, imbécil. P: ¿Cómo puedo robar privilegios de operador de canal en el IRC? A: Eso es cracking. Fuera de aquí, cretino. P: He sido crackeado. ¿Me ayudarás a defenderme de futuros ataques? R: No. Todo el tiempo me han estado preguntando eso, se debe a la deficiente programación de Microsoft Windows. No es posible proteger a Windows de forma efectiva contra ataques de crackers; sencillamente, su código y su arquitectura tienen demasiados defectos. La unica prevención realizable consiste en cambiar a Linux o a algún otro sistema operativo que por lo menos esté diseñado para poder ser protegido. P: Estoy teniendo problemas con mi Windows, ¿me ayudarás? R: Sí. Ve a una línea de comandos de DOS y teclea: 'format c:'. Cualquier problema que estés experimentando, desaparecerá en pocos minutos. P: ¿Dónde puedo encontrar hackers de verdad para charlar con ellos? R: La mejor manera es encontrar un grupo de usuarios local de Unix or Linux e ir a sus reuniones (puedes encontrar links a varias listas de grupos de usuarios en el sitio de LDP en Metalab). (Antes solía decir que no encontrarías hackers reales en el IRC, pero estoy dándome cuenta que eso está cambiando. Al parecer algunas comunidades de hackers reales, vinculadas a cosas como GIMP y Perl, tienen canales de IRC ahora.) P: ¿Me puedes recomendar libros útiles sobre hacking y temas relacionados? R: Mantengo un Linux Reading List HOWTO que puedes encontrarlo útil. El Loginataka podría ser también interesante. Para una introducción a Python, echa un vistazo a los materiales introductorios en el sitio web de Python. P: ¿Necesito ser bueno en matemáticas para llegar a ser un hacker? R: No. Aunque necesitas ser capaz de pensar en términos lógicos y seguir cadenas de razonamiento exacto, el hacking usa muy poca matemática formal o aritmética. En particular, no necesitarás trigonometría, cálculo o análisis (eso se lo dejamos a los ingenieros electricos :-)). Algo de matemáticas finitas (incluyendo álgebra booleana, teoría de conjuntos finitos, combinatoria y teoría de grafos) puede ser útil. P: ¿Qué lenguaje debería aprender primero? R: XHTML (el dialecto más reciente de HTML) si todavía no lo sabes. Existe muchos muy malos libros de HTML afuera, y desafortunadamente solo algunos buenos. El que a mí me parece el mejor es HTML: The Definitive Guide. Pero HTML no es un lenguaje de programación completo. Cuando estés listo para empezar a programar, recomendaría empezar con Python. Escucharás a mucha gente que te recomiende Perl, y Perl es aún más popular que Python, pero es mas difícil de aprender y (en mi opinión) peor diseñado. C es realmente importante, pero es tambien mucho mas difícil que Python y Perl. No intentes aprenderlo primero. Usuarios de Windows: no os conforméis con Visual Basic. Os enseñará malos hábitos, y no es portable fuera de Windows. Evitadlo. P: ¿Qué clase de hardware necesito? R: Solía pasar que los ordenadores personales tenían pocas prestaciones y poca memoria, lo cual impuso límites artificiales en el proceso de aprendizaje de un hacker. Esto dejó de ser cierto hace algún tiempo; cualquier máquina de Intel 486DX50 o superior es lo suficientemente poderosa para el el trabajo de desarrollo, X y conexión a Internet, y los disquetes más pequeños que puedes comprar hoy son suficientes. Lo importante al escoger una máquina para aprender es si su hardware es compatible con Linux (o compatible con BSD). Esto vale también para las máquinas más modernas. La única cuestión complicada son los modems: algunas máquinas tiene hardware específico para Windows que no funciona con Linux. [Hay un sitio web llamado linmodems.org donde podrás determinar si, pese a ser un "winmodem", puedes conseguir que tu dispositivo funcione bajo GNU/Linux — N. del T.] Hay una FAQ acerca de la compatibilidad de hardware; la última versión está aquí. P:. Deseo contribuir. ¿Puedes ayudarme a escoger un tema en el que trabajar? R:. No, porque desconozco cuáles son tus talentos o intereses. Debes estar automotivado o no te dedicarás seriamente a ello, por eso casi nunca funciona que otras personas elijan por ti. Prueba esto. Mira los anuncios de Freshmeat durante algunos días. Cuando veas uno que te haga pensar: "¡Guay, me gustaría trabajar en eso!", únete. P: ¿Necesito odiar y golpear a Microsoft? R: No, no hace falta. Y no porque Microsoft no sea asqueroso, sino porque la cultura hacker existía mucho antes que Microsoft y seguirá existiendo aún largo tiempo después de que Microsoft sea historia. Cualquier energía que gastes odiando a Microsoft sería mejor empleada entusiasmándote con tus habilidades. Escribe buen código —esto será un golpe más duro para Microsoft y no requiere que ensucies tu karma. P: ¿Pero no imposibilitará el software de fuenta abierta ganarse la vida a los programadores? R: Esto parece improbable —hasta ahora la industria de software de fuente abierta parece estar creando empleos más que quitándolos. Si tener un programa escrito en una economía de red gana sobre no tenerlo escrito, un programador será remunerado independientemente de si el programa va a ser código abierto después de realizado. Y no importa cuánto software "gratis" tienes escrito, parece que siempre habrá más demanda para aplicaciones nuevas y especializadas. He escrito más sobre esto en las páginas de Open Source. P: P: ¿Cómo puedo iniciarme? ¿Dónde puedo obtener un Unix libre? R: En otro lugar de esta página incluyo punteros a lugares donde puedes obtener el Unix libre más usado. Para ser un hacker necesitas motivación y la iniciativa y la habilidad para educarte por ti mismo. Empieza ahora...