diff --git a/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml b/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml index c3a3b0f0fb..9a766694a2 100755 --- a/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/basics/chapter.sgml @@ -21,13 +21,14 @@ Sinopsis - El siguiente capítulo cubrirá la funcionalidad y - comandos básicos del sistema operativo FreeBSD. - Mucho de este material es relevante para cualquier sistema + El siguiente capítulo comprende la funcionalidad y + órdenes básicas del sistema operativo &os;. + Gran parte de este material es relevante para cualquier sistema operativo tipo &unix;. - Siéntase libre de hojear este capitulo si está - familiarizado con el material. Si es nuevo en FreeBSD, seguramente - querrá leer este capítulo cuidadosamente. + Puede saltarse este capítulo si considera que ya conoce + el funcionamiento de &unix;. + Si no tiene experiencia previa con &os; debería leer este + capítulo con mucha atención. Después de leer este capítulo, usted sabrá: @@ -38,36 +39,38 @@ FreeBSD. - Como trabajan los permisos de archivo &unix; junto - con el entendimiento de las banderas de archvo en &os;. + Cómo funcionan los permisos de fichero &unix; en + relación con las banderas de fichero en &os;. - La disposición de archivos de sistema en &os; por - defecto. + La disposición de sistemas de ficheros por defecto + en &os;. La organización de disco de &os;. - Como montar y desmontar sistemas de archivos. + Cómo montar y desmontar sistemas de ficheros. - Qué son los procesos, daemons y señales. + Qué son los procesos, dæmons y señales. - Que es un shell, como cambiar su ambiente de login por defecto. + Qué es una shell, cómo modificar sus variables + de ambiente de login por defecto. - Como utilizar editores de texto básicos. + Cómo utilizar editores de texto básicos. - Que son los dispositivos y nodos de dispositivos. + Qué son los dispositivos y nodos de dispositivos. - Que formato binario es utilizado bajo &os;. + Qué formato binario se usa en &os;. - Como leer páginas de manual para más información. + Cómo buscar información en las páginas + de manual. @@ -78,22 +81,23 @@ consola virtual terminales - FreeBSD puede ser utilizado de varias maneras. Una de ellas es - tecleando comandos en una terminal de texto. Mucha de la flexibilidad - y poder de un sistema operativo &unix; está inmediatamente - disponible al alcance de sus manos cuando usa FreeBSD de esta - manera. Esta sección describe que son terminales - y consolas, y como puede usarlas en FreeBSD. + &os; puede utilizarse de muchas maneras. Una de ellas es + tecleando órdenes en una terminal de texto. De este modo, mucha + de la flexibilidad y poder de un sistema operativo &unix; está + inmediatamente en sus manos cuando usa &os;. Esta sección + describe qué son terminales y + consolas, y cómo puede usarlas en &os;. La consola consola - Si no ha configurado FreeBSD para iniciar automaticamente un - entorno gráfico durante el arranque, el sistema le - presentará con un prompt de entrada despues del arranque, - justo despues que los scripts de inicio terminen de ejecutarse. - Usted verá algo similar a: + Si no ha configurado FreeBSD para iniciar automáticamente + un entorno gráfico en el arranque, el sistema le + presentará un prompt de entrada después + del arranque, inmediatamente después de que los + scripts de inicio terminen de ejecutarse. + Verá algo similar a esto: Additional ABI support:. Local package initialization:. @@ -101,161 +105,166 @@ Additional TCP options:. Fri Sep 20 13:01:06 EEST 2002 -FreeBSD/i386 (pc3.example.org) (ttyv0) +FreeBSD/i386 (pc3.ejemplo.org) (ttyv0) login: Los mensajes pueden ser un poco diferentes en su sistema, pero - verá algo similar. Las última dos líneas son + verá algo similar. Las últimas dos líneas son las que nos interesan por el momento. La penúltima línea dice: - FreeBSD/i386 (pc3.example.org) (ttyv0) + FreeBSD/i386 (pc3.ejemplo.org) (ttyv0) - Esta línea contiene algunas partes de información - acerca del sistema que acaba de arrancar. Esta usted mirando una - consola FreeBSD, corriendo en un procesador Intel + Esta línea contiene información + acerca del sistema que acaba de arrancar. Esta usted ante una + consola FreeBSD que se ejecuta en un procesador Intel o compatible de la arquitectura x86 - Esto es lo que i386 significa. Note que - incluso si no está ejecutando FreeBSD en un CPU Intel 386, - este va a ser i386. No es el tipo de su - procesador, sino la arquitectura la que es - mostrada aquí. + Esto es lo que i386 significa. Tenga en + cuenta que incluso si no está ejecutando &os; en una CPU + Intel 386, éste va a ser i386. + No es el tipo de su procesador, sino la + arquitectura la que se muestra aquí. . El nombre de esta máquina (cada máquina &unix; - tiene un nombre) es pc3.example.org, y usted - está ahora mirando su consola de sistema — la - terminal ttyv0. + tiene un nombre) es pc3.ejemplo.org, y usted + está ahora ante su consola de sistema (la + terminal ttyv0). Finalmente, la última línea siempre es: login: Esta es la parte donde se supone que usted teclée - su nombre de usuario para entrar en FreeBSD. - La siguiente sección describe como puede hacer esto. + su nombre de usuario para entrar en &os;. + La siguiente sección describe cómo hacerlo. - Entrando a FreeBSD + La entrada a &os; - FreeBSD es un sistema multiusuario, multiprocesador. Esta - es la descripción formal que es dada usualmente a un + &os; es un sistema multiusuario multiprocesador. Esta + es la descripción formal que se suele dar a un sistema que puede ser utilizado por muchas personas diferentes, - que simultaneamente corren muchos programas en un sola + que simultáneamente ejecutan muchos programas en un sola máquina. - Cada sistema multiusuario necesita alguna manera para - distinguir a un usuario del resto. En FreeBSD - (y en todos los sistemas operativos tipo &unix;), esto se - logra requiriendo que cada usuario debe firmarse - en el sistema antes de poder correr programas. Cada usuario + Cada sistema multiusuario necesita algún modo de + distinguir a un usuario del resto. En &os; + (y en todos los sistemas operativos tipo &unix;) esto se + logra requiriendo que cada usuario debe acceder + al sistema antes de poder ejecutar programas. Cada usuario tiene un nombre único (el nombre de usuario) - y una llave secreta, personal (la contraseña). - FreeBSD preguntará por estos dos antes de permitirle a - un usuario correr cualquier programa. + y una clave secreta, personal (la contraseña). + &os; preguntará por ambos antes de permitirle a + un usuario ejecutar cualquier programa. scripts de inicio - Justo despues que FreeBSD arranca y termina de correr sus - scripts de inicio + Justo después de que &os; arranque y termine de + ejecutar sus scripts de inicio - Scripts de inicio son programas que son ejecutados - automaticamente por FreeBSD cuando arranca. Su función + Los scripts de inicio son programas que &os; + ejecuta automáticamente cuando arranca. Su función principal es preparar las cosas para que todo lo demás se ejecute, e iniciar cualquier servicio que tenga configurado - para correr en segundo plano haciendo cosas útiles. - , le presentará un prompt y solicitará - un nombre de usuario válido: + para ejecutarse en segundo plano haciendo cosas + útiles. + , le presentará un prompt y + solicitará un nombre válido de usuario: login: - Para efectos de este ejemplo, vamos a asumir que su nombre de - usuario es john. Teclée john - en este prompt y presione Enter. Se le debe presentar - un prompt para entrar una contraseña: + En este ejemplo vamos a asumir que su nombre de + usuario es john. Teclée + john en el prompt y pulse + Enter. Debería presentársele un + prompt donde introducir una + contraseña: login: john Password: Teclée ahora la contraseña de john - y presione Enter. !La contraseña no - produce eco! no necesita preocuparse por eso en este - momento. Es suficiente decir que esto es hecho por razones de + y pulse Enter. La contraseña + no se muestra en pantalla, pero no debe + preocuparse por ello. Esto se hace así por motivos de seguridad. - Si ha tecleado su contraseña correctamente, ya debe estar - firmado en FreeBSD en este momento y listo para probar todos los - comandos disponibles. + Si ha tecleado su contraseña correctamente ya está + usted en un sistema &os;, listo para probar todas las + órdenes disponibles. - Debe de ver el MOTD o mensaje del día - seguido por un prompt de comandos (un caracter #, - $ o %). Esto indica - que se ha firmado exitosamente en FreeBSD. + Verá el MOTD (mensaje del día) + seguido por un prompt (un caracter #, + $ o %). Esto confirma + que ha validado con éxito su usuario en &os;. Consolas múltiples - Ejecutar comandos &unix; en una consola está bien, pero - FreeBSD puede correr muchos programas a la vez. Tener una consola - donde se pueden teclear comandos puede ser un poco de desperdicio - cuando un sistema operativo como FreeBSD puede correr docenas de - programas al mismo tiempo. Aquí es donde las + Ejecutar órdenes &unix; en una consola está bien, + pero &os; puede ejecutar muchos programas a la vez. Tener una consola + donde se pueden teclear órdenes puede ser un poco de desperdicio + cuando un sistema operativo como &os; puede ejecutar docenas de + programas al mismo tiempo. Aquí es donde las consolas virtuales pueden ser de mucha ayuda. - FreeBSD puede ser configurado para presentarle diferentes - consolas virtuales. Puede cambiar de una de ellas a cualquier - otra consola virtual presionando un par de teclas en su teclado. - Cada consola tiene su propio canal de salida diferente, y FreeBSD + &os; puede ser configurado para presentarle diferentes + consolas virtuales. Puede cambiar de una de ellas a cualquier + otra consola virtual pulsando un par de teclas en su teclado. + Cada consola tiene su propio canal de salida, y &os; se ocupa de redireccionar correctamente la entrada del teclado y la salida al monitor cuando cambia de una consola virtual a la siguiente. - Combinaciones especiales de teclas han sido reservadas por - FreeBSD para cambiar consolas - Una descripción bastante técnica y correcta - de todos los detalles de la consola FreeBSD y los controladores de + Se han reservado ciertas combinaciones especiales de teclas + para pasar de unas consolas virtuales a otras en &os; + Tiene una descripción bastante técnica y correcta + de todos los detalles de la consola &os; y los controladores de teclado pueden encontrarse en las páginas de manual de &man.syscons.4;, &man.atkbd.4;, &man.vidcontrol.1; y - &man.kbdcontrol.1;. No nos explayaremos en los detalles aquí, - pero el lector interesado siempre puede consultar las páginas - de manual para una explicación más detallada y - profunda de como funcionan estas cosas. + &man.kbdcontrol.1;. No nos extenderemos en los detalles aquí, + pero el lector interesado siempre puede consultar dichas + páginas de manual si quiere una explicación + más detallada y profunda de cómo funcionan + estas cosas. . Puede utilizar AltF1, - AltF2 hasta - AltF8 para cambiar - a una consola virtual diferente en FreeBSD. + AltF2 y + así sucesivamente hasta + AltF8 para + cambiar a una consola virtual diferente en &os;. - Mientras está cambiando de una consola a la siguiente, - FreeBSD se ocupa de salvar y restaurar la salida de pantalla. El - resultado es una ilusión de tener varias - pantallas y teclados virtuales que puede utilizar - para teclear comandos para que los corra FreeBSD. El programa que - usted lanza en una consola virtual no termina de correr cuando la - consola no está visible. Continúan ejecutándose + Mientras está cambiando de una consola a la siguiente, + FreeBSD se ocupa de guardar y restaurar la salida de pantalla. El + resultado es la ilusión de tener varias + pantallas y teclados virtuales que puede utilizar + para teclear órdenes para que los ejecute &os;. El programa que + usted lanza en una consola virtual no deja de ejecutarse cuando la + consola no está visible. Continúan ejecutándose cuando se cambia a una consola virtual diferente. - El archivo <filename>/etc/ttys</filename> + El fichero <filename>/etc/ttys</filename> - La configuración por omisión de FreeBSD iniciará - con ocho consolas virtuales. Esta no es una configuración - estática por hardware y usted puede facilmente personalizar - su instalación para arrancar con más o menos consolas - virtuales. El número y propiedades de las consolas - virtuales están configurados en el archivo + La configuración por defecto de &os; iniciará + con ocho consolas virtuales. Esta no es una configuración + estática por hardware y usted puede personalizar + fácilmente su sistema para arrancar con más o menos + consolas virtuales. El número y propiedades de las consolas + virtuales están detallados en /etc/ttys. - Puede utilizar el archivo /etc/ttys para - configurar las consolas virtuales de FreeBSD. Cada línea no - comentada en este archivo (líneas que no inician con un + Use /etc/ttys para + configurar las consolas virtuales de &os;. Cada línea no + comentada de este fichero (líneas que no comienzan con un caracter #) contiene propiedades para una sola - terminal o consola virtual. La versión por omisión de - este archivo que se encuentra en FreeBSD configura nueve consolas - virtuales y habilita ocho de ellas. Son las líneas que inician - con ttyv: + terminal o consola virtual. La versión por defecto de + este fichero en FreeBSD configura nueve consolas + virtuales y habilita ocho de ellas. Son las líneas que + comienzan con ttyv: # name getty type status comments # @@ -270,43 +279,46 @@ ttyv6 "/usr/libexec/getty Pc" cons25 on secure ttyv7 "/usr/libexec/getty Pc" cons25 on secure ttyv8 "/usr/X11R6/bin/xdm -nodaemon" xterm off secure - Para una descripción detallada de cada columna en este - archivo y todas las opciones que puede usar para configurar las - consolas virtuales, consulte la página de manual &man.ttys.5;. + Consulte &man.ttys.5; si quiere una descripción detallada + de cada columna en este fichero y todas las opciones que puede usar + para configurar las consolas virtuales. Consola en modo monousuario - Una descripción detallada de lo que es modo - monousuario puede encontrarse en . - No importa que solo exista una consola cuando ejecuta FreeBSD en - modo monousuario. No existen consolas virtuales disponibles. Las + En la encontrará una + descripción detallada de lo que es modo + monousuario + No importa que solo exista una consola cuando ejecuta &os; en + modo monousuario. No existen consolas virtuales disponibles. Las configuraciones de la consola en modo monousuario se pueden encontrar - también en el archivo /etc/ttys. Busque la - línea que inicia con console: + también en /etc/ttys. Busque la + línea que comienza con console: # name getty type status comments # -# Si la consola está marcada como "insecure", entonces init preguntará -# por la contraseña de root al entrar a modo monousuario. +# Si la consola está marcada como "insecure", entonces init +# le pedirá la contraseña de root al entrar a modo monousuario. console none unknown off secure - Como los comentarios arriba de la línea console - indican, usted puede editar esta línea y cambiar - secure a insecure. Si hace - eso, cuando FreeBSD arranque en modo monousuario, todavía - preguntará por la contraseña de - root. + Tal y como indican los comentarios por encima de la + línea console, puede editar esta + línea y cambiar secure por + insecure. Si lo hace, cuando &os; arranque + en modo monousuario el sistema le pedirá la + contraseña de root. + - Tenga cuidado al cambiar esto a - insecure. Si olvida la - contraseña de root, arrancar - en modo monousuario está un poco involucrado. Todavía - es posible, pero puede ser un poco difícil para alguien - que no se encuentra muy cómodo con le proceso de - arranque de FreeBSD y los programas involucrados. + Tenga cuidado si cambia esto a + insecure. Si olvida la + contraseña de root arrancar + en modo monousuario será con seguridad más + complicado. Sigue siendo posible, pero será un poco + difícil para alguien que no esté familiarizado + con le proceso de arranque de &os; y los programas involucrados + en dicho proceso. @@ -315,27 +327,28 @@ console none unknown off secure Permisos UNIX - FreeBSD, cuya raiz histórica es el UNIX BSD, tiene - sus fundamentos basados en varios conceptos clave de UNIX. El primero, y - más remarcado, es que FreeBSD es un sistema operativo - multi-usuario. El sistema puede manejar varios usuarios trabajando - todos simultáneamente y en tareas que no guardan relación - entre sí. El sistema es el responsable de compartir y administrar + &os;, cuya raíz histórica es el UNIX BSD, + se fundamenta en varios conceptos clave de UNIX. El primero y + más importante es que &os; es un sistema operativo + multi-usuario. El sistema puede gestionar varios usuarios trabajando + simultáneamente y en tareas que no guardan relación + entre sí. El sistema se encarga de compartir y administrar peticiones de dispositivos de hardware, periféricos, memoria y tiempo de Unidad Central de Proceso (CPU) de manera equitativa para cada usuario. Debido a que el sistema es capaz de soportar múltiples usuarios, todo lo que el sistema administra tiene un conjunto de - permisos que gobiernan quién puede leer, escribir y ejecutar el - elemento. Estos permisos se guardan como octetos divididos en tres - partes: una para el propietario del archivo, otra para el grupo al que - el archivo pertenece, y otra para cualquier otro. Esta - representación numérica funciona así: + permisos que usa para decidir quién puede leer, escribir y + ejecutar un recurso. Estos permisos se guardan como octetos + divididos en tres partes: una para el propietario del fichero, otra + para el grupo al que el fichero pertenece, y otra para todos los + demás grupos y usuarios. Veamos una + representación numérica de esto: permisos - permisos de archivo + permisos de fichero @@ -403,17 +416,17 @@ console none unknown off secure directorios - Puede utilizar el argumento de línea de comando - en &man.ls.1; para ver un listado - largo que incluye una columna con información acerca - de los permisos de archivo para el propietario, grupo y - los demás. Por ejemplo, un ls -l en - un directorio arbitrario puede mostrar: + Puede utilizar el parámetro de línea de órdenes + de &man.ls.1; para ver un listado + largo que incluya una columna con información acerca + de los permisos de fichero para el propietario, grupo y + los demás. Por ejemplo, un ls -l en + un directorio arbitrario puede mostrar algo como esto: &prompt.user; ls -l total 530 --rw-r--r-- 1 root wheel 512 Sep 5 12:31 myfile --rw-r--r-- 1 root wheel 512 Sep 5 12:31 otherfile +-rw-r--r-- 1 root wheel 512 Sep 5 12:31 mifichero +-rw-r--r-- 1 root wheel 512 Sep 5 12:31 otrofichero -rw-r--r-- 1 root wheel 7680 Sep 5 12:31 email.txt ... @@ -423,54 +436,55 @@ total 530 -rw-r--r-- El primer caracter (más a la izquierda) indica si - este archivo es un archivo regular, un directorio, un + este fichero es un fichero regular, un directorio, un dispositivo especial de caracter, un socket o cualquier otro - dispositivo especial pseudo-archivo. En este caso, el - - indica un archivo regular. Los siguientes tres caracteres, - rw- en este ejemplo, dan los permisos - para el propietario del archivo. Los siguientes tres caracteres, + dispositivo especial pseudo-ficheroa . En este caso, el + - un fichero regular. Los siguientes tres + caracteres, rw- en este ejemplo, dan los permisos + para el propietario del fichero. Los siguientes tres caracteres, r--, dan los permisos para el grupo al que - el archivo pertenece. Los últimos tres caracteres, + el fichero pertenece. Los últimos tres caracteres, r--, dan los permisos para el resto del - mundo. Un guión indica que el permiso está desactivado. - En el caso de este archivo, los permisos están + mundo. Un guión indica que el permiso está desactivado. + En el caso de este fichero, los permisos están asignados de tal manera que el propietario puede leer y escribir - en el archivo, el grupo puede leer el archivo, y el resto del - mundo sólo puede leer el archivo. De acuerdo con la tabla - de arriba, los permisos para este archivo serían 644, + en el fichero, el grupo puede leer el fichero, y el resto del + mundo sólo puede leer el fichero. De acuerdo con la tabla + de arriba, los permisos para este fichero serían + 644, donde cada dígito representa las tres partes de los - permisos del archivo. + permisos del fichero. Todo ésto está muy bien, pero ¿cómo - controla el sistema los permisos de los dispositivos? FreeBSD en + controla el sistema los permisos de los dispositivos? &os; en realidad trata la mayoría de los dispositivos hardware como un - archivo que los programas pueden abrir, leer y en los que pueden - escribir datos como si de cualquier otro archivo se tratara. Estos - archivos especiales de dispositivos se encuentran en el directorio + fichero que los programas pueden abrir, leer y en los que pueden + escribir datos como si de cualquier otro fichero se tratara. Estos + ficheros especiales de dispositivo se encuentran en el directorio /dev. - Los directorios también son tratados como archivos. Tienen - permisos de lectura, escritura y ejecución. El bit de + Los directorios también son tratados como ficheros. Tienen + permisos de lectura, escritura y ejecución. El bit de ejecución en un directorio tiene un significado - ligéramente distinto que para los archivos. Cuando un directorio + ligeramente distinto que para los ficheros. Cuando un directorio está marcado como ejecutable significa que se puede mirar dentro, - se puede hacer un cd (cambiar directorio) a él. - Esto también significa que dentro del directorio es posible - accesar archivos cuyos nombres son conocidos (sujeto, claro está, - a los permisos en los archivos mismos). + se puede hacer un cd (cambiar directorio) a él. + Esto también significa que dentro del directorio es posible + acceder a ficheros cuyos nombres son conocidos (sujeto, claro está, + a los permisos de los ficheros mismos). En particular, para poder realizar un listado de directorio, el permiso de lectura debe ser activado en el directorio, - mientras que para borrar un archivo del que se conoce el - nombre, es necesario tener permisos de escritura y - ejecución en el directorio que contiene el archivo. + mientras que para borrar un fichero del que se conoce el + nombre es necesario tener permisos de escritura y + ejecución en el directorio que contiene el fichero. Existen más permisos, pero se usan principalmente en circunstancias especiales como los binarios ejecutables de tipo setuid - y los los directorios de tipo sticky. Si desea más - información acerca de los permisos de archivos y como - establecerlos, asegúrese de mirar la página de manual de - &man.chmod.1;. + y los los directorios de tipo sticky. Si desea más + información acerca de los permisos de ficheros y cómo + establecerlos, consulte &man.chmod.1;. + @@ -478,7 +492,7 @@ total 530 Tom Rhodes - Contribuido por + Escrito por @@ -486,11 +500,11 @@ total 530 Permisos simbólicos permisossymbolic - Los permisos simbólicos, algunas veces referidos como + Los permisos simbólicos, también conocidos como expresiones simbólicas, utilizan caracteres en lugar de valores - octales para asignar permisos a archivos o directorios. Las expresiones + octales para asignar permisos a ficheros o directorios. Las expresiones simbólicas utilizan la sintaxis de (quién) (acción) - (permisos), donde los valores siguientes están disponibles: + (permisos) mediante los siguientes valores: @@ -512,7 +526,7 @@ total 530 (quién) g - Propietario de grupo + Grupo propietario @@ -524,19 +538,19 @@ total 530 (quién) a - Todos (mundo) + Todos (todo el mundo) (acción) + - Agregar permisos + Añadir permisos (acción) - - Remover permisos + Quitar permisos @@ -566,7 +580,7 @@ total 530 (permisos) t - Bit Sticky + Bit Sticky (pegajoso) @@ -578,18 +592,19 @@ total 530 - Estos valores son utilizados con el comando &man.chmod.1; - de la misma manera que los anteriores, pero con letras. Por - ejemplo, usted podría usar el siguiente comando para - bloquear a otros usuarios el acceso a FILE: + Estos valores se aplican con &man.chmod.1; + de la misma manera que los anteriores, pero con letras. Por + ejemplo, podría usar la siguiente orden para + bloquear a otros usuarios el acceso a FICHERO: - &prompt.user; chmod go= FILE + &prompt.user; chmod go= FICHERO - Una lista separada por comas puede brindarse cuando más - de un conjunto de cambios se debe realizar a un archivo. Por - ejemplo el siguiente comando eliminará los permisos de - escritura de grupo y mundo en FILE, - y entonces agrega permisos de ejecución para todos: + Puede usarse una lista separada por comas cuando + se quiera aplicar más de un conjunto de cambios a un fichero. + Por ejemplo la siguiente orden eliminará los permisos de + escritura de grupo y mundo a + FICHERO, y añade permisos de + ejecución para todos: &prompt.user; chmod go-w,a+x FILE @@ -606,52 +621,54 @@ total 530 Tom Rhodes - Contribuido por + Escrito por - Banderas de archivo de &os; + Banderas de fichero en &os; - Además de los permisos de archivo discutidos - previamente, &os; soporta el uso de banderas de - archivo. Estas banderas agregan un nivel de seguridad - y control adicional sobre archivos, pero no sobre directorios. + Además de los permisos de fichero previamente + expuestos, &os; permite el uso de banderas de + fichero. Estas banderas añaden un nivel de seguridad + y control adicional sobre ficheros, pero no sobre directorios. - Estas banderas de archivo agregan un nivel de control - adicional sobre archivos, ayudando a asegurar que en algunos + Estas banderas de fichero añaden un nivel adicional + de control sobre ficheros, ayudando a asegurar que en algunos casos ni siquiera root pueda eliminar - o alterar archivos. + o alterar ficheros. - Las banderas de archivo son alteradas usando la utilidad - &man.chflags.1;, mediante una interfaz simple. Por ejemplo, - para habilitar la bandera imborrable de sistema en el archivo - file1, escriba el siguiente comando: + Las banderas de fichero se modifican mediante + &man.chflags.1;, gracias a una interfaz muy sencilla. Por ejemplo, + para habilitar la bandera imborrable de sistema en + fichero1, escriba lo siguiente: - &prompt.root; chflags sunlink file1 + &prompt.root; chflags sunlink fichero1 - Y para dehabilitar la bandera imborrable de sistema, - simplemente escriba el comando previo con no - al frente de . Observe: + Y para dehabilitar la bandera imborrable de sistema, + simplemente escriba la orden previa con no + antes de . Observe: - &prompt.root; chflags nosunlink file1 + &prompt.root; chflags nosunlink fichero1 - Para ver las banderas en este archivo, utilice + Para ver las banderas de este fichero, utilice &man.ls.1; con las opciones : - &prompt.root; ls -lo file1 + &prompt.root; ls -lo fichero1 - La salida debe verse como la siguiente: + La salida debería ser como esta: - -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 file1 + -rw-r--r-- 1 trhodes trhodes sunlnk 0 Mar 1 05:54 fichero1 - Varias banderas solo pueden ser agregadas o removidas - de archivos por el usuario root. En - otros casos, el propietario del archivo puede activar estas - banderas. Se recomienda que un administrador lea las - páginas de manual &man.chflags.1; y &man.chflags.2; - para más información. + Varias banderas solo pueden ser añadidas o retiradas + de ficheros por el usuario root. En + otros casos, el propietario del fichero puede activar estas + banderas. Se recomienda que para más información + la persona encargada de la administración del sistema + consulte las páginas de manual &man.chflags.1; y + &man.chflags.2;. + @@ -659,36 +676,35 @@ total 530 Estructura de directorios jerarquía de directorios - La jerarquía del sistema de archivos de FreeBSD es + La jerarquía del sistema de ficheros de &os; es fundamental para obtener una compresión completa del - sistema. El concepto más importante de entender es el - del directorio raíz, /. Este directorio - es el primero en ser montado al momento de arranque y contiene - el sistema básico necesario para preparar al sistema - operativo para la operación en modo multiusuario. - El directorio raiz también contiene puntos de montaje - para cualquier otro sistema de archivos que se desee montar. + sistema. El concepto más importante a entender es el + del directorio raíz, /. Este directorio + es el primero en ser montado en el arranque y contiene + el sistema básico necesario para preparar el sistema + operativo para su funcionamiento en modo multiusuario. + El directorio raíz también contiene puntos de montaje + para cualquier otro sistema de ficheros que se pretenda montar. - Un punto de montaje es un directorio donde se pueden injertar - sistemas de archivos al sistema de archivos raíz. - Esto es explicado con mas detalle en . - Los puntos de montaje estándar inlcuyen + Un punto de montaje es un directorio donde se pueden insertar + sistemas de ficheros al sistema de archivos raíz. + Esto se explica con detalle en la . + Los puntos de montaje estándar incluyen /usr, /var, /tmp, - /mnt y /cdrom. Estos - directorios están usualmente referenciados a entradas en - el archivo /etc/fstab. /etc/fstab - es una tabla que sirve como referencias al sistema y contiene - los diferentes sistemas de archivos y sus respectivos - puntos de montaje. La mayoría de los sistemas de archivos - en /etc/fstab son montados automaticamente - al momento de arranque desde el script &man.rc.8; + /mnt y /cdrom. Estos + directorios suelen corresponderse con entradas en + /etc/fstab. /etc/fstab + es una tabla que sirve de referencia al sistema y contiene + los diferentes sistemas de ficheros y sus respectivos + puntos de montaje. La mayoría de los sistemas de ficheros + en /etc/fstab se montan automáticamente + en el arranque gracias al script &man.rc.8;, a menos que contengan la opción . - Se pueden encontrar detalles en . + Si quiere más información consulte la . - Una descripción completa de la jerarquía del - sistema de archivos está disponible en &man.hier.7;. - Por ahora, una breve revisión de los directorios - más comunes será suficiente. + Veremos ahora una descripción de los directorios + más comunes. Si desea información más + completa consulte &man.hier.7;. @@ -702,7 +718,7 @@ total 530 / - Directorio raíz del sistema de archivos. + Directorio raíz del sistema de ficheros. @@ -713,13 +729,13 @@ total 530 /boot/ - Programas y archivos de configuración utilizados + Programas y ficheros de configuración utilizados durante el arranque del sistema operativo. /boot/defaults/ - Archivos de configuración por defecto de + Ficheros de configuración por defecto del arranque; ver &man.loader.conf.5;. @@ -730,60 +746,63 @@ total 530 /etc/ - Archivos de configuración y scripts del sistema. + Ficheros de configuración y + scripts del sistema. /etc/defaults/ - Archivos de configuración por omisión del sistema; + Ficheros de configuración por defecto del sistema; ver &man.rc.8;. /etc/mail/ - Archivos de configuración para agentes de + Ficheros de configuración para agentes de transporte de correo como &man.sendmail.8;. /etc/namedb/ - Archivos de configuración de named; + Ficheros de configuración de named; ver &man.named.8;. /etc/periodic/ - Scripts que son ejecutados diariamente, semanalmente y - mensualmente vía &man.cron.8;; ver &man.periodic.8;. + Scripts que se ejecutan diariamente, + semanalmente y mensualmente mediante &man.cron.8;; + ver &man.periodic.8;. /etc/ppp/ - Archivos de configuración de ppp; + Ficheros de configuración de ppp; ver &man.ppp.8;. /mnt/ - Directorio vacio comunmente utilizado por administradores - de sistemas como un punto de montaje temporal. + Directorio vacío utilizado de forma habitual por + administradores de sistemas como punto de montaje + temporal. /proc/ - Sistema de archivos de procesos; ver &man.procfs.5;, + Sistema de ficheros de procesos; ver &man.procfs.5;, &man.mount.procfs.8;. /rescue/ - Programas enlazados estaticamente para recuperaciones - de emergencia; ver &man.rescue.8;. + Programas enlazados estáticamente para + restauraciones de emergencia; ver &man.rescue.8;. /root/ - Directorio home para la cuenta root. + Directorio local para la cuenta root. @@ -801,13 +820,14 @@ total 530 /tmp/ - Archivos temporales. Los contenidos de - /tmp usualmente NO - son preservados despues de un rearranque del sistema. - Un sistema de archivos basado en memoria es frecuentemente - montado en /tmp. - Esto puede automatizarse usando variables relacionadas a - tmpmfs de &man.rc.conf.5 (o con una entrada en + Ficheros temporales. El contenido de + /tmp + NO suelen conservarse después + de un reinicio del sistema. + Los sistemas de ficheros basados en memoria suelen montarse + en /tmp. + Puede automatizarse mediante variables de + tmpmfs en &man.rc.conf.5; (o con una entrada en /etc/fstab; ver &man.mdmfs.8;, o para FreeBSD 4.X, &man.mfs.8;). @@ -820,45 +840,45 @@ total 530 /usr/bin/ - Utilidades comunes, herramientas de programación y - aplicaciones. + Aplicaciones comunes, herramientas de programación y + otras aplicaciones. /usr/include/ - Archivos incluidos estándar de C. + Ficheros include estándar de C. /usr/lib/ - Librerías de archivos. + Bibliotecas. /usr/libdata/ - Utilidades miscelaneas de archivos de datos. + Ficheros de datos con diversas funciones. /usr/libexec/ - Daemons de sistema y utilidades de sistema (ejecutados - por otros programas). + Dæmons del sistema y utilidades del sistema + (ejecutados por otros programas). /usr/local/ - Ejecutables locales, librerías, etc. - también usado como el destino por omisión + Ejecutables locales, bibliotecas, etc. + también se usa como destino por defecto de la infraestructura de ports de FreeBSD. Dentro de - /usr/local, el esquema - general delineado por &man.hier.7; para - /usr debe ser utilizado. Las + /usr/local debe seguirse el esquema + general definido por &man.hier.7; para + /usr. Las excepciones son el directorio man, el cual está directamente bajo /usr/local en - lugar de debajo de /usr/local/share + lugar de debajo de /usr/local/share, y la documentación de los ports está en share/doc/port. @@ -866,8 +886,8 @@ total 530 /usr/obj/ - Arbol destino de arquitectura específica producido por - la construcción del árbol + Arbol destino dependiente de arquitectura fruto de + la compilación del árbol /usr/src. @@ -878,35 +898,36 @@ total 530 /usr/sbin/ - Daemons del sistema y utilidades del sistema (ejecutados por - usuarios). + Dæmons del sistema y utilidades del sistema + (ejecutados por usuarios del sistema). /usr/share/ - Archivos independientes de arquitectura. + Ficheros independientes de arquitectura. /usr/src/ - Archivos fuente BSD y/o local. + Ficheros fuente BSD y/o local. /usr/X11R6/ Ejecutables de la distribución X11R6, - librerías, etc (opcional). + bibliotecas, etc (opcional). /var/ - Archivos multipropósito de log, temporales, en - tránsito y de spool. Un sistema de archivos basado - en memoria es montado algunas veces en - /var. - Esto puede automatizarse utilizando variables relacionadas - a varmfs de &man.rc.conf.5 (o con una entrada en + Ficheros multipropósito de log, temporales, en + tránsito y de spool. + En ocasiones se monta en + /var un sistema de + ficheros basado en memoria. + Puede automatizarse el proceso mediante variables + de varmfs en &man.rc.conf.5; (o con una entrada en /etc/fstab; ver &man.mdmfs.8;, o para FreeBSD 4.X, &man.mfs.8;). @@ -914,27 +935,27 @@ total 530 /var/log/ - Archivos de log miscelaneos del sistema. + Diversos ficheros de log del sistema. /var/mail/ - Archivos de buzones de correo de usuarios. + Ficheros de buzones de correo de usuarios. /var/spool/ - Directorios miscelaneos del sistema de spool de impresora + Directorios diversos del sistema de spool de impresora y correo /var/tmp/ - Archivos temporales. - Los archivos son usualmente preservados despues de un - rearranque del sistema, a menos que + Ficheros temporales. + Estos ficheros suelen conservarse tras un reinicio del + sistema, a menos que /var sea un - sistema de archivos basado en memoria. + sistema de ficheros basado en memoria. @@ -953,67 +974,71 @@ total 530 Organización de disco La unidad más pequeña que FreeBSD utiliza para - encontrar archivos es el nombre de archivo. Los nombres de archivo + ubicar ficheros es el nombre de fichero. Los nombres de fichero son sensibles a las mayúsculas, lo que significa que readme.txt y README.TXT - son dos archivos separados. FreeBSD no utiliza la extensión - (.txt) de un archivo para determinar si el - archivo es un programa, o un documento o alguna otra forma de datos. + son dos ficheros distintos. &os; no utiliza la extensión + (.txt) de un fichero para determinar si el + es un programa, o un documento o alguna otra forma de datos. - Los archivos son almacenados en directorios. Un directorio puede - estar vacío, o puede contener cientos de archivos. Un + Los ficheros se almacenan en directorios. Un directorio puede + estar vacío, o puede contener cientos de ficheros. Un directorio también puede contener otros directorios, permitiéndole contruir una jerarquía de directorios - dentro de otro. Esto hace mucho más fácil la + dentro de otro. Esto hace mucho más fácil la organización de sus datos. - Archivos y directorios son referenciados dando el - nombre de archivo o de directorio, seguido por una diagonal, + Para referirse a ficheros o directorios se usa el nombre + de archivo o de directorio, seguido por una barra, /, seguido por cualquier otro nombre de directorio que sea necesario. Si tiene un directorio - foo, el cual contiene el directorio - bar, el cual contiene el archivo + tal, el cual contiene el directorio + cual, el cual contiene el fichero readme.txt, entonces el nombre completo - o ruta al archivo es - foo/bar/readme.txt. + o ruta al fichero es + tal/cual/readme.txt. - Los directorios y archivos son almacenados en un sistema de archivos. - Cada sistema de archivos contiene exactamente un directorio en el nivel - más elevado, llamado el directorio raíz - para ese sistema de archivos. Este directorio raíz puede - entonces contener otros directorios. + Los directorios y ficheros se almacenan en un sistema de ficheros. + Cada sistema de ficheros contiene un sólo directorio en el nivel + más elevado, que es el + directorio raíz + de ese sistema de ficheros. Este directorio raíz puede + contener otros directorios. - Hasta ahora esto es probablemente similar a cualquier otro sistema - operativo que pueda haber utilizado. Existen unas cuantas diferencias; - por ejemplo, &ms-dos; utiliza \ para separar nombres - de archivo y directorio, mientras que &macos; utiliza :. + Lo visto hasta ahora probablemente sea similar a cualquier otro + sistema operativo que pueda haber utilizado, pero hay unas cuantas + diferencias; por ejemplo, &ms-dos; utiliza \ para + separar nombres de fichero y directorio, mientras que &macos; usa + :. - FreeBSD no utiliza letras de unidades, o otro nombre de unidad - en la ruta. No podría escribir c:/foo/bar/readme.txt - en FreeBSD. + &os; no utiliza letras de unidades, u otro nombre de unidad + en la ruta. Por tanto, no podrá escribir + c:/tal/cual/readme.txt + en &os;. - En cambio, un sistema de archivos es designado el - sistema de archivos raíz. El - directorio raíz del sistema de archivos raíz está - referenciado como /. Cualquier otro sistema - de archivos es entonces montado bajo el - sistema de archivos raíz. No importa cuantos discos tenga - en su sistema FreeBSD, cada directorio parece ser parte del + En &os;, en cambio, un sistema de ficheros recibe el nombre de + sistema de ficheros raíz. El + directorio raíz del sistema de ficheros raíz se + representa como /. Cualquier otro sistema + de ficheros, por tanto, se monta bajo el + sistema de ficheros raíz. No importa cuántos discos + tenga en su sistema &os;, cada directorio parecerá ser parte del mismo disco. - Suponga que tiene tres sistemas de archivos, llamdos A, + Suponga que tiene tres sistemas de ficheros, denominados + A, B y C. Cada sistema de - archivos tiene un directorio raíz, el cual contiene + ficheros tiene un directorio raíz, el cual contiene otros dos directorios, llamados A1, A2 (y de la misma manera B1, B2 y C1, C2). - Llame a A el sistema de archivos raíz. - Si usara el comando ls para ver el contenido de + Usaremos A como sistema de ficheros + raíz. Si usara ls para ver el contenido de este directorio vería dos subdirectorios, A1 - y A2. El árbol de directorios se ve como - esto: + y A2. El árbol de directorios sería + como este: @@ -1029,10 +1054,10 @@ total 530 - Un sistema de archivos debe ser montado en un directorio - en otro sistema de archivos. Ahora suponga que monta el - sistema de archivos B en el directorio - A1. El directorio raíz de + Un sistema de ficheros debe montarse en un directorio + de otro sistema de ficheros. Ahora suponga que monta el + sistema de ficheros B en el directorio + A1. El directorio raíz de B reemplaza a A1, y los directorios en B aparecen de esta manera: @@ -1055,17 +1080,17 @@ total 530 - Cualquier archivo que esté en el directorio - B1 o B2 puede ser - alcanzado con la ruta /A1/B1 o - /A1/B2 según sea necesario. - Cualquier archivo que esté en /A1 - ha sido temporalmente escondido. Aparecerán de nuevo - si B es desmontado + Cualquier fichero que esté en el directorio + B1 o B2 puede + encontrarse con la ruta /A1/B1 o + /A1/B2 según sea necesario. + Cualquier fichero que esté en /A1 + ha desaparecido temporalmente. Aparecerán de nuevo + si B se desmonta de A. - Si B ha sido montado en A2 - entonces el diagrama se vería como este: + Si B se monta en A2 + entonces el diagrama se vería así: @@ -1088,11 +1113,11 @@ total 530 y las rutas serían /A2/B1 y /A2/B2 respectivamente. - Sistemas de archivos pueden ser montados uno sobre otro. Continuando - el ejemplo anterior, el sistema de archivos C - podría ser montado sobre el directorio B1 - en el sistema de archivos B, llevando a este - arreglo: + Pueden montarse sistemas de ficheros uno sobre otro. Continuando + el ejemplo anterior, el sistema de ficheros C + podría montarse en el directorio B1 + en el sistema de ficheros B, lo que nos + llevaría a esto: @@ -1116,8 +1141,8 @@ total 530 - O C podría ser montado directamente - en el sistema de archivos A, bajo el directorio + O C podría montarse directamente + en el sistema de ficheros A, bajo el directorio A1: @@ -1142,99 +1167,108 @@ total 530 - Si está familiarizado con &ms-dos;, esto es similar, - aunque no idéntico, al comando join. + Si está familiarizado con &ms-dos; esto es similar, + aunque no idéntico, a utilizar join. - Esto normalmente no es algo de lo que necesite preocuparse. - Tipicamente usted crea sistemas de archivos cuando instala FreeBSD - y decide donde montarlos, y entonces nunca los cambie a menos que - agregue un disco nuevo. + Esto no es algo de lo que necesite preocuparse de forma habitual. + Normalmente creará sistemas de ficheros al instalar &os; + y decidirá dónde montarlos; lo más habitual es que + no los cambie de sitio a menos que agregue un disco nuevo. + - Es enteramente posible tener un sistema de archivos raíz - extenso, y no necesitar crear otros. Existen alguas inconveniencias de - esta aproximación, y una ventaja. + Es perfectamente posible tener un sistema de ficheros raíz + extenso y no necesitar crear otros. Este esquema tiene unos cuantos + inconvenientes y una ventaja: + - Beneficios de múltiples sistemas de archivos + Ventajas de disponer de múltiples sistemas de + ficheros - Diferentes sistemas de archivos pueden tener diferentes - opciones de montaje. Por ejemplo, con - una planeación cuidadosa, el sistema de archivos - raíz puede ser montado de solo-lectura, haciendole - a usted imposible borrar inadvertidamente o editar un archivo - crítico. Separando los sistemas de archivos escribibles - por usuarios, como /home, de otros - sistemas de archivos también les permite ser montados - nosuid; esta opción previene + Si dispone de varios sistemas de ficheros puede optar por + usar distintas opciones de montaje. + Por ejemplo, gracias a una planificación cuidadosa, el + sistema de ficheros raíz puede montarse como + sólo-lectura, haciendo imposible borrar sin querer o + editar un fichero crítico. Al mantener separados + sistemas de ficheros en los que los usuarios pueden escribir, + como /home, de otros sistemas de ficheros + también le permite montar con la opción + nosuid; dicha opción previene que los bits suid/guid - en los ejecutables almacenados en el sistema de archivos - tengan efecto, mejorando posiblemente la seguridad. + en los ejecutables almacenados en el sistema de ficheros + tengan efecto, mejorando en cierto modo la seguridad. - FreeBSD automaticamente optimiza el esquema de archivos - en un sistema de archivos, dependiendo de como el sistema - de archivos está siendo utilizado. Así que - un sistema de archivos que contiene muchos archivos pequeños - que son escritos frecuentemente tendrá una optimización - diferente de uno que contenga menos y más grandes archivos. - Teniendo un sistema de archivos grande esta optimización - se desmorona. + FreeBSD optimiza automáticamente el esquema de ficheros + en un sistema de ficheros, dependiendo de cómo el sistema + de ficheros esté siendo utilizado. + Un sistema de archivos que contiene muchos ficheros pequeños + en los que se escribe frecuentemente tendrá una + optimización de uno que contenga menos ficheros y más + grandes. Si sólo tiene un gran sistema de ficheros esta + optimización no tiene opción de actuar. - Los sistemas de archivos de FreeBSD son muy robustos si - sufre una falla de electricidad. De todas maneras, una falla - eléctrica en un momento crítico todavía puede - dañar la estructura del sistema de archivos. Dividiendo - sus datos a través de múltiples sistemas de - archivos hace que sea más probable que el sistema se - levante, haciendole más fácil restaurar desde + Los sistemas de ficheros de &os; son muy robustos en caso + de sufrir un fallo de electricidad. De todas maneras, un fallo + eléctrico en un momento crítico puede + dañar la estructura del sistema de ficheros. Si reparte + sus datos en múltiples sistemas de ficheros hará + que sea más probable que el sistema arranque después + de uno de esos fallos, haciéndole además + más fácil la tarea de restaurarlo desde un respaldo si fuera necesario. - Beneficios de un solo sistema de archivos + Ventajas de un sólo sistema de ficheros - Los sistemas de archivos son de un tamaño fijo. Si crea - un sistema de archivos cuando instala FreeBSD y le da un tamaño - específico, tal vez descubra mas tarde que necesita hacer - la partición más grande. Esto no se logra facilmente - sin respaldar, recrear el sistema de archivos con el nuevo + Los sistemas de ficheros son de un tamaño fijo. Si crea + un sistema de ficheros cuando instala &os; y le da un tamaño + específico, tal vez descubra más tarde que necesita + hacer la partición más grande. Esto no es + fácil de realizar sin hacer una copia de seguridad, crear + de nuevo el sistema de ficheros con el nuevo tamaño y entonces restaurar los datos respaldados. - FreeBSD 4.4 y versiones posteriores presentan el - comando &man.growfs.8;, el cual hace posible incrementar - el tamaño del sistema de archivos al vuelo, eliminando + FreeBSD 4.4 y sus versiones posteriores disponen de + &man.growfs.8;, que hace posible incrementar + el tamaño del sistema de ficheros + al vuelo, eliminando esta limitación. - Los sistemas de archivos están contenidos en particiones. - Esto no tiene el mismo significado del uso común del - término partición (por ejemplo, partición &ms-dos;), - debido a la herencia &unix; de &os;. Cada partición es - identificada por una letra desde a hasta - h. Cada partición puede contener solamente - un sistema de archivos, lo que significa que los sistemas de - archivos son usualmente descritos por su punto de montaje en la - jerarquía del sistema de archivos o por la letra de la - partición en la que están contenidos. + Los sistemas de ficheros están alojados en particiones. + Este es un detalle muy importante, puesto que el + término partición no significa + aquí lo mismo que en otros entornos + (por ejemplo, partición &ms-dos;), + debido a la herencia &unix; de &os;. Cada partición se + identifica con una letra desde a hasta + h. Cada partición puede contener solamente + un sistema de ficheros, lo que significa que los sistemas de + ficheros suelen definirse mediante su punto de montaje en la + jerarquía del sistema de ficheros o por la letra de la + partición en la que están alojados. - FreeBSD también utiliza espacio de disco + &os; también utiliza espacio de disco como espacio de intercambio (swap). - El espacio de intercambio le brinda a FreeBSD - memoria virtual. Esto le permite a - su computadora comportarse como si tuviera más - memoria de la que realmente tiene. Cuando a FreeBSD se le + El espacio de intercambio le brinda a &os; + memoria virtual. Esto le permite a + su sistema comportarse como si tuviera más + memoria de la que realmente tiene. Cuando a &os; se le agota la memoria mueve algunos de los datos que no están siendo utilizandos en ese momento al espacio de intercambio, - y los mueve de regreso (moviendo alguna otra cosa) cuando + y los mueve de regreso (desplazando alguna otra cosa) cuando los necesita. Algunas particiones tienen ciertas representaciones @@ -1257,7 +1291,7 @@ total 530 a - Normalmente contiene el sistema de archivos raíz + Normalmente contiene el sistema de ficheros raíz @@ -1269,21 +1303,23 @@ total 530 c - Normalmente el mismo tamaño de la porción - (slice) que lo encierra. Esto le permite a utilidades que - necesitan trabajar en la porción entera (por ejemplo, + Normalmente el mismo tamaño de la slice + (porción o rebanada) + que lo encierra. Esto permite a las utilidades que + necesitan trabajar en la slice entera (por ejemplo, un explorador de bloques dañados) trabajar en - la partición c. Usted normalmente no - debe crear un sistema de archivos en esta partición. + la partición c. Normalmente no + debe usted crear un sistema de ficheros en esta + partición. d La partición d solía - tener un significado especial asociado con ella, aunque - ahora ya no lo tiene. Hasta este día, algunas - herramientas pueden operar extrañamente si se + tener un significado especial asociado, aunque + ahora ya no lo tiene. En la actualidad algunas + herramientas pueden comportarse de forma extraña si se les pide trabajar en la partición d, así que sysinstall no crear´ normalmente una partición d. @@ -1292,70 +1328,75 @@ total 530 - Cada partición-que-contiene-un-sistema-de-archivos - es almacenada en lo que FreeBSD llama una porción (slice). - Porción es el término de FreeBSD para lo que comunmente se - conoce como partición, y de nuevo, esto se debe al - pasado &unix; de FreeBSD. Las porciones están numeradas, + Cada partición-que-contiene-un-sistema-de-ficheros + se almacena en lo que &os; llama una slice. + Porción es el término de &os; para lo que + comúnmente se conoce como partición, y de nuevo, + conoce como partición, y de nuevo, esto se debe a la + herencia &unix; de &os;. Las slices están numeradas, empezando con 1, hasta 4. slices particiones peligrosamente dedicadas - Los números de porción siguen al - nombre de dispositivo, a los que se les antepone una - s, iniciando en 1. Así que + Los números de slice siguen al + nombre de dispositivo, a los que se antepone una + s, comenzando desde 1. Así, da0s1 es la - primera porción en la primera unidad SCSI. Solo - pueden haber cuatro porciones físicas en un disco, - pero puede tener porciones lógicas dentro de - porciones físicas del tipo apropiado. Estas - porciones extendidas son numeradas iniciando con 5, + primera slice en la primera unidad SCSI. Sólo + puede haber cuatro slices físicas en un disco, + pero puede haber slices lógicas dentro de + slices físicas del tipo apropiado. Estas + slices extendidas se numeran a partir de 5, así que ad0s5 - es la primera porción extendida en el primer - disco IDE. Estos dispositivos son utilizados por - sistemas de archivos que esperan ocupar una porción. + es la primera slice extendida en el primer + disco IDE. Estos dispositivos se usan en sistemas de ficheros + que se espera que ocupen una slice. - Prociones, unidades físicas peligrosamente - dedicadas, y otras unidades contienen particiones, - las cuales son representadas como letras desde a - hasta h. Esta letra es agregada al nombre - del dispositivo, así que + Tanto las slices y las unidades físicas + peligrosamente dedicadas, como otras unidades + contienen particiones, que se designan + mediante letras desde a + hasta h. Esta letra se añade al nombre + del dispositivo, así que da0a es la partición a en la primera unidad da, la cual está - peligrosamente dedicada. + peligrosamente dedicada. ad1s3e es la quinta - partición en la tercera porción de la segunda + partición en la tercera slice de la segunda unidad de disco IDE. - Finalmente, cada disco en el sistema es identificado. - El nombre de disco inicia con un código que indica - el tipo de disco, luego un número, indicando que disco - es. A diferencia de las porciones, la numeración de - discos inicia en 0. Los códigos comunes que usted - verá están listados en + Finalmente, cada disco en el sistema tiene también su + designación. + El nombre de disco comienza por un código que indica + el tipo de disco, luego un número, indicando qué disco + es. A diferencia de las slices, la numeración de + discos comienza desde 0. Los códigos comunes que usted + verá se muestran en la . - Cuando se refiere a una partición, FreeBSD requiere que - que también se nombre la porción y el disco que - contiene la partición, y al referirse a una porción - también debe referirse al nombre del disco. Haga esto - listando el nombre de disco, s (slice), el número - de porción y por último la letra de la partición. - Ejemplos se muestran en + Cuando se hace referencia a una partición, &os; requiere que + que también se nombre la slice y el disco que + contiene la partición, y al referirse a una slice + también debe referirse al nombre del disco. Esto se hace + listando el nombre de disco, s (slice), el + número de slice y por último la letra de la + de slice y por último la letra de la partición. + partición. Puede consultar varios ejemplos en la . - muestra un modelo - conceptual del esquema de un disco que debe ayudar a aclarar las - cosas. + La muestra un modelo + conceptual del esquema de un disco que debería ayudarle a + aclarar las cosas. + - Para poder instalar FreeBSD debe primero configurar las - porciones del disco, luego crear particiones dentro de la - porción que utilizará para FreeBSD y luego crear - un sistema de archivos (o espacio de intercambio, swap) en - cada partición y decidir donde se van a montar esos - sistemas de archivos. + Para poder instalar &os; debe primero configurar las + particiones del disco, luego crear particiones dentro de la + slice que utilizará para &os; y luego crear + un sistema de ficheros (o espacio de intercambio, swap) en + cada partición, y decidir dónde se van a montar esos + sistemas de ficheros. Códigos de dispositivos de disco @@ -1400,14 +1441,14 @@ total 530 fd - Disco flexible + Disquete (floppy)
- Muestra de nombres de disco, porción y partición + Ejemplo de nombres de disco, slices y partición @@ -1427,7 +1468,7 @@ total 530 ad0s1a La primera partición (a) en - la primera porción (s1) en el + la primera slice (s1) en el primer disco IDE (ad0). @@ -1435,7 +1476,7 @@ total 530 da1s2e La quinta partición (e) en - la segunda porción (s2) en el + la segunda slice (s2) en el segundo disco SCSI (da1). @@ -1446,18 +1487,19 @@ total 530 Modelo conceptual de un disco - Este diagrama muestra como ve FreeBSD el primer disco IDE - en el sistema. Se asume que el disco es de 4 GB de tamaño, - y contiene dos porciones de 2 GB (particiones &ms-dos;). La - primera porción contiene un disco &ms-dos;, C:, - y la segunda porción contiene una instalación FreeBSD. + Este diagrama muestra cómo ve &os; el primer disco IDE + en el sistema. Se asume que el disco es de 4 GB, + y contiene dos particiones de 2 GB (particiones &ms-dos;). La + primera partición contiene un disco &ms-dos;, + C:, + y la segunda partición contiene una instalación &os;. Esta instalación de ejemplo tiene tres particiones, y una partición swap. - Cada una de las tres particiones tiene un sistema de archivos. - La partición a será utilizada - para el sistema de archivos raíz, e - para la jerarquía del directorio /var + Cada una de las tres particiones tiene un sistema de ficheros. + La partición a se utilizará + para el sistema de ficheros raíz, e + para la jerarquía del directorio /var, y f para la jerarquía del directorio /usr. @@ -1501,47 +1543,47 @@ total 530 - Montando y desmontando sistemas de archivos + Montaje y desmontaje de sistemas de ficheros - El sistema de archivos es visualizado de una - mejor manera como un árbol, enraizado, como - lo está, en /. + El sistema de archivos se visualiza mejor como + un árbol, enraizado, como + lo está, en /. /dev, /usr y los - otros directorios en el directorio raíz son ramas, las + demás directorios en el directorio raíz son ramas, las cuales pueden tener sus propias ramas, como /usr/local, y así sucesivamente. - sistema de archivos raíz + sistema de ficheros raíz Existen varias razones para albergar algunos de - estos directorios en sistemas de archivos separados. - /var contiene los directorios + estos directorios en sistemas de ficheros separados. + /var contiene los directorios log/, spool/ y - varios tipos de archivos temporales, y como tal, puede - llenarse. Agotar el espacio del sistema de archivos raíz - no es una buena idea, así que dividiendo a /var - de / es frecuentemente favorable. + varios tipos de ficheros temporales y como tal, puede + llenarse. Agotar el espacio del sistema de ficheros raíz + no es una buena idea, así que separar /var + de / suele ser muy recomendable. Otra razón común para meter ciertos árboles - de directorios en otros sistemas de archivos es si van a estar + de directorios en otros sistemas de ficheros es si van a estar albergados en discos físicos separados, o si son discos - virtuales separados, como un montaje de - sistema de archivos de red, + virtuales separados, como un montaje de + sistema de ficheros de red, o unidades de CDROM. - El archivo <filename>fstab</filename> + El fichero <filename>fstab</filename> - sistemas de archivos - montado con fstab + sistemas de ficheros + montaje con fstab Durante el proceso de arranque, - los sistemas de archivos listados en /etc/fstab - son montados automaticamente (a menos que estén + los sistemas de ficheros listados en /etc/fstab + se montan automáticamente (a menos que estén listados con la opción ). - el archivo /etc/fstab contiene una - lista de líneas del siguiente formato: + /etc/fstab contiene una + lista de líneas con el siguiente formato: dispositivo /punto-de-montaje fstype opciones dumpfreq passno @@ -1549,7 +1591,7 @@ total 530 dispositivo - Un nombre de dispositivo (el cual debe existir). + Un nombre de dispositivo (debe existir). @@ -1557,16 +1599,16 @@ total 530 punto-de-montaje Un directorio (el cual debe existir), en - donde montar el sistema de archivos. + donde montar el sistema de ficheros. fstype - El tipo de sistema de archivos para - pasarle a &man.mount.8;. El tipo de sistema de - archivos por omisión de FreeBSD es + El tipo de sistema de ficheros para + pasarle a &man.mount.8;. El tipo de sistema de + ficheros por omisión de &os; es ufs. @@ -1575,13 +1617,13 @@ total 530 opciones Ya sea para sistemas - de archivos de lectura-escritura, o - para sistemas de archivos de solo-lectura, seguido - de cualquier otra opción que sea necesaria. + de ficheros de lectura-escritura, o + para sistemas de ficheros de solo-lectura, seguido + de cualquier otra opción que sea necesaria. Una opción común es - para sistemas de archivos que no son normalmente - montados durante la secuencia de arranque. Otras - opciones son listadas en la página de manual + para sistemas de ficheros que no se montan normalmente + durante la secuencia de arranque. Hay otras + opciones en la página de manual &man.mount.8;. @@ -1589,9 +1631,9 @@ total 530 dumpfreq - Esto es utilizado por &man.dump.8; para - determinar que sistema de archivos requiere volcado. Si - el campo no está declarado, se asume un valor + &man.dump.8; la usa para determinar qué + sistema de ficheros requiere volcado. Si + el campo no está declarado se asume un valor de cero. @@ -1600,46 +1642,44 @@ total 530 passno - Esto determina el orden en el cual los sistemas de - archivos deben ser revisados. Los sistemas de archivos - que deben ser saltados deben tener su passno - en cero. El sistema de archivos raíz (el cual + Determina el orden en el cual los sistemas de + ficheros deben revisarse. Los sistemas de ficheros + que deben saltarse deben tener su passno + a cero. El sistema de ficheros raíz (que, obviamente, necesita ser revisado antes que cualquier otro) debe tener - su passno puesto a uno, y otros - sistemas de archivos deben tener valores mayores a uno. - Si más de un sistema de archivos tiene el mismo + su passno puesto a uno, y otros + sistemas de ficheros deben tener valores mayores que uno. + Si más de un sistema de ficheros tiene el mismo passno entonces &man.fsck.8; tratará - de revisar los sistemas de archivo en paralelo de ser - posible. + de revisarlos en paralelo de ser posible. + Consulte la página de manual de &man.fstab.5; para - mayor información del formato del archivo + mayor información sobre el formato del fichero /etc/fstab y las opciones que contiene. - El comando <command>mount</command> + La orden <command>mount</command> - sistemas de archivos + sistemas de ficheros montaje - El comando &man.mount.8; es lo que se utiliza en última - instancia para montar sistemas de archivos. + &man.mount.8; es lo que se utiliza en última + instancia para montar sistemas de ficheros. - En su forma más básica, usted usa: - In its most basic form, you use: + En su forma más básica, se usa lo siguiente: &prompt.root; mount dispositivo punto-de-montaje - Existen cantidad de opciones, como se mencionó - en la página de manual &man.mount.8;, pero las - más comunes son: + Existe una gran cantidad de opciones, tal y como consta en + &man.mount.8;, pero las más comunes son: Opciones de montaje @@ -1648,8 +1688,8 @@ total 530 - Montar todos los sistemas de archivos - listados en /etc/fstab. + Montar todos los sistemas de ficheros + listados en /etc/fstab. Excepto aquellos marcados como noauto, excluidos por la bandera , o aquellos que ya están montados. @@ -1661,7 +1701,7 @@ total 530 Realizar todo excepto la llamada real de montaje del - sistema. Esta opción es útil junto + sistema. Esta opción es útil junto con la bandera para determinar lo que &man.mount.8; está tratando de hacer en realidad. @@ -1672,11 +1712,11 @@ total 530 - Forzar el montaje de un sistema de archivos - sucio (peligroso), o forzar la revocación - de accesos de escritura cuando se cambia el estatus - de un sistema de archivos de lectura-escritura - a solo-lectura. + Forzar el montaje de un sistema de ficheros + sucio (es decir, peligroso), o forzar + la revocación de accesos de escritura cuando se cambia + el estátus de un sistema de archivos de lectura-escritura + a só-lectura. @@ -1684,8 +1724,9 @@ total 530 - Montar el sistema de archivos de solo-lectura. - Esto es idéntico a utilizar el argumento + Montar el sistema de ficheros como sólo-lectura. + Esto es idéntico a utilizar el argumento + ( para versiones más antiguas que &os; 5.2) en la opción . @@ -1696,12 +1737,12 @@ total 530 fstype - Montar el sistema de archivos dado con el tipo de - sistema de archivos dado, o montar solamente sistemas - de archivos del tipo dado, si se proporciona la + Montar el sistema de ficheros dado con el tipo de + sistema de ficheros, o montar solamente sistemas + de ficheros del tipo dado, si se proporciona la opción . - ufs es el sistema de archivos + ufs es el sistema de ficheros raíz por omisión. @@ -1711,7 +1752,7 @@ total 530 Actualizar puntos de montaje en el sistema - de archivos. + de ficheros. @@ -1719,7 +1760,7 @@ total 530 - Arrojar mayor información. + Mostrar mayor información. @@ -1727,7 +1768,7 @@ total 530 - Montar el sistema de archivos como lectura-escritura. + Montar el sistema de ficheros como lectura-escritura. @@ -1740,9 +1781,9 @@ total 530 nodev - No interpretar dispositivos especiales - en el sistema de archivos. Esto es una opción - de seguridad útil. + No interpretar dispositivos especiales en el sistema + ficheros. Es una opción + de seguridad que puede ser muy útil. @@ -1751,7 +1792,7 @@ total 530 No permitir la ejecución de binarios - en este sistema de archivos. Esta también + en este sistema de ficheros. Esta también es una opción de seguridad útil. @@ -1761,7 +1802,7 @@ total 530 No interpretar banderas setuid o setgid en el - sistema de archivos. Esta también es una + sistema de ficheros. Esta también es una opción de seguridad útil. @@ -1769,73 +1810,77 @@ total 530 - El comando <command>umount</command> + La orden <command>umount</command> - sistemas de archivos + sistemas de ficheros desmontar - El comando &man.umount.8; toma, como parámetro, un + &man.umount.8; toma, como parámetro, un punto de montaje, un nombre de dispositivo, o la opción o . Todas las formas toman para forzar - el desmontaje, y para arrojar más - información. Considerese advertido que usar - no es una buena idea generalmente. Desmontar a la fuerza - distemas de archivos puede congelar la computadora o dañar - los datos en el sistema de archivos. + el desmontaje, y para mostrar más + información. Tenga muy en cuenta que usar + no suele ser una forma recomendable de proceder. Desmontar a la + fuerza los sistemas de ficheros puede acarrear el congelar la + máquina o dañar los datos en el sistema de + ficheros. - y son utilizadas - para desmontar todos los sistemas de archivos montados, - posiblemente modificado por el tipo de sistema de archivos - listado despues de . De todas maneras + y se usan para + desmontar todos los sistemas de ficheros montados, + con la ventaja de poder elegir el tipo de sistema de ficheros + que se use tras . De todas maneras no trata de desmontar el sistema de - archivos raíz. + ficheros raíz. Procesos - FreeBSD es un sistema operativo multi-tarea. Esto significa que - parece como si más de un programa estuviera corriendo al - mismo tiempo. Cada programa corriendo en cualquier momento dado es - llamado proceso. Cada comando que usted - ejecuta iniciará al menos un proceso nuevo, y hay un - número de procesos que corren todo el tiempo, manteniendo - el sistema de manera funcional. + &os; es un sistema operativo multitarea. Esto significa que + parece como si más de un programa se estuviera ejecutando al + mismo tiempo. Cada programa que se ejecuta en cualquier momento dado + se denomina proceso. Cada orden que + ejecuta iniciará al menos un proceso nuevo, y hay + muchos procesos que se están ejecutando en todo momento, + manteniendo el sistema en funcionamiento. - Cada proceso es individualmente identificado por un número - llamado ID de proceso, o PID, - y, como archivos, cada proceso también tiene un propietario - y un grupo. La información de propietario y grupo es utilizada - para determinar que archivos y dispositivos el proceso puede abrir, - usando los permisos de archivo discutidos anteriormente. La - mayoría de los procesos también tienen un proceso - padre. El proceso padre es el proceso que los inició. Por - ejemplo, si usted está tecleando comandos en el shell, entonces - el shell es un proceso, y cualquier comando que usted corre también - es un proceso. Cada proceso que usted corre de esta manera tendrá - como proceso padre a su shell. La excepción a esto es un - proceso especial llamado &man.init.8;. init es - siempre el primer proceso, así que su PID siempre es 1. - init es iniciado automaticamente por el kernel - cuando FreeBSD arranca. + Cada proceso tiene un identificador individual consistente en + un número llamado ID del proceso, + o PID, + y, como fichero, cada proceso también tiene un propietario + y un grupo. La información de propietario y grupo se usa + para determinar qué ficheros y dispositivos puede abrir el + proceso mediante los permisos de fichero explicados anteriormente. + La mayoría de los procesos también tiene un proceso + padre. El proceso padre es el proceso que los inició. Por + ejemplo, si está tecleando órdenes en la shell, + la shell es un proceso, y cualquier orden que usted ejecute + también lo será. De este modo, cada proceso que ejecute + tendrá como proceso padre a su shell. La excepción + es un proceso especial llamado &man.init.8;. init es + siempre el primer proceso, así que su PID siempre es 1. + init es arrancado automáticamente por el + kernel cuando arranca &os;. - Dos comandos son particularmente útiles para ver los - procesos en el sistema, &man.ps.1; y &man.top.1;. el comando - ps es utilizado para mostrar una lista - estática de los procesos corriendo en ese momento, y - puede mostrar sus PID, cuanta memoria están usando, la - línea de comando con la que fueron iniciados, y mucho - más. El comando top despliega todos + Hay dos órdenes particularmente útiles para ver los + procesos en el sistema, &man.ps.1; y &man.top.1;. + ps se usa para mostrar una lista + estática de los procesos que se ejecutan en el sistema en + ese momento, y puede mostrar sus PID, cuánta memoria + están usando, la línea de órdenes con la que fueron + iniciados, y mucho más. + top despliega todos los procesos que se están ejecutando, y actualiza la - pantalla cada vez que transcurren un par de segundos, para - que pueda ver lo que está haciendo su computadora. + pantalla cada pocos segundos para que pueda ver lo que + está haciendo su sistema. - Por omisión, ps solo le muestra los comandos - que están corriendo y que son propiedad de usted. Por ejemplo: + Por defecto ps solo le muestra las órdenes + que se están ejecutando y que sean propiedad de su usuario. + Por ejemplo: &prompt.user; ps PID TT STAT TIME COMMAND @@ -1857,35 +1902,35 @@ total 530 285 v0 S 0:38.45 /usr/X11R6/bin/sawfish Como puede ver en este ejemplo, la salida de &man.ps.1; está - organizada en un número de columnas. PID - es el ID de proceso discutido anteriormente. Los PIDs son asignados - iniciando desde 1, hasta 99999, y dan la vuelta de regreso al - principio cuando se terminan los números. La columna - TT muestra el tty en el que el programa está - corriendo, y puede ser ignorado con seguridad por el momento. - STAT muestra el estado del programa, y de nuevo, - puede ser ignorado con seguridad. TIME es la - cantidad de tiempo que el programa ha estado corriendo en el - CPU—esto no es usualmente el tiempo transcurrido desde que + organizada en columnas. PID + es el ID de proceso anteriormente expuesto. Los PIDs se asignan + partiendo de 1, hasta 99999, y dan la vuelta de regreso al + principio cuando se terminan los números. La columna + TT muestra el tty en el que el programa se está + ejecutando, y podemos ignorarlo tranquilamente por el momento. + STAT muestra el estado del programa, y + también podemos ignorarlo. TIME es la + cantidad de tiempo que el programa ha se ha estado ejecutando en la + CPU (generalmente no es el tiempo transcurrido desde que se inició el programa, ya que la mayoría de los - programas pasan mucho tiempo esperando que sucedan cosas antes - de que necesiten gastar tiempo en el CPU. Finalmente, - COMMAND es la línea de comando que fué - utilizada para ejecutar el programa. + programas pasan mucho tiempo esperando antes + de que necesiten gastar tiempo en la CPU. Finalmente, + COMMAND es la línea de órdenes que + se empleó para ejecutar el programa. - &man.ps.1; soporta un número de opciones diferentes para - cambiar la información que es desplegada. Uno de los conjuntos - más útiles es auxww. + &man.ps.1; admite muchas opciones diferentes acerca de la + información que se desea ver. Uno de los conjuntos + más útiles es auxww. despliega información acerca de todos los procesos - ejecutándose, no solamente los suyos. + ejecutándose, no solamente los suyos. despliega el nombre de usuario del propietario del proceso, así - como el uso de memoria. despliega información - acerca de los procesos daemon y provoca que - &man.ps.1; despliegue la línea de comando completa, en lugar - de truncarla cuando es muy larga para caber en la pantalla. + como el uso de memoria. despliega información + acerca de los procesos dæmon y hace que + &man.ps.1; despliegue la línea de órdenes completa, en lugar + de truncarla cuando es demasiado larga para caber en la pantalla. - La salida de &man.top.1; es similar. Una sesión de ejemplo - se ve como esta: + La salida de &man.top.1; es similar. Veamos un ejemplo: + &prompt.user; top last pid: 72257; load averages: 0.13, 0.09, 0.03 up 0+13:38:33 22:39:10 @@ -1906,282 +1951,297 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse La salida está dividida en dos secciones. La cabecera (las primeras cinco líneas) muestra el PID del último proceso - en correr, la carga promedio del sistema (la cual es una medida de que - tan ocupado está el sistema), el uptime del sistema (tiempo - desde el último reinicio) y la hora actual. Las otras cifras - en la cabecera se relacionan con cuantos procesos hay en ejecución - (47 en este caso), cuanto se está utilizando de memoria y espacio - de intercambio (swap), y cuando tiempo el sistema está gastando - en diferentes estados de CPU. + en ejecutarse, la carga promedio del sistema (una medida de la carga + del sistema), el uptime del sistema (tiempo + desde el último reinicio) y la hora actual. Las otras cifras + en la cabecera se relacionan con cuántos procesos hay en + ejecución en el sistema (47 en este caso), cuánta + memoria y espacio de intercambio (swap) está en uso, y + cuánto tiempo está el sistema en diferentes estados de + CPU.
- Abajo hay una serie de columnas conteniendo información - similar a la salida de &man.ps.1;. De manera similar usted puede + Más abajo hay una serie de columnas con información + similar a la salida de &man.ps.1;. Igual que antes, puede usted ver el PID, el nombre de usuario, la cantidad de tiempo de CPU - tomada y el comando que fué ejecutado. &man.top.1; - también muestra por omisión la cantidad de espacio - de memoria tomada por el proceso. Esto está dividido en dos - columnas, una para el tamaño total y una para tamaño - residente—tamaño total es cuanta memoria la aplicación - ha necesitado y el tamaño residente es cuanto está - siendo utilizado realmente en ese momento. En este ejemplo puede ver - que &netscape; ha requerido casi - 30 MB de RAM, pero actualmente solo está usando + en uso y la orden que se ejecutó. &man.top.1; + también mostrará por defecto la cantidad de espacio + de memoria que emplea cada proceso. Esto está dividido en dos + columnas, una para el tamaño total y otra para el tamaño + residente (el tamaño total es cuánta memoria + ha necesitado la aplicación y el tamaño residente + es cuánta se está usando en ese momento concreto). + En este ejemplo puede verse que &netscape; + requerido casi 30 MB de RAM, pero actualmente solo está usando 9 MB. - &man.top.1; automaticamente actualiza este desplegado cada - dos segundos; esto puede cambiarse con la opción . + &man.top.1; actualiza automáticamente el listado cada + dos segundos, pero este lapso puede cambiarse mediante la + opción . - Daemons, señales y matar procesos + Dæmons, señales y cómo matar procesos - cuando usted corre un editor es fácil controlar el editor, - decirle que cargue archivos y demás. Usted puede hacer esto - porque el editor brinda facilidades para hacerlo, y porque el editor - está pegado a una terminal. Algunos + cuando ejecuta un editor es fácil controlarlo, + decirle que cargue ficheros y demás. Puede hacerse + porque el editor permite ese control, y porque el editor + depende de una terminal. Algunos programas no están diseñados para ser ejecutados con entradas continuas por parte del usuario, así que se desconectan - de la terminal a la primera oportunidad. Por ejemplo, un servidor - web pasa todo el día respondiendo peticiones web, normalmente - no necesita ninguna entrada de su parte. Los programas que transportan + de la terminal a la primera oportunidad. Por ejemplo, un servidor + web pasa todo el día respondiendo peticiones web, y normalmente + no necesita ninguna entrada de su parte. Los programas que transportan correo electrónico de un sitio a otro son otro ejemplo de esta clase de aplicación. - Llamamos a estos programas daemons. Daemons - eran personajes de la mitología griega; no eran ni buenos ni - malos, eran pequeños espíritus sirvientes que, en gran - medida, hicieron cosas útiles por la humanidad. Muy parecido - a como los servidores web y servidores de correo de hoy hacen cosas - útiles. Este es el por qué la mascota BSD ha sido, desde - hace mucho tiempo, el demonio de imagen alegre con tenis y un tridente. + Llamamos a estos programas dæmons. + Los Dæmons eran personajes de la mitología griega; + no eran ni buenos ni malos, eran pequeños espíritus + sirvientes que, en gran medida, hacían cosas útiles por + la humanidad. Algo muy parecido a cómo los servidores web y + los servidores de correo hacen hoy día tantas cosas + útiles para nosotros. Por eso, desde hace mucho tiempo, la + mascota de BSD es ese dæmon de aspecto tan ufano con su tridente + y su cómodo calzado deportivo. - Existe un acuerdo de nombrar programas que normalmente corren - como daemons con una d al final. BIND - es el daemon de nombres de internet de Berkeley (y el programa - que en realidad ejecuta es llamado named), el - programa servidor de web Apache es - llamado httpd, el daemon de spool de impresora de - línea es lpd y así sucesivamente. - Este es un acuerdo, no una regla pura y dura; por ejemplo, el - daemon principal de correo para la aplicación Sendmail - es llamdo sendmail, y no maild, - como podría imaginarse. + Hay una norma según la cual se da nombre a los programas que + suelen ejecutarse como dæmons con una d final. + BIND es el dæmon de nombres de + Berkeley (y el programa que en realidad se ejecuta se llama + named); el servidor web + Apache se llama + httpd, el dæmon de spool de + impresora de línea es lpd y así + sucesivamente. Se trata de un acuerdo, no una ley férrea; por + ejemplo el dæmon principal de correo de + Sendmail se llama + sendmail, y no maild, + como podría suponerse visto lo precedente. - Algunas veces necesitará comunicarse con un proceso daemon. - Estas comunicaciones son llamadas señales, - y se puede comunicar con un daemon (o con cualquier otro proceso - ejecutándose) mandándole una señal. Existe un - número de señales diferentes que puede mandar—algunas + Algunas veces necesitará comunicarse con un dæmon. + Estas comunicaciones se denominan señales; + es posible comunicarse con un dæmon (o con cualquier otro proceso + ejecutándose) mandándole una señal. Existen + diversos tipos de señales diferentes que puede mandar (algunas de ellas tienen un significado especial, otras son interpretadas por la aplicación, y la documentación de la aplicación - le dirá como interpreta la señal esa aplicación. - Solo puede enviar una señal a un proceso del que usted es el - propietario. Si manda una señal a un proceso de alguien más - con &man.kill.1; o &man.kill.2; el permiso será denegado. + le dirá como interpreta la señal esa aplicación). + Solo puede enviar una señal a un proceso del que sea usted + propietario. Si manda una señal a un proceso de otro usuario + con &man.kill.1; o &man.kill.2; verá un mensaje del sistema en + el que se le comunica que no tiene permiso para hacer tal cosa. La excepción a esto es el usuario root, - que puede mandar señales a los procesos de todos. + que puede mandar señales a los procesos de cualquier usuario del + sistema. FreeBSD también enviará señales de - aplicación en algunos casos. Si una aplicación - está mal escrita, y trata de accesar memoria que no se - supone que accese, FreeBSD manda al proceso la señal + aplicación en determinados casos. Si una aplicación + está mal escrita, y trata de acceder a memoria a la que no + está previsto que acceda, &os; manda al proceso la señal Violación de segmento - (SIGSEGV). Si una aplicación ha utilizado - la llamada de sistema &man.alarm.3; para ser alertada despues - de que un periodo de tiempo haya transcurrido entonces se le + (SIGSEGV). Si una aplicación ha utilizado + la llamada de sistema &man.alarm.3; para ser avisada después + de que un periodo de tiempo haya transcurrido, se le mandará la señal de alarma (SIGALRM), y así sucesivamente. - Dos señales pueden usarse para detener un proceso, - SIGTERM y SIGKILL. + Hay dos señales que pueden usarse para detener un proceso, + SIGTERM y SIGKILL. SIGTERM es la manera amable de matar un proceso; el proceso puede recibir la señal, darse cuenta que usted quiere que se apague, cerrar cualquier - archivo de log que pueda tener abierto y generalmente terminar - cualquier cosas que esté realizando en ese momento antes - de apagarse. En algunos casos un proceso puede incluso ignorar - a SIGTERM si se encuentra en medio de una + fichero de log que pueda tener abierto y generalmente terminar + cualquier tarea que esté realizando en ese momento antes + de apagarse. En algunos casos un proceso puede incluso ignorar + SIGTERM si se encuentra inmerso en una tarea que no puede ser interrumpida. - SIGKILL no puede ser ignorada por un proceso. + Por el contrario, un proceso no puede ignorar una señal + SIGKILL. Esta es la señal No me importa lo que estás - haciendo, detente ahora mismo. Si manda un SIGKILL - a un proceso, entonces FreeBSD detendrá ese proceso ahí - y en ese momento - No del todo cierto—existen algunas cosas que no pueden - ser interrumpidas. Por ejemplo, si el proceso está tratando - de leer desde un archivo que está en otra computadora de - la red, y la otra computadora no está disponible por + haciendo, detente ahora mismo. Si manda un + SIGKILL a un proceso &os; detendrá ese + proceso inmediatamente. + Esto no es del todo cierto (ciertas cosas no pueden + ser interrumpidas. Por ejemplo, si el proceso está tratando + de leer desde un fichero que está en otro sistema de + la red, y el otro sistema no está disponible por alguna razón (por estar apagada, o que la red tenga un fallo), - entonces el proceso se dice que es ininterrumpible. - Eventualmente al proceso se le acabará el tiempo de - espera, tipicamente despues de dos minutos. Tan pronto como esto - ocurra el proceso será terminado. + tenemos un caso de lo que llamamos + proceso ininterrumpible. + Más tarde, al proceso se le acabará el tiempo de + espera, generalmente pasados dos minutos. Tan pronto como esto + ocurra el proceso será liquidado. . - Las otras señales que tal vez quiera utilizar son + Otras señales que puede usar: SIGHUP, SIGUSR1 y - SIGUSR2. Estas son señales de propósito + SIGUSR2. Son señales de propósito general, y aplicaciones diferentes pueden hacer cosas diferentes - cuando se les envía. + cuando se utilicen. - Suponga que ha cambiado su archivo de configuración de su - servidor web—tal vez le gustaría decirle al servidor - web que re-lea su configuración. Podría detener y - reiniciar httpd, pero esto resultaría en + Suponga que ha cambiado el fichero de configuración de su + servidor web; parece un buen momento para decirle al servidor + web que lea y aplique la configuración. Podría detener y + reiniciar httpd, pero esto implicaría un período breve de suspensión del servicio de su - servidor web, lo cual puede ser indeseable. La mayoría de - los daemons están escritos para responder a la señal - SIGHUP releyendo su archivo de configuración. - Así que en lugar de matar y reiniciar httpd - le podría mandar la señal SIGHUP. - Debido a que no hay una manera estándar para responder a estas - señales, diferentes daemons tendrán diferente comportamiento, - así que asegúrese de leer la documentación para - el daemon en cuestión. + servidor web, lo cual puede no ser asumible. La mayoría de + los dæmons fueron creados pensando que fueran capaces de + responder a la señal + SIGHUP releyendo su fichero de configuración. + En lugar de matar y reiniciar httpd + le podría mandar la señal SIGHUP. + Dado que no hay una manera estándar para responder a estas + señales, diferentes dæmons tendrán diferente + comportamiento, así que asegúrese de leer la + documentación del dæmon en cuestión. - Las señales son enviadas utilizando el comando &man.kill.1;, - como lo muestra este ejemplo. + Las señales se envian mediante &man.kill.1;, + como puede verse en el siguiente ejemplo. - Enviando una señal a un proceso + Envío de una señal a un proceso Este ejemplo muestra como enviar una señal a - &man.inetd.8;. El archivo de configuración de - inetd es + &man.inetd.8;. El fichero de configuración de + inetd es /etc/inetd.conf e inetd - re-leerá este archivo de configuración cuando + releerá dicho fichero de configuración cuando se le envíe un SIGHUP. - Encuentre el ID de proceso del proceso al que quiere - enviarle la señal. Haga esto usando &man.ps.1; y - &man.grep.1;. El comando &man.grep.1; es utilizado para buscar - a través de la salida, buscando la cadena que se - especifique. Este comando es ejecutado como un usuario - normal y &man.inetd.8; es ejecutado como root, - así que las opciones se le deben - proporcionar a &man.ps.1;. + Identifique el ID de proceso del proceso al que quiere + enviarle la señal mediante &man.ps.1; y + &man.grep.1;. &man.grep.1; se usa para buscar cadenas de + texto de su elección en la salida estándar. + Puede ejecutarse como un usuario normal, mientras que + &man.inetd.8; se ejecuta como root, + así que debe pasarle los parámetros + a &man.ps.1;. &prompt.user; ps -ax | grep inetd 198 ?? IWs 0:00.00 inetd -wW - Entonces el PID de &man.inetd.8; es 198. En algunos casos - el comando grep inetd también - puede salir en esta salida. Esto se debe a la manera en que - &man.ps.1; tiene que encontrar la lista de procesos + Vemos que el PID de &man.inetd.8; es 198. En algunos casos + grep inetd también + puede aparecer en esta salida. Esto se debe a la manera en que + &man.ps.1; tiene que encontrar la lista de procesos ejecutándose. - Utilice &man.kill.1; para enviar la señal. Debido a que - &man.inetd.8; está siendo ejecutado por root - usted debe usar primero &man.su.1; para volverse root. + Utilice &man.kill.1; para enviar la señal. Debido a que + &man.inetd.8; está siendo ejecutado por + root tendrá que usar primero + &man.su.1; para volverse root. &prompt.user; su Password: &prompt.root; /bin/kill -s HUP 198 - En concordancia con la mayoría de los comandos &unix;, - &man.kill.1; no imprimirá ninguna salida si es exitoso. + Del mismo modo que la mayoría de órdenes &unix; + &man.kill.1; no imprimirá ninguna salida si ha funcionado + bien. Si envía una señal a un proceso del que no es el propietario entonces verá kill: PID: Operation not permitted. Si usted no teclea bien el PID puede enviar la señal a un proceso distinto, lo cual puede ser malo, o, si tiene suerte, - habrá enviado la señal a un proceso que no est6aacute; - en uso actualmente, y verá kill: + habrá enviado la señal a un proceso que no está + en uso, y verá kill: PID: No such process. ¿Por qué utilizar <command>/bin/kill</command>? - Muchos shells brindan el comando kill - como un comando incluido; esto es, el shell mandará + Muchos shells incorporan su propio kill; + esto es, el shell mandará la señal directamente, en lugar de ejecutar - /bin/kill. Esto puede ser muy útil, + /bin/kill. Esto puede ser muy útil, pero diferentes shells tienen diferentes sintaxis para - especificar el nombre de la señal que envía. En - lugar de tratar de aprederse todas ellas, puede ser más - simple solamente usar el comando + especificar el nombre de la señal que envía. En + lugar de tratar de aprederse todas ellas, es más + fácil usar /bin/kill ... - directamente. + sea la que sea la shell que prefiera usar. El envío de otras señales es muy similar, solamente sustituya TERM o KILL - en la línea de comando según sea necesario. + en la línea de órdenes según sea necesario. - Matar procesos aleatorios en el sistema puede ser una mala - idea. En particular, &man.init.8;, ID de proceso 1, es muy + Matar procesos aleatorios en el sistema es una mala + idea. En particular, &man.init.8;, ID de proceso 1, es muy especial. Ejecutar /bin/kill -s KILL 1 es - una manera rápida de apagar su sistema. Siempre - revise doblemente los argumentos con los que ejecuta &man.kill.1; - antes de presionar Enter. + una manera rápida de apagar su sistema. + Siempre + revise dos veces los argumentos con los que ejecuta &man.kill.1; + antes de pulsar Enter. Shells shells - línea de comando + línea de órdenes - En FreeBSD, mucho del trabajo diario es realizado en una - interfaz de línea de comandos llamada shell. El trabajo - principal del shell es tomar comandos de un canal de entrada - y ejecutarlos. Muchos shells también tienen funciones - integradas para ayudar con las tareas diarias como manipulación - de archivos, manejo de archivos con expresiones regulares, - edición de línea de comando, macros de comandos y - variables de entorno. - FreeBSD viene con un conjunto de shells, como sh, - el shell Bourne y tcsh, el shell C mejorado. - Hay muchos otros shells disponibles desde la colección de - ports de FreeBSD, tales como zsh y + En &os; gran parte del trabajo diario se hace en una + interfaz de línea de órdenes llamada shell. El trabajo + principal de la shell es ir recibiendo órdenes mediante un + canal de entrada y ejecutarlos. + Muchas shells también tienen funciones + integradas para ayudar con las tareas diarias como manipulación + de ficheros, gestión de archivos con expresiones regulares, + edición en la propia línea de órdenes, macros de + órdenes y variables de entorno. + &os; incluye diversas shells, como sh, + el shell Bourne y tcsh, el shell C mejorado. + Hay muchas otras shells disponibles en la colección de + ports de FreeBSD, como zsh y bash. ¿Qué shell usar? es realmente una cuestión - de gustos. Si es un programador de C se puede sentir más - cómodo con un shell tipo C, como tcsh. + de gustos. Si va a programar en C puede preferir usar una shell + tipo C, como tcsh. Si viene del mundo Linux o si es nuevo en la interfaz de línea - de comandos de &unix; puede probar con bash. - El punto es que cada shell posee unas propiedades únicas que + de órdenes de &unix; puede probar con bash. + Tenga en cuenta que cada shell posee unas propiedades únicas que pueden o no funcionar con su entorno de trabajo preferido, y que - tiene una opción sobre el shell a usar. + puede usted elegir qué shell usar. - Una de las propiedades comunes de un shell es que completa los - nombres de archivo. Dada la introducción de las primeras letras - de un comando o del nombre de un archivo, se puede hacer que el shell - complete automaticamente el resto del comando o nombre de archivo - pulsando la tecla Tab en el teclado. - Aquí está un ejemplo. Suponga que tiene dos archivos - llamados foobar y foo.bar. - Usted quiere borrar foo.bar. Lo que + Una de las propiedades comunes de las shell es que completan los + nombres de fichero. Una vez que ha introducido las primeras letras + de una orden o del nombre de un fichero, se puede hacer que la shell + complete automáticamente el resto de la orden o nombre de fichero + pulsando la tecla Tab. + Veamos un ejemplo. Suponga que tiene dos ficheros + llamados talcual y tal.cual. + Usted quiere borrar tal.cual. Lo que habría que teclear es: - rm fo[Tab].[Tab]. + rm ta[Tab].[Tab]. - El shell imprimiría rm - foo[BEEP].bar. + La shell mostraría en pantalla rm + fo[BIP].cual. - El [BEEP] es la campana de la consola, la cual es el shell - diciéndome que no pudo completar totalmente el nombre - de archivo porque hay más de una coincidencia. - Tanto foobar como foo.bar - inician con fo, pero solo se pudo completar - hasta foo. Si se teclea ., - y de nuevo Tab, entonces el shell es capaz de - introducir el resto del nombre de archivo por usted. + El [BIP] es la campana de la consola, es decir, la shell + está diciéndome que no pudo completar totalmente el nombre + de fichero porque hay más de una coincidencia. + Tanto talcual como tal.cual + comienzan por ta, pero solo se pudo completar + hasta tal. Si se teclea ., + y de nuevo Tab, entonces la shell es capaz de + añadir el resto del nombre de fichero. variables de entorno - Otra función del shell son las variables de entorno. + Otra función de la shell son las variables de entorno. Las variables de entorno son parejas de valores clave almacenados - en el espacio de entorno del shell. Este espacio puede ser leído - por cualquier programa invocado por el shell y, por lo tanto, - contiene mucha configuración de programas. Aquí hay - una lista de las variables de entorno más comunes y su + en el espacio de entorno del shell. Este espacio puede ser leído + por cualquier programa invocado por la shell y, por lo tanto, + contiene mucha configuración de programas. Esta es una lista + de las variables de entorno más comunes y su significado: variables de entorno @@ -2197,13 +2257,13 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse USER - Nombre de usuario actual en el sistema. + Nombre de usuario en el sistema. PATH Lista de directorios, separados por punto y coma, en los que - se busca ejecutables. + se buscan ejecutables. @@ -2214,13 +2274,13 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse SHELL - El shell actual. + La shell actual. TERM El nombre de la terminal del usuario. Se usa para determinar - las capacidades de la terminal. + las características de la terminal. @@ -2232,12 +2292,12 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse OSTYPE - Tipo de sistema operativo. Por ejemplo, FreeBSD. + Tipo de sistema operativo. Por ejemplo, &os;. MACHTYPE - Arquitectura del CPU en el que se está ejecutando + Arquitectura de CPU en la que se está ejecutando el sistema. @@ -2254,25 +2314,25 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse MANPATH Lista de directorios separados por punto y coma - en los que se busca páginas de manual. + en los que se buscan páginas de manual. - Bourne shells + Shells Bourne Establecer una variable de entorno difiere ligeramente - de shell a shell. Por ejemplo, en los shells al estilo C + de shell a shell. Por ejemplo, en las shells al estilo C como tcsh y csh, se usaría setenv para establecer - las variables de entorno. Bajo shells Bourne como + las variables de entorno. Bajo shells Bourne como sh y bash, se usaría export para establecer - las variables de entorno actuales. Por ejemplo, para + las variables de entorno actuales. Por ejemplo, para establecer o modificar la variable de entorno - EDITOR, bajo csh o - tcsh un comando como este establece - EDITOR a + EDITOR (bajo csh o + tcsh) la siguiente orden establece + EDITOR como /usr/local/bin/emacs: &prompt.user; setenv EDITOR /usr/local/bin/emacs @@ -2281,68 +2341,73 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse &prompt.user; export EDITOR="/usr/local/bin/emacs" - También se puede hacer que la mayoría de los shells - muestren el contenido de una variable de entorno situando el - carácter $ delante del nombre de la variable - desde la línea de comandos. Por ejemplo, echo $TERM - mostrará cualquiera que sea el valor que se le - haya establecido a $TERM, porque el shell expande el valor - de $TERM y se lo pasa al programa echo. + También se puede hacer que la mayoría de las shells + muestren el contenido de una variable de entorno situando el + carácter $ delante del nombre de la variable + en la línea de órdenes. Por ejemplo, + echo $TERM + mostrará cualquiera que sea el valor que + haya establecido para $TERM, porque la shell + expande el valor de $TERM y se lo pasa al + programa echo. - Los shells manejan muchos caracteres especiales, llamados - meta-caracteres, como representaciones especiales de datos. El más + Las shells manejan muchos caracteres especiales, llamados + metacaracteres, como representaciones especiales de datos. El más común es el caracter *, que representa - cualquier número de caracteres en un nombre de archivo. Estos - meta-caracteres especiales se pueden usar para la expansión de - nombres de archivos. Por ejemplo, teclear echo * es + cualquier número de caracteres en un nombre de fichero. Estos + metacaracteres especiales se pueden usar para la expansión de + nombres de fichero. Por ejemplo, teclear echo * es casi lo mismo que introducir ls porque el shell - toma todos los archivos que coinciden con * y se - los pone en la línea de comandos para que echo - los vea. + toma todos los ficheros que coinciden con * y se + los pone en la línea de órdenes para que + echo los vea. - Para evitar que el shell interprete estos caracteres especiales, - se pueden escapar del shell anteponiéndoles un caracter - diagonal (\). echo $TERM imprime - a qué está configurada su terminal. - echo \$TERM imprime $TERM como - es. + Para evitar que la shell interprete estos caracteres especiales + se pueden escapar de la shell anteponiéndoles una contrabarra + (\). echo $TERM imprime + el nombre de terminal que esté usando. + echo \$TERM imprime $TERM, + literalmente. - Cambiando su shell + Cómo cambiar su shell - La manera más fácil de cambiar de shell es usando - el comando chsh. Ejecutando chsh + La manera más fácil de cambiar de shell es + mediante chsh. chsh le colocará dentro del editor que esté configurado en - la variable de entorno EDITOR; no está - configurada, seá colocado en vi. Cambie - la línea Shell: para que concuerde. + la variable de entorno EDITOR; si no la ha modificado, + el sistema ejecutará vi, el editor por + defecto. Cambie la línea Shell: según + prefiera. También se le puede suministrar a chsh - la opción ; ésto establecerá el - shell por usted, sin necesidad de entrar en el editor de texto. - Por ejemplo, si se desea cambiar el shell a bash, - lo siguiente realizará el ajuste: + la opción ; ésto establecerá la + shell sin necesidad de entrar en el editor de texto. + Si por ejemplo quiere que bash sea su shell por + defecto puede configurarlo del siguiente modo: &prompt.user; chsh -s /usr/local/bin/bash Ejecutar chsh sin parámetros y - editar el shell desde ahí también funciona. + editar la shell desde ahí también funciona. - El shell que se desee usar debe estar - presente en el archivo /etc/shells. - Si se ha instalado un shell desde la - colección de ports, entonces - esto ya debió hacerse por usted. Si ha instalado - el shell manualmente, se debe realizar el cambio. + La shell que se desee usar debe estar + incluida en /etc/shells. + Si se ha instalado una shell desde la + colección de ports + esto deberí estar hecho automáticamente. Si ha + instalado la shell manualmente, tendrá usted que + realizar dicha modificación de + /etc/shells. - Por ejemplo, si se instaló manualmente bash - y lo colocó en /usr/local/bin, - debería hacer: + Por ejemplo, si instaló manualmente bash + y lo ubicó en /usr/local/bin, + debería hacer lo siguiente: &prompt.root; echo "/usr/local/bin/bash" >> /etc/shells - Y entonces volver a ejecutar chsh. + Y volver a ejecutar chsh. @@ -2352,11 +2417,11 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse editores de texto editores - Gran parte de la configuración de FreeBSD se realiza - modificando archivos de texto. A causa de esto, es una buena idea - familiarizarse con un editor de texto. FreeBSD viene con unos cuantos - como parte del sistema base y muchos más se encuentran - disponibles en la colección de ports. + Gran parte de la configuración de &os; se realiza + modificando ficheros de texto. Por esta razón le conviene + familiarizarse con un editor de texto. &os; viene con unos cuantos + como parte del sistema base y encontrará muchos más + en la colección de ports. ee @@ -2367,23 +2432,24 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse El editor de textos más sencillo y fácil de aprender es uno llamado ee, cuyo nombre - proviene del inglés "easy editor" (editor fácil). + proviene del inglés "easy editor" (editor fácil). Para iniciar ee se debe teclear en la - línea de comandos - ee nombre-de-archivo - donde nombre-de-archivo es el nombre - del archivo a ser editado. Por ejemplo, para editar /etc/rc.conf, - teclée ee /etc/rc.conf. Una vez dentro - de ee, todos los comandos para manipular - las funciones del editor están listadas en la parte - superior de la pantalla. El caracter ^ representa - la tecla Ctrl del teclado, por lo tanto - ^e se expande a la combinación de teclas + línea de órdenes + ee nombre-de-fichero, + donde nombre-de-fichero es el nombre + del fichero que se quiere editar. Por ejemplo, para editar + /etc/rc.conf + teclée ee /etc/rc.conf. Una vez dentro + de ee todas las órdenes para manipular + las funciones del editor están listadas en la parte + superior de la pantalla. El caracter ^ representa + la tecla Ctrl del teclado, por lo tanto + ^e se expande a la combinación de teclas Ctrle. - Para abandonar ee, presione la tecla - Esc, elegir abandonar (leave) el editor. + Para salir de ee, pulse la tecla + Esc y elija abandonar (leave) el editor. El editor preguntará entonces si se desean conservar los - cambios si el archivo hubiera sido modificado. + cambios si el fichero hubiera sido modificado. vi @@ -2401,14 +2467,16 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse FreeBSD viene también con editores de texto mucho más potentes, como vi, como parte del - sistema base, mientras que otros editores, como Emacs + sistema base, mientras que otros editores, como + Emacs y vim, son parte de la colección - de ports de FreeBSD - (editors/emacs y editors/vim). + de ports de &os; + (editors/emacs y editors/vim). Estos editores ofrecen mucha más funcionalidad y poder - a la expensa de ser un poco más complicados de aprender. + con la desventaja de ser un poco más complicados de aprender a + manejar. De cualquier manera si planea hacer mucho trabajo de edición - de texto, aprender un editor de texto más poderoso + de texto, aprender a usar un editor de texto más poderoso como vim o Emacs le ahorrará más tiempo a la larga. @@ -2417,37 +2485,38 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse Dispositivos y nodos de dispositivos Un dispositivo es un término utilizado - mayormente para actividades relacionadas con hardware - en un sistema, incluyendo discos, impresoras, tarjetas - gráficas y teclados. Cuando FreeBSD arranca, la - mayoría de lo que FreeBSD despliega son dispositivos - siendo detectados. Puede mirar a través de los - mensajes de arranque de nuevo visualizando + la mayoría de las veces para actividades relacionadas + con hardware del sistema, como discos, impresoras, tarjetas + gráficas y teclados. Cuando &os; arranca, la + mayoría de lo que &os; despliega son dispositivos + en el momento de ser detectados. Si lo desea, puede volver a + ver todos los mensajes que el sistema emite durante el arranque + consultando /var/run/dmesg.boot. Por ejemplo, acd0 es la primera unidad CDROM IDE, mientras que kbd0 representa el teclado. - La mayoría de estos dispositivos en un sistema - operativo &unix; deben ser accesados a través de - archivos especiales llamados nodos de dispositivo, los - cuales se encuentran localizados en el directorio + En un sistema operativo &unix;, debe accederse a la mayoría + de estos dispositivos a través de ficheros especiales llamados + nodos de dispositivo, que se encuentran en el directorio /dev. - Creando nodos de dispositivo + Creación de nodos de dispositivo Cuando agregue un nuevo dispositivo a su sistema, o compile soporte para dispositivos adicionales, puede que - necesite crear uno o más nodos de dispositivo para - los nuevos dispositivos. + necesite crear uno o más nodos de dispositivo. + Script MAKEDEV En sistemas sin DEVFS (esto concierne a todas las versiones anteriores a FreeBSD 5.0), los - nodos de dispositivo son creados utilizando el script - &man.MAKEDEV.8; como se muestra abajo: + nodos de dispositivo son creados utilizando + &man.MAKEDEV.8; como puede verse en el siguiente + ejemplo:
&prompt.root; cd /dev &prompt.root; sh MAKEDEV ad1 @@ -2458,20 +2527,20 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - <literal>DEVFS</literal> Dispositivo de sistema de archivos (DEVice File System) + <literal>DEVFS</literal> Dispositivo de sistema de ficheros (DEVice File System) - El dispositivo de sistema de archivos, o DEVFS, - brinda acceso a dispositivos del espacio de nombres del kernel en el - espacio de nombres del sistema de archivos global. + El dispositivo de sistema de ficheros, o DEVFS, + ofrece acceso a dispositivos del espacio de nombres del kernel en el + espacio de nombres del sistema de ficheros global. En lugar de tener que crear y modificar nodos de dispositivo, - DEVFS mantiene este sistema de archivos en - particular por usted. + DEVFS se encarga del mantenimiento + dinámico de este sistema de fichero. - Vea la página de manual &man.devfs.5; - para mayor información. + Consulte &man.devfs.5; si quiere más + información. - DEVFS es utilizado por defecto en FreeBSD 5.0 y - posteriores. + DEVFS se utiliza por defecto en + FreeBSD 5.0 y siguientes. @@ -2480,9 +2549,9 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse Formatos binarios - Para entender porque &os; utiliza el formato &man.elf.5;, - primero debe conocer un poco acerca de los tres formatos - de ejecutables dominantes para &unix;: + Para entender por qué &os; utiliza el formato &man.elf.5;, + primero debe saber unas cuantas cosas sobre los tres formatos + de ejecutables dominantes en &unix;: @@ -2491,156 +2560,165 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse El formato objeto de &unix; más antiguo y clásico. Utiliza una cabecera corta y compacta con un número mágico al - inicio que es usado frecuentemente para caracterizar el - formato (vea &man.a.out.5; para más detalles). + inicio que es usado frecuentemente para identificar el + formato (vea &man.a.out.5; para más información). Contiene tres segmentos cargados: .text, .data, y .bss además de una tabla de símbolos y una tabla - de cadena. + de cadena (strings).
COFF - El formato objeto de SVR3. La cabecera ahora consiste - de una sección de tabla, para que pueda tener más - y no solo las secciones .text, .data, y .bss. + El formato objeto de SVR3. La cabecera consiste + en una tabla de sección, para que pueda ntener más + contenido además de las secciones .text, .data, + y .bss. &man.elf.5; - El sucesor de COFF, presentando - secciones múltiples y posibles valores de 32-bits - o 64-bits. Una gran desventaja: ELF + El sucesor de COFF; dispone de + secciones múltiples y valores posibles de 32-bits + o 64-bits. Una gran desventaja: ELF fué también diseñado asumiendo que solamente existiría una ABI por cada arquitectura - de sistema. Esa asumción es en realidad bastante - incorrecta, e incluso ni en el mundo comercial SYSV (el - cual tiene al menos tres ABIs: SVR4, Solaris, SCO) se - mantiene como verdadera. + de sistema. Esa suposición es en realidad bastante + incorrecta y siquiera en el mundo comercial SYSV (el + cual tiene al menos tres ABIs: SVR4, Solaris y SCO) se + puede dar por buena. - FreeBSD trata de solucionar este problema de alguna - manera brindando una utilidad para marcar + &os; trata de solucionar este problema de alguna + manera ofreciendo una herramienta para marcar un ejecutable ELF conocido con - información acerca de con que ABI cumple. Vea la - página de manual de &man.brandelf.1; para mayor - información. + información acerca de la ABI con la que funciona. + Si quiere más información consulte + la página de manual de &man.brandelf.1;. + - FreeBSD viene del campo clásico y ha + &os; viene del campo clásico y ha utilizado el formato &man.a.out.5;, una tecnología usada - y probada a través demuchas generaciones de liberaciones - BSD, hasta el inicio de la rama 3.X. Aunque era posible - construir y ejecutar binarios nativos ELF - (y kernels) en un sistema FreeBSD desde algún tiempo - antes de eso, FreeBSD inicialmente resistió el - empujón para cambiar a ELF - como el formato por omisión. ¿Por qué? bueno, cuando - el campo Linux realizó su dolorosa transición a - ELF, no fué tanto para escapar del - formato ejecutable a.out como lo fué de - su mecanismo de librerías compartidas inflexible basado en salto-tabla, - el cual hacía la construcción de librerías - compartidas muy difícil para proveedores y desarrolladores - por igual. Ya que las herramientas ELF + y probada en muchas de muchas generaciones de versiones de + BSD hasta el inicio de la rama 3.X. Aunque era posible + compilar y ejecutar binarios nativos ELF + (y kernels) en un sistema &os; desde algún tiempo + antes de esto, &os; al principio se mantuvo + contra corriente y no cambió a + ELF como formato por defecto. + ¿Por qué? Bueno, cuando el mundo Linux + efectuó su dolorosa transición a + ELF no fué tanto por huir del formato + a.out como por su inflexible mecanismo de + bibliotecas compartidas basado en tablas de saltos, que + hacía igual de difícil la construcción de + bibliotecas compartidas tanto para los desarrolladores como para + los proveedores. + Ya que las herramientas ELF disponibles ofrecían una solución al problema de - librerías compartidas y eran vistas generalmente como - la manera de avanzar de todas maneras, el costo + las bibliotecas compartidas y eran vistas por mucha gente como + la manera de avanzar, el costo de migración fué aceptado como necesario y se - realizó la transición. El mecanismo de - librerías compartidas de FreeBSD está basado de - manera más cercana al estilo de mecanismo de - librerías compartidas de &sunos; de Sun y, como tal, es + realizó la transición. El mecanismo de + bibliotecas compartidas de &os; está diseñado de + manera más cercana al estilo del sistema de + bibliotecas compartidas de &sunos; de Sun y, como tal, es muy sencillo de utilizar. - Entonces, ¿por qué existen tantos formatos diferentes? + Entonces, ¿por qué existen tantos formatos + diferentes? - En el tenue, oscuro pasado, existía hardware simple. - Este hardware simple soportaba un sistema pequeño, simple. - a.out era completamente adecuado para el trabajo - de representar binarios en este sistema simple (un PDP-11). A + En un tiempo muy, muy lejano, existía hardware simple. + Este hardware tan simple soportaba un sistema pequeño, simple. + a.out era idóneo para el trabajo + de representar binarios en este sistema tan simple (un PDP-11). A medida que la gente portaba &unix; desde este sistema simple, retuvieron el formato a.out debido a que era suficiente para los primeros portes de &unix; a arquitecturas como 68k de Motorola, VAXen, etc. Entonces algún brillante ingeniero de hardware decidió - que si el podía forzar al software a realizar algunos trucos - sucios, entonces podría rasurar algunas puertas del - diseño y permitirle al centro de su CPU correr más - rapidamente. Aunque estaba hecho para trabajar con este nuevo - tipo de hardware (conocido estos días como RISC), + que si podía forzar al software a hacer algunos trucos + sucios podría sortear ciertos obstáculos del + diseño y permitir al núcleo de su CPU correr más + rápidamente. Aunque estaba hecho para trabajar con este nuevo + tipo de hardware (conocido entonces como RISC), a.out no estaba bien adaptado para este hardware, así que varios formatos fueron desarrollados - para obtener un mejor desempeño de este hardware que el + para obtener un mejor rendimiento de este hardware que el limitado, simple formato a.out podría - ofrecer. Cosas como COFF, ECOFF - y algunos otros oscuros fueron inventados y sus limitaciones - fueron exploradas antes de que las cosas parecieran decidirse en + ofrecer. Así fué cómo COFF, + ECOFF y algunos otros formatos más + extraños fueron inventados y sus limitaciones exploradas hasta + que se fué llegando a la elección en favor de ELF. - Además, el tamaño de los programas estaban + Además, el tamaño de los programas estaba volviendose gigantes y los discos (y la memoria física) - eran relativamente pequeños así que el concepto - de una librería compartida nació. El sistema - VM también se volvió más sofisticado. + eran relativamente pequeños, así que el concepto + de una biblioteca compartida nació. El sistema + VM también se volvió más sofisticado. Mientras cada uno de estos avances fué hecho utilizando - el formato a.out, su utilidad era reducida - más y más con cada opción nueva. Además, - la gente quería cargar dinamicamente cosas al momento - de ejecución, o descartar partes de su programa despues - que el código de inicio se ejecutara para salvar memoria - del núcleo y espacio de swap. Los lenguajes se volvieron - más sofisticados y la gente quería que el código - fuera llamado antes que main de manera automática. Muchos - hacks fueron hechos al formato a.out para - permitir que todas estas cosas sucedieran, y basicamente - funcionaron por un tiempo. Con el tiempo, a.out - no estaba para manejar todos estos problemas sin incrementar - la carga y complejidad en el código. Mientras ELF - resolvía muchos de estos problemas, hubiera sido doloroso - cambiar del sistema que basicamente funcionaba. Así que + el formato a.out, su utilidad se iba reduciendo + paulatinamente con cada nueva opción. Además, + la gente quería cargar cosas dinámicamente en el momento + de ejecución, o descartar partes de su programa después de + que el código de inicio se ejecutara para ahorrar memoria + principal y espacio de swap. Al volverse más sofisticados los + lenguajes, la gente empezó a ver la necesidad de introducir + código antes del inicio del programa de forma automática. + Se hicieron muchos hacks al formato a.out para + permitir que todas estas cosas sucedieran, y lo cierto es que por un + tiempo funcionaron. Pero a.out no estaba + no estaba para solucionar todos estos problemas sin incrementar + la carga y complejidad del código. Aunque ELF + resolvía muchos de estos problemas, en ese momento hubiera sido + terrible dejar de lado un sistema que sencillamente funcionaba, + así que ELF tuvo que esperar hasta que fué más doloroso permanecer con a.out que migrar a ELF. - De todas maneras, al paso del tiempo, las herramientas + De todas maneras, con el paso del tiempo, las herramientas de construcción de las que FreeBSD derivó - sus herramientas de construcción (el ensamblador y - cargador especialmente) evolucionaron en dos árboles - paralelos. El árbol FreeBSD agregó librerías - compartidas y arregló algunos errores. Las personas de - GNU que originalmente escribieron estos programas los - reescribieron y agregaron soporte más simple para - construir compiladores cruzados (cross compilers), enchufando - diferentes formatos a voluntad, y así sucesivamente. - Ya que mucha gente quería construir compiladores - cruzados con FreeBSD como blanco, estaban de mala suerte - debido a que las fuentes antiguas que FreeBSD tenía + las suyas propias (el ensamblador y el cargador, sobre todo) + evolucionaron en dos árboles + paralelos. El árbol &os; añadió bibliotecas + compartidas y corrigió algunos errores. La gente de GNU + que originalmente escribió estos programas los + reescribió y añadieron una forma más simple para + disponer de compiladores cruzados (cross compilers), + usando diferentes formatos a voluntad, etc. + Aunque mucha gente quería compiladores + cruzados con FreeBSD como blanco no estaban de suerte, porque + los fuentes que &os; tenía para as y ld - no estaban listas para esa tarea. La nueva cadena de herramientas - GNU (binutils) soporta compilamiento - cruzado, ELF, librerías compartidas, - extensiones C++, etc. Además, muchos proveedores están - liberando binarios ELF, y es una buena - cosa que FreeBSD los ejecute. + no estaban listos para cumplir esa tarea. La nueva cadena de herramientas + GNU (binutils) soporta compilación + cruzada, ELF, bibliotecas compartidas, + extensiones C++, etc. Además, muchos proveedores están + liberando binarios ELF, y es algo muy bueno + que FreeBSD los pueda ejecutar. - ELF es más expresivo que a.out - y permite más extensibilidad en el sistema base. + ELF es más expresivo que + a.out + y permite un sistema base más extensible. Las herramientas ELF están mejor - mantenidas y ofrecen soporte de compilamiento cruzado, el - cual es importante para muchas personas. + mantenidas y ofrecen soporte de compilación cruzada, + muy importante para mucha gente. ELF puede ser un poco más lento que a.out, pero tratar de medirlo puede ser difícil. También existen numerosos detalles - que son diferentes entre los dos en como mapean páginas, - manejan código de inicio, etc. Ninguno de estos es + que son diferentes entre los dos en cómo mapean páginas, + cómo gestionan código de inicio, etc. Ninguno de estos es muy importante, pero existen diferencias. Con el tiempo, el soporte para a.out será eliminado - del kernel GENERIC, y eventualmente - eliminado del kernel una vez que la necesidad de ejecutar - programas a.out legados haya pasado. + del kernel GENERIC, y es muy posible que + se elimine del kernel la posibilidad de ejecutar tales binarios + una vez que la necesidad de usar programas + a.out haya pasado. @@ -2650,18 +2728,18 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse Páginas de manual páginas de manual - La documentación más exhaustiva de FreeBSD se - encuentra en la forma de páginas de manual. Casi todos los - programas del sistema vienen con un breve manual de referencia - explicando el funcionamiento básico y sus diferentes argumentos. - Estos manuales pueden ser revisados con el comando man. - El uso del comando man es simple: + La documentación más exhaustiva de &os; + está en las páginas de manual. Casi todos los + programas del sistema vienen con un breve manual de referencia + explicando el funcionamiento básico y sus diferentes argumentos. + Estos manuales pueden revisarse mediante man. + El uso de man es simple: - &prompt.user; man comando + &prompt.user; man orden - comando es el nombre del comando del - que desea aprender. Por ejemplo, para saber algo acerca del - comando ls escriba: + orden es el nombre de la orden sobre la que + que desea saber. Por ejemplo, para más información + sobre ls escriba: &prompt.user; man ls @@ -2678,7 +2756,7 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - Funciones en las librerías de C. + Funciones en las bibliotecas de C. @@ -2686,19 +2764,20 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - Formatos de archivo. + Formatos de fichero. - Juegos y otras diversiones. + Juegos y demás pasatiempos. - Información miscelanea. + Información sobre temas diversos. - Comandos de mantenimiento y operación del sistema. + Comandos relacionados con el mantenimiento del sistema y + su funcionamiento. @@ -2706,40 +2785,40 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - En algunos casos, el mismo tema puede aparecer en más de - una sección del manual en línea. Por ejemplo, - existe un comando de usuario chmod y una - llamada del sistema chmod(). En este caso, - se le puede decir al comando man - cual desea especificando la sección: + En algunos casos, el mismo tema puede aparecer en más de + una sección del manual en línea. Por ejemplo, + existe una orden de usuario chmod y una + llamada del sistema chmod(). En este caso + se le puede decir a man + cuál desea consultar especificando la sección: &prompt.user; man 1 chmod - Esto desplegará la página de manual para - el comando de usuario chmod. Las referencias + Esto desplegará la página de manual de la + orden de usuario chmod. Las referencias a una sección concreta del manual en línea - son colocadas tracicionalmente entre paréntesis + tradicionalmente suelen colocarse entre paréntesis en la documentación escrita, por lo tanto &man.chmod.1; - se refiere al comando de usuario chmod y + se refiere a la orden de usuario chmod y &man.chmod.2; se refiere a la llamada de sistema. - Esto está muy bien si se conoce el nombre del programa y - simplemente se quiere saber como usarlo. Pero, ¿y si no - puede recordar el nombre del comando? Se puede usar man para que - realice una búsqueda mediante palabras clave en las descripciones + Esto está muy bien si se conoce el nombre del programa y + simplemente se quiere saber como usarlo. Pero, ¿y si no + puede recordar el nombre de la orden? Se puede usar man para que + realice una búsqueda mediante palabras clave en las descripciones de programas utilizando el argumento : &prompt.user; man -k mail - Con este comando se mostrará una lista de - comandos que tienen la palabra clave mail - en sus descripciones. Esto en realidad es funcionalmente - equivalente a usar el comando apropos. + Dicha orden mostrará una lista de + órdenes que contengan la palabra clave mail + en sus descripciones. Esto es funcionalmente + equivalente a usar apropos. - Así que , ¿está viendo todos esos comandos - elegantes en /usr/bin pero no tiene - ni la menor idea de lo que la mayoría de ellos hace? - simplemente haga: + Así que, ¿está viendo todos esos programas + tan atractivos en /usr/bin pero no tiene + ni la menor idea de lo que la mayoría de ellos hace? + Haga lo siguiente: &prompt.user; cd /usr/bin &prompt.user; man -f * @@ -2753,19 +2832,20 @@ Swap: 256M Total, 38M Used, 217M Free, 15% Inuse - Archivos de información GNU + Ficheros de información GNU Fundación de software libre - FreeBSD incluye muchas aplicaciones y utilidades producidas - por la Fundación de software libre (FSF, Free Software - Foundation). De manera adicional a las páginas de manual + &os; incluye muchas aplicaciones y utilidades producidas + por la FSF (Free Software + Foundation). Además de con las correspondientes + páginas de manual, estos programas vienen con documentos de hipertexto más - detallados, llamados archivos info, los - cuales pueden ser viualizados con el comando info - o, si tiene instalado emacs, con + detallados, llamados ficheros info, los + cuales pueden ser visualizados con info, + o si tiene instalado emacs, con el modo info de emacs. - Para utilizar el comando &man.info.1;, simplemente + Si quiere utilizar la orden &man.info.1; simplemente teclée: &prompt.user; info diff --git a/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml b/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml index bd5b87b8c0..bcc7f9e5c6 100644 --- a/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/geom/chapter.sgml @@ -1,6 +1,11 @@ @@ -15,8 +20,8 @@ - GEOM: Infraestructura modular de trasformación de - disco + GEOM: Marco de trabajo modular de transformación de discos + &trans.es.quique; Sinopsis @@ -29,55 +34,53 @@ GEOM - Este capítulo cubre el uso de discos bajo la - infraestructura GEOM en &os;. Esto incluye las mayores - utilidades de control RAID - las cuales utilizan la infraestructura para su - configuración. Este capítulo no entrará - en una discusión detallada sobre como GEOM maneja - o controla E/S, el subsistema subyacente o el código. - Esta información se da a través de la - página de manual &man.geom.4; y en sus varias - referencias. Este capítulo no es una guía - definitiva de configuraciones RAID. Solo - las clasificaciones de RAID soportadas - por GEOM serán discutidas. + Este capítulo explica el uso de discos bajo el marco de + trabajo GEOM en &os;. Esto incluye las principales utilidades de control + de RAID + que usan el marco de trabajo para su configuración. + Este capítulo no se adentrará en un examen en profundidad + de como GEOM maneja o controla la E/S, el subsistema subyacente, o el + código. + Esta información se proporciona en la página de manual + &man.geom.4; y sus diversas referencias VEA TAMBIÉN. + Este capítulo tampoco es una guía definitiva de + configuraciones RAID. Sólo se examinan las + clasificaciones de RAID que puede usar GEOM. - Despues de leer este capítulo, usted sabrá: + Tras leer este capítulo, sabrá: - Que tipo de soporte para RAID está + Que tipo de soporte para RAID está disponible a través de GEOM. - Como utilizar las utilidades base para configurar, - mantener y manipular los varios niveles de - RAID. + Como utilizar las utilidades base para configurar, mantener, + y manipular los diversos niveles de RAID. - Como hacer un espejo, unir (stripe), encriptar y conectar - remotamente dispositivos de disco a través de GEOM. + Como replicar, unir, cifrar, y conectar remotamente dispositivos + de disco por medio de GEOM. - Como determinar errores de discos conectados - a la infraestructura GEOM. + Como solucionar problemas con los discos adscritos al marco de + trabajo GEOM. - Antes de leer este capítulo, usted debe: + Antes de leer este capítulo, debería: - Entender como &os; trata los dispositivos - de disco (). + Entender como trata &os; a los dispositivos de disco + (). - Saber como configurar e instalar un nuevo kernel - &os; (). + Saber como configurar e instalar un nuevo núcleo de &os; + (). @@ -85,13 +88,13 @@ Introducción a GEOM - GEOM permite acceso y control a clases — registros - maestros de arranque, etiquetas (labels) BSD, - etc — a través del uso de proveedores, o de los - archivos especiales en /dev. - Soportando varias configuraciones de RAID por - software, GEOM brindará acceso transparente al sistema - operativo y a las utilidades del sistema operativo. + GEOM permite el acceso y control de clases —sectores de + arranque maestros (MBR), etiquetas BSD, etc— por + medio del uso de proveedores, o de los ficheros especiales de + /dev. + Capaz de trabajar con varias configuraciones de RAID + por software, GEOM proporcionará transparentemente acceso al + sistema operativo y las utilidades del mismo. @@ -109,36 +112,33 @@ - RAID0 - Unión (Striping) + RAID0 - Distribución por bandas GEOM - Stripping + Striping - La unión es un método utilizado para combinar - varias unidades de disco en un solo volumen. En muchos casos, esto - es realizado a través del uso de controladores de hardware. - El subsistema de discos GEOM brinda soporte por software para - RAID0, también conocido como - striping de disco. + La distribución por bandas (striping) es un método que + se usa para combinar varias unidades de disco en un único volumen. + En muchos casos, esto se hace usando controladoras por hardware. El + subsistema de discos GEOM proporciona soporte por software para + RAID0, también conocido como discos + configurados en bandas. - En un sistema RAID0, los datos son - divididos en bloques que son escritos a lo largo de todas - las unidades en el arreglo. En lugar de tener que esperar - que el sistema escriba 256k a un disco, un sistema - RAID0 puede escribir simultaneamente 64k - a cada uno de los cuatro discos diferentes, ofreciendo - un desempeño superior de E/S. Este desempeño - puede ser mejorado utilizando diferentes controladores de - disco. + En un sistema RAID0, los datos se dividen en + bloques que son escritos por todas las unidades de la agrupación. + En lugar de tener que esperar a que el sistema escriba 256 kB en un + disco, un sistema RAID0 puede escribir simultáneamente + 64 kB en cada uno de los cuatro discos, ofreciendo un superior + rendimiento de E/S. Este rendimiento se puede mejorar aún + más usando varias controladoras de disco. - Cada disco en una unión RAID0 - debe ser del mismo tamaño, ya que las peticiones E/S - son intercaladas para leer o escribir a discos múltiples - en paralelo. + Cada uno de los discos de una banda RAID0 debe ser + del mismo tamaño, pues las peticiones de E/S están + intercaladas para leer o escribir en varios discos en paralelo. @@ -146,31 +146,31 @@ - Disk Striping Illustration + Ilustració de la distribución por bandas de + los discos - Creando una unión de discos ATA no formateados + Creación de una banda de discos ATA sin formatear Cargue el módulo geom_stripe: &prompt.root; kldload geom_stripe.ko - Asegúrese que existe un punto de montaje adecuado. - Si este volumen se convertirá en una partición - raíz, entonces utilice temporalmente otro punto de - montaje como /mnt. + Asegúrese de que existe un punto de montaje adecuado. + Si este volumen se convertirá en una partición raíz, + utilice temporalmente otro punto de montaje, como /mnt. &prompt.root; mkdir /mnt - Determine los nombres de dispositivo para los - discos que serán unidos, y proceda a crear el nuevo - dispositivo de unión. Por ejemplo, el siguiente comando - puede ser utilizado para unir dos discos ATA - no particionados: + Determine los nombres de dispositivo de los discos que + serán configurados en bandas, y cree el nuevo dispositivo de + banda. Por ejemplo, podría utilizar la siguiente orden para configurar + en bandas dos discos ATA sin usar ni particionar: /dev/ad2 y /dev/ad3. @@ -183,258 +183,252 @@ XXX: What message? Put it inside the screen output above. --> - Si este volumen será utilizado como un - dispositivo raíz para arrancar el sistema, entonces - el siguiente comando debe ser ejecutado antes de crear - los sistemas de archivo: + Si se va a usar este volumen como dispositivo raíz + para arrancar el sistema, debe ejecutar la siguiente orden antes de + crear el sistema de ficheros: &prompt.root; fdisk -vBI /dev/stripe/st0 - Una tabla de partición debe ser creada en el - nuevo volumen con el siguiente comando: + Se debe crear una tabla de particiones en el nuevo volumen con la + siguiente orden: &prompt.root; bsdlabel -wB /dev/stripe/st0 - Este proceso debe hacer creado otros dos dispositivos - en el directorio /dev/stripe - además del dispositivo st0. - Estos incluyen a st0a y - st0c. Ahora debe ser creado un sistema de - archivos en el dispositivo st0a utilizando - el siguiente comando newfs: + Aademás del dispositivo st0, + este proceso debería haber creado otros dos + dispositivos en el directorio + /dev/stripe, incluyendo + st0a y st0c. + Ahora se debe crear un sistema de ficheros en el dispositivo + st0a usando la siguiente orden + newfs: &prompt.root; newfs -U /dev/stripe/st0a - Muchos números aparecerán en la pantalla, y - despues de unos cuantos segundos, el proceso se completará. - El volumen ha sido creado y está listo para montarse: + Por la pantalla se deslizarán muchos números, y al + cabo de unos pocos segundos, el proceso habrá finalizado. El + volumen ha sido creado y está preparado para ser montado: - El siguiente comando puede ser utilizado para montar - manualmente una unión recién creada: + Se puede usar la siguiente orden para montar manualmente una banda de + discos recién creada: &prompt.root; mount /dev/stripe/st0a /mnt - Para montar esta unión de sistemas de archivos durante - el proceso de arranque, coloque la información del volumen - en el archivo /etc/fstab: + Para montar automáticamente este sistema de ficheros distribuido + por bandas durante el proceso de arranque, ponga la información + del volumen en el fichero /etc/fstab: &prompt.root; echo "/dev/stripe/st0a /mnt ufs rw 2 2" \ >> /etc/fstab - El módulo geom también debe ser cargado - automaticamente durante la inicialización del - sistema, agregando una línea a - /boot/loader.conf: + También se debe cargar automáticamente durante la + inicialización del sistema el módulo geom, añadiendo + una línea a /boot/loader.conf: &prompt.root; echo 'geom_stripe_load="YES"' >> /boot/loader.conf - RAID1 - Espejando + RAID1 - Replicación GEOM - Espejando discos + Disk Mirroring - El espejado es una tecnología utilizada por muchas - corporaciones y usuarios caseros para respaldar datos sin - interrupción. Cuando existe un espejo, simplemente - significa que discoB replica a discoA. O, quizás discoC+D - replica a discoA+B. Sin importar la configuración de disco, - el aspecto importante es que la información en un disco - o partición está siendo replicada. Despues, esa - información puede ser más facilmente restaurada, - respaldada sin provocar interrupción de los servicios - o accesos, e incluso ser almacenada fisicamente en una caja de - seguridad para datos. + La replicación es una tecnologín que usan muchas + empresas y usuarios para hacer copias de respaldo de sus datos sin + interrupciones. Cuando hay una réplica, simplemente + significa que el discoB replica al discoA. O, quizá el discoC+D + replica al discoA+B. Al margen de la configuración de los discos, + lo importante es que la información de un disco o + partición está siendo replicada. Más adelante se + podría restaurar esa información más + fácilmente, hacerse una copia de respaldo sin provocar + intrrupciones de servicio o acceso, e incluso almacenarla + físicamente en una caja fuerte para datos. - Para empezar, asegúrese que el sistema tiene dos discos - de igual tamaño, este ejercicio asume que son discos - SCSI con acceso directo (&man.da.4;). + Para empezar, asegúrese de que el sistema tiene dos unidades + de disco del mismo tamaño, eb este ejercicio se supone que son discos + SCSI de acceso directo (&man.da.4;). - Empiece instalando &os; en el primer disco con solo dos - particiones. Una debe ser la partición swap, el doble - del tamaño de la RAM y todo el - espacio restante para el sistema de archivos raíz - (/). Es posible tener - particiones separadas para otros puntos de montaje; sin - embargo, esto incrementará el nivel de dificultad - debido a la alteración manual de las configuraciones - de &man.bsdlabel.8; y &man.fdisk.8;. + Comience por instalar &os; en el primer disco con sólo dos + particiones. Una debería ser una partición de intercambio, + de dos veces el tamaño de la RAM, y todo el + espacio restante se dedicará al sistema de ficheros raíz + (/). + Es posible tener particiones aparte para otros puntos de montajes; sin + embargo, esto multiplicará por diez el nivel de dificultad, debido + a la alteración manual de las opciones de &man.bsdlabel.8; y + &man.fdisk.8;. - Reinicie y espere a que el sistema inicialice completamente. - Una vez que este proceso se ha completado, entre como el usuario + Reinicie y espere a que el sistema se inicie por completo. Una vez + haya finalizado este proceso, ingrese como usuario root. - Crée el dispositivo /dev/mirror/gm - y enlácelo a /dev/da1: + Cree el dispositivo /dev/mirror/gm y + enlácelo a /dev/da1: &prompt.root; gmirror label -vnb round-robin gm0 /dev/da1 + El sistema debería responder con: + +Metadata value stored on /dev/da1. +Done. + + Inicialice GEOM, esto cargará el módulo del + núcleo /boot/kernel/geom_mirror.ko: + + &prompt.root; gmirror load + - Este comando debería haber creado los nodos de dispositivo - gm0, gm0s1, - gm0s1a y gm0s1c - en el directorio /dev/mirror. + Esta orden debería haber creado en el directorio + /dev/mirror los nodos de + dispositivo gm0, gm0s1, + gm0s1a, y gm0s1c. - Inicialize GEOM; esto cargará el módulo - del kernel /boot/kernel/geom_mirror.ko: - - &prompt.root; geom load - - Instale una etiqueta fdisk genérica - y código de arranque para el dispositivo recién - creado gm0: + Instale una etiqueta genérica fdisk y + el código de arranque en el recién creado dispositivo + gm0: &prompt.root; fdisk -vBI /dev/mirror/gm0 - Ahora instale información bsdlabel + Ahora instale la información bsdlabel genérica: &prompt.root; bsdlabel -wB /dev/mirror/gm0s1 - Si existen porciones y particiones múltiples, las - banderas para los dos comandos previos necesitarán una - alteración. Deben ser igual al tamaño de la - porción y de la partición del otro disco. + Si hay varias slices (rodajas) y particiones, necesitará + modificar las opciones de las dos órdenes anteriores. Deben + coincidir con la slice y tamaño de partición del otro + disco. - Use la utilidad &man.newfs.8; para crear un sistema de - archivos por omisión en el nodo de dispositivo - gm0s1a: + Utilice la utilidad &man.newfs.8; para crear un sistema de ficheros + predefinido en nodo de dispositivo gm0s1a: &prompt.root; newfs -U /dev/mirror/gm0s1a - Esto debe haber causado que el sistema escupa alguna - información y varios números. Esto es bueno. - Examine la pantalla por cualquier error y monte el dispositivo - en el punto de montaje /mnt: + Esto debería haber hecho que el sistema mostrara alguna + información y un puñado de números. Esto es bueno. + Examine la pantalla por si hay algún mensaje de error y monte el + dispositivo en el punto de montaje + /mnt: - &prompt.root mount /dev/mirror/gm0s1a /mnt + &prompt.root; mount /dev/mirror/gm0s1a /mnt - Ahora mueva todos los datos del disco de arranque hacia - este nuevo sistema de archivos. Este ejemplo utiliza los - comandos &man.dump.8; y &man.restore.8;; de todas maneras, - &man.dd.1; tambien funcionaría en este escenario. - Evitamos utilizar &man.tar.1; porque no copiará el - código de arranque. De esa manera, el fallo estaría - garantizado. + Ahora mueva todos los datos del disco de arranque a este nuevo + sistema de ficheros. Este ejemplo usa las órdenes &man.dump.8; + y &man.restore.8;; aunque, &man.dd.1; también debería + funcionar en este escenario. Evitamos utilizar &man.tar.1; porque no + copiará el código de arranque. De ese modo, el fallo + estaría garantizado. &prompt.root; dump -L -0 -f- / |(cd /mnt && restore -r -v -f-) - Esto debe realizarse para cada sistema de archivos. - Simplemente coloque el sistema de archivos apropiado en la - localidad correcta al ejecutar el mencionado comando. + Se debe hacer esto para cada sistema de ficheros. Simplemente + ponga el sistema de ficheros adecuado en la ubicación correcta + al ejecutar la orden mencionada. - Ahora edite el archivo replicado /mnt/etc/fstab - y elimine o comente el archivo swap. Cambie la información - de los otros sistemas de archivos para que utilicen el nuevo - disco. Vea el siguiente ejemplo: + Ahora edite el fichero replicado /mnt/etc/fstab + y elimine o comente el fichero swap + + Debe advertirse que comentar la entrada del fichero swap en + fstab probablemente le obligará a + reestablecer una manera diferente de habilitar el espacio de + intercambio. Consulte para + más información. + . Cambie la información del otro sistema de ficheros + para que utilice el nuevo disco. Vea el siguiente ejemplo: # Device Mountpoint FStype Options Dump Pass# #/dev/da0s2b none swap sw 0 0 -/dev/mirror/gm0sa1 / ufs rw 1 1 +/dev/mirror/gm0s1a / ufs rw 1 1 - Ahora crée un archivo boot.conf - en la partición raíz actual y también en - la nueva partición raíz. Este archivo - ayudará al BIOS del - sistema a arrancar la unidad correcta: + Ahora cree un fichero boot.conf tanto en la + partición actual como en la nueva partición raíz. + Este fichero ayudará al BIOS + del sistema a arrancar la unidad correcta: &prompt.root; echo "1:da(1,a)/boot/loader" > /boot.config &prompt.root; echo "1:da(1,a)/boot/loader" > /mnt/boot.config - La hemos colocado en ambas particiones raíz para - asegurar el arranque correcto. Si por alguna razón - el sistema no puede leer desde la nueva partición - raíz, un respaldo está disponible. + Lo hemos colcoado en ambas particiones raíz para asegurar un + arranque correcto. Si por alguna razón el sistema no pudiera + leer en la nueva partición raíz, está disponible + un arranque a prueba de fallos. - Ahora agregue la siguiente línea a + Ahora agregue la siguiente línea al nuevo /boot/loader.conf: - &prompt.root; echo 'geom_mirror_load="YES"' >> /boot/loader.conf + &prompt.root; echo 'geom_mirror_load="YES"' >> /mnt/boot/loader.conf - Esto le instruirá a la utilidad &man.loader.8; - que cargue geom_mirror.ko durante la - inicialización del sistema. + Esto le dice a la utilidad &man.loader.8; que cargue el + geom_mirror.ko durante la inicialización del + sistema. Reinicie el sistema: &prompt.root; shutdown -r now - Si todo ha ido bien, el sistema debe haber arrancado desde el - dispositivo gm0s1a y un prompt de - login debe estar esperando. Si algo estuvo - mal, revise la siguiente sección de determinación - de errores. Ahora agregue el disco da0 al + Si todo ha ido bien, el sistema debería haber arrancado desde + el dispositivo gm0s1a, y un prompt + login debería estar a la espera. Si algo fue + mal, consulte la sección posterior de resolución de + problemas. Ahora agregue el disco da0 al dispositivo gm0: &prompt.root; gmirror configure -a gm0 &prompt.root; gmirror insert gm0 /dev/da0 - La bandera le dice a &man.gmirror.8; - que utilice sincronización automática; ej., - espejar las escrituras a disco automaticamente. La página - de manual explica como reconstruir y reemplazar discos, - aunque utiliza data en lugar de - gm0. + La opción le dice a &man.gmirror.8; que + use sincronización automática; por ejemplo, que replique + las escrituras en disco automáticamente. La página de + manual explica como reconstruir y reemplazar discos, aunque utiliza + data en vez de gm0. - Determinando errores + Resolución de problemas El sistema se niega a arrancar - Si el sistema arranca y se queda en un prompt similar a: + Si el sistema arranca hasta un prompt similar a: ffs_mountroot: can't find rootvp Root mount failed: 6 mountroot> - Reinicie la máquina utilizando el botón - de power o reset. En el menu de arranque seleccione la - opción seis (6). Esto mandará al sistema a - un prompt de &man.loader.8;. Cargue el módulo del - kernel manualmente: + Reinicie la máquina utilizando el botón de + encendido o el de reset. En el menú de arranque, seleccione + la opción seis (6). Esto llevará al sistema a un + prompt de &man.loader.8;. Cargue el módulo del núcleo + manualmente: OK? load geom_mirror.ko OK? boot - Si esto funciona, entonces por algún motivo el - módulo no esta siendo cargado apropiadamente. - Coloque: + Si esto funciona, es que por alguna razón el módulo + no se cargaba correctamente. Ponga: options GEOM_MIRROR - en el archivo de configuración del kernel, reconstruya - y reinstale. Eso debe remediar este asunto. + en el fichero de configuración del núcleo, + recompile y reinstale. Esto debería solucionar el problema. - - - diff --git a/es_ES.ISO8859-1/books/handbook/security/chapter.sgml b/es_ES.ISO8859-1/books/handbook/security/chapter.sgml index 6449c90059..d185c5091a 100755 --- a/es_ES.ISO8859-1/books/handbook/security/chapter.sgml +++ b/es_ES.ISO8859-1/books/handbook/security/chapter.sgml @@ -10,8 +10,8 @@ Matthew Dillon - Gran parte de este capítulo ha sido - tomado del manual de security(7) por + Gran parte del contenido de este capítulo + procede de la página de manual de security(7), de @@ -22,145 +22,156 @@ Sinopsis - Este capítulo brindará una introducción - básica a los conceptos de seguridad de sistema y algunos temas - avanzados en &os;. Muchos de los temas cubiertos aquí - pueden aplicarse a la seguridad del sistema asi como también - a la de Internet en general. Internet ya no es un lugar - amistoso en el cual cada quién desea ser un - buen vecino. Asegurar su sistema es imperativo para proteger sus - datos, propiedad intelectual, tiempo, y mucho más de las - manos de hackers y similares. + Este capítulo contiene una introducción + básica a los conceptos de seguridad del sistema, unas + cuantas normas básicas de uso y algunos avanzados del + tema en &os;. Muchos de los temas expuestos se aplican a la + seguridad del sistema y de Internet en general. + Internet ya no es aquél lugar amistoso + en el que todo el mundo se comportaba como un buen ciudadano. + Si quiere proteger sus datos, su propiedad intelectual, su tiempo + y muchas más cosas de manos malintencionadas debe hacer + que su sistema sea seguro. - FreeBSD proporciona un arsenal de utilidades y mecanismos para + &os; proporciona un variado arsenal de utilidades y mecanismos para asegurar la integridad y la seguridad de su sistema y red. - Después de leer este capítulo, usted sabrá: + Después de leer este capítulo: - Conceptos básicos de seguridad, con respecto a &os;. + conocerá conceptos básicos de la seguridad + relacionados con &os;. - Acerca de varios mecanismos de encriptación disponibles - en &os;, como DES y MD5. + Tendrá información sobre los diversos mecanismos + de cifrado disponibles en &os;, entre los cuales están + DES y MD5. - Como configurar autentificación de contraseñas - para usar solo-una-vez. + Sabrá cómo configurar la autentificación + de contraseñas de un solo uso. - Como configurar TCP Wrappers para usar - con inetd. + Sabrá cómo configurar TCP + Wrappers y usarlos con + inetd. - Como instalar KerberosIV en &os; - con versiones anteriores a 5.0. + Sabrá cómo instalar + KerberosIV en versiones de &os; + anteriores a 5.0. - Como instalar Kerberos5 en &os; con - versiones posteriores a 5.0. + Sabrá cómo instalar + Kerberos5 en versiones de &os; + posteriores a 5.0. - Como configurar IPsec y crean una VPN entre + Podrá configurar IPsec y crear una + VPN entre máquinas &os;/&windows;. - Como configurar y utilizar OpenSSH, - la implementación SSH de &os;. + Sabrá cómo configurar y utilizar + OpenSSH, + la implementación de SSH en &os;. - Que son ACLs del sistema de archivos y como + Sabrá en qué consisten las + ACL del sistema de ficheros y cómo utilizarlas. - Como usar la utilidad Portaudit - para auditar paquetes de software de terceros instalados + Sabrá cómo usar + Portaudit, con la que podrá + auditar el software que instale desde la desde la colección de ports. - Como utilizar las publicaciones de advertencias de seguridad en - &os;. + Sabrá cómo sacar partido de los avisos de + seguridad que publica &os;. - Tener una idea de lo que es contabilidad de - procesos y como habilitarla en &os;. + Podrá hacerse una idea clara de en qué consiste + la contabilidad de procesos y de cómo activarla en + &os;. - Antes de leer este capítulo, usted debe: + Antes de leer este capítulo: - Entender Conceptos básicos de &os; y el Internet. + Comprender conceptos básicos de &os; e Internet. - Tópicos de seguridad adicionales son cubiertos a lo - largo de este libro. Por ejemplo, controles de acceso - obligatorio (Mandatory Access Control) son discutidos en y firewalls de internet son discutidos en el - capítulo de firewalls. - . + En otras secciones de este manual se cubren aspectos adicionales + sobre seguridad. Por ejemplo, MAC (controles de acceso obligatorio) + se explica en el y los cortafuegos en el + . Introducción - La seguridad es una función que comienza y termina con el - administrador de sistema. Mientras que los sistemas multi-usuario - BSD &unix; tienen una seguridad inherente, el trabajo de construir y - mantener mecanismos de seguridad adicionales para hacer que los - usuarios sean honestos es probablemente una de las - tareas más grandes del administrador del sistema. Los sistemas - son tan seguros como uno los haga, los problemas de seguridad compiten - con la necesidad humana de conveniencia. Los sistemas &unix; en - general, son capaces de correr una gran cantidad de procesos - simultáneos, de los cuales muchos de estos son servidores - – lo que significa que entidades externas pueden conectarse y - hablar con ellos. Asi como las mini-computadoras del - ayer se convirtieron en los ahora escritorios de trabajo, y las - computadoras se interconectaron, la seguridad cada vez se hace un - problema más grande. + La seguridad es un trabajo que que comienza y termina en el + administrador de sistema. Aunque que los sistemas multiusuario + BSD &unix; posean una seguridad inherente, el trabajo de construir y + mantener mecanismos de seguridad adicionales para que los + usuarios sean aún más honestos es + probablemente una de las mayores tareas de la administración + de sistemas. Los sistemas son tan seguros como uno los haga, y + no hay que olvidar que los problemas de seguridad compiten con la + comodidad a la que tendemos los humanos. Los sistemas &unix; + son capaces de ejecutar una gran cantidad de procesos + simultáneamente, muchos de los cuales son servidores, lo que + significa que las entidades externas pueden conectarse y + hablar con ellos. Del mismo modo que las + minicomputadoras de ayer se convirtieron en los sistemas de + escritorio de hoy en día, la seguridad se va convirtiendo + en un problemas más y más acuciante. - La seguridad es mejor implementada como cebolla en - capas. Basicamente, lo que se quiere hacer es crear la mayor cantidad - posible de capas de seguridad como sea conveniente para luego - cuidadosamente monitorear el sistema para detectar intrusos. No es - conveniente sobreconstruir la seguridad, ya que esta interferirá - con el aspecto de detección, y la detección es uno de - los más importantes aspectos de cualquier mecanismo de - seguridad. Por ejemplo, no tiene mucho sentido activar la bandera - schg (ver &man.chflags.1;) en cada binario del - sistema, ya que mientras este puede protejer los binarios - temporalmente, hace que algún cambio hecho por un atacante, - que ha entrado al sistema,sea difícil de detectar y puede - resultar que el mecanismo de seguridad no detecte al atacante en - lo absoluto. + La seguridad bien entendida se implementa en capas, a la manera de + una cebolla. Básicamente lo que se hace es + crear la mayor cantidad posible de capas de seguridad, para más + tarde monitorizar el sistema en busca de intrusos. No es conveniente + exagerar la seguridad, ya que interferiría con la + detección, y la detección es uno de los aspectos + más importantes de cualquier mecanismo de seguridad. + Por ejemplo, no tiene mucho sentido activar la bandera + schg (consulte &man.chflags.1;) en cada binario del + sistema, ya que aunque protegería en cierto modo los binarios, + haría que cualquier cambio que pudiera realizar un atacante + una vez dentro del sistema fuera más difícil de detectar + o incluso hacerlo del todo imposible. - La seguridad del sistema depende también de estar preparado - para diferentes formas de ataque, incluyendo intentos de quebrar el - sistema, o hacer un sistema inservible, pero no intentos de comprometer - al usuario root (quebrar root). Los - problemas de seguridad estan separados en diferentes categorias: + La seguridad del sistema depende también de estar preparados + para distintos tipos de ataque, incluyendo intentos de + tirar la máquina o dejarla en un estado + inutilizable, pero que no impliquen intentos de comprometer el usuario + root Los problemas de seguridad pueden + dividirse en diferentes categorías: - Ataques de Negación de servicio (DoS). + Ataques de denegación de servicio (DoS). @@ -173,137 +184,139 @@ - Comprometer root via cuentas de usuarios. + Comprometer root desde cuentas de usuario. - Creación de puertas traseras (Backdoors). + Creación de puertas traseras + (Backdoors). - DoS attacks - Denial of Service (DoS) + Ataques DoS + Denegación de servicio (DoS) seguridad Ataques DoS - Negación de servicios (DoS) + Denegación de servicios (DoS) - Negacion de servicio (DoS) + Denegacion de servicio (DoS) - Un ataque de negación de servicio es una acción que - priva al sistema de los recursos requeridos. Generalmente, los ataques - DoS son mecanismos de fuerza bruta que intentan quebrar el sistema - o hacerlo inutilizable sobrepasando la capacidad de sus servidores - o del stack de red. - Algunos ataques DoS intentan aprovecharse de - errores en el stack de red para quebrar el sistema con un solo paquete. - Lo último solo puede ser solucionado aplicando en el kernel - una actualización que arregle el error. - Los ataques en servidores muchas veces pueden ser - solucionados especificando opciones apropiadas para limitar la carga del - sistema en condiciones adversas. Los ataques de fuerza bruta en redes - son mas complicados. Los ataques con paquetes enmascarados, por - ejemplo, son casi imposible de detener, a menos que desconecte el - sistema de Internet. Puede ser que no tiren el sistema, pero - saturarán la conexión a Internet. + Un ataque de denegación de servicio es una acción que + priva al sistema de los recursos requeridos para su funcionamiento + normal. Generalmente, los ataques DoS son mecanismos de fuerza bruta + que intentan tumbar el sistema o hacerlo inutilizable + sobrecargando la capacidad de sus servidores o de la pila de red. + Algunos ataques DoS intentan aprovechar errores en la pila de red + para tumbar el sistema con un solo paquete. + Estos últimos únicamente pueden solucionarse aplicando + al kernel una actualización que subsane el error. + Los ataques a servidores muchas veces pueden solucionarse configurando + las opciones apropiadas para limitar la carga del sistema en + condiciones adversas. Los ataques de fuerza bruta a redes + son más complicados. Los ataques con paquetes enmascarados, + por ejemplo, son casi imposibles de detener, a menos que desconecte + el sistema de Internet. Puede ser que no tiren el + sistema, pero saturarán la conexión a Internet. seguridad - comprometer cuentas + compromiso de cuentas - Comprometer una cuenta de usuario es mucho más común - que un ataque DoS. Muchos administradores de sistemas - todavía corren servidores estándar + Comprometer una cuenta de usuario es mucho más común + que un ataque DoS. Muchos administradores de sistemas + todavía ejecutan servidores estándar telnetd, rlogind, rshd y ftpd en - sus máquinas. - Estos servidores, por omisión, no - operan sobre conexiones encriptadas. El resultado es que si se - tiene una base de usuarios de tamaño moderado, uno o - más de sus usuarios entrando al sistema desde una localidad - remota (que es la forma más común y conveniente de - entrar a un sistema) provocará que su contraseña - sea descubierta. - El atento administrador de sistemas analizará sus logs de - acceso remoto buscando por direcciones fuente sospechosas - incluso para entradas exitosas al sistema. + sus máquinas. + Estos servidores, por defecto no operan a través de conexiones + cifradas. El resultado es que se si se tiene una base de usuarios de + tamaño medio, tarde o temprando la contraseña de uno + (o más) de sus usuarios será descubierta durante + sus accesos al sistema desde ubicaciones remotas.(que es, por otra + parte, la forma más común y más cómoda + de acceder a un sistema). El administrador de sistemas atento + analizará sus logs de acceso remoto en busca de direcciones + origen spspechosas, incluso entre los accesos al sistema. - Se debe asumir siempre que una vez que un atacante tiene acceso - a una cuenta de usuario, el atacante puede comprometer - root. De todas formas, la realidad es que en - un sistema bien mantenido y asegurado, el acceso a una cuenta de + Se debe asumir siempre que, una vez que + el atacante tiene acceso a una cuenta de usuario, el atacante + puede comprometer la cuenta root. En realidad + en un sistema bien mantenido y asegurado el acceso a una cuenta de usuario no necesariamente da al atacante acceso a - root. La distinción es importante + root. Esta precisión es importante porque sin acceso a root el atacante - generalmente no puede esconder sus huellas y puede, a lo mucho, - meterse con los archivos de usuarios, o estrellar la máquina. + difícilmente podrá esconder sus huellas; podrá, + como mucho, hacer poco más que sembrar el caos en los ficheros + del usuario o tirar la máquina. Comprometer cuentas de usuario es muy común porque los - usuarios tienden a no tomar las precauciones que el administrador - toma. + usuarios tienden a no tomar las precauciones que toma el + administrador. seguridad - backdoors + puertas traseras - Los administradores de sistema deben tener en mente que - existen muchas maneras potenciales de comprometer a - root en una máquina. El atacante puede - conocer la contraseña de root, el u - atacante puede encontrar un error en un servidor ejecutándose - como root y ser capaz de comprometer root a - través de una conexión de red a ese servidor, o el - atacante puede conocer un error en programa suid-root que le permita - comprometer root una vez que ha entrado - a una cuenta de usuario. Si un atacante ha encontrado una manera - de comprometer a root en una máquina, - entonces puede no necesitar instalar una puerta trasera. Muchos de + Los administradores de sistemas deben tener presente que + existen muchas formas potenciales de comprometer la cuenta + root de una máquina. El atacante puede + conocer la contraseña de root, el + atacante puede encontrar un error en un servidor que se ejecuta + como root y ser capaz de comprometer root a + través de una conexión de red a ese servidor; puede + ser que el atacante sepa de la existencia de un error en un + programa suid-root que le permita comprometer + root una vez dentro de una cuenta de usuario. + Si un atacante encuentra la manera de comprometer la cuenta + root de una máquina puede que no + necesite instalar una puerta trasera. Muchos de los agujeros root encontrados y cerrados hasta - la fecha significan una cantidad considerable de trabajo por parte del - atacante para limpiar todo despues del ataque, así que - la mayoría de los atacantes instalan puertas traseras. - Una puerta trasera brinda al atacante una forma sencilla de - retomar acceso de root en el sistema, - pero también le proporciona al administrador de sistemas - inteligente una manera conveniente de detectar la intrusión. - Haciendole imposible a un atacante instalar una puerta trasera - puede en realidad ser en detrimento de su seguridad, porque + la fecha implican una cantidad considerable de trabajo para el atacante + limpiando todo después del ataque, así que + la mayoría de los atacantes instalan puertas traseras. + Una puerta trasera facilita al atacante una forma sencilla de + recuperar el acceso de root al sistema, + pero también proporciona al administrador de sistemas + inteligente una forma de detectar la intrusión. Si hace + imposible a un atacante la instalación de una puerta + trasera puede estar actuando en detrimento de su seguridad, porque no cerrará el agujero que el atacante encontró - para entrar en primer lugar. + para accder al sistema la primera vez que lo hizo. - Los remedios de seguridad deben ser implementados - siempre con una aproximación multicapa tipo - cebolla y puede ser categorizado - como sigue: + Las medidas de seguridad se implementan en un modelo + multicapa (tipo cebolla), que puede categorizarse + del siguiente modo: - Aseguramiento de root y cuentas de staff. + Asegurar root y cuentas + administrativas. - Aseguramiento de servidores que se ejecutan como root - y binarios suid/sgid. + Asegurar los servidores que se ejecuten como + root los binarios suid/sgid. - Aseguramiento de cuentas de usuarios. + Asegurar cuentas de usuario. - Aseguramiento del archivo de contraseñas. + Asegurar el fichero de contraseñas. - Aseguramiento del Kernel, dispositivos crudos y - sistema de archivos. + Asegurar el núcleo del kernel, los dispositivos + en bruto y el sistema de ficheros. - Detección rápida de cambios inapropiados + Detección rápida de cambios hechos al sistema. @@ -312,102 +325,108 @@ - La siguiente secci6oacute;n de este capítulo cubrirá + La siguiente sección de este capítulo tratará los puntos de arriba con mayor profundidad. - Asegurando &os; + Asegurar &os; seguridad - asegurando &os; + asegurar &os; - Comando vs. protocolo - A través de este documento usaremos el texto en - negrita para referirnos a un comando o - aplicación, y una fuente espaciada para - referirnos a comandos espcíficos. Los protocolos usarán - una fuente normal. Esta distinción tipográfica es - útil para instancias como ssh, ya - que es tanto un protocolo como un comando. + Orden vs. protocolo + En este capítulo usaremos el texto en + negrita para referirnos a una orden o + aplicación, y una fuente en cursiva para + referirnos a órdenes espcíficas. Usaremos un tipo normal + para los protocolos. Esta diferencia tipográfica nos + será útil por ejemplo con ssh, que es tanto un + protocolo como una orden. - Las siguientes secciones cubrirán los métodos para - asegurar su sistema &os; que fueron mencionados en la - sección anterior a este + Las siguientes secciones cubren los métodos a seguir para + asegurar su sistema &os; que se mencionados en la + sección anterior de este capítulo. - Asegurando la cuenta <username>root</username> y cuentas de staff + Asegurar la cuenta <username>root</username> y las + cuentas administrativas su - En primer lugar, no se moleste en asegurar las cuentas de - staff si no ha asegurado la cuenta root. - La mayoría de los sistemas tienen una contraseña - asignada a la cuenta root. Lo primero que - se hace es asumir que la contraseña está - siempre comprometida. - Esto no significa que debe eliminar la contraseña. La - contraseña es casi siempre necesaria para acceso de - consola a la máquina. Lo que esto significa es que no se - debe hacer posible el uso de la contraseña fuera de la - consola o incluso posiblemente con el comando &man.su.1;. - Por ejemplo, asegúrese que sus ptys estaán - especificadas como inseguras en el archivo - /etc/ttys para que las entradas directas - de root vía - telnet o rlogin no estén - permitidas. - Si utiliza otros servicios de entrada como - sshd, asegúrese que entradas directas - de root estén también deshabilitadas. - Puede hacer esto editando su archivo - /etc/ssh/sshd_config, y asegurándose - que PermitRootLogin esté puesto a - NO. Considere cada método de acceso — - servicios como FTP frecuentemente caen en las grietas. - Entradas directas de root solo deben - ser permitidas vía consola. + En primer lugar, no se moleste en asegurar las cuentas + administrativas (o staff) si no ha asegurado la + cuenta root. + La mayoría de los sistemas tienen una contraseña + asignada para la cuenta root. Lo primero que + se hace es asumir que la contraseña está + siempre amenazada. + Esto no significa que deba eliminar la contraseña. La + contraseña es casi siempre necesaria para el acceso por + consola a la máquina; significa que no se debe permitir + el uso de la contraseña fuera de la consola o, mejor + aún, mediante &man.su.1;. Por ejemplo, + asegúrese de que sus ptys aparezcan como + inseguras en el fichero + /etc/ttys, con lo que hará que + los accesos como root vía + telnet o rlogin no sean + posibles. + Si utiliza otros tipos de login como + sshd asegúrese de que + los accesos al sistema como root + estén también deshabilitados. + Para ello edite su + /etc/ssh/sshd_config y asegúrese de + que PermitRootLogin esté puesto a + NO. Estudie cada método de acceso: + hay servicios como FTP que frecuentemente son origen de grietas + en la estructura del sistema. El acceso directo como usuario + root sólamente debe permitirse + a través de la consola. wheel - Por supuesto, como administrador de sistema usted debe - ser capaz de accesar a root, asi que - abrimos algunos agujeros. Pero asegúrese que estos - agujeros necesiten contraseñas adicionales de - verificación para operar. Una forma de hacer a root - accesible es agregar cuentas de staff apropiadas al - grupo wheel (en - /etc/group). Los miembros del staff colocados - en el grupo wheel tienen permitido - hacer su a root. - Nunca debe de proporcionar a miembros del staff acceso - nativo a wheel poniéndolos - en el grupo wheel en su entrada de - contraseña. Las cuentas de staff deben ser colocadas - en un grupo staff, y entonces - agregadas al grupo wheel en el - archivo /etc/group. Solo aquellos - miembros del staff que en realidad necesiten tener acceso - de root deben ser colocados en el - grupo wheel. también es posible - al utilizar un método de autentificación como - Kerberos, usar el archivo .k5login en - la cuenta root para permitir un - &man.ksu.1; a root sin tener que - colocar a nadie en el grupo - wheel. Esta puede ser una mejor solución - ya que el mecanismo wheel todavía - permite a un atacante comprometer root - si el intruso ha conseguido el archivo de contraseñas - y puede comprometer una cuenta de staff. Teniendo el - mecanismo wheel es mejor que no tener - nada del todo, aunque no es necesariamente la opción + Es evidente que, como administrador del sistema, debe usted + tener la posibilidad de acceder a root, + así que tendrá que abrir algunos agujeros, pero + debe asegurarse de que estos agujeros necesiten contraseñas + adicionales para verificar su correcto uso. Puede hacer + que root sea accesible añadiendo + cuentas administrativas al grupo + wheel (en + /etc/group). El personal que administra los + sistemas que aparezcan en el grupo + en el grupo wheel pueden hacer + su a root. + Nunca debe de proporcionar al personal administrativo el acceso + nativo a wheel poniéndolos + en el grupo wheel en su entrada de + contraseña. Las cuentas administrativas deben colocarse + en un grupo staff, y agregarse + después al grupo wheel en + /etc/group. Sólo aquellos + administradores que realmente necesiten acceder a + root deben pertenecer al grupo + wheel. También es posible, + mediante un método de autentificación como + Kerberos, usar el fichero .k5login en + la cuenta root para permitir un + &man.ksu.1; a root sin tener que + colocar a nadie en el grupo + wheel. Puede ser una mejor solución, + ya que el mecanismo wheel aún + permite a un atacante comprometer root + si el intruso ha conseguido el fichero de contraseñas + y puede comprometer una cuenta de administración. + Recurrir al mecanismo wheel es mejor que + no tener nada, pero no es necesariamente la opción más segura. - Una manera indirecta de asegurar las cuentas de staff, y - el acceso a root es utilizar un método - de acceso login alternativo y hacer lo que se conoce como - estrellado de las contraseñas encriptadas - para las cuentas de staff. Usando el comando &man.vipw.8; - se puede reemplazar cada instancia de una contraseña - encriptada con un solo caracter *. - Este comando actualizará el archivo - /etc/master.passwd y la base de datos - usuario/contraseña para deshabilitar logins - autenticados por contraseñas. + Una manera indirecta de asegurar las cuentas de staff y + el acceso a root es utilizar un método + de acceso alternativo: es lo que se conoce como + estrellar las contraseñas cifradas de las + cuentas administrativas. Use &man.vipw.8; para reemplazar + cada contraseña cifrada por un sólo caracter + asterisco (*). Esto + actualizará + /etc/master.passwd y la base de datos de + usuario/contraseña y deshabilitará los accesos + al sistema validados mediante + contraseñas. - Una entrada de una cuenta de estaff como: + Veamos una cuenta administrativa típica: foobar:R9DT/Fa1/LV9U:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh - Debe ser cambiada a esto: + y cómo debería quedar: foobar:*:1000:1000::0:0:Foo Bar:/home/foobar:/usr/local/bin/tcsh - Este cambio prevendrá que ocurran logins normales, - ya que la contraseña encriptada nunca corresponderá - con *. Hecho esto, - los miembros de staff deben usar otro mecanismo - para autentificarse tal como &man.kerberos.1; o - &man.ssh.1; utilizando un par de llave pública/privada. - Cuando se usa algo como Kerberos, generalmente se debe - asegurar la máquina que corre los servidores Kerberos - y su estación de trabajo de escritorio. Cuando se - usa un par de llave pública/privada con ssh, - generalmente se debe asegurar la máquina desde - donde se hace el login (típicamente nuestra estación - de trabajo). Una capa adicional de protección puede - ser añadida al par de llaves protegiendo con contraseña - la llave par al crearla con &man.ssh-keygen.1;. - La posibilidad de estrellado de las - contraseñas de las cuentas de staff también - garantiza que los miembros del staff solo puedan entrar - a través de métodos de acceso que usted haya - configurado. Esto obliga a todos los miembros del staff - a utilizar conexiones seguras, encriptadas, para todas - sus sesiones, lo que cierra un importante agujero usado - por muchos intrusos: hacer un olfateo (sniffing) de la - red desde una máquina no relacionada y menos - segura. + Este cambio evitará que se efectúen logins normales, + ya que la contraseña cifrada nunca se corresponderá + con *. Hecho esto, el personal + de administración tendrá que usar otro mecanismo + de validación como &man.kerberos.1; o + &man.ssh.1; que use un par de llave pública/privada. + Si decide usar algo como Kerberos tendrá que asegurar + la máquina que ejecuta los servidores Kerberos + y su estación de trabajo. Si usa un par de llave + pública/privada con ssh, debe asegurar la + máquina desde desde la que se hace el + login (normalmente nuestra estación de trabajo). Puede + añadir una capa adicional de protección al par de + llaves protegiéndolas con contraseña al crearlo + con &man.ssh-keygen.1;. + El estrellado de las contraseñas + administrativas también garantiza que dicho personal + sólo pueda entrar a través de métodos de + acceso que haya usted configurado. Así obligará + al personal administrativo a usar conexiones seguras, cifradas, + en todas sus sesiones, lo que cierra un importante agujero + de seguridad al que recurren muchos intrusos: usar un + sniffer (olfateador) de red desde una máquina que le + permita hacer tal cosa. - Los mecanismos de seguridad más indirectos también - asumen que se esta firmando desde un servidor más restrictivo - a un servidor menos restrictivo. - Por ejemplo, si su máquina principal está corriendo - toda clase de servidores, su estación de trabajo no debe - de estar corriendo ninguno. Para que su estación de trabajo - sea razonablemente segura debe correr los servidores mínimos - posibles, hasta incluso ningún servidor, y debe correr - un blanqueador de pantalla portegido por contraseña. - Por supuesto, dado un acceso físico a una estación - de trabajo un atacante puede romper cualquier clase de seguridad - que se ponga. Esto es definitivamente un problema que debe - considerar, pero también debe considerar el hecho de que la - mayoría de las intrusiones ocurren remotamente, a través - de la red, de gente que no tiene acceso físico a su - estación de trabajo o servidores. + Los mecanismos de seguridad más indirectos también + asumen que está validando su identidad desde un servidor + más restrictivo un servidor menos restrictivo. + Por ejemplo, si su máquina principal ejecuta toda clase de + servidores su estación de trabajo no debe ejecutar ninguno. + Para que su estación de trabajo sea razonablemente segura + debe ejecutar los mínimos servidores posibles, si es posible + ninguno, y debe usar un salvapantallas protegido por + contraseña. Es evidente que un atancante con acceso + físico al sistema puede romper cualquier barrera de seguridad + que se disponga. Es un problema a tener en cuenta, pero la + mayoría de las intrusiones tienen lugar de forma remota, + a través de la red, por parte de gente que no tiene acceso + físico a su estación de trabajo ni a sus + servidores. KerberosIV - Usar algo como Kerberos también le brinda la habilidad - de deshabilitar o cambiar la contraseña para una cuenta - de staff en un lugar, y que tenga un efecto inmediato en todas - las máquinas en las cuales el miembro de staff puede - tener una cuenta. Si la cuenta de un miembro de staff es - comprometida, la habilidad para cambiar instantaneamente su - contraseña en todas las máquinas no debe ser - desestimada. Con contraseñas discretas, el cambio - de una contraseña en N máquinas puede ser un - problema. También puede imponer restricciones de - re-contraseñas con Kerberos: no solo se puede hacer un - ticket de Kerberos para expirar despues de un tiempo, también - el sistema Kerberos puede requerir que el usuario escoja una - nueva contraseña despues de cierto periodo de tiempo - (digamos, una vez al mes). + Usar Kerberos le ofrece también el poder + de deshabilitar o cambiar la contraseña para una cuenta + administrativa en un lugar, y que tenga un efecto inmediato en todas + las máquinas en las cuales ese administrador pueda + tener una cuenta. Si una de esas cuentas se ve comprometida + la posibilidad para cambiar instantáneamente su + contraseña en todas las máquinas no debe ser + desestimada. Con contraseñas distintas, el cambio + de una contraseña en N máquinas puede ser un + problema. También puede imponer restricciones de + re-contraseñas con Kerberos: no sólo se puede + hacer un ticket de Kerberos que expire después de un + tiempo, sino que el sistema Kerberos puede requerir al usuario + que escoja una nueva contraseña después de cierto + tiempo (digamos una vez al mes). - Asegurando servidores que se ejecutan como <username>root</username> + <title>Asegurar servidores que se ejecutan como + <username>root</username> y binarios SUID/SGID @@ -511,7 +530,7 @@ finger - sandboxes + cajas de arena sandboxes sshd @@ -526,562 +545,581 @@ rlogind - El administrador de sistemas prudente solo ejecuta los - servidores que necesita, no más, no menos. Dese cuenta - que los servidores de terceros son los más propensos - a contener errores. Por ejemplo, ejecutando una versión - antigua de - imapd o - popper es como dar un boleto universal - de root al mundo entero. - Nunca ejecute un servidor que no haya revisado cuidadosamente. - Muchos servidores no necesitan ejecutarse como - root. Por ejemplo, los daemons - ntalk, - comsat y - finger pueden ejecutarse en una - caja de arena (sandbox) especial de usuario. - Una caja de arena no es perfecta, a menos que pase por muchos - problemas, pero la aproximación de cebolla a la seguridad - todavía prevalece: Si alguien es capaz de penetrar a - través de un servidor ejecutándose en una caja - de arena, todavía tendría que salirse de la caja de - arena. Mientras más capas tenga que romper el atacante - es menor la posibilidad de su éxito. Los agujeros de - root han sido hallados historicamente en virtualmente - cualquier servidor que se ha ejecutado como root, - incluyendo servidores básicos del sistema. - Si está ejecutando una máquina a través de - la cual la gente solo entra por - sshd y nunca entra por - telnetd o - rshd o - rlogind, entonces ¡apague esos - servicios! + Un administrador de sistemas prudente sólo + ejecutará los servidores que necesita, ni uno más + ni uno menos. Dese cuenta de que los servidores ajenos son + los más propensos a contener errores. Por ejemplo, + ejecutando una versión desfasada de + imapd o + popper es como dar una entrada universal + de root al mundo entero. + Nunca ejecute un servidor que no haya revisado cuidadosamente. + Muchos servidores no necesitan ejecutarse como + root. Por ejemplo, los dæmons + ntalk, + comsat y + finger pueden ejecutarse en una + caja de arena (sandbox) especial de usuario. + Una caja de arena no es perfecta, a menos que pase por muchos + problemas, pero la aproximación de cebolla a la seguridad + prevalece aún y todo: Si alguien es capaz de penetrar a + través de un servidor ejecutándose en una caja + de arena, todavía tendrá que salir de la caja de + arena. Cuantas más capas tenga que romper el atacante + menor será la posibilidad de éxito que tenga. + Se han encontrado vías de entrada a + root en virtualmente todos los servidores + que se haya ejecutado como root, + incluyendo servidores básicos del sistema. + Si está tiene una máquina a través de + la cual la gente sólo entra por + sshd, y nunca entra por + telnetd, + rshd, o + rlogind + apague esos servicios. - &os; ahora por omisión ejecuta - ntalkd, - comsat y - finger en una caja de arena. - Otro programa que puede ser candidato para correr en una - caja de arena es &man.named.8;. - /etc/defaults/rc.conf incluye los - argumentos necesarios para correr named - en una caja de arena de una forma comentada. Dependiendo de si - está instalando un nuevo sistema o actualizando un sistema - existente, las cuentas especiales de usuario utilizadas por - estas cajas de arena puede que no estén instaladas. - El administrador de sistemas prudente debe investigar e + &os; ejecuta por defecto + ntalkd, + comsat y + finger en una caja de arena. + Otro programa que puede ser candidato para ejecutarse en una + caja de arena es &man.named.8;. + /etc/defaults/rc.conf contiene las directrices + necesarias (con comentarios) para usar named + en una caja de arena. Dependiendo de si + está instalando un nuevo sistema o actualizando un sistema + ya existente, las cuentas especiales de usuario que usan + estas cajas de arena puede que no estén instaladas. + El administrador de sistemas prudente debe investigar e implementar cajas de arena para servidores siempre que sea posible. sendmail - Existen un número de otros servidores que tipicamente - no se ejecutan en cajas de arena: - sendmail, - imapd, ftpd, - y otros. Existen alternativas para algunos de estos, pero - instalarlas puede requerir más trabajo del que tal vez - esté dispuesto a realizar (el factor conveniencia - ataca de nuevo). Tal vez tenga que correr estos servidores como - root y depender de otros mecanismos para - detectar intrusiones que puedan ocurrir a través de + Existen numerosos servidores que no se suelen + ejecutar en cajas de arena: + sendmail, + imapd, ftpd, + y otros. Existen alternativas para algunos de ellos, pero + instalarlas puede requerir más trabajo del que tal vez + esté dispuesto a realizar (el factor comodidad ataca de + nuevo). Tal vez tenga que ejecutar estos servidores como + root y depender de otros mecanismos para + detectar intrusiones que puedan tener lugar a través de ellos. - Los otros grandes agujeros de root - potenciales en un sistema son los binarios - suid y sgid root instalados en el sistema. La mayoría - de estos binarios, como rlogin, - residen en /bin, /sbin, - /usr/bin o /usr/sbin. - Aunque nada es 100% seguro, los binarios suid y sgid del - sistema por omisión pueden ser considerados razonablemente - seguros. Pero aún así, - agujeros root son encontrados - ocasionalmente en estos binarios. Un agujero root - fué entontrado en Xlib en - 1998 que hizo a xterm - (que es tipicamente suid) vulnerable. Es mejor prevenir que - lamentar y el administrador de sistemas prudente restringirá - los binarios suid, que solo el staff debe de ejecutar, a un - grupo especial que solo el staff pueda accesar, y deshacerse - de cualquier binario suid (chmod 000) - que nadie utilice. Un servidor sin pantalla generalmente - no necesita un binario xterm. - Binarios sgid pueden ser igual de peligrosos. Si un - intruso puede comprometer un binario sgid-kmem, el intruso - podría ser capaz de leer /dev/kmem - y así leer el archivo encriptado de contraseñas, - comprometiendo potencialmente cualquier cuenta con - contraseña. Alternativamente, un intruso que compromete - el grupo kmem puede monitorear teclazos - mandados a través de ptys, incluyendo ptys utilizados - por usuarios que accesan por métodos seguros. - Un intruso que compromete el grupo tty - puede escribir a casi cualquier pty de usuarios. - Si un usuario está corriendo un programa de terminal o - emulador con una propiedad de simulación de teclado, el - intruso puede potencialmente generar un flujo de datos que - provoque que la terminal del usuario haga eco de un comando, - el cual es entonces ejecutado como ese usuario. + Los otros grandes agujeros potenciales de + root que encontramos en un sistema son los + binarios suid-root y sgid. La mayoría + de estos binarios, como rlogin, + están en /bin, /sbin, + /usr/bin o /usr/sbin. + Aunque no hay nada absolutamente seguro los binarios suid y sgid + del sistema por defecto pueden considerarse razonablemente + seguros. Aún así, de vez en cuando aparecen + agujeros root en estos binarios. + En 1998 se encontró un agujero + root en + Xlib, que hacía a + xterm (que suele ser suid) + vulnerable. Es mejor prevenir que curar, y el administrador de + sistemas prudente restringirá los binarios suid, que + sólo el personal de administración debe ejecutar, + a un grupo especial al que sólo dicho personal pueda acceder, + y deshacerse de cualquier binario suid + (chmod 000) que no se use. + Un servidor sin pantalla generalmente no necesita un binario + xterm. Los binarios sgid pueden ser + igual de peligrosos. Si un intruso logra comprometer un binario + sgid-kmem, el intruso podría leer + /dev/kmem y llegar a leer el fichero + cifrado de contraseñas, poniendo en compromiso potencial + cualquier cuenta con contraseña. Por otra parte, un intruso + que comprometa el grupo kmem puede monitorizar + las pulsaciones de teclado que se envien a través de ptys, + incluyendo las ptys a las que acceden usuarios que emplean + métodos seguros. Un intruso que comprometa el grupo + tty puede escribir en la pty de casi + cualquier usuario. Si un usuario ejecuta un programa de terminal + o un emulador capaz de simular un teclado, el intruso podría + generar un flujo de datos que provoque que la terminal del + usuario muestre una orden en pantalla, orden que el usuario + ejecutará. - Asegurando cuentas de usuarios + Asegurar las cuentas de usuario - Las cuentas de usuario son usualmente las más - difíciles de asegurar. Aunque puede imponer restricciones - de acceso draconianas en su staff y estrellar - sus contraseñas, tal vez no pueda hacerlo con cualquier - cuenta general de usuario que tenga. Si tiene suficiente control, - tal vez triunfe y sea capaz de asegurar las cuentas de - usuarios con propiedad. Si no, simplemente tiene que ser más - vigilante en el monitoreo de esas cuentas. El uso de ssh y - Kerberos para cuentas de usuario es más problemático - debido a la administración adicional y soporte técnico - requerido, pero es todavía una buena solución - comparada a un archivo de contraseñas encriptadas. + Las cuentas de usuario suelen ser las más + difíciles de asegurar. Aunque puede imponer restricciones + de acceso draconianas a su personal administrativo y + estrellar sus contraseñas, tal vez no pueda + hacerlo con todas las cuentas de todos sus usuarios. Si mantiene + el control en un grado suficiente quizás lo logre y sea + capaz de hacer que las cuentas de sus usuarios sean seguras. Si no, + tendrá que ser más cuidadoso (aún) en la + monitorización de esas cuentas. Usar ssh y Kerberos en + cuentas de usuario da más problemas debido al soporte + técnico y administrativo que requerirá, pero sigue + siendo mejor solución que un fichero de + contraseñas cifradas. - Asegurando el archivo de contraseñas + Asegurar el fichero de contraseñas - La única manera segura es ponerle * - a tantas contraseñas como sea posible y utilizar ssh o - Kerberos para accesar esas cuentas. Aunque el archivo - encriptado de contraseñas (/etc/spwd.db) - solo puede ser leído por root, puede - ser posible para un intruso obtener acceso de lectura a ese - archivo incluso si el etacante no puede obtener - acceso de escritura como root. + La única manera segura es ponerle * + a tantas contraseñas como sea posible y utilizar ssh o + Kerberos para acceder a esas cuentas. Aunque el fichero + cifrado de contraseñas (/etc/spwd.db) + sólo puede ser legible para root, puede + que un intruso consiga acceso de lectura a ese fichero, incluso sin + haber alcanzado el acceso de escritura como root. - Sus scripts de seguridad deben revisar siempre por - cambios en el archivo de contraseñas - (ver Revisando integridad de archivos abajo) - y reportarlos. + Sus scripts de seguridad deben buscar siempre + cambios en el fichero de contraseñas + (consulte Revisión de + integridad de ficheros más abajo) e informar de + ellos. - Asegurando del Kernel, dispositivos crudos y - sistema de archivos + Asegurar el Kernel, dispositivos en bruto y el sistema + sistema de ficheros - Si un atacante compromete root puede - hacer cualquier cosa, - pero existen ciertas conveniencias. Por ejemplo, la mayoría - de los Kernels modernos tienen un dispositivo olfateador de - paquetes integrado. Bajo &os; es llamado dispositivo - bpf. Un intruso tratará - comunmente de ejecutar un olfateador de paquetes en una - máquina comprometida. No necesita darle a un intruso - la capacidad y la mayoría de los sistemas no necesitan - que se compile el dispositivo bpf. + Si un atacante compromete root puede + hacer cualquier cosa, pero hay ciertas cosas que puede usted + preparar para curarse en salud. Por ejemplo, + la mayoría de los kernel modernos tienen un dispositivo + de los Kernels modernos tienen un integrado un + dispositivo de paquetes. En &os; se llama + bpf. Un intruso típico + tratará de ejecutar un sniffer de paquetes + en una máquina comprometida. No debería darle a + ese intruso tal recurso, y la mayoría de los sistemas no + necesitan el dispositivo + bpf. sysctl - Pero incluso si apaga el dispositivo bpf, - todavía tiene que preocuparse por + Pero si desactiva el dispositivo bpf + todavía tendrá que preocuparse por /dev/mem y - /dev/kmem. - Para eso, el intruso puede todavía escribir a - dispositivos de disco crudos. También, existe otra - opción del kernel llamada cargador de módulos, - &man.kldload.8;. Un intruso con iniciativa puede usar un - módulo KLD para instalar su propio dispositivo - bpf, u otro dispositivo de - olfateo en un kernel en ejecución. - Para prevenir estos problemas debe ejecutar el kernel en - un nivel de seguridad mayor, al menos en securelevel 1. - El securelevel puede ser activado con sysctl - en la variable kern.securelevel. - Una vez que ha activado securelevel a 1, los accesos de - escritura a dispositivos crudos serán denegados y - las banderas especiales schg serán - impuestas. - También debe asegurar que la bandera - schg esté habilitada en archivos - binarios críticos para el arranque, directorios y - scripts — todo lo que se ejecuta hasta el punto en que - se activa el securelevel. Esto puede ser una acción - exagerada, y actualizar el sistema es mucho más - complicado cuando se opera en un nivel de seguridad superior. - Puede comprometer y ejecutar el sistema a un nivel de seguridad - superior pero no activar la bandera schg - para cada archivo y directorio del sistema bajo el sol. - Otra posibilidad es simplemente montar / y - /usr de solo lectura. - Se debe notar que siendo demasiado draconiano en lo que trata - de proteger puede prevenir toda la detección importante - de una intrusión. + /dev/kmem. + Desde ellos el intruso podría en dispositivos de disco + en bruto. También hay que tener muy en cuenta + una opción del kernel llamada cargador de módulos, + &man.kldload.8;. Un intruso con iniciativa puede usar un + módulo KLD para instalar su propio dispositivo + bpf, u otro dispositivo + que le permita el sniffing en un kernel en + ejecución. Para prevenir estos problemas debe ejecutar el + kernel en un nivel de seguridad mayor, al menos en securelevel 1. + Puede configurar el securelevel mediante una sysctl + en la variable kern.securelevel. + Una vez que tiene su securelevel a 1, los accesos de + escritura a dispositivos en bruto se + denegarán y se impondrán las banderas especiales + schg. + También debe cerciorarse de activar la bandera + schg en binarios críticos para el arranque, + directorios y scripts (dicho de otro modo, todo aquello que se + ejecuta antes de que se active el + securelevel). Puede ser que todo esto sea una exageración, + sobre todo teniendo en cuenta que la actualización del sistema + se complica bastante a medida que se incrementa el nivel de + seguridad. Puede ejecutar el sistema a un nivel de seguridad + superior pero no activar la bandera schg + en cada fichero y directorio del sistema. Otra posibilidad es + montar / y /usr como + sólo lectura. Recuerde que siendo demasiado draconiano + en aquello que busca proteger puede dificultar mucho la + detección de una intrusión. - Revisando integridad de archivos: binarios, archivos de - configuración, etc. + Revisión de integridad de ficheros: binarios, + ficheros de configuración, etc. - Cuando se trata de protección, solo se puede proteger - la configuración central del sistema y archivos de - control hasta un punto antes de que el factor conveniencia - levante su fea cabeza. Por ejemplo, usando - chflags para activar el bit schg - en la mayoría de los archivos en / - y /usr es probablemente contraproducente, - debido a que puede proteger los archivos, pero también - cierra una ventana de detección. - La última capa de su seguridad tipo cebolla es quizás - la más importante — detección. El resto de - su seguridad es inutil (o, peor, darle un falso sentido de - seguridad) si no puede detectar incursiones potenciales. - La mitad del trabajo de la cebolla es alentar al atacante, en lugar + Cuando se piensa de proteccón, sólo se puede + proteger la configuración central del sistema y los ficheros + de control hasta el momento en el que el factor comodidad salta + a la palestra. Por ejemplo, si usa + chflags para activar el bit schg + en la mayoría de los ficheros de / + y /usr probablemente sea contraproducente; + puede proteger los ficheros haciéndolo, pero también + cierra una vía de detección. La última capa + de su modelo de seguridad tipo cebolla es quizás la + más importante: la detección. El resto de su + estructura de seguridad será inútil (o peor + aún, le proporcionará un sentimiento de seguridad + totalmente infundado) si no puede detectar posibles intrusiones. + La mitad del trabajo de la cebolla es alentar al atacante, en lugar de detenerlo, para darle a la parte de la ecuación de - detección una oportunidad de atraparlo en el acto. + detección una oportunidad de atraparlo con las manos en la + masa. - La mejor manera de detectar una incursión es buscar - archivos modificados, perdidos o inesperados. La mejor manera - de buscar archivos modificados es desde otro (muchas veces - centralizado) sistema con acceso limitado. - Escribiendo sus scripts de seguridad en un sistema extra-seguro - con acceso limitado los hace casi invisibles a atacantes - potenciales, y esto es importante. Para tomar máxima - ventaja generalmente tiene que proporcionar a la máquina - con acceso limitado acceso significativo a las otras máquinas - en el negocio, usualmente ya sea haciendo una importación - NFS de solo lectura de las otras máquinas a la máquina - de acceso limitado o configurando pares de llaves ssh para - permitir a la máquina de acceso limitado hacer ssh a - las otras máquinas. A excepción de su tráfico - de red, NFS es el método menos visible — permitiendo - monitorear los sistemas de archivos en cada máquina cliente - virtualmente indetectado. Si su servidor de acceso limitado - está conectado a las máquinas cliente a través - de un concentrador o a través de varias capas de ruteo, - el método NFS puede ser muy inseguro (network-wise) - y utilizar ssh puede ser la mejor opción incluso - con las huellas de auditoría que ssh presenta. + La mejor manera de detectar una intrusión es buscar + ficheros modificados, perdidos, o cuya presencia o estado sea + inesperado. La mejor forma de buscar ficheros modificados es + desde otro sistema (que muchas veces es centralizado) con acceso + restringido. + Escribir sus scripts de seguridad en un sistema + extraseguro y con acceso restringido los hace casi + invisibles a posibles atacantes, y esto es algo muy importante. + potenciales, y esto es importante. Para poderle sacar el + máximo partido debe proporcionar a esa máquina con + acceso restringido un acceso preferente al contenido de las otras + máquinas de su entorno; suele hacerse mediante la + importación vía NFS de sólo lectura de las + demás máquinas, o configurando pares de llaves ssh + para acceder a las otras máquinas desde la que tiene el + acceso restringido. Si exceptuamos el tráfico de red, NFS + es el método menos visible y le permite monitorizar los + sistemas de ficheros de cada máquina cliente de forma + prácticamente indetectable. Si su servidor de acceso + restringido está conectado a las máquinas clientes + a través de un concentrador o a través de varias + capas de encaminamiento el método NFS puede ser muy inseguro, + por lo que ssh puede ser la mejor opción, incluso con + las huellas de auditoría que ssh va dejando. - Una vez que le da a una maáquina de acceso limitado al - menos acceso de lectura a los sistemas cliente que se supone va - a monitorear, debe escribir scripts para hacer el monitoreo. - Dado un montaje NFS, puede escribir scripts con utilidades - simples como &man.find.1; y &man.md5.1;. Es mejor ejecutar - md5 fisicamente en los archivos de las máquinas cliente - al menos una vez al día, y probar archivos de control - como los encontrados en /etc y - /usr/local/etc incluso más seguido. - Cuando se encuentren discrepancias, relativas a la información - base md5 que la máquina de acceso limitado conoce como - válida, esto debe gritarle a un administrador de sistemas - que vaya a verificarlo. Un buen script de seguridad también - debe revisar por binarios suid inapropiados y por archivos nuevos - o borrados en particiones del sistema como / - y /usr. + Una vez que le da a una máquina de acceso restringido + (al menos) acceso de lectura a los sistemas cliente que va + a monitorizar, tendrá que escribir scripts + para efectuar la monitorización. Si va a usar un montaje + NFS puede escribir scripts utilizando simples + herramientas del sistema como + &man.find.1; y &man.md5.1;. Es aconsejable ejecutar MD5 + físicamente en los ficheros de las máquinas cliente + al menos una vez al día, y comprobar los ficheros de control + (los que hay en /etc y + /usr/local/etc) con una frecuencia incluso + mayor. Si aparecen discrepancias al compararlos con la + información basada en MD5 que la máquina de acceso + restringido usa como base debe hacer una comprobación + inmediata y profunda. Un buen script también + debe buscar binarios que sean suid sin razón aparente, y + ficheros nuevos o borrados en particiones del sistema como + / y /usr. - Al utilizar ssh en lugar de NFS, - escribir el script de seguridad es mucho más complicado. - Esencialmente tiene que pasar por scp los - scripts a la máquina cliente para poder ejecutarlos, - haciéndolos visibles, y para seguridad también - necesita pasar por scp los binarios - (como find) que utilizan esos scripts. El cliente - ssh en la máquina cliente - puede estar ya comprometida. Con todo, utilizar ssh - puede ser necesario al trabajar sobre enlaces - inseguros, pero también es mucho más dificil - de manejar. + Si usa ssh en lugar de NFS será mucho más + complicado escribir el script de seguridad. + En esencia, tiene que pasar por scp los + scripts a la máquina cliente para poder + ejecutarlos, haciéndolos visibles; por seguridad, + también tendrá que pasar vía + scp los binarios (por ejemplo find) que + utilizan dichos scripts. El cliente + ssh de la máquina cliente + puede estar ya bajo el control del intruso. Con todo y con eso, + puede ser necesario usar ssh si trabaja sobre enlaces inseguros, + también es mucho más difícil de manejar. - Un buen script de seguridad revisará también - por cambios a la configuración de los archivos de acceso - de usuarios y miembros del staff: + Un buen script de seguridad buscará + también cambios en la configuración de los ficheros + de acceso de usuarios y miembros del personal de + administración: .rhosts, .shosts, - .ssh/authorized_keys y demás; - archivos que caigan fuera del rango de revisión + .ssh/authorized_keys, etc; en resumen, + ficheros fuera del rango de revisión MD5. - Si tiene una cantidad enorme de espacio en disco para usuarios, - puede tomar mucho tiempo recorrer cada archivo en esas - particiones. En este caso, configurando banderas de montaje - para deshabilitar binarios y dispositivos suid en esas particiones - es una buena idea. Las opciones nodev y - nosuid (vea &man.mount.8;) son lo que - necesita revisar. Probablemente debe escanearlos de todas - maneras, al menos una vez a la semana, ya que el objeto de esta - capa es detectar intrusiones ya sea que la instrusión - haya sido efectiva o no. + Si tiene que vérselas con una cantidad enorme de + espacio en disco para usuarios le llevará mucho tiempo + recorrer cada fichero de cada partición. En su caso + sería una buena idea configurar mediante opciones de + montaje la deshabilitación de binarios y dispositivos + suid en esas particiones. Revise las opciones + nodev y nosuid de + &man.mount.8;. Debería comprobarlos de todas maneras + al menos una vez por semana, ya que el objeto de esta capa es + detectar intrusiones, efectivas o no. - La contabilidad de procesos (vea &man.accton.8;) es una - opción relativamente con una carga ligera del sistema - operativo la cual puede ayudar como un mecanismo de - evaluación post-intrusión. Es especialmente - útil para rastrear como un intruso en realidad - penetró en un sistema, asumiendo que el archivo - esté todavía intacto despues de que la - intrusión ocurrió. + La contabilidad de procesos (vea &man.accton.8;) es una + opción con una carga relativamente ligera para el sistema + operativo, y puede ayudarle como mecanismo de + evaluación tras una intrusión. Es especialmente + útil para rastrear cómo consiguión realmente + acceder el intruso al sistema (asumiendo que el fichero + esté intacto después de la intrusión). - Finalmente, los scripts de seguridad deben procesar los - archivos de log, y los mismo logs deben ser generados de una - manera lo más segura posible — un syslog remoto - puede ser muy útil. Un intruso trata de cubrir sus - huellas, y los archivos de log son críticos para el - administrador de sistema tratando de rastrear la hora y el - método de la intrusión inicial. Una manera de - mantener un registro permanente de los archivos de log es - ejecutar la consola del sistema en un puerto serial y - recolectar la información en una base continua - mediante una máquina segura monitoreando las consolas. + Los scripts de seguridad deben procesar los + logs, y los propios logs deben generarse de la forma más + segura posible: un syslog remoto puede ser muy + útil. Un intruso trata de cubrir sus huellas, los logs + son un recurso crítico cuando el administrador de sistemas + intenta determinar la hora y el método de la intrusión + inicial. La ejecución de la consola del sistema en un + puerto serie y recolectar la información de forma + periódica en una máquina segura de + monitorización de consolas es una forma de cumplir esta + tarea. Paranoia - Un poco de paranoia nunca lastima. Como una regla, un - administrador de sistema puede agregar cualquier número - de mecanismos de seguridad, siempre que estos no afecten - la conveniencia, y puede agregar mecanismos de seguridad - que si afecten la conveniencia con - un buen razonamiento. Incluso más importante, un - administrador de seguridad debe mezclarlos un poco — - si utiliza recomendaciones como las dadas en este documento - exactamente, está dando su metodología al - posible atacante que también tenga acceso a este - documento. + Un poco de paranoia nunca está de más. + Como norma, un administrador de sistemas puede añadir + cualquier tipo de mecanismo de seguridad siempre y cuando no + afecte a la comodidad, y puede añadir mecanismos de seguridad + que afecten a la comodidad + si tiene una buena razón para hacerlo. Más + aún, un administrador de seguridad debe mezclar + un poco de ambas cosas: si sigue al pie de la letra las + recomendaciones que se dan en este documento también + está sirviendo en bandeja de plata al posible atancante + su metodología. Ese posible atacante también + tiene acceso a este documento. - Ataques de negación de servicios - Ataques de negación de servicios (DoS) + Ataques de denegación de servicio + Ataques de denegación de + servicio (DoS) - Esta sección cubre ataques de negación de servicios. - Un ataque DoS es tipicamente un ataque de paquetes. Aunque no hay - mucho que pueda hacer acerca de ataques con paquetes imitados - (spoofed) que saturen su red, generalmente puede limitar el daño - asegurándose que los ataques no tiren sus servidores. + Esta sección cubre ataques de denegación de + servicio. Un ataque DoS suele consistir en un ataque mediante + paquetes. NO hay mucho que pueda hacerse contra un ataque + mediante paquetes falsificados (spoofed) que busque + saturar su red, pero puede limitar el daño + asegurándose de que los ataques no tiren sus servidores. - Limitando forks en el servidor. + Limitación de forks en el servidor. - Limitando ataques springboard (ataques de respuesta ICMP, - ping broadcast, etc.). + Limitación de ataques springboard + (ataques de respuesta ICMP, ping broadcast, etc.) - Caché de ruteo del Kernel. + Caché de rutas del kernel. - Un ataque común DoS es contra un servidor con instancias - (forking) que trata de provocar que el servidor consuma procesos, descriptores - de archivos y memoria, hasta que la máquina muere. - inetd (vea &man.inetd.8;) tiene - varias opciones para limitar este tipo de ataque. - Se debe notar que mientras es posible prevenir que una máquina - se caiga, generalmente no es posible prevenir que un servicio sea - interrumpido por el ataque. Lea la página de manual - de inetd con cuidado y ponga atención - especialmente las opciones , , - y . Note que los ataques con direcciones IP imitadas - rodearán la opción de - inetd, así que una - combinación de opciones debe ser utilizada. Algunos - servidores que se ejecutan en solitario cuentan con + Un típico ataque DoS contra un servidor con instancias + (forks) sería tratar de provocar que el servidor consuma + procesos, descriptores de fichero y memoria hasta tirar la + máquina. + inetd (consulte &man.inetd.8;) + dispone de varias opciones para limitar este tipo de ataque. + Recuerde que aunque es posible evitar que una máquina + caiga, generalmente no es posible evitar que un servicio sea + vea interrumpido a causa el ataque. Consulte la página + de manual de inetd atentamente y + sobre todo estudie las las opciones + , , + y . Observe que los ataques con direcciones IP + falsificadas sortearán la opción de + inetd, así que debe usar una + combinación de opciones. Algunos servidores + autónomos (standalone) cuentan con parámetros de autolimitación de instancias. - Sendmail tiene su opción - , la cual tiende a trabajar - mucho mejor que tratando de usar las opciones de límite - de carga de sendmail debido al retraso que provoca la carga. - Debe especificar un parámetro - MaxDaemonChildren, cuando inicia - sendmail, lo suficientemente alto - para manejar su carga esperada, pero no tan alto que la - computadora no pueda manejar ese número de - sendmails sin caerse de boca. - También es prudente ejecutar sendmail en modo de cola - () y correr el daemon - (sendmail -bd) - de manera separada de las ejecuciones de cola - (sendmail -q15m). Si todavía desea - entregas en tiempo real puede ejecutar la cola a un intervalo - menor, como , pero asegúrese de + Sendmail tiene la opción + , que tiende a funcionar + mucho mejor que las opciones de límite + de carga de sendmail debido al retraso que provoca la carga. + Debe especificar un parámetro + MaxDaemonChildren al inicio de + sendmail que sea lo suficientemente alto + como para gestionar la carga esperada, pero no tan alto que la + computadora no pueda absorber tal número de + sendmails sin caerse de boca. + También es prudente ejecutar sendmail en modo de cola + () y ejecutar el + dæmon (sendmail -bd) + de manera independiente de las ejecuciones de cola + (sendmail -q15m). Si a pesar de todo necesita + entregas en tiempo real puede ejecutar la cola a un intervalo + menor, como , pero asegúrese de especificar una opción MaxDaemonChildren razonable para ese sendmail y así - prevenir fallas en cascada. + evitar fallos en cascada. - Syslogd puede ser atacado directamente - y se recomienda fuertemente que utilice la opción - siempre que sea posible, y la opción - de otra manera. + Syslogd puede recibir ataques directos + y se recomienda encarecidamente que utilice la opción + siempre que sea posible, y si no la opción + . - También debe ser extremadamente cuidadoso con servicios - de conexión inversa como ident inverso de - TCP Wrapper, que puede ser atacado - directamente. Generalmente no va a querer utilizar la - propiedad de ident inverso de - TCP Wrapper por esta razón. + También debe ser extremadamente cuidadoso con servicios + de conexión inversa como el ident inverso de + TCP Wrapper, que puede recibir ataques + directos. No se suele usar el ident inverso de + TCP Wrapper por esa misma + razón. - Es una muy buena idea proteger los servicios internos - de acceso externo protegiéndolos vía firewall - en los ruteadores de los bordes. - La idea aquí es prevenir ataques de saturación - desde el exterior de la LAN, no tanto para proteger servicios - internos de comprometimientos root basados - en red. Siempre configure un firewall exclusivo, ej., - restringir todo menos los puertos - A, B, C, D y M-Z. De esta manera puede restringir - todos sus puertos bajos exceptuando ciertos servicios específicos - como named (si es el primario para - una zona), ntalkd, - sendmail y otros servicios accesibles - desde Internet. Si trata de configurar el firewall de la otra - manera — como un firewall inclusivo o permisivo, existe - una gran posibilidad de que olvide cerrar un - par de servicios, o de que agregue un nuevo servicio interno y - olvide actualizar el firewall. Puede incluso abrir el rango - de números de puerto altos en el firewall para permitir - operaciones de tipo permisivas, sin comprometer sus puertos - bajos. También tome nota que &os; le permite controlar - el rango de números de puerto utilizados para asignación - dinámica, a través de sysctl - con net.inet.ip.portrange - (sysctl -a | fgrep portrange), lo cual - también facilita la complejidad de la configuración - de su firewall. Por ejemplo, puede utilizar un rango normal - primero/último de 4000 o 5000, y un rango de puerto - alto de 49152 a 65535, entonces bloquée todo debajo de - 4000 en su firewall (excepto para ciertos puertos específicos + Es una muy buena idea proteger los servicios internos + de acceso externo protegiéndolos vía con un cortafuegos + en los routers de frontera. La idea es prevenir ataques de + saturación desde el exterior de la LAN, y no tanto para + proteger servicios internos de compromisos + root basados en red. + Configure siempre un cortafuegos exclusivo, esto es, + restringir todo menos los puertos + A, B, C, D y M-Z. De esta manera restringirá + todos sus puertos con números bajos excepto ciertos + servicios específicos como + named (si es el servidor primario de + una zona), ntalkd, + sendmail, y otros servicios accesibles + desde Internet. Si configura el cortafuegos de la otra + manera (como un cortafuegos inclusivo o permisivo), tiene grandes + posibilidades de que olvide cerrar un + par de servicios, o de que agregue un nuevo servicio interno y + olvide actualizar el cortafuegos. Puede incluso abrir el rango + de números de puerto altos en el cortafuegos para permitir + operaciones de tipo permisivo sin comprometer sus puertos + bajos. Recuerde también que &os; le permite controlar + el rango de números de puerto utilizados para asignación + dinámica a través de las numerosas + net.inet.ip.portrange de + sysctl + (sysctl -a | fgrep portrange), lo cual + también facilita la complejidad de la configuración + de su cortafuegos. Por ejemplo, puede utilizar un rango normal + primero/último de 4000 ó 5000, y un rango de puerto + alto de 49152 a 65535; bloquée todo por debajo de + 4000 (excepto para ciertos puertos específicos accesibles desde Internet, por supuesto). ICMP_BANDLIM - Otro ataque DoS común es llamado ataque springboard - — atacar un servidor de una manera que provoca que el - servidor genere respuestas que sobrecarguen al servidor, la - red local o alguna otra máquina. Los ataques más - comunes de este tipo es el ataque ICMP ping broadcast. - El atacante imita paquetes ping enviados a la dirección - broadcast de su LAN con la dirección IP fuente puesta - a la de la máquina que desean atacar. Si sus ruteadores - de borde no están configurados para atrapar pings a - direcciones de broadcast, su LAN termina generando suficientes - respuestas a la dirección fuente imitada para saturar - a la víctima, especialmente cuando el atacante utiliza - el mismo truco en varias docenas de direcciones broadcast en - varias docenas de redes diferentes a la vez. Ataques de - broadcast de más de ciento veinte megabits han sido - medidos. Un segundo ataque común springboard es contra - el sistema de reporte de error de ICMP. Mediante la construcción - de paquetes que generan respuestas de error ICMP, un atacante - puede saturar la conexión entrante de red de un servidor - y provocar que el servidor sature su conexión saliente - de red con respuestas ICMP. Este tipo de ataque también - puede estrellar el servidor agotando sus mbufs, especialmente - si el servidor no puede drenar las respuestas ICMP que - genera lo suficientemente rápido. El kernel de &os; - tiene una nueva opción de compilación de - kernel llamada que limita la - efectividad de este tipo de ataques. La última gran - clase de ataques springboard está relacionada a - ciertos servicios de inetd como - el servicio de eco udp. Un atacante simplemente imita un paquete - UDP con la dirección fuente siendo el puerto de eco del - servidor A, y la dirección destino siendo el puerto de - eco del servidor B, donde servidor A y B están ambos - en su LAN. Los dos servidores entonces rebotan este paquete - de ida y vuelta entre ellos. El atacante puede sobrecargar - ambos servidores y la LAN simplemente inyectando un par de - paquetes de esta manera. Problemas similares existen con el - puerto chargen. Un administrador - de sistema competente apagará todos estos servicios - de inetd internos de verificación. + Otro ataque DoS común es llamado ataque + springboard: atacar un servidor de forma que + genere respuestas que lo sobrecarguen, sobrecarguen la red local + o alguna otra máquina. Los ataques más + comunes de este tipo son los + ataques ICMP ping broadcast. + El atacante falsifica paquetes ping enviados a la dirección + broadcast de su LAN simulando que la dirección IP origen + es la de la máquina que desean atacar. Si sus routers + de frontera no están configurados para lidiar con pings a + direcciones de broadcast su LAN termina generando suficientes + respuestas a la dirección origen falsificada como para saturar + a la víctima, especialmente cuando el atacante utiliza + el mismo truco en varias docenas de direcciones broadcast en + varias docenas de redes diferentes a la vez. Se han medido + ataques de broadcast de más de ciento veinte megabits. + Un segundo tipo de ataque springboard bastante + común se da contra el sistema de informe de error de ICMP. + Un atacante puede saturar la conexión entrante de red de un + servidor mediante la construcción de paquetes que generen + respuestas de error ICMP, provocando que el servidor sature su + conexión saliente de red con respuestas ICMP. Este tipo + de ataque también puede tumbar el servidor agotando sus + mbufs, especialmente si el servidor no puede + drenar lo suficientemente rápido las respuestas ICMP que + genera. El kernel de &os; tiene una opción de + compilación llamada , + que limita la efectividad de este tipo de ataques. + La última gran categoría de ataques + springboard está relacionada con + ciertos servicios de inetd, como + el servicio de eco udp. El atacante simplemente imita un paquete + UDP con el puerdo de eco del servidor A como dirección de + origen, y el puerto eco del servidor B como dirección de + destino, estando ambos servidores en la misma LAN. Un atacante + puede sobrecargar ambos servidores y la propia LAN inyectando + simplemente un par de paquetes. Existen problemas similares + con el puerto + chargen. Un administrador de sistemas + competente apagará todos estos servicios internos de + verificación de inetd. - Los ataques de paquetes imitados pueden ser también - utilizados para sobrecargar el caché de ruteo del kernel. - Refiérase a los parámetros de sysctl - net.inet.ip.rtexpire, - rtminexpire, y - rtmaxcache. - Un ataques de paquetes imitados que utiliza una dirección - IP fuente aleatoria provocará que el kernel genere una - ruta temporal en caché en la tabla de ruteo, visible con - netstat -rna | fgrep W3. Estas rutas - tipicamente expiran en 1600 segundos más o menos. Si el - kernel detecta que la tabla de ruteo en caché ya está - demasiado grande reducirá dinamicamente rtexpire - pero nunca la decrementará a menos del valor de - rtminexpire. Existen dos problemas: + Los ataques con paquetes falsificados pueden utilizarse + también para sobrecargar la caché de rutas del kernel. + Consulte los parámetros de sysctl + net.inet.ip.rtexpire, + rtminexpire, y + rtmaxcache. + Un ataque de paquetes falsificados que utiliza una dirección + IP origen aleatoria provocará que el kernel genere una + ruta temporal en caché en su tabla de rutas, visible con + netstat -rna | fgrep W3. Estas rutas + suelen expiran en 1600 segundos más o menos. Si el + kernel detecta que la tabla de rutas en caché es ya + demasiado grande reducirá dinámicamente + rtexpire, pero nunca la reducirá a un + valor que sea menor que rtminexpire. + Esto nos presenta dos problemas: - El kernel no reacciona con suficiente rapidez cuando + El kernel no reacciona con suficiente rapidez cuando un servidor ligeramente cargado es atacado. - El rtminexpire no es lo suficientemente + El rtminexpire no es lo suficientemente bajo para que el kernel sobreviva a un ataque sostenido. - Si sus servidores están conectados al Internet - mediante un T3 o mejor, puede ser prudente corregir manualmente - rtexpire y rtminexpire - por medio de &man.sysctl.8;. Nunca ponga ambos parámetros - a cero (a menos que desée estrellar la máquina). - Configurar ambos parámetros a 2 segundos debe ser - suficiente para proteger la tabla de ruteo de ataques. + Si sus servidores están conectados a Internet mediante + mediante una línea T3 o superior puede ser prudente corregir + manualmente + rtexpire y rtminexpire + por medio de &man.sysctl.8;. Nunca ponga ambos parámetros + a cero (a menos que desée estrellar la máquina). + Configurar ambos parámetros a 2 segundos debería + bastar para proteger de ataques la tabla de rutas. - Detalles de acceso con Kerberos y SSH + Otros aspectos del acceso con Kerberos y SSH ssh KerberosIV - Existen un par de detalles con respecto a - Kerberos y ssh que necesitan ser analizados si - pretende utilizarlos. Kerberos V es un excelente - protocolo de autentificación, pero existen - errores en la versión kerberizada de - telnet y - rlogin que las hacen - inapropiadas para manejar flujos binarios. - También, por omisión Kerberos no encripta una - sesión a menos que utilice la opción - . ssh - encripta todo por omisión. + Existen un par de detalles con respecto a + Kerberos y ssh que debe analizar sy pretende usarlos. + Kerberos V es un excelente protocolo de + protocolo de autentificación, pero hay errores en la + versión kerberizada de telnet + y rlogin que las hacen + inapropiadas para gestionar flujos binarios. + Ademé Kerberos no cifra por defecto una + sesión a menos que utilice la opción + . ssh cifra todo + por defecto. - ssh funciona bastante bien en - cada caso excepto que reenvía llaves de encriptación - por omisión. Lo que esto significa es que si usted tiene - una estación de trabajo segura manteniendo llaves que - le dan acceso al resto del sistema, y hace ssh a una - máquina insegura, sus llaves son usables. Las llaves en - sí no son expuestas, pero ssh instala un puerto de - reenvío durante la duración de su login, y si - un atacante ha comprometido a root - en la máquina insegura puede utilizar ese puerto - para usar sus llaves y ganar acceso a cualquier otra + + ssh funciona bastante bien en todos los casos, con la sola + salvedad de que por defecto reenvía llaves de cifrado. + Esto significa que si usted tiene una estación de trabajo + segura, que contiene llaves que le dan acceso al resto del sistema, + y hace ssh a una máquina insegura, sus llaves se pueden + utilizar. Las llaves en sí no se exponen, pero ssh + crea un puerto de reenvío durante el login, y si un + atacante ha comprometido el root + de la máquina insegura, puede utilizar ese puerto + para usar sus llaves y obtener acceso a cualquier otra máquina que sus llaves abran. - Recomendamos que utilice ssh en - combinación con Kerberos siempre que sea posible - para logins de staff. - ssh puede ser compilado con - soporte de Kerberos. Esto reduce su dependencia en - llaves ssh expuestas mientras al mismo tiempo - protegen las contraseñas vía Kerberos. - Las llaves ssh deben ser utilizadas solamente para tareas - automáticas desde máquinas seguras - (algo que Kerberos no hace por incompatibilidad). Recomendamos - también que desactive el reenvío de llaves - en la configuración de ssh, o que haga uso de la - opción from=IP/DOMAIN que - ssh permite en su archivo - authorized_keys para hacer la llave - usable solamente a entidades que se firmen desde máquinas + Le recomendamos que, siempre que sea posible, use ssh + combinado con Kerberos en los login de su personal de + administración. + para logins de staff. Puede compilar + ssh con soporte de Kerberos. + Esto reducirá su dependencia de llaves ssh expuestas, + al mismo tiempo que protege las contraseñas vía + Kerberos. Las llaves ssh deben usarse sólamente para + tareas automáticas desde máquinas seguras + (algo que Kerberos no hace por incompatibilidad). Recomendamos + también que desactive el reenvío de llaves + en la configuración de ssh, o que use la + opción from=IP/DOMAIN que ssh incluye + en authorized_keys; así la llave + sólo podrá ser utilizada por entidades que se + validen desde máquinas específicas. @@ -1092,7 +1130,7 @@ Bill Swingle - Partes reescritas y actualizadas por + Secciones reescritas y actualizadas por @@ -1108,196 +1146,202 @@ DES MD5 - Cada usuario en un sistema &unix; tiene una contraseña - asociada con su cuenta. Parece obvio que estas contraseñas - necesiten ser conocidas solamente por el usuario y por el sistema - operativo. Para mantener estas contraseñas secretas, son - encriptadas con lo que se conoce como un hash de una pasada, - esto es, solo pueden ser facilmente encriptadas pero no - desencriptadas. En otras palabras, lo que acabamos de decir fué - tan obvio que ni siquiera es verdad: el sistema operativo mismo no - conoce realmente la contraseña. - Solamente conoce la forma encriptada de - la contraseña. La única manera de obtener la - contraseña en texto plano es por medio - de una búsqueda de fuerza bruta en el espacio de + Cada usuario de un sistema &unix; tiene una contraseña + asociada a su cuenta. Parece obvio que estas contraseñas + sólo deben ser conocidas por el usuario y por el sistema + operativo. Para que estas contraseñas permanezcan en secreto + se cifran con lo que se conoce como un + hash de una pasada, esto es, sólo pueden ser + fácilmente cifradas pero no descifradas. En otras palabras, + lo que acabamos de decir es tan obvio que ni siguiera es verdad: + el propio sistema operativo no sabe cuál es + realmente la contraseña. + Lo único que conoce es la versión + cifrada de la contrasenña. + La única manera de obtener la + contraseña en texto plano es por medio + de una búsqueda de fuerza bruta en el espacio de contraseñas posibles. - Desafortunadamente la única manera segura de encriptar - contraseñas cuando &unix; empezó a hacerlo estaba - basada en DES, la encriptación de datos estándar. - Esto no era tanto problema para usuarios residentes en EU, &os; - tuvo que buscar una manera de cumplir con las leyes de EU y - retener compatibilidad con todos las otras variantes de &unix; + Por desgracia la única manera segura de cifrar + contraseñas cuando &unix; empezó a hacerlo estaba + basada en DES, (Data Encryption Standard, + estándar de cifrado de datos). + Esto no era un gran problema para usuarios residentes en los EEUU, + pero el código fuente de &os; no se podía exportar desde + los EEUU, así que &os; hubo de buscar una forma de complir + las leyes de EEUU y al mismo tiempo mantener la compatibilidad con + otras variantes de &unix; que que todavía utilizaban DES. - La solución fué dividir las librerías - de encriptación para que los usuarios de EU pudieran - instalar las librerías DES y utilizar DES pero los - usuarios internacionales todavía tenían un - método de encriptación que podía ser - exportado. Así es como &os; llegó a usar - MD5 como su método de encriptación por - omisión. Se cree que MD5 es más seguro que - DES, así que la instalación de DES es ofrecida primordialmente - por razones de compatibilidad. + La solución fué dividir las bibliotecas de cifrado + para que los usuarios de EEUU pudieran instalar las bibliotecas DES + pero los usuarios del resto del mundo tuvieran un método + de cifrado que pudiera ser exportado. Así es como &os; + comenzó a usar MD5 como su método de cifrado por + defecto. MD5 se considera más seguro que DES, así + que se mantiene la opción de poder instalar DES por motivos + de compatibilidad. - Reconociendo su mecanismo de encriptación + Cómo reconocer su mecanismo de cifrado - Antes de &os; 4.4 libcrypt.a era - un enlace simbólico apuntando a la librería que era - utilizada para encriptación. &os; 4.4 cambió - libcrypt.a para brindar una librería - configurable de autentificación hash de contraseñas. - Actualmente la librería soporta funciones hash DES, MD5 y - Blowfish. Por omisión &os; utiliza MD5 para encriptar + En versiones anteriores a &os; 4.4 + libcrypt.a era un enlace + simbólico que apuntaba a la biblioteca que se usaba para el + cifrado. En &os; 4.4 se cambió + libcrypt.a para ofrecer una biblioteca hash + configurable de validación de contraseñas. + Actualmente la biblioteca permite funciones hash DES, MD5 y + Blowfish. &os; utiliza por defecto MD5 para cifrar contraseñas. - Es muy sencillo identificar que método de - encriptación &os; tiene configurado para usar. - Examinando las contraseñas encriptadas en el archivo - /etc/master.passwd en una manera. - Contraseñas encriptadas con el hash MD5 son más - largas que aquellas encriptadas con el hash DES y también - inician con los caracteres - $1$. Las contraseñas - que inician con $2a$ están - encriptadas con la función hash de Blowfish. Las - cadenas de contraseñas DES no tienen ninguna - característica particular, pero son más - cortas que las contraseñas MD5, y están - codificadas con un alfabeto de 64 caracteres el cual no - incluye el caracter $, por eso - una cadena relativamente corta que inicie con un signo de - dólar es muy probable que sea una contraseña + Es muy sencillo identificar qué método usa &os; + para cifrar. Una forma es examinando las contraseñas + cifradas en /etc/master.passwd. + Las contraseñas cifradas con el hash MD5 son más + largas que las cifradas con el hash DES, y también + comienzan por los caracteres + $1$. Las contraseñas + que comienzan por $2a$ están + cifradas con la función hash de Blowfish. Las + contraseñas DES no tienen ninguna + característica particular, pero son más cortas que + las contraseñas MD5, y están codificadas en un + alfabeto de 64 caracteres que no incluye el caracter + $; es por esto que una cadena + relativamente corta que comience con un signo de + dólar es muy probablemente una contraseña DES. - El formato de contraseña utilizado para nuevas - contraseñas está controlado por la capacidad - passwd_format en - /etc/login.conf, la cual toma valores - de des, md5 o - blf. Vea la página de manual - &man.login.conf.5; para mayor información acerca de - las capacidades de login. + El formato de contraseña a usar en nuevas + contraseñas se define en + /etc/login.conf mediante + passwd_format, pudiendo tener los valores + des, md5 o + blf. Consulte la página de manual + &man.login.conf.5; para más información. - Contraseñas de una sola vez - Contraseñas de una sola vez + Contraseñas de un solo uso + Contraseñas de un solo uso seguridad - Contraseñas de una sola vez + Contraseñas de un solo uso - S/Key es un esquema de contraseña de una sola vez - en una función de hash de una pasada. &os; utiliza el - hash MD4 para compatibilidad pero otros sistemas han usado - MD5 y DES-MAC. S/Key ha sido parte del sistema base de &os; - desde la versión 1.1.5 y es usado también en - un número creciente de otros sistemas operativos. S/Key + S/Key es un esquema de contraseña de un solo uso + basado en una función de hash de sentido único. + &os; utiliza el + hash MD4 por compatibilidad, pero otros sistemas usan + MD5 y DES-MAC. S/Key forma parte del sistema base de &os; + desde la versión 1.1.5 y se usa también en + un número creciente de otros sistemas operativos. S/Key es una marca registrada de Bell Communications Research, Inc. - Desde la versión 5.0 de &os;, S/Key ha sido - reemplazado con la funcionalidad equivalente OPIE - (One-time Passwords In Everything). OPIE usa hash MD5 - por omisión. + A partir de la versión 5.0 de &os; S/Key fué + reemplazado por su equivalente OPIE (One-time Passwords + In Everything, Contraseñas de un solo + uso para todo). OPIE usa por defecto hash MD5. - Existen tres tipos de contraseñas las cuales serán - discutidas abajo. La primera es la contraseña usual estilo - &unix; o Kerberos; llamaremos a esta una contraseña &unix;. - El segundo tipo es la contraseña de una sola vez la cual es - generada por el programa key de S/Key o por - el programa &man.opiekey.1; de OPIE, y aceptada por los programas - keyinit u &man.opiepasswd.1; y el prompt de - login; llamaremos a esta una contraseña de una sola vez. - El último tipo de contraseña es la contraseña - secreta que le da a los programas key/opiekey - (y a veces - keyinit/opiepasswd) la cual - es utilizada para generar contraseñas de una sola vez; - llamaremos a esta una contraseña secreta - o solamente contraseña no calificada. + En esta sección se explican tres tipos de + contraseña. La primera es la típica + contraseña al estilo &unix; o Kerberos; las llamaremos + contraseñas &unix;. + El segundo tipo es la contraseña de un solo uso, + que se genera con el programa key de S/Key o + con &man.opiekey.1; de OPIE, y que aceptan los programas + keyinit, &man.opiepasswd.1;, y el prompt de + login; llamaremos a esta una + contraseña de un solo uso. + El último tipo de contraseña es la contraseña + secreta que le da usted a los programas + key/opiekey (y a veces + keyinit/opiepasswd), que + se usa para generar contraseñas de un solo uso; + a estas las llamaremos contraseñas secretas, + o simplemente contraseña. - La contraseña secreta no tiene nada que ver con su - contraseña &unix;; pueden ser la misma pero esto no es - recomendable. Las contraseñas secretas S/Key y OPIE no + La contraseña secreta no tiene nada que ver con su + contraseña &unix;; pueden ser la misma, pero no es + recomendable. Las contraseñas secretas S/Key y OPIE no están limitadas a 8 caracteres como las contraseñas - &unix; antiguasBajo &os; la contraseña del + &unix; antiguasEn &os; la contraseña del login estándar puede ser de hasta 128 caracteres de - longitud., pueden ser tan largas como quiera. - Contraseñas con frases de seis o siete palabras muy largas - son bastante comunes. En la mayor parte, el sistema S/Key o el - OPIE opera completamente independiente del sistema de contraseñas - &unix;. + longitud., pueden ser tan largas como se quiera. + Las contraseñas con frases de seis o siete palabras muy largas + son bastante comunes. El funcionamiento del sistema S/Key o el + OPIE es en gran parte completamente independiente del sistema de + contraseñas &unix;. - Además de la contraseña, existen dos piezas más - de datos que son importante para S/Key y OPIE. Una es la que es - conocida como la semilla o llave, - consistente de dos letras y cinco dígitos. La otra es la - que es llamada la cuenta iterativa, un número - entre 1 y 100. S/Key genera la contraseña de una sola vez - concatenando la semilla y la contraseña secreta, - entonces aplica el hash MD4/MD5 tantas veces como especifique - la cuenta iterativa y convirtiendo el resultado en seis palabras - cortas en inglés. Estas seis palabras en inglés - son su contraseña de una sola vez. El sistema de autentificación - (principalmente PAM) mantiene un registro del uso de contraseñas - de una sola vez, y el usuario es autentificado si el hash de la - contraseña brindada por el usuario es igual a la - contraseña previa. Como se utiliza un hash de una pasada - es imposible generar contraseñas de una sola vez futuras - si una contraseña usada con éxito es capturada; - la cuenta iterativa es decrementada despues de cada login exitoso - para mantener al usuario y al programa login en sincronía. - Cuanto la cuenta iterativa llega a 1, S/Key y OPIE deben ser - reinicializados. + Además de la contraseña hay dos datos que son + importantes para S/Key y OPIE. Uno es lo que se conoce como + semilla o llave, que consiste en dos + letras y cinco dígitos. El otro dato importante se llama + la cuenta de iteración, que es un número + entre 1 y 100. S/Key genera la contraseña de un solo + uso concatenando la semilla y la contraseña secreta, + aplica el hash MD4/MD5 tantas veces como especifique la cuenta de + iteración y convierte el resultado en seis palabras + cortas en inglés. Estas seis palabras en inglés + son su contraseña de un solo uso. El sistema de + autentificación (principalmente PAM) mantiene un registro del + uso de contraseñas de un solo uso, y el usuario + puede validarse si el hash de la contraseña que proporciona + es igual a la contraseña previa. Como se utiliza un + hash de sentido único es imposible generar futuras + contraseñas de un solo uso si una contraseña + que ya ha sido usada fuera capturada; + la cuenta de iteración se reduce después de cada login + correcto para sincronizar al usuario con el programa login. + Cuanto la iteración llega a 1, S/Key y OPIE deben + reinicializar. - Hay tres programas involucrados en cada sistema los - cuales discutiremos abajo. Los programas key - y opiekey aceptan una cuenta iterativa, - una semilla y una contraseña secreta, y generan - una contraseña de una sola vez o una lista consecutiva - de contraseñas de una sola vez. Los programas - keyinit y opiepasswd - son utilizados para inicializar S/Key y OPIE respectivamente, - y para cambiar contraseñas, cuentas iterativas o - semillas; toman ya sea una frase secreta, o una cuenta - iterativa y una contraseña de una sola vez. Los programas - keyinfo y opieinfo - examinan los archivos de credenciales relevantes - (/etc/skeykeys o - /etc/opiekeys) e imprime la cuenta - iterativa y semilla actual del usuario invocante. + Hay tres programas involucrados en cada uno de estos + sistemas. Los programas key y + opiekey aceptan una cuenta iterativa, + una semilla y una contraseña secreta, y generan + una contraseña de un solo uso o una lista consecutiva + de contraseñas de un solo uso. Los programas + keyinit y opiepasswd + se usan respectivamente para inicializar S/Key y OPIE, + y para cambiar contraseñas, cuentas iterativas o + semillas; toman ya sea una frase secreta, o una cuenta + iterativa y una contraseña de un solo uso. Los + programas keyinfo y opieinfo + examinan los ficheros de credenciales correspondientes + (/etc/skeykeys o + /etc/opiekeys) e imprimen la cuenta + iterativa y semilla del usuario invocante. - Existen cuatro tipos de operaciones diferentes que cubriremos. - La primera es usando keyinit o - opiepasswd a través de una conexión - segura para configurar contraseñas de una sola vez por - primera vez, o para cambiar su contraseña o semilla. - La segunda operación es utilizando keyinit - o opiepasswd sobre una conexión insegura, - en conjunto con key u opiekey - sobre una conexión segura, para hacer lo mismo. La tercera - es usando key/opiekey para - conectarse a través de una conexión insegura. - La cuarta es usando opiekey o key - para generar un número de llaves las cuales pueden ser escritas - o impresas para llevárselas con usted al ir a algún - lugar que no cuente con conexiones seguras a ningún lado. + Explicaremos cuatro tipos de operaciones diferentes. + La primera es usar keyinit o + opiepasswd a través de una conexión + segura para configurar contraseñas de un solo uso por + primera vez, o para cambiar su contraseña o semilla. + La segunda operación es utilizar keyinit + o opiepasswd a través de una conexión + insegura, además de usar key u + opiekey sobre una conexión segura para + hacer lo mismo. La tercera es usar + key/opiekey para conectarse a + través de una conexión insegura. La cuarta es usar + opiekey o key para generar + numerosas llaves, que pueden ser escritas para llevarlas con usted + al ir a algún lugar desde el que no se puedan hacer conexiones + seguras a ningún sitio. Inicialización de conexiones seguras - Para inicializar S/Key por primera vez, cambie su contraseña, - o cambie su semilla mientras esta conectado a través de - una conexión segura (ej., en la consola de una máquina - o vía ssh), use el comando - keyinit sin ningún parámetro - mientras está conectado con su cuenta: + Para inicializar S/Key por primera vez cambie su contraseña, + o cambie su semilla mientras está conectado a través de + una conexión segura (esto es, en la consola de una + máquina o vía ssh); use + keyinit sin ningún parámetro: &prompt.user; keyinit Adding unfurl: @@ -1309,7 +1353,7 @@ Again secret password: ID unfurl s/key is 99 to17757 DEFY CLUB PRO NASH LACE SOFT - Para OPIE, es utilizado opiepasswd: + En OPIE se utiliza opiepasswd: &prompt.user; opiepasswd -c [grimreaper] ~ $ opiepasswd -f -c @@ -1324,38 +1368,37 @@ ID unfurl OTP key is 499 to4268 MOS MALL GOAT ARM AVID COED - En Enter new secret pass phrase: o - Enter secret password:, debe ingresar - una contraseña o frase. Recuerde, que esta no es la - contraseña que utilizará para entrar, esta es - usada para generar sus llaves de una sola vez. La línea - ID da los parámetros de su instancia - en particular: su nombre de login, la cuenta iterativa y - semilla. Al hacer login el sistema recordará estos - parámetros y los presentará de nuevo para que - no tenga que recordarlos. La última línea da - las contraseéas de una sola vez en particular que - corresponden a esos parámetros y su contraseña - secreta; si fuera a hacer nuevamente login de manera inmediata, - esta contraseña de una sola vez es la que debería - usar. + En Enter new secret pass phrase: o + Enter secret password:, debe introducir + una contraseña o frase. Recuerde que no es la + contraseña que utilizará para entrar, se usará + para generar sus llaves de un solo uso. La línea + ID da los parámetros de su instancia + en particular: su nombre de login, la cuenta iterativa y + semilla. En el momento del login el sistema recordará estos + parámetros y los presentará de nuevo para que + no tenga que recordarlos. La última línea proporciona + las contraseéas de un solo uso que + corresponden a esos parámetros y su contraseña + secreta; si fuera a hacer login de manera inmediata, + debería usar esta contraseña de una sola vez. Inicialización de conexiones inseguras - Para inicializar o cambiar su contraseña secreta - a través de una conexión insegura, necesitará - tener alguna conexión segura a algún lugar - donde pueda correr key u opiekey; - esto podría ser en la forma de un accesorio de escritorio - en una &macintosh;, o un prompt de shell en una máquina - en la cual confíe. También necesitará hacer - una cuenta iterativa (100 es probablemente un buen valor), y puede - realizar su propia semilla o utilizar una generada de manera - aleatoria. A través de una conexión insegura - (hacia la máquina que está inicializando), utilice - el comando keyinit -s: + Para inicializar o cambiar su contraseña secreta + a través de una conexión insegura, necesitará + tener alguna conexión segura a algún lugar + donde pueda ejecutar key u + opiekey; puede ser gracias a un accesorio de + escritorio o en una &macintosh;, o un prompt de shell en una + máquina en la que confíe. Necesitará + también una cuenta iterativa (100 probablemente sea un + buen valor), y puede usar su propia semilla, o usar una generada + aleatoriamente. Siguiendo con la conexión insegura + (hacia la máquina que está inicializando), ejecute + keyinit -s: &prompt.user; keyinit -s Updating unfurl: @@ -1368,7 +1411,7 @@ s/key access password: s/key access password:CURE MIKE BANE HIM RACY GORE - Para OPIE, necesita usar opiepasswd: + En OPIE debe usar opiepasswd: &prompt.user; opiepasswd @@ -1385,13 +1428,13 @@ ID mark OTP key is 499 gr4269 LINE PAP MILK NELL BUOY TROY - Para aceptar la semilla por omisión (la que - el programa keyinit llama de - manera confusa una key), presione - Enter. Entonces antes de proporcionar - una contraseña de acceso, cambiese a su conexión - segura o accesorio de escritorio S/Key, y dele el mismo - parámetro: + Para aceptar la semilla por defecto (la que + el programa keyinit llama + key, llave, para terminar de + complicar las cosas), pulse Enter. + Antes de introducir una una contraseña de acceso + cambie a su conexión o accesorio de escritorio S/Key y + dele el mismo parámetro: &prompt.user; key 100 to17759 Reminder - Do not use this program while logged in via telnet or rlogin. @@ -1407,70 +1450,73 @@ Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT - Ahora regrese a la conexión insegura y copie la - contraseña de una sola vez generada al programa - relevante. + Vuelva a la conexión insegura y copie la + contraseña de un solo uso generada al programa + que quiera usar. - Generando una sola contraseña de una sola vez + Generación una sola contraseña de un solo + uso - Una vez que ha inicializado S/Key u OPIE, cuando haga login - se le presentará un prompt como este: + Una vez que ha inicializado S/Key u OPIE, cuando haga login + verá un prompt parecido al siguiente: -&prompt.user; telnet example.com +&prompt.user; telnet ejemplo.com Trying 10.0.0.1... -Connected to example.com +Connected to ejemplo.com Escape character is '^]'. -FreeBSD/i386 (example.com) (ttypa) +FreeBSD/i386 (ejemplo.com) (ttypa) login: <username> s/key 97 fw13894 Password: - O para OPIE: + O, en el caso de OPIE: -&prompt.user; telnet example.com +&prompt.user; telnet ejemplo.com Trying 10.0.0.1... -Connected to example.com +Connected to ejemplo.com Escape character is '^]'. -FreeBSD/i386 (example.com) (ttypa) +FreeBSD/i386 (ejemplo.com) (ttypa) -login: <username> +login: <nombre_de_usuario> otp-md5 498 gr4269 ext Password: - Como una nota aparte, el prompt de S/Key u OPIE cuentan con una - opción útil (no mostrada aquí): si presiona - Enter en el prompt de contraseña, el - prompt activará el eco, para que pueda ver lo que está - tecleando. Esto puede ser extremadamente útil si está - intentando teclear una contraseña a mano, como desde una - forma impresa. + Como una nota aparte, el prompt de S/Key y OPIE + cuenta con una opción útil (que no se muestra + aquí): si pulsa Enter en el + prompt de contraseña el + prompt activará el eco para que pueda ver + en pantalla lo que teclea. Esto puede ser extremadamente + útil si está tecleando una contraseña a + a mano o desde un la lista impresa. MS-DOS Windows MacOS - En este punto necesita generar su contraseña de una - sola vez para responder a este prompt de login. Esto debe hacerse - en un sistema confiable en el que pueda ejecutar key - u opiekey. (Existen versiones de estos para DOS, - &windows; y &macos; también.) Ambos necesitan la cuenta iterativa - y la semilla como opciones de línea de comando. Puede cortar - y pegar estas desde el prompt de login en la máquina a la - que se esta firmando. + Ahora necesitará generar su contraseña de un + sólo uso para responder a este prompt de + login. Debe hacerlo en un sistema digno de confianza y en el que + pueda ejecutar key u opiekey. + Existen versiones DOS, &windows; y también para &macos;. + Ambos usarán la cuenta iterativa y la semilla como opciones + de línea de órdenes. Puede cortarlas y pegarlas desde el + prompt de login de la máquina en la + que se está identificando. - En el sistema confiable: + En el sistema de confianza: &prompt.user; key 97 fw13894 Reminder - Do not use this program while logged in via telnet or rlogin. Enter secret password: WELD LIP ACTS ENDS ME HAAG - Para OPIE: + Con OPIE: &prompt.user; opiekey 498 to4268 Using the MD5 algorithm to compute response. @@ -1478,12 +1524,12 @@ Reminder: Don't use opiekey from telnet or dial-in sessions. Enter secret pass phrase: GAME GAG WELT OUT DOWN CHAT - Ahora que tiene su contraseña de una sola vez puede - continuar con el login: + Ahora que tiene su contraseña de un solo uso puede + proceder con el login: - login: <username> + login: <nombre_de_usuario> s/key 97 fw13894 -Password: <return to enable echo> +Password: <Enter para activar el eco> s/key 97 fw13894 Password [echo on]: WELD LIP ACTS ENDS ME HAAG Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... @@ -1491,15 +1537,16 @@ Last login: Tue Mar 21 11:56:41 from 10.0.0.2 ... - Generando múltiples contraseñas de una sola vez + Generación de múltiples contraseñas + de un solo uso - A veces usted tiene que ir a lugares donde no hay - acceso a una máquina confiable o a una conexión - segura. En este caso, es posible utilizar los comandos + A veces usted hay que ir a lugares donde no hay + acceso a una máquina de fiar o a una conexión + segura. En estos casos, puede utilizar key y opiekey para - generar un número de contraseñas de una sola - vez con anticipación para imprimirlar y llevárselas - con usted. Por ejemplo: + generar previamente numerosas contraseñas de un solo uso + para, una vez impresas, llevárselas a donde hagan falta. + Por ejemplo: &prompt.user; key -n 5 30 zz99999 Reminder - Do not use this program while logged in via telnet or rlogin. @@ -1522,89 +1569,89 @@ Enter secret pass phrase: <secret password> 29: RIO ODIN GO BYE FURY TIC 30: GREW JIVE SAN GIRD BOIL PHI - El pide cinco llaves en secuencia, la - opción especifica que ese debe ser el - último número de iteración. Note que son - impresas en el orden inverso de uso - eventual. Si es realmente paranoico, tal vez quiera escribir los - resultados a mano; de otra manera puede cortar y pegar hacia lpr. - Note que cada línea muestra la cuenta iterativa y la - contraseña de una sola vez; puede encontrar cómodo - tachar las contraseñas según las vaya utilizando. + El pide cinco llaves en secuencia, la + opción especifica que ese debe ser el + último número de iteración. Observe que se + imprimen en el orden inverso de uso. + Si es realmente paranoico escriba los resultados a mano; si no, + puede enviar la salida a lpr. Observe que + cada línea muestra la cuenta iterativa y la + contraseña de un solo uso; puede ir tachando las + contraseñas según las vaya utilizando. - Restringiendo el uso de contraseñas &unix; + Restricción del uso de contraseñas &unix; - S/Key puede colocar restricciones en el uso de contraseñas - &unix; basandose en el nombre de equipo, nombre de usuario, puerto de - terminal o dirección IP de una sesión de login. - Estas restricciones pueden encontrarse en el archivo de configuracio´n - /etc/skey.access. La página de manual - &man.skey.access.5; contiene más información sobre el - formato completo del archivo y detalla también algunas - precauciones de seguridad que hay que tomar en cuenta dependiendo - de este archivo para la seguridad. + S/Key puede implantar restricciones en el uso de contraseñas + &unix; basándose en el nombre de equipo, nombre de usuario, + puerto de terminal o dirección IP de una sesión de + login. Consulte el fichero de configuración + /etc/skey.access. La página de manual + de &man.skey.access.5; contiene más información sobre el + formato del fichero y detalla también algunas precauciones + de seguridad que hay que tener en cuenta antes de basar nuestra + seguridad en este fichero. - Si no existe un archivo /etc/skey.access - (esto es por omisión en sistemas &os; 4.X), entonces - a todos los usuarios se les permitirá utilizar contraseñas - &unix;. Si el archivo existe, de todas maneras, entonces a todos - los usuarios se les requerirá la utilización de - S/Key a menos que se permita explicitamente otra forma por las - declaraciones de configuración en el archivo - skey.access. En todos los casos, las - contraseñas &unix; son permitidas en la consola. + Si /etc/skey.access no existiera + (por defecto es así en sistemas &os; 4.X) todos los + usuarios podrán disponer de contraseñas &unix;. + Si el fichero existe se exigirá a todos los usuarios + el uso de S/Key, a menos que se configure de otro modo en + skey.access. En todos los casos las + contraseñas &unix; son admiten en consola. - Aquí hay una muestra del archivo de configuración - skey.access que ilustra las tres formas más - comunes de declaraciones de configuración: + Aquí hay un ejemplo del fichero de configuración + skey.access que muestra las tres formas más + comunes de configuración: permit internet 192.168.0.0 255.255.0.0 permit user fnord permit port ttyd0 - La primera línea (permit internet) - permite a usuarios cuyas direcciones IP fuentes (las cuales son - vulnerables a imitación) concuerden con los valores - y máscara especificados, utilizar contraseñas &unix;. - Esto no debe ser considerado un mecanismo de seguridad, sino un - medio de recordarle a usuarios autorizados que están - usando una red insegura y necesitan utilizar S/Key para - autentificación. + La primera línea (permit internet) + permite a usuarios cuyas direcciones IP origen (las cuales son + vulnerables a una falsificación) concuerden con los valores + y máscara especificados utilizar contraseñas &unix;. + Esto no debe usarse como mecanismo de seguridad, sino como + medio de recordarle a los usuarios autorizados que están + usando una red insegura y necesitan utilizar S/Key para + la validación. - La segunda línea (permit user) - permite al nombre de usuario especificado, en este caso - fnord, utilizar contraseñas &unix; - en cualquier momento. Generalmente hablando, esto solo debe ser - usado para gente que no puede usar el programa key, - como aquellos con terminales tontas o los que son ineducables. + La segunda línea (permit user) + permite al nombre de usuario especificado, en este caso + fnord, utilizar contraseñas &unix; + en cualquier momento. Hablando en general, esto solo debe ser + usado por gente que no puede usar el programa key, + como aquellos con terminales tontas o refractarios al + aprendizaje. - La tercera línea (permit port) - permite a todos los usuarios firmados en la línea de - terminal especificada utilizar contraseñas &unix;; - esto puede ser usado para dial-ups. + La tercera línea (permit port) + permite a todos los usuarios validados en la línea de + terminal especificada utilizar contraseñas &unix;; + esto puede usarse para usuarios que se conectan mediante + dial-ups. - OPIE puede restringir el uso de contraseñas &unix; - basándose en la dirección IP de una sesión - de login justo como lo hace S/Key. El archivo relevante es - /etc/opieaccess, el cual está presente - por omisión en sistemas &os; 5.0 o posteriores. Por - favor revise &man.opieaccess.5; para mayor información sobre - este archivo y que consideraciones de seguridad debe tener presente - a la hora de usarlo. + OPIE puede restringir el uso de contraseñas &unix; + basándose en la dirección IP de una sesión + de login igual que lo haría S/Key. El fichero que gestiona + esto es /etc/opieaccess, que está + incluído por defecto en sistemas &os; 5.0 o posteriores. + Revise &man.opieaccess.5; para más información sobre + este fichero y qué consideraciones de seguridad debe tener + presentes a la hora de usarlo. - Aquí hay un archivo opieaccess de muestra: + Veamos un ejemplo de opieaccess: permit 192.168.0.0 255.255.0.0 - Esta línea le permie a usuarios cuya dirección - IP fuente (la cual es vulnerable a imitación) concuerde + Esta línea permite a usuarios cuya dirección + IP de origen (vulnerable a falsificación) concuerde con los valores y máscara especificados, utilizar contraseñas &unix; en cualquier momento. - Si no concuerda ninguna regla en opieaccess, - por omisión se niegan los logins no-OPIE. + Si no concuerda ninguna regla en opieaccess + se niegan por defecto los logins no-OPIE. @@ -1624,243 +1671,238 @@ permit port ttyd0 TCP Wrappers - Cualquiera familiarizado con &man.inetd.8; ha escuchado - probablemente de TCP Wrappers en algún - momento. Pero pocos individuos parecen comprender - completamente su utilidad en un ambiente de red. Parece que - todos quieren instalar un firewall para manejar conexiones - de red. Mientras un firewall tiene una amplia variedad de - usos, hay cosas que un firewall no maneja como el envío - de texto de regreso al originador de la conexión. - El software TCP hace esto y más. - En las siguientes secciones varias de las opciones de - TCP Wrappers serán discutidas, - y, cuando aplique, se brindarán ejemplos de - líneas de configuración. + Cualquiera que esté familiarizado con &man.inetd.8; + probablemente haya oído hablar de + TCP Wrappers, pero poca gente parece comprender + completamente su utilidad en un entorno de red. Parece que + todos quieren instalar un cortafuegos para manejar conexiones + de red. Aunque un cortafuegos tiene una amplia variedad de + usos hay cosas que un cortafuegos no es capaz de gestionar, + como el envío de texto como respuesta al creador de la + conexión. El software TCP hace esto + y más. En las siguientes secciones se explicarán + unas cuantas opciones de + TCP Wrappers y, cuando sea necesario, se + mostrarán ejemplos de configuraciones. + + El software TCP Wrappers extiende + las habilidades de inetd para ofrecer + soporte para cada servidor dæmon bajo su control. + Utilizando este método es posible proveer soporte de + logs, devolver mensajes a conexiones, permitir a un dæmon + aceptar solamente conexiones internas, etc. Aunque algunas de estas + opciones pueden conseguirse gracias a un cortafuegos, no sólo + añadirá una capa extra de seguridad, sino que irá + más allá del nivel de control ue un cortafuegos + puede ofrecerle. - El software TCP Wrappers extiende - las habilidades de inetd para brindar - soporte para cada servidor daemon bajo su control. - Utilizando este método es posible proveer soporte de - logs, regresar mensajes a conexiones, permitir a un daemon - aceptar solamente conexiones internas, etc. Mientras algunas - de estas opciones pueden ser provistas implementando un - firewall, esto agregará no solamente una capa extra - de protección sino que irá más allá - del nivel de control que un firewall puede brindar. + Las brillantes capacidades de TCP Wrappers + no deben considerarse una alternativa a un buen cortafuegos. + TCP Wrappers puede usarse conjuntamente con un + cortafuegos u otro sistema de de seguridad, pues ofrece una capa + extra de protección para el sistema. - La funcionalidad agregada de TCP Wrappers - no debe ser considerada un reemplazo de un buen firewall. - TCP Wrappers puede ser utilizado en - conjunto con un firewall o otra mejoría de seguridad - aunque solo puede servir como una capa extra de protección - para el sistema. - - Ya que es una extensión a la configuración - de inetd, se espera que el lector haya - leido la sección + Ya que es una extensión de la configuración + de inetd, se da por hecho que el lector ha + leído la sección configuración de inetd. - Mientras programas ejecutados por &man.inetd.8; no son - exactamente daemons, han sido llamados - tradicionalmente daemons. Este es el término que - usaremos en esta sección también. + Aunque los programas ejecutados por &man.inetd.8; no son + exactamente dæmons tradicionalmente han + recibido ese nombre. Dæmon es, por tanto, el término + que usaremos en esta sección. Configuración inicial - El único requerimiento para usar - TCP Wrappers en &os; es asegurarse - que el servidor inetd sea iniciado - desde rc.conf con la opción - ; esta es la configuración - por omisión. Por supuesto, se espera que - /etc/hosts.allow esté propiamente - configurado, pero &man.syslogd.8; aventará mensajes - a los logs del sistema en estos casos. + El único requisito para usar + TCP Wrappers en &os; es que el servidor + inetd se inicie desde + rc.conf con la opción + (es la configuración + por defecto). Por descontado, se presupone que + /etc/hosts.allow estará correctamente + configurado, pero &man.syslogd.8; enviará mensajes + a los logs del sistema si no es así. - A diferencia de otras implementaciones de TCP - Wrappers, el uso de hosts.deny ha sido - descontinuado. Todas las opciones de configuración - deben ser colocadas en /etc/hosts.allow. + A diferencia de otras implementaciones de TCP + Wrappers, se ha dejado de usar + hosts.deny. Todas las opciones de + configuración deben ir en + /etc/hosts.allow. - En la configuración más simple, las - políticas de conexión de daemons están - configuradas ya sea a permitir o bloquear, dependiendo de - las opciones en /etc/hosts.allow. - La configuración por omisión en &os; es - permitir una conexión a cada daemon iniciado con - inetd. Cambiar esta configuración - será discutido solamente despues de cubrir la - configuración básica. + En la configuración más simple las + políticas de conexión de dæmons están + configuradas ya sea a permitir o bloquear, dependiendo de + las opciones en /etc/hosts.allow. + La configuración por defecto en &os; consiste en + permitir una conexión a cada dæmon iniciado por + inetd. Es posible modificar esta + configuración, pero explicaremos cómo hacerlo + después de exponer la configuración + básica. - La configuración básica usualmente - toma la forma de - daemon : dirección : acción. - Donde daemon es el nombre de daemon - el cual inicia inetd. La - dirección puede ser un nombre - de equipo válido, una dirección IP o - IPv6 encerrada en corchetes ([ ]). El campo de - acción puede ser permitir o denegar para el - dar el acceso apropiado. Tenga en mente que la + La configuración básica tiene la estructura + dæmon : dirección : acción, + donde dæmon es el nombre de dæmon + que inicia inetd. La + dirección puede ser un nombre + de equipo válido, una dirección IP o + IPv6 encerrada en corchetes ([ ]). El campo + acción puede ser permitir o denegar para el + dar el acceso apropiado. Tenga presente que la configuración funciona en base a la primera - concordancia encontrada en la regla de semántica, - esto significa que el archivo de configuración es - explorado en orden ascendente por una regla que - concuerde. Cuando se encuentra una concordancia la - regla es aplicada y el proceso se detendrá. + regla cuya semántica concuerde; + esto significa que el fichero de configuración se + lee en orden ascendente hasta que concuerde una regla. + Cuando se encuentra una concordancia se aplica la regla + y el proceso se detendrá. - Existen muchas otras opciones pero estas serán - explicadas en una sección posterior. Una línea - de configuración simple puede ser facilmente - construida desde esa información solamente. Por - ejemplo para permitir conexiones POP3 - por medio del daemon mail/qpopper, - las siguientes líneas deben ser agregadas a + Existen muchas otras opciones pero estas se + explican en una sección posterior. Una línea + de configuración simple puede generarse mediante datos + así de simples. Por ejemplo, para permitir conexiones + POP3 mediante el dæmon + mail/qpopper, añada + las siguientes líneas a hosts.allow: # This line is required for POP3 connections: qpopper : ALL : allow - Despues de añadir esta línea, inetd - necesitará reiniciar. Esto puede lograrse usando el - comando &man.kill.1;, o con el parámetro restart - con /etc/rc.d/inetd. + Despues de añadir esta línea tendrá que + reiniciar inetd. Use &man.kill.1; o use el + parámetro restart de + /etc/rc.d/inetd. Configuración avanzada - TCP Wrappers tiene - opciones avanzadas también; estas permitirán - mayor control sobre la forma en que son manejadas las - conexiones. En algunos casos puede ser una buena idea - regresar un comentario a ciertos equipos o conexiones - de daemons. En otros casos, quizás se deba - registrar un archivo de log o enviar un correo al - administrador. Otras situaciones pueden requerir - el uso de un servicio para conexiones locales - solamente. Todo esto es posible a través del - uso de opciones de configuración conocidas - como comodines, caracteres de expansión - y ejecución de comandos externos. Las diguientes dos - secciones están escritas para cubrir estas - situaciones. + Las opciones avanzadas de TCP Wrappers + le permiten un mayor control sobre la gestión de + conexiones. En algunos casos puede convenir el enío de + un comentario a ciertos equipos o conexiones de dæmons. + En otros casos, quizás se deba registrar una entrada en + un log o enviar un correo al administrador. Otro tipo de + situaciones pueden requerir el uso de un servicio + solamente para conexiones locales. Todo esto es posible gracias + al uso de unas opciones de configuración conocidas + como comodines, caracteres de expansión + y ejecución de órdenes externas. Las siguientes dos + secciones intentarán cubrir estas situaciones. - Comandos externos + Órdenes externas - Suponga que ocurre una situación donde una - conexión debe ser negada pero se debe mandar una razón - al individuo que intentó establecer esa conexión. - ¿Como se puede lograr? Esa acción puede hacerse - posible utilizando la opción . - Cuando un intento de conexión es hecha, se llamará - a para ejecutar un comando de shell - o un script. Existe ya un ejemplo en el archivo + Imaginemos una situación en la que una + conexión debe ser denegada pero se debe mandar un motivo + a quien intentó establecer esa conexión. + ¿Cómo? Mediante la opción + . Ante un intento de conexión se + invoca a , que ejecuta una orden de shell + o un script. Tiene un ejemplo en el fichero hosts.allow: # The rest of the daemons are protected. ALL : ALL \ : severity auth.info \ - : twist /bin/echo "No es bienvenido a utilizar %d desde %h." + : twist /bin/echo "No se permite utilizar %d desde %h." Este ejemplo muestra que el mensaje, - No es bienvenido a utilizar daemon - desde nombre de equipo. será - retornado para cualquier daemon no configurado previamente - en el archivo de acceso. + No se permite utilizar dæmon + desde nombre de equipo. se + enviará en el caso de cualquier dæmon no configurado + previamente en el fichero de acceso. Esto es extremadamente útil para enviar una respuesta - de regreso al iniciador de la conexión justo despues - que la conexión establecida es tirada. Note que - cualquier mensaje regresado debe - ser encerrado entre comillas "; - no existen excepciones a esta regla. + al creador de la conexión justo después de + que la conexión establecida es rechazada. Observe que + cualquier mensaje que se desee enviar debe ir + entre comillas "; esta regla no tiene + excepciones. - Puede ser posible lanzar un ataque de negación - de servicio en el servidor si un atacante o grupo de - atacantes pueden sobrecargar estos daemons con peticiones - de conexión. + Es posible lanzar un ataque de denegación + de servicio al servidor si un atacante o grupo de + atacantes pueden llegar a sobrecargar estos dæmons + con peticiones de conexión. - Otra posibilidad es usar la opción - en estos casos. Al igual que , - niega implicitamente la conexión - y puede ser utilizada para correr comandos de shell externos - o scripts. A diferencia de , - no mandará una respuesta de - regreso al individuo que ha establecido la conexión. - Por ejemplo, considere la siguiente línea de + Otra posibilidad en estos casos es usar la opción + . Igual que , + niega implícitamente la + conexión, y puede usarse para ejecutar órdenes de + shell externos o scripts. A diferencia de + , no + enviará una respuesta al origen de la conexión. + Veamos un ejemplo; observe la siguiente línea de configuración: - # No permitimos conexiones desde example.com: -ALL : .example.com \ - : spawn (/bin/echo %a from %h attempted to access %d >> \ + # No permitimos conexiones desde ejemplo.com: +ALL : .ejemplo.com \ + : spawn (/bin/echo %a desde %h intento acceder a %d >> \ /var/log/connections.log) \ : deny - Esto negará todos los intentos de conexión - desde el dominio *.example.com; - simultaneamente haciendo un log del nombre del equipo, - dirección IP y el daemon al - que se intentó accesar en el archivo + Esto denegará todos los intentos de conexión + desde el dominio *.ejemplo.com; + simultáneamente creará una entrada con + el nombre del equipo, dirección IP + y el dæmon al que intentó conectarse al fichero /var/log/connections.log. - Además de la sustitución de caracteres ya - explicada arriba, ej. %a, existen unas cuantas más. - Vea la página de manual &man.hosts.access.5; para - la lista completa. + Además de la sustitución de caracteres ya + expuesta más arriba (por ejemplo %a) existen unas + cuantas más. Si quiere ver la lista completa consulte + la página de manual &man.hosts.access.5;. Opciones comodín - Hasta el momento el ejemplo ALL ha sido - utilizado continuamente a lo largo de los ejemplos. Existen - otras opciones que extienden un poco más la funcionalidad. - Para ejemplificar, ALL puede ser usado para - concordar con cualquier instancia ya sea de daemon, dominio o - dirección IP. Otro comodín - dsponible es PARANOID el cual puede ser - usado para concordar con cualquier equipo que brinde una - dirección IP que puede estar - falsificada. En otras palabras, paranoid - puede ser usado para definir una acción a tomar - siempre que una conexión sea hecha desde una - dirección IP que difiera de su - nombre de equipo. El siguiente ejemplo puede arrojar más - luz en esta discusión: + Hasta ahora se ha usado ALL en todos + los ejemplos, pero hay otras opciones interesantes para + extender un poco más la funcionalidad. Por ejemplo, + ALL puede usarse para concordar con cualquier + instancia ya sea un dæmon, dominio o + dirección IP. Otro comodín + es PARANOID, que puede utilizarse para + concordar con cualquier equipo que presente una + dirección IP que pueda estar + falsificada. En otras palabras, paranoid + puede usarse para definir una acción a tomar + siempre que tenga lugar una conexión desde una + dirección IP que difiera de su + nombre de equipo. Quizás todo se vea más claro + con el siguiente ejemplo: # Bloquear peticiones posiblemente falsificadas a sendmail: sendmail : PARANOID : deny - En ese ejemplo todas las peticiones de conexión - a sendmail que tengan una - dirección IP que varíe - de su nombre de equipo seran negadas. + En ese ejemplo todas las peticiones de conexión + a sendmail que tengan una + dirección IP que varíe + de su nombre de equipo serán denegadas. - Utilizando PARANOID puede invalidar - servidores si el cliente o servidor tiene una configuración - de DNS dañada. Se recomienda - precaución del administrador. + Utilizando PARANOID puede bloquear el + acceso a servidores si el cliente o el servidor + tiene una configuración de + DNS incorrecta. Recomendamos al + administrador la máxima cautela en su uso. - Para aprender más acerca de comodines y sus - funcionalidades asociadas, vea la página de - manual &man.hosts.access.5;. + Consulte &man.hosts.access.5; si quiere saber más + sobre los comodines y sus posibilidades de uso. - Antes de que cualquiera de las líneas de - configuración específica de arriba - funcione, la primera línea debe ser comentada - en hosts.allow. Esto fué - especificado al principio de esta sección. + Si quiere que cualquiera de los ejemplos citados + funcione debe comentar la primera línea de + hosts.allow (tal y como se dijo + al principio de la sección. @@ -1871,87 +1913,89 @@ sendmail : PARANOID : deny Mark Murray - Contribuido por + Escrito por Mark Dapoz - Basado en una contribución de + Basado en un texto de <application>KerberosIV</application> - Kerberos es un sistema/protocolo agregado para red que le permite - a usuarios autentificarse a través de los servicios de un - servidor seguro. Servicios como login remoto, copia remota, copias - de archivo inter-sistemas seguras y otras tareas de riesgo son - hechas considerablemente seguras y más controlables. + Kerberos es un sistema/protocolo de red agregado que permite + a los usuarios identificarse a través de los servicios de un + servidor seguro. Los servicios como login remoto, copia remota, copias + de ficheros de un sistema a otro y otras tantas tareas arriesgadas + pasan a ser considerablemente seguras y más controlables. - Las siguientes instrucciones pueden usarse como una guía - para configurar Kerberos como se distribuye para &os;. De todas - maneras, debe referirse a las páginas de manual relevantes - para una descripción completa. + Las siguientes instrucciones pueden usarse como una guía + para configurar Kerberos tal y como se distribuye con &os;. De todas + maneras, debe consultar diversas páginas de manual para + conocer todos los detalles. - Instalando <application>KerberosIV</application> + Instalación de <application>KerberosIV</application> MIT KerberosIV instalación - Kerberos es un componente óptimo de &os;. La manera - más fácil de instalar este software es - seleccionando la distribución krb4 o - krb5 en sysinstall - durante la instalación inicial de &os;. Esto - instalará la implementación de Kerberos - eBones (KerberosIV) o - Heimdal (Kerberos5). - Estas implementaciones son incluidas debido a que están - desarrolladas fuera de EU/Canada y estaban así disponibles - para propietarios de sistemas fuera de estos países - durante la era restrictiva de control de exportaciones en código - criptográfico desde EU. + Kerberos es un componente opcional de &os;. La manera + más fácil de instalar este software es + seleccionando la distribución krb4 o + krb5 en sysinstall + durante la instalación inicial de &os;. Desde ahí + instalará la implementación de Kerberos + eBones (KerberosIV) o + Heimdal (Kerberos5). + Estas implementaciones se incluyen porque a que han sido + desarrolladas fuera de EEUU y Canadá, lo que las + convertía en accesibles para administradores de sistemas + del resto del mundo durante la época restrictiva de control + control de exportaciones de código + criptográfico desde EEUU. - Alternativamente, la implementación de Kerberos - del MIT está disponible en la colección - de ports como - security/krb5. + También puede instalar la implementación de + Kerberos del MIT desde la colección de ports + (security/krb5). - Creando la base de datos inicial + Creación de la base de datos inicial - Esto es hecho en el servidor Kerberos solamente. Primero - asegúrese que no tiene bases de datos antiguas de - Kerberos. Debe cambiarse al directorio /etc/kerberosIV - y revisar que solo los siguientes archivos estén - presentes: + Esto solo debe hacerse en el servidor Kerberos. Lo primero + es asegurarse de que no tiene bases de datos de Kerberos + anteriores. Entre al directorio /etc/kerberosIV + y asegúrese de que solo estén los siguientes + ficheros: &prompt.root; cd /etc/kerberosIV &prompt.root; ls README krb.conf krb.realms - Si existe cualquier archivo adicional (como principal.* - o master_key), entonces utilice el - comando kdb_destroy para destruir la base - de datos antigua de Kerberos, o si Kerberos no está - corriendo, simplemente borre los archivos adicionales. + Si existe cualquier otro fichero (como + principal.* + o master_key) utilice + kdb_destroy para destruir la base + de datos antigua de Kerberos. Si Kerberos no está + funcionando simplemente borre los ficheros sobrantes. - Ahora debe editar los archivos krb.conf - y krb.realms para definir su dominio - Kerberos. En este caso el dominio será EXAMPLE.COM - y el servidor es grunt.example.com. - Editamos o creamos el archivo krb.conf: + Edite krb.conf + y krb.realms para definir su dominio + Kerberos. En nuestro ejemplo el dominio será + EJEMPLO.COM y el servidor es + grunt.ejemplo.com. + Editamos o creamos krb.conf: &prompt.root; cat krb.conf -EXAMPLE.COM -EXAMPLE.COM grunt.example.com admin server +EJEMPLO.COM +EJEMPLO.COM grunt.ejemplo.com admin server CS.BERKELEY.EDU okeeffe.berkeley.edu ATHENA.MIT.EDU kerberos.mit.edu ATHENA.MIT.EDU kerberos-1.mit.edu @@ -1961,62 +2005,66 @@ LCS.MIT.EDU kerberos.lcs.mit.edu TELECOM.MIT.EDU bitsy.mit.edu ARC.NASA.GOV trident.arc.nasa.gov - En este caso, los otros dominios no necesitan estar ahí. - Están aquí como un ejemplo de como puede hacerse a una - máquina consciente de dominios múltiples. Tal vez - no desée incluirlos por simplicidad. + Los demás dominios no deben estar forzosamente en la + configuración. Los hemos incluido como ejemplo de + cómo puede hacerse que una máquina trabaje con + múltiples dominios. Si quiere mantener todo simple puede + abstenerse de incluirlos. - La primera línea nombra el dominio en el cual el - sistema trabaja. Las otras líneas contienen entradas - dominio/equipo. El primer componente en una línea es un - dominio, y el segundo es un equipo en ese dominio que está - actuando como un centro de distribución de llaves. - Las palabras admin server que siguen al - nombre de equipo significan que ese equipo también - brinda un servidor de base da datos administrativo. Para una - explicación más completa de estos términos, - consulte por favor las páginas de manual de Kerberos. + La primera línea es el dominio en el que el + sistema funcionará. Las demás líneas + contienen entradas dominio/equipo. El primer componente de cada + línea es un dominio y el segundo es un equipo de ese + dominio, que actúa como + centro de distribución de llaves. + Las palabras admin server que siguen al + nombre de equipo significan que ese equipo también + ofrece un servidor de base da datos administrativo. + Si quiere consultar una explicación más completa de + estos términos consulte las páginas de manual de + de Kerberos. - Ahora tenemos que agregar grunt.example.com - al dominio EXAMPLE.COM y también agregar - una entrada para poner todos los equipos en el dominio - .example.com - Kerberos EXAMPLE.COM. El archivo - krb.realms puede ser actualizado como - sigue: + Ahora añadiremos + grunt.ejemplo.com al dominio + EJEMPLO.COM y también una entrada + para poner todos los equipos en el dominio + .ejemplo.com Kerberos + EJEMPLO.COM. Puede actualizar su + krb.realms del siguiente modo: &prompt.root; cat krb.realms -grunt.example.com EXAMPLE.COM -.example.com EXAMPLE.COM +grunt.ejemplo.com EJEMPLO.COM +.ejemplo.com EJEMPLO.COM .berkeley.edu CS.BERKELEY.EDU .MIT.EDU ATHENA.MIT.EDU .mit.edu ATHENA.MIT.EDU - De nuevo, los otros dominios no necesitan estar ahí. Están - aquí como un ejemplo de como una máquina puede hacerse consciente - de dominios múltiples. Tal vez desée eliminarlos para - simplificar las cosas. + Igual que en caso previo, no tiene por qué incluir + los demás dominios. Se han incluido para mostrar + cómo puede usar una máquina en múltiples + dominios. Puede eliminarlos y simplificar la + configuración. - a primera línea pone al sistema específico - en el dominio nombrado. El resto de las líneas muestran como - poner por omisión sistemas de un subdominio particular + La primera línea pone al sistema + específico + en el dominio nombrado. El resto de las líneas muestran + cómo asignar por defecto sistemas de un subdominio a un dominio Kerberos. - Ahora estamos listos para crear la base de datos. Esta solo - necesita correr en el servidor Kerberos (o centro de distribución - de llaves). Ejecute el comando kdb_init para - hacer esto: + Ya podemos crear la base de datos. Solo se ejecuta en el + servidor Kerberos (o centro de distribución de + llaves). Ejecute kdb_init: &prompt.root; kdb_init -Realm name [default ATHENA.MIT.EDU ]: EXAMPLE.COM +Realm name [default ATHENA.MIT.EDU ]: EJEMPLO.COM You will be prompted for the database Master Password. It is important that you NOT FORGET this password. Enter Kerberos master key: - Ahora tenemos que salvar la llave para que los servidores en - la máquina local puedan recogerla. Use el comando - kstash para hacer esto: + Ahora tendremos que guardar la llave para que los servidores en + la máquina local puedan recogerla. Utilice + kstash: &prompt.root; kstash @@ -2026,29 +2074,28 @@ Current Kerberos master key version is 1. Master key entered. BEWARE! - Esto salva la contraseña encriptada + Esto guarda la contraseña cifrada maestra en /etc/kerberosIV/master_key. - Haciendo que corra todo + Puesta en marcha del sistema KerberosIV encendido inicial - - Dos datos principales necesitan ser agregados a la base de - datos para cada sistema que estará - asegurado con Kerberos. Sus nombres son kpasswd y - rcmd. Estos dos datos están hechos para - cada sistema, con la instancia siendo el nombre del sistema - individual. + Tendrá que añadir a la base de datos dos + entradas en concreto para cada sistema + que vaya a usar Kerberos: kpasswd y + rcmd. Se hacen para cada sistema individualmente + cada sistema, y el campo instance es el nombre + individual del sistema. - Estos daemons, kpasswd y - rcmd le permiten a otros sistemas - cambiar contraseñas de Kerberos y ejecutar comandos + Estos dæmons kpasswd y + rcmd permiten a otros sistemas + cambiar contraseñas de Kerberos y ejecutar órdenes como &man.rcp.1;, &man.rlogin.1; y &man.rsh.1;. Ahora vamos a añadir estas entradas: @@ -2070,10 +2117,10 @@ enter return to leave the same, or new value. <Not found>, Create [y] ? y Principal: passwd, Instance: grunt, kdc_key_ver: 1 -New Password: <---- enter RANDOM here +New Password: <---- tecleo aleatorio Verifying password -New Password: <---- enter RANDOM here +New Password: <---- tecleo aleatorio Random password [y] ? y @@ -2088,10 +2135,10 @@ Edit O.K. <Not found>, Create [y] ? Principal: rcmd, Instance: grunt, kdc_key_ver: 1 -New Password: <---- enter RANDOM here +New Password: <---- tecleo aleatorio Verifying password -New Password: <---- enter RANDOM here +New Password: <---- tecleo aleatorio Random password [y] ? @@ -2100,20 +2147,21 @@ Principal's new key version = 1 Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K. -Principal name: <---- null entry here will cause an exit +Principal name: <---- si introduce datos nulos saldrá del programa - Creando el archivo de servidor + Creación del fichero del servidor - Ahora tenemos que extraer todas las instancias que definen - los servicios en cada máquina. Para esto usamos el - comando ext_srvtab. Esto creará un - archivo que debe ser copiado o movido por medios - seguros a cada cliente de Kerberos - en el directorio /etc/kerberosIV. - Este archivo debe estar presente en cada servidor y cliente, y es - crucial para la operación de Kerberos. + Ahora tendremos que extraer todas las instancias que definen + los servicios en cada máquina; para ello usaremos + ext_srvtab. Esto creará un + fichero que debe ser copiado o movido por medios + seguros al directorio + /etc/kerberosIV de cada + cliente Kerberos. Este fichero debe existir en todos los + servidores y clientes dada su importancia clave para el + funcionamiento de Kerberos. &prompt.root; ext_srvtab grunt @@ -2124,33 +2172,34 @@ Current Kerberos master key version is 1. Master key entered. BEWARE! Generating 'grunt-new-srvtab'.... - Ahora, este comando solo genera un archivo temporal el cual - debe ser renombrado a srvtab para que todos - los servidores puedan recogerlo. Utilice el comando + Esta orden solo genera un fichero temporal al que tendrá + que cambiar el nombre a srvtab para que todos + los servidores puedan recogerlo. Utilice &man.mv.1; para moverlo al lugar correcto en el sistema original: &prompt.root; mv grunt-new-srvtab srvtab - Si el archivo es para un sistema cliente, y la red no se considera - segura, entonces copie el - client-new-srvtab a un - medio removible y transportelo por medios físicos seguros. - Asegúrese de renombrarlo a srvtab en el - directorio /etc/kerberosIV del cliente, y - asegúrese que tiene modo 600: + Si el fichero es para un sistema cliente y la red no puede + considerarse segura copie el + cliente-new-srvtab + en un medio extraíble y transpórtelo por medios + físicos seguros. Asegúrese de cambiar su nombre a + srvtab en el directorio + /etc/kerberosIV del cliente, y + asegúrese también de que tiene modo 600: &prompt.root; mv grumble-new-srvtab srvtab &prompt.root; chmod 600 srvtab - Poblando la base de datos + Añadir entradas a la base de datos - Ahora tenemos que agregar algunas entradas de usuarios en la - base de datos. Primero vamos a crear una entrada para el usuario - jane. Utilice el comando - kdb_edit para hacer esto: + Ahora tenemos que añadir entradas de usuarios a la + base de datos. Primero vamos a crear una entrada para el usuario + jane. Para ello usaremos + kdb_edit: &prompt.root; kdb_edit Opening database... @@ -2169,27 +2218,28 @@ enter return to leave the same, or new value. <Not found>, Create [y] ? y Principal: jane, Instance: , kdc_key_ver: 1 -New Password: <---- enter a secure password here +New Password: <---- introduzca una constraseña segura Verifying password -New Password: <---- re-enter the password here +New Password: <---- introduzca de nuevo la contraseña Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? Attributes [ 0 ] ? Edit O.K. -Principal name: <---- null entry here will cause an exit +Principal name: <---- si introduce datos nulos saldrá del programa - Probándolo todo + Prueba del sistema - Primero tenemos que iniciar los daemons de Kerberos. Note que - si tiene correctamente editado su /etc/rc.conf - entonces esto sucederá automaticamente cuando reinicie. - Esto solamente es necesario el el servidor Kerberos. Los clientes - Kerberos tomarán automaticamente lo que necesiten desde - el directorio /etc/kerberosIV. + Primero tenemos que iniciar los dæmons de Kerberos. + Tenga en cuenta que si su /etc/rc.conf + está configurado correctamente el inicio tendrá + ligar cuando reinicie el sistema. Esta prueba solo es necesaria + en el servidor Kerberos; los clientes Kerberos tomarán + lo que necesiten automáticamente desde el directorio + /etc/kerberosIV. &prompt.root; kerberos & Kerberos server starting @@ -2200,7 +2250,7 @@ Current Kerberos master key version is 1. Master key entered. BEWARE! Current Kerberos master key version is 1 -Local realm: EXAMPLE.COM +Local realm: EJEMPLO.COM &prompt.root; kadmind -n & KADM Server KADM0.0A initializing Please do not use 'kill -9' to kill this job, use a @@ -2210,32 +2260,32 @@ Current Kerberos master key version is 1. Master key entered. BEWARE! - Ahora podemos tratar usando el comando kinit - para obtener un boleto para el ID jane - que creamos arriba: + Ahora podemos probar a usar kinit + para obtener un ticket para el ID jane + que creamos antes: &prompt.user; kinit jane -MIT Project Athena (grunt.example.com) +MIT Project Athena (grunt.ejemplo.com) Kerberos Initialization for "jane" Password: - Trate de listar los tokens usando klist para ver - si realmente los tenemos: + Pruebe a listar los tokens con klist para ver + si realmente están: &prompt.user; klist Ticket file: /tmp/tkt245 -Principal: jane@EXAMPLE.COM +Principal: jane@EJEMPLO.COM Issued Expires Principal -Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EXAMPLE.COM@EXAMPLE.COM +Apr 30 11:23:22 Apr 30 19:23:22 krbtgt.EJEMPLO.COM@EJEMPLO.COM - Ahora trate de cambiar la contraseña usando - &man.passwd.1; para revisar si el daemon kpasswd - puede obtener autorización para la base de datos - Kerberos: + Ahora trate de cambiar la contraseña usando + &man.passwd.1; para comprobar si el dæmon + kpasswd está autorizado + a acceder a la base de datos Kerberos: &prompt.user; passwd -realm EXAMPLE.COM +realm EJEMPLO.COM Old password for jane: New Password for jane: Verifying password @@ -2244,17 +2294,17 @@ Password changed. - Añadiendo privilegios <command>su</command> + Añadir privilegios de <command>su</command> - Kerberos nos permite dar a cada - usuario que necesite privilegios de root - su propia contraseña &man.su.1; separada. - Ahora podemos agregar un ID que esté autorizado a - &man.su.1; root. Esto es controlado - teniendo una instancia de root - asociada con una principal. Usando kdb_edit - podemos crear la entrada jane.root en la - base de datos Kerberos: + Kerberos nos permite dar a cada + usuario que necesite privilegios de root + su propia contraseña para &man.su.1;. + Podemos agregar un ID que esté autorizado a ejecutar + &man.su.1; root. Esto se controla + con una instancia de root + asociada con un usuario. Vamos a crear una entrada + jane.root en la base de datos, para lo que + recurrimos a kdb_edit: &prompt.root; kdb_edit Opening database... @@ -2273,84 +2323,88 @@ enter return to leave the same, or new value. <Not found>, Create [y] ? y Principal: jane, Instance: root, kdc_key_ver: 1 -New Password: <---- enter a SECURE password here +New Password: <---- introduzca una contraseña SEGURA Verifying password -New Password: <---- re-enter the password here +New Password: <---- introduzca otra vez la constraseña Principal's new key version = 1 Expiration date (enter yyyy-mm-dd) [ 2000-01-01 ] ? Max ticket lifetime (*5 minutes) [ 255 ] ? 12 <--- Keep this short! Attributes [ 0 ] ? Edit O.K. -Principal name: <---- null entry here will cause an exit +Principal name: <---- si introduce datos nulos saldrá del programa - Ahora trate de obtener los tokens para asegurarse que funcione: + Ahora trate de obtener los tokens para comprobar que + todo funciona: &prompt.root; kinit jane.root -MIT Project Athena (grunt.example.com) +MIT Project Athena (grunt.ejemplo.com) Kerberos Initialization for "jane.root" Password: - Ahora necesitamos agregar al usuario al archivo de root - .klogin: + Hemos de agregar al usuario al + .klogin de root: &prompt.root; cat /root/.klogin -jane.root@EXAMPLE.COM +jane.root@EJEMPLO.COM Ahora trate de hacer &man.su.1;: &prompt.user; su Password: - y heche un vistazo a que tokens tenemos: + y eche un vistazo a qué tokens tenemos: &prompt.root; klist Ticket file: /tmp/tkt_root_245 -Principal: jane.root@EXAMPLE.COM +Principal: jane.root@EJEMPLO.COM Issued Expires Principal -May 2 20:43:12 May 3 04:43:12 krbtgt.EXAMPLE.COM@EXAMPLE.COM +May 2 20:43:12 May 3 04:43:12 krbtgt.EJEMPLO.COM@EJEMPLO.COM - Utilizando otros comandos + Uso de otras órdenes - En un ejemplo anterior, creamos creamos un principal - llamado jane con una instancia root. - Esto fué basado en un usuario con el mismo nombre del - principal, y esto es por omisión en Kerberos; que - <principal>.<instancia> de la - forma - <nombre de usuario>.root + En un ejemplo anterior creamos un usuario llamado + jane con una instancia root. + Nos basamos en un usuario con el mismo nombre del + principal (jane), + el procedimiento por defecto en Kerberos: + <principal>.<instancia> con la + estructura + <nombre de usuario>.root permitirá que <nombre de usuario> - haga &man.su.1; a root si las entradas necesarias - están en el archivo .klogin en el - directorio home de root: + haga &man.su.1; a root si existen + las entradas necesarias en el + .klogin que hay en el directorio home de + root: &prompt.root; cat /root/.klogin -jane.root@EXAMPLE.COM +jane.root@EJEMPLO.COM - De la misma manera, si un usuario tiene en su propio directorio home - líneas de la forma: + De la misma manera, si un usuario tiene en su directorio home + lo siguiente: &prompt.user; cat ~/.klogin -jane@EXAMPLE.COM -jack@EXAMPLE.COM +jane@EJEMPLO.COM +jack@EJEMPLO.COM - Esto permite a cualquiera en el dominio EXAMPLE.COM - que se ha autentificado como jane o como - jack (vía kinit, ver - arriba) para accesar la cuenta de jane o - archivos en este sistema (grunt) vía - &man.rlogin.1;, &man.rsh.1; o + significa que cualquier usuario del dominio + EJEMPLO.COM que se identifique como + jane o como jack + (vía kinit, ver más arriba) + podrá acceder a la cuenta de jane o + a los ficheros de este sistema (grunt) vía + &man.rlogin.1;, &man.rsh.1; o &man.rcp.1;. - Por ejemplo, jane se firma ahora en otro sistema - usando Kerberos: + Veamos por ejemplo cómo jane se + se identifica en otro sistema mediante Kerberos: &prompt.user; kinit -MIT Project Athena (grunt.example.com) +MIT Project Athena (grunt.ejemplo.com) Password: &prompt.user; rlogin grunt Last login: Mon May 1 21:14:47 from grumble @@ -2359,16 +2413,17 @@ Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995 - O jack se firma a la cuenta de jane en la misma - máquina (jane habiendo - configurado el archivo .klogin - como está arriba, y la persona a cargo de - Kerberos habiendo configurado un principal + Aquí jack se identifica con la + cuenta de jane en la misma + máquina (jane tiene configurado + su fichero .klogin como se ha mostrado + antes, y la persona encargada de la administración de + Kerberos ha configurado un usuario principal jack con una instancia nula): &prompt.user; kinit &prompt.user; rlogin grunt -l jane -MIT Project Athena (grunt.example.com) +MIT Project Athena (grunt.ejemplo.com) Password: Last login: Mon May 1 21:16:55 from grumble Copyright (c) 1980, 1983, 1986, 1988, 1990, 1991, 1993, 1994 @@ -2383,85 +2438,89 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995 Tillman Hodgson - Contribuido por + Texto de Mark Murray - Basado en una contribución de + Basado en un texto de <application>Kerberos5</application> - Cada release de &os; posterior a &os;-5.1 incluye - soporte solamente para Kerberos5. - Por esta razón Kerberos5 es - la única versión incluída, y su configuración - es similar en muchos aspectos a la de KerberosIV. - La siguiente información solo aplica a - Kerberos5 en releases de - &os;-5.0 o posteriores. Los usuarios que deséen - utilizar KerberosIV pueden - instalar el port + Cada versión de &os; posterior a &os;-5.1 incluye + soporte solamente para Kerberos5. + Por esta razón Kerberos5 es + la única versión incluida. Su configuración + es similar en muchos aspectos a la de + KerberosIV. + La siguiente información solo atañe a + Kerberos5 en versiones de + &os;-5.0 o posteriores. Los usuarios que deséen + utilizar KerberosIV pueden + instalar el port security/krb4. - Kerberos es un sistema/protocolo - agregado para red que le permite - a usuarios autentificarse a través de los servicios de un - servidor seguro. Servicios como login remoto, copia remota, copias - de archivo inter-sistemas seguras y otras tareas de riesgo son - hechas considerablemente seguras y más controlables. + Kerberos es un sistema/protocolo + agregado para red que permite a los usuarios validar su identidad + a través de los servicios de un servidor seguro. + Los servicios como login remoto, copia remota, copias + de fichero de un sistema a otro y otras tareas generalmente + consideradas poco seguras pasan a ser considerablemente + seguras y más controlables. - Kerberos puede ser descrito como - un sistema proxy identificador-verificador. También - puede ser descrito como un sistema confiable de autentificación - de terceros. - Kerberos brinda solamente - una función — la autenficación segura de - usuarios en la red. No proporciona funciones de autorización - (lo que los usuarios tienen permitido hacer) o funciones de - auditoría (lo que esos usuarios hicieron). - Despues de que un servidor y cliente han usado - Kerberos para probar su identidad, - pueden también encriptar todas sus comunicaciones para - asegurar privacidad e integridad de datos mientras continuan - con sus funciones. + Kerberos puede describirse como + un sistema proxy identificador/verificador. También + puede describirse como un sistema confiable de autentificación + de terceros. + Kerberos solamente ofrece una + función: la validación segura de usuarios a + través de una red. No proporciona funciones de + autorización (es decir, lo que los usuarios tienen + permitido hacer) o funciones de auditoría (lo que esos + usuarios hicieron). Después de que un servidor y un + cliente han usado Kerberos para + demostrar su identidad pueden también cifrar todas sus + sus comunicaciones, asegurando de este modo su intimidad y la + integridad de sus datos durante su uso del sistema. - Por lo tanto es altamente recomendable que - Kerberos sea utilizado con otros - métodos de seguridad que brinden servicios de - autorización y auditoría. + Es, por tanto, altamente recomendable que se use + Kerberos + además de otros métodos de + seguridad que ofrezcan servicios de autorización + y auditoría. - Las siguientes instrucciones pueden utilizarse como una guía - para configurar Kerberos como se - distribuye en &os;. De todas maneras, se debe dirigir a las páginas - de manual relevantes para una descripción completa. + Puede usar las siguientes instrucciones como una guía + para configurar Kerberos tal y como se + distribuye en &os;. De todas maneras, debería consultar + las páginas de manual adecuadas para tener toda la + información. - Para propósitos de demostrar una instalación - Kerberos, los varios espacios de - nombre serán manejados como sigue: + Vamos a mostrar una instalación + Kerberos, para lo cual usaremos + los siguientes espacios de nombres: El dominio DNS (zona) - será example.org. + será ejemplo.org. El dominio Kerberos (realm) - será EXAMPLE.ORG. + será EJEMPLO.ORG. - Por favor utilice nombres de dominio reales al - configurar Kerberos incluso si - pretende ejecutarlo internamente. Esto evita problemas - de DNS y asegura la interoperación + Debe utilizar nombres de dominio reales al + configurar Kerberos incluso si + pretende ejecutarlo internamente. Esto le evitará problemas + de DNS y asegura la interoperación con otros dominios Kerberos. @@ -2469,77 +2528,80 @@ FreeBSD BUILT-19950429 (GR386) #0: Sat Apr 29 17:50:09 SAT 1995 Historia Kerberos5 - history + historia - Kerberos fué creado - por el MIT como una solución - a los problemas de seguridad de la red. - El protocolo Kerberos utiliza - criptografía fuerte para que un cliente pueda - probar su identidad a un servidor (y viceversa) a + Kerberos fué creado + en el Massachusetts Institute of Technology + (MIT) como una solución + a los problemas de seguridad de la red. + El protocolo Kerberos utiliza + criptografía fuerte para que un cliente pueda + demostrar su identidad en un servidor (y viceversa) a través de una conexión de red insegura. - Kerberos es el nombre de un - protocolo de autentificación de red y un adjetivo + Kerberos es el nombre de un + protocolo de autentificación vía red y un adjetivo para describir programas que implementan el programa - (Kerberos telnet, por ejemplo). - La versión actual del protocolo es la 5, descrita en + (Kerberos telnet, por ejemplo, + conocido también como el + telnet kerberizado). + La versión actual del protocolo es la 5, descrita en RFC 1510. - Varias implementaciones libres de este protocolo están - disponibles, cubriendo un amplio rango de sistemas operativos. - El Massachusetts Institute of Technology (MIT), - donde Kerberos fué originalmente - desarrollado, continua desarrollando su paquete - Kerberos. Es comunmente usado en los - EU como un producto criptográfico, y - como tal ha sido historicamente afectado por las regulaciones de - exportación de EU. - El Kerberos del MIT - está disponible como un port - (security/krb5). Heimdal - Kerberos es otra implementación - de la versión 5, y fue desarrollada explicitamente fuera - de los EU para evitar las regulaciones de - exportación (y es por eso incluída en variantes - &unix; no comerciales). La distribución Heimdal - Kerberos está disponible - como un port - (security/heimdal), y una - instalación mínima viene incluída en la - instalación base de &os;. + Existen diversas implementaciones libres de este protocolo, + cubriendo un amplio rango de sistemas operativos. + El MIT, donde Kerberos + fué desarrollado, continúa desarrollando su + propio paquete Kerberos. + Suele usarse en los EEUU como producto criptográfico + y como tal ha sufrido las regulaciones de exportación + de los EEUU. El + Kerberos del MIT + existe como un port en + (security/krb5). Heimdal + Kerberos es otra implementación + de la versión 5, y fué desarrollada de forma + intencionada fuera de los EEUU para sortear las + regulaciones de exportación (y por eso puede incluirse + en versiones no comerciales de &unix;). La distribución + Heimdal Kerberos está en el + port (security/heimdal), y + se incluye una instalación mínima en el sistema + base de &os;. - Para alcanzar la mayor audiencia, estas instrucciones asumen + Para alcanzar la mayor audiencia estas instrucciones asumen el uso de la distribución Heimdal incluída en &os;. - Configurando un <acronym>KDC</acronym> Heimdal + Configuración de un <acronym>KDC</acronym> Heimdal Kerberos5 - Dentro de distribución de llaves + Centro de distribución de llaves - El centro de distribución de llaves (KDC, - Key Distribution Center) es el servicio centralizado de autentificación - que proporciona Kerberos — es - la computadoras que emite boletos Kerberos. - El KDC está considerado como confiable - por todas las otras computadoras en el dominio Kerberos, - y por eso tiene consideraciones de seguridad más elevados. + El centro de distribución de llaves (KDC, + Key Distribution Center) es el servicio centralizado de + validación que proporciona + Kerberos: es el sistema que emite + tickets Kerberos. + El KDC goza del estátus de ser + considerado como confiable por las demás + computadoras del dominio Kerberos, + y por eso tiene consideraciones de seguridad más + elevadas. - Note que mientras la ejecuación del servidor - Kerberos requiere muy pocos recursos - computacionales, una máquina dedicada actuando solamente - como KDC es recomendada por razones de - seguridad. + Tenga en cuenta que, aunque la ejecución del servidor + Kerberos requiere muy pocos recursos, + se recomienda el uso de una máquina dedicada a + KDC por razones de seguridad. - Para empezar a configurar un KDC, asegúrese - que su archivo /etc/rc.conf contiene las - configuraciones correctas para actuar como un KDC - (tal vez necesite ajustar algunas rutas para reflejar su propio + Para empezar a configurar un KDC asegúrese + de que su /etc/rc.conf contenga la + configuración adecuada para actuar como KDC + (tal vez deba ajustar algunas rutas para que cuadren con su sistema): kerberos5_server_enable="YES" @@ -2547,96 +2609,97 @@ kadmind5_server_enable="YES" kerberos_stash="YES" - está solamente - disponible en &os; 4.X. + solo existe en + &os; 4.X. - A continuación configuraremos el archivo de + A continuación configuraremos el fichero de configuración de Kerberos, /etc/krb5.conf: [libdefaults] - default_realm = EXAMPLE.ORG -[realms] + default_realm = EJEMPLO.ORG [realms] EXAMPLE.ORG = { - kdc = kerberos.example.org - admin_server = kerberos.example.org + kdc = kerberos.ejemplo.org + admin_server = kerberos.ejemplo.org } [domain_realm] - .example.org = EXAMPLE.ORG + .ejemplo.org = EJEMPLO.ORG - Note que este archivo /etc/krb5.conf + Tenga en cuenta que este /etc/krb5.conf implica que su KDC tendrá el nombre - de equipo completo calificado de kerberos.example.org. - Necesitará agregar una entrada CNAME (alias) a su archivo - de zona para lograr esto si su KDC tiene un + de equipo completo calificado de + kerberos.ejemplo.org. + Necesitará añadir una entrada CNAME (alias) a su + fichero de zona si su KDC tiene un nombre de equipo diferente. - Para redes grandes con un servidor DNS - BIND propiamente configurado, el ejemplo - de arriba puede ser recortado a: + En grandes redes con un servidor DNS + BIND bien configurado, el ejemplo + de arriba puede quedar del siguiente modo: [libdefaults] - default_realm = EXAMPLE.ORG + default_realm = EJEMPLO.ORG - Con las líneas siguientes agregadas al - archivo de zona example.org: + Con las siguientes líneas agregadas al + fichero de zona ejemplo.org: - _kerberos._udp IN SRV 01 00 88 kerberos.example.org. -_kerberos._tcp IN SRV 01 00 88 kerberos.example.org. -_kpasswd._udp IN SRV 01 00 464 kerberos.example.org. -_kerberos-adm._tcp IN SRV 01 00 749 kerberos.example.org. -_kerberos IN TXT EXAMPLE.ORG + _kerberos._udp IN SRV 01 00 88 kerberos.ejemplo.org. +_kerberos._tcp IN SRV 01 00 88 kerberos.ejemplo.org. +_kpasswd._udp IN SRV 01 00 464 kerberos.ejemplo.org. +_kerberos-adm._tcp IN SRV 01 00 749 kerberos.ejemplo.org. +_kerberos IN TXT EJEMPLO.ORG - Para que los clientes sean capaces de encontrar los - servicios Kerberos, - debe tener ya sea un - /etc/krb5.conf completamente configurado o - un /etc/krb5.conf configurado de forma - mínima y un servidor DNS + Para que los clientes sean capaces de encontrar los + servicios Kerberos + debe tener ya sea un + /etc/krb5.conf configurado o + un /etc/krb5.conf configurado de forma + mínima y un servidor DNS configurado correctamente. - A continuación crearemos la base de datos - Kerberos. Esta base de datos contiene - las llaves de todos los principales encriptadas con una - contraseña maestra. No se requiere que usted recuerde - esta contraseña, será almacenada en un archivo - (/var/heimdal/m-key). Para crear la llave - maestra, ejecute kstash e introduzca una + A continuación crearemos la base de datos + Kerberos. Esta base de datos contiene + las llaves de todos los principales cifradas con una + contraseña maestra. No es necesario que recuerde + esta contraseña, pues se almacenará en + /var/heimdal/m-key. Para crear la llave + maestra ejecute kstash e introduzca una contraseña. - Una vez que se ha creado la llave maestra, puede inicializar - la base de datos usando el programa kadmin - con la opción -l (que significa - local). Esta opción le instruye a - kadmin que modifique los archivos de la base - de datos directamente en lugar de ir a través del servicio - de red kadmind. Esto maneja el problema del - huevo y la gallina de tratar de conectar a la base de datos - antes de que ésta sea creada. Una vez que tiene el prompt - de kadmin, utilice el comando init - para crear su base de datos de dominios iniciales. + Una vez que se ha creado la llave maestra puede inicializar + la base de datos usando el programa kadmin + con la opción -l (que significa + local). Esta opción le dice a + kadmin que modifique los ficheros de la base + de datos directamente en lugar de ir a través del servicio + de red kadmind. Esto gestiona el problema del + huevo y la gallina de tratar de conectar a la base de datos + antes de que ésta exista. Una vez que tiene el + prompt de kadmin, utilice + init para crear su base de datos de + dominios iniciales. - Finalmente, mientras está todavía en kadmin, - puede crear su primer principal utilizando el comando add. - Apéguese a las opciones por omisión para los - principales por ahora, puede cambiarlas despues con el comando - modify. Note que puede usar el comando - ? en cualquier prompt para ver las opciones - disponibles. + Para terminar, mientras está todavía en + kadmin puede crear su primer principal + mediante add. Utilice las opciones por + defecto por ahora, más tarde puede cambiarlas mediante + modify. Recuerde que puede usar + ? en cualquier prompt para + consultar las opciones disponibles. - Una sesión de ejemplo de creación de una - base de datos es mostrada abajo: + Veamos un ejemplo de sesión de creación de una + base de datos: &prompt.root; kstash Master key: xxxxxxxx Verifying password - Master key: xxxxxxxx &prompt.root; kadmin -l -kadmin> init EXAMPLE.ORG +kadmin> init EJEMPLO.ORG Realm max ticket life [unlimited]: kadmin> add tillman Max ticket life [unlimited]: @@ -2645,197 +2708,214 @@ Attributes []: Password: xxxxxxxx Verifying password - Password: xxxxxxxx - Ahora es tiempo de iniciar los servicios KDC. - Ejecute /etc/rc.d/kerberos start y - /etc/rc.d/kadmind start para levantar los - servicios. Note que no tendrá ningún daemon - kerberizado corriendo en este punto pero debe ser capaz de confirmar - que el KDC está funcionando obteniendo - y listando un boleto para el principal (usuario) que acaba de crear - desde la línea de comando del mismo KDC: + Ahora puede arrancar los servicios KDC. + Ejecute /etc/rc.d/kerberos start y + /etc/rc.d/kadmind start para levantar dichos + servicios. Recuerde que no tendrá ningún + dæmon kerberizado ejecutándose pero debe + poder confirmar que KDC funciona por el + procedimiento de obtener y listar un boleto del principal + (usuario) que acaba de crear en la línea de órdenes de + KDC: &prompt.user; k5init tillman -tillman@EXAMPLE.ORG's Password: +tillman@EJEMPLO.ORG's Password: &prompt.user; k5list Credentials cache: FILE:/tmp/krb5cc_500 - Principal: tillman@EXAMPLE.ORG + Principal: tillman@EJEMPLO.ORG Issued Expires Principal -Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EXAMPLE.ORG@EXAMPLE.ORG +Aug 27 15:37:58 Aug 28 01:37:58 krbtgt/EJEMPLO.ORG@EJEMPLO.ORG - <application>Kerberos</application> habilitando un servidor con - servicios Heimdal + Creación de un servidor + <application>Kerberos</application> con servicios + Heimdal Kerberos5 - habilitando servicios + habilitación de servicios - Primero, necesitamos una copia del archivo de configuración - de Kerberos, /etc/krb5.conf. - Para eso, simplemente copielo a la computadora cliente desde el - KDC de una manera segura (utilizando utilidades - de red como &man.scp.1;, o fisicamente con un disco flexible). + Antes de nada necesitaremos una copia del fichero de + configuración de Kerberos, + /etc/krb5.conf. Cópielo al cliente + desde KDC de forma segura (mediante + &man.scp.1;, o usando un disquete). - A continuación necesita un archivo /etc/krb5.keytab. - Esta es la diferencia más grande entre un servidor - proporcionando daemons habilitados con Kerberos - y una estación de trabajo — el servidor debe - tener un archivo keytab. Este archivo - contiene las llaves de equipo del servidor, las cuales - le permiten a él y al KDC - verificar la identidad entre ellos. Debe ser transmitidos al - servidor de una manera segura, ya la seguridad en el servidor - puede ser comprometida si la llave es hecha pública. - Esto significa explicitamente que transfiriendola por medio - de un canal de texto claro, como FTP, es - una muy mala idea. + A continuación necesitará un fichero + /etc/krb5.keytab. + Esta es la mayor diferencia entre un servidor que proporciona + dæmons habilitados con Kerberos + y una estación de trabajo: el servidor debe + tener un fichero keytab. Dicho fichero + contiene las llaves de equipo del servidor, las cuales + le permiten a él y al KDC + verificar la identidad entre ellos. Deben transmitirse + al servidor de forma segura ya que la seguridad del servidor + puede verse comprometida si la llave se hace pública. + Por decirlo más claro, transferirla como texto plano a + través de la red (por ejemplo por + FTP) es una pésima + idea. - Tipicamente, transfiere al keytab - al servidor usando el programa kadmin. - Esto es práctico porque también necesita crear - el principal del equipo (el final KDC del archivo - krb5.keytab) usando kadmin. + Lo normal es que transmita su keytab + al servidor mediante el programa kadmin. + Esto es práctico porque también debe crear + el principal del equipo (el KDC que aparece + al final de krb5.keytab) + usando kadmin. - Note que debe ya debe haber obtenido un boleto y que este boleto - debe tener permitido utilizar la interface kadmin - en kadmind.acl. Vea la sección titulada - administración remota en la página de - info de Heimdal (info heimdal) para los detalles - de diseño de listas de control de acceso. Si no quiere habilitar - acceso remoto kadmin, puede simplemente conectar - de manera segura al KDC (por medio de consola - local, &man.ssh.1; o &man.telnet.1; Kerberos) - y realizar localmente la administración utilizando - kadmin -l. + Tenga en cuenta que ya debe disponer de un ticket, y que + este ticket debe poder usar el interfaz + kadmin en kadmind.acl. + Consulte la sección + administración remota en la página + info de Heimdal (info heimdal), donde se + exponen los detalles de diseño de las listas de control de + acceso. Si no quiere habilitar acceso remoto + kadmin, puede conectarse de forma segura al + KDC (por medio de consola + local, &man.ssh.1; o &man.telnet.1; + Kerberos) y administrar en local + mediante kadmin -l. - Despues de instalar el archivo /etc/krb5.conf, - puede usar kadmin desde el servidor - Kerberos. el comando - add --random-key le permitirá agregar - el principal del equipo servidor, y el comando ext - le permitirá extraer el principal del equipo servidor a su - propio keytab. Por ejemplo: + Después de instalar el fichero + /etc/krb5.conf puede usar + kadmin desde el servidor + Kerberos. + add --random-key le permitirá + añadir el principal del equipo servidor, y + ext le permitirá extraer el principal + del equipo servidor a su propio keybat. Por ejemplo: &prompt.root; kadmin -kadmin> add --random-key host/myserver.example.org +kadmin> add --random-key host/myserver.ejemplo.org Max ticket life [unlimited]: Max renewable life [unlimited]: Attributes []: -kadmin> ext host/myserver.example.org +kadmin> ext host/miservidor.ejemplo.org kadmin> exit - Note que el comando ext (diminutivo - de extract) almacena la llave extraída - en /etc/krb5.keytab por omisión. + Tenga en cuenta que ext + (contracción de extract) almacena la + llave extraída por defecto en + en /etc/krb5.keytab. - Si no tiene kadmind corriendo en el - KDC (posiblemente por razones de seguridad) - y por lo tanto no tiene acceso a kadmin - remotamente, puede añadir el principal de equipo - (host/myserver.EXAMPLE.ORG) directamente - en el KDC y entonces extraerlo a un archivo - temporal (para evitar sobreescribir /etc/krb5.keytab - en el KDC) usando algo como esto: + Si no tiene kadmind + ejecutándose en + KDC (posiblemente por razones de seguridad) + y por lo tanto carece de acceso remoto a kadmin + puede añadir el principal de equipo + (host/miservidor.EJEMPLO.ORG) directamente + en el KDC y entonces extraerlo a un fichero + temporal (para evitar sobreescribir + /etc/krb5.keytab en el + KDC) mediante algo parecido a esto: &prompt.root; kadmin -kadmin> ext --keytab=/tmp/example.keytab host/myserver.example.org +kadmin> ext --keytab=/tmp/ejemplo.keytab host/miservidor.ejemplo.org kadmin> exit - Puede entonces copiar de manera segura el keytab al - servidor (usando scp o un disco - flexible, por ejemplo). Asegúrese de especificar - un nombre de keytab diferente para evitar sobreescribir - el keytab en el KDC. + Puede entonces copiar de forma segura el keytab al + servidor (usando scp o un diquete). + Asegúrese de usar un nombre de keytab diferente + para evitar sobreescribir el keytab en el + KDC. - En este punto su servidor puede comunicarse con el - KDC (debido a su archivo - krb5.conf) y puede probar su propia - identidad (debido al archivo krb5.keytab). - Ahora está listo para que usted habilite algunos - servicios Kerberos. - Para este ejemplo habilitaremos el servicio telnet - poniendo una línea como esta en su - /etc/inetd.conf y reiniciando el - servicio &man.inetd.8; con + Su servidor puede comunicarse con el + KDC (gracias a su fichero + krb5.conf) y puede probar su propia + identidad (gracias al fichero krb5.keytab). + Ahora está listo para que usted habilite algunos + servicios Kerberos. + En este ejemplo habilitaremos el servicio telnet + poniendo una línea como esta en su + /etc/inetd.conf y reiniciando el + servicio &man.inetd.8; con /etc/rc.d/inetd restart: telnet stream tcp nowait root /usr/libexec/telnetd telnetd -a user - La parte crítica es -a - (por autentificación) de tipo usuario. Consulte - la página de manual &man.telnetd.8; para - más detalles. + La parte crítica es -a, + de autentificación de usuario. Consulte + la página de manual &man.telnetd.8; para + más información. - <application>Kerberos</application> habilitando un cliente con Heimdal + <application>Kerberos</application> con un cliente + Heimdal Kerberos5 configurar clientes - Configurar una computadora cliente es trivialmente fácil. - En lo que se refiera a configuración de - Kerberos, solamente necesita el - archivo de configuración de Kerberos, - localizado en /etc/krb5.conf. - Simplemente copielo de manera segura a la computadora cliente - desde el KDC. + Configurar una computadora cliente es extremadamente + fácil. Lo único que necesita es el + fichero de configuración de + Kerberos que encontrará + en /etc/krb5.conf. + Simplemente cópielo de forma segura a la computadora + cliente desde el KDC. - Pruebe su computadora cliente tratando de usar - kinit, klist, y - kdestroy desde el cliente para obtener, - mostrar y entonces borrar un boleto para el principal que - creó arriba. Debe ser capaz de usar aplicaciones - Kerberos para conectar a - servidores habilitados con Kerberos, - aunque si eso no funciona y obtener el boleto hace el problema, - lo más seguro es que el problema esté en el - servidor y no en el cliente o el KDC. + Pruebe su computadora cliente mediante + kinit, klist, y + kdestroy desde el cliente para obtener, + mostrar y luego borrar un ticket para el principal que + creó antes. Debería poder usar aplicaciones + Kerberos para conectarse a + servidores habilitados con Kerberos, + aunque si no funciona y tiene problemas al intentar obtener + el boleto lo más probable es que el problema + esté en el servidor y no en el cliente o el + KDC. - Al probar una aplicación como telnet, - trate de usar un olfateador de paquetes ( como &man.tcpdump.1;) - para confirmar que su contraseña no sea enviada en claro. - Trate de usar telnet con la opción - -x, que encripta el flujo de datos por - entero (similarmente a ssh). + Al probar una aplicación como telnet, + trate de usar un sniffer de paquetes + ( como &man.tcpdump.1;) para confirmar que su contraseña + no viaja en claro por la red. + Trate de usar telnet con la opción + -x, que cifra el flujo de datos por + entero (algo parecido a lo que hace + ssh). - Las aplicaciones clientes Kerberos - principales (tradicionalmente llamadas kinit, - klist, kdestroy y - kpasswd) están incluidas en - la instalación base de &os;. Note que versiones de &os; - anteriores a 5.0 las renombran a k5init, - k5list, k5destroy, - k5passwd y k5stash - (aunque es tipicamente utilizado solo una vez). + Las aplicaciones clientes Kerberos + principales (llamadas tradicionalmente kinit, + klist, kdestroy y + kpasswd) están incluidas en + la instalación base de &os;. Tenga en cuenta que + en las versiones de &os; anteriores a 5.0 reciben los nombres de + k5init, + k5list, k5destroy, + k5passwd y k5stash. - Varias aplicaciones clientes Kerberos - no principales también están instaladas por - omisión. Aquí es donde la naturaleza + También se instalan por defecto diversas aplicaciones + Kerberos que no entran dentro de + la categoría de imprescindibles. + Es aquí donde la naturaleza mínima de la instalación base de - Heimdal es sentida: telnet es el único - servicio Kerberos habilitado. + Heimdal salta a la palestra: telnet es el + único servicio Kerberos + habilitado. - El port Heimdal agrega algunas de las aplicaciones cliente - faltantes: versiones Kerberos habilitadas - de ftp, rsh, - rcp, rlogin y algunos - otros programas menos comunes. El port de MIT - también contiene una suite completa de aplicaciones + El port Heimdal añade algunas de las aplicaciones + cliente que faltan: versiones Kerberos + de ftp, rsh, + rcp, rlogin y algunos + otros programas menos comunes. El port del MIT + también contiene una suite completa de aplicaciones cliente de Kerberos. - Archivos de configuración de usuario: <filename>.k5login</filename> y <filename>.k5users</filename> + Ficheros de configuración de usuario: <filename>.k5login</filename> y <filename>.k5users</filename> .k5login @@ -2845,48 +2925,52 @@ kadmin> exit .k5users - Usuarios dentro de un dominio tipicamente - tienen su principal Kerberos - (como tillman@EXAMPLE.ORG) mapeado - a una cuenta de usuario local (como una cuenta local - llamada tillman). aplicaciones cliente - como telnet usualmente no requieren un + Suele ser habitual que los usuarios de un dominio + Kerberos (o principales) + tengan su usuario + (por ejemplo tillman@EJEMPLO.ORG) mapeado + a una cuenta de usuario local (por ejemplo un usuario llamado + llamado tillman). Las aplicaciones cliente + como telnet normalmente no requieren un nombre de usuario o un principal. - Ocasionalmente, de todas maneras, tal vez quiera dar acceso - a una cuenta de usuario local a alguien que no tiene un - principal Kerberos que concuerde. - Por ejemplo, tillman@EXAMPLE.ORG puede - necesitar acceso a la cuenta de usuario local webdevelopers. - Otros principales tal vez necesiten acceso a esas + Es posible que de vez en cuando quiera dar acceso a una + una cuenta de usuario local a alguien que no tiene un + principal Kerberos. + Por ejemplo, tillman@EJEMPLO.ORG puede + necesitar acceso a la cuenta de usuario local + webdevelopers. + Otros principales tal vez necesiten acceso a esas cuentas locales. - Los archivos .k5login y - .k5users, colocados en el directorio - home del usuario, pueden ser usados de manera similar a - una combinación potente de - .hosts y .rhosts, - resolviendo el problema. Por ejemplo, si un + Los ficheros .k5login y + .k5users, ubicados en el directorio + home del usuario, pueden usarse de un modo similar a + una combinación potente de + .hosts y .rhosts. + Por ejemplo, si pusiera un fichero .k5login con el siguiente - contenido: + contenido tillman@example.org jdoe@example.org - Fuera a ser colocado en el directorio home del usuario - local webdevelopers entonces ambos - principales listados tendrían acceso a esa cuenta + en el directorio home del usuario local + webdevelopers ambos + principales listados tendrían acceso a esa cuenta sin requerir una contraseña compartida. - La lectura de las páginas de manual para estos - comando es recomendado. Note que la página de manual - de ksu cubre + Le recomendamos encarecidamente la lectura de las + páginas de manual de estas órdenes. Recuerde que + la página de manual de + ksu abarca .k5users. - <application>Kerberos</application> Tips, Trucos y solución de problemas + <application>Kerberos</application> Sugerencias, trucos y + solución de problemas Kerberos5 @@ -2895,134 +2979,142 @@ jdoe@example.org - Al utilizar ya sea los ports de Heimdal o Kerberos - del MIT asegúrese que su - variable de ambiente PATH liste las - versiones de Kerberos de las - aplicaciones clientes antes que las versiones del + Tanto si utiliza el port de Heimdal o + el Kerberos + del MIT asegúrese de que su + variable de entorno PATH liste las + versiones de Kerberos de las + aplicaciones cliente antes que las versiones del sistema. - ¿Todas las computadoras en su dominio Kerberos tienen - la hora sincronizada? Si no, la autentificación + ¿Todas las computadoras de su dominio Kerberos + tienen la hora sincronizada? Si no, la autentificación puede fallar. describe como sincronizar los relojes utilizando NTP. - MIT y Heimdal interoperan bien. - Excepto por kadmin, el protocola para - el cual no está estandarizado. + MIT y Heimdal conviven bien, con la + excepción de kadmin, protocolo + no está estandarizado. - Si cambia su nombre de equipo, necesita cambiar también - su equipo/ principal y actualizar su - keytab. Esto también aplica a entradas especiales - en keytab como www/ principal - utilizado para www/mod_auth_kerb + Si cambia su nombre de equipo debe cambiar también + el apellido de su principal y actualizar su + keytab. Esto también se aplica a entradas especiales + en keytab como el principal www/ + que usa el www/mod_auth_kerb de Apache. - Todos los equipos en su dominio Kerberos deben resolver - (normal y reverso) en el DNS (o en - /etc/hosts como mínimo). - Los CNAMEs funcionarán, pero los registros A y PTR - deben estar correctos y en su lugar. El mensaje de error - no es muy intuitivo: + Todos los equipos en su dominio Kerberos deben poder + resolverse (tanto en la forma normal normal como en la + inversa) en el DNS (o en + /etc/hosts como mínimo). + Los CNAME funcionarán, pero los registros A y PTR + deben ser correctos y estar en su sitio. El mensaje de error + que recibirá de no hacerlo así no es muy + intuitivo: Kerberos5 refuses authentication because Read req failed: Key table entry not found. - Algunos sistemas operativos que pueden estar actuando - como clientes de su KDC no activan - los permisos para ksu de manera - setuid root. Esto significa que - ksu no funciona, lo cual es una - buena idea de seguridad pero un tanto molesta. Este no es un - error de KDC. + Algunos sistemas operativos que puede usar como clientes + de su KDC no activan + los permisos para ksu como + setuid root. Esto hará que + ksu no funcione, lo cual es muy seguro + pero un tanto molesto. Tenga en cuenta que no se debe a + un error de KDC. - Con Kerberos del - MIT, si usted desea permitir que un - principal tenga un boleto con una vida más larga - que el valor por omisión de diez horas, debe usar - modify_principal en kadmin - para cambiar maxlife tanto del principal en cuestión - como del principal krbtgt. Entonces + Si desea permitir que un principal tenga un ticket con + una validez más larga que el valor por defecto de diez + horas en Kerberos del + MIT debe usar + modify_principal en kadmin + para cambiar maxlife tanto del principal en + cuestión como del krbtgt del + principal. Hecho esto, el principal puede utilizar la opción -l con kinit para solicitar un boleto con más tiempo de vida. - Si ejecuta un olfateador de paquetes en su - KDC para ayudar con la resolución - de problemas y ejecuta kinit desde una - estación de trabajo, se podrá dar cuenta - que su TGT es enviado inmediatamente - despues de correr kinit — - ¡incluso antes de que escriba su contraseña! La - explicación es que el servidor Kerberos - transmite libremente un TGT (Ticket Granting + Si ejecuta un sniffer de paquetes en su + KDC para ayudar con la resolución + de problemas y ejecuta kinit desde una + estación de trabajo puede encontrarse con que su + TGT se envía inmediatamente + después de ejecutar kinit: + incluso antes de que escriba su + contraseña La explicación es que el + servidor Kerberos transmite + tranquilamente un TGT (Ticket Granting Ticket) a cualquier petición no autorizada; de todas - maneras, cada TGT está encriptado - en un llave derivada de la contraseña de usuario. - Por lo tanto, cuando un usuario teclea su contraseña - no está siendo enviada al KDC, - está siendo usada para desencriptar el TGT - que kinit ya obtuvo. Si el proceso de - desencriptación resulta en un boleto válido con - una marca de tiempo válida, el usuario tiene - credenciales Kerberos válidas. - Estas credenciales incluyen una llave de sesión para - establecer comunicaciones seguras con el servidor - Kerberos en el futuro, así - como también el boleto otorgar-boleto (TGT) en sí, - el cual es encriptado con la llave del propio servidor - Kerberos. Esta segunda capa de - encriptación es desconocida para el usuario, pero + maneras, cada TGT está cifrado + en una llave derivada de la contraseña del usuario. + Por tanto, cuando un usuario teclea su contraseña + no la está enviando al KDC, + se está usando para descifrar el TGT + que kinit ya obtuvo. Si el proceso de + descifrado termina en un ticket válido con + una marca de tiempo válida, el usuario tiene + credenciales Kerberos válidas. + Estas credenciales incluyen una llave de sesión para + establecer comunicaciones seguras con el servidor + Kerberos en el futuro, así + como el TGT en sí, que se cifra con la llave del propio + servidor Kerberos. + Esta segunda capa de cifrado es invisible para el usuario, pero es lo que permite al servidor Kerberos - verificar la autenticidad de cada TGT. + verificar la autenticidad de cada + TGT. - Si desea utilizar boletos con tiempo de vida larga (una - semana, por ejemplo) y está utilizando OpenSSH - para conectarse a la máquina donde su boleto está - almacenado, asegúrese que Kerberos - esté puesto a no - en su sshd_config o de lo contrario - sus boletos serán eliminados cuando termine la - sesión. + Si desea utilizar tickets con un tiempo largo de vida (una + semana, por ejemplo) y está utilizando + OpenSSH + para conectarse a la máquina donde se almacena su + boleto asgúrese de que + Kerberos + esté configurado a + no en su sshd_config + o de lo contrario sus tickets serán eliminados cuando + termine la sesión. - Recuerde que los principales de equipos pueden tener - un tiempo de vida mas largo también. Si su principal - de usuario tiene un tiempo de vida de una semana pero - el equipo al que se esá conectando tiene un - tiempo de vida de nueve horas, tendrá un principal de - equipo expirado en su caché y el caché de - boleto no funcionará como se espera. + Recuerde que los principales de equipos también + pueden tener tener un tiempo de vida más largo. + Si su principal de usuario tiene un tiempo de vida de una + semana pero el equipo al que se conecta tiene un + tiempo de vida de nueve horas, tendrá un principal de + equipo expirado en su caché, y la caché de + ticket no funcionará como esperaba. - Cuando esté configurando un archivo - krb5.dict para prenevir especificamente - el uso de malas contraseñas (la página de manual - de kadmind cubre esto brevemente), recuerde - que solamente aplica a principales que tienen una política - de contraseñas asignada a ellos. El formato de archivos - krb5.dict es simple: una cadena por - línea. Creando un enlace simbólico a - /usr/share/dict/words puede ser - de utilidad. + Cuando esté configurando un fichero + krb5.dict pensando específicamente + en prevenir el uso de contraseñas defectuosas (la + página de manual de + de kadmind trata el tema brevemente), recuerde + que solamente se aplica a principales que tienen una + política de contraseñas asignada. El formato + de los ficheros krb5.dict es simple: + una cadena de texto por línea. Puede serle + útil crear un enlace simbólico a + /usr/share/dict/words. @@ -3031,48 +3123,49 @@ jdoe@example.org Diferencias con el port del <acronym>MIT</acronym> - Las diferencias más grandes entre las instalaciones - MIT y Heimdal se relacionan al programa - kadmin el cual tiene un conjunto - diferente (pero equivalente) de comandos y utiliza un protocolo - diferente. Esto tiene implicaciones muy grandes si su - KDC es MIT ya que no - podrá utilizar el programa kadmin - de Heimdal para administrar remotamente su KDC - (o viceversa, para ese caso). + Las diferencias más grandes entre las instalaciones + MIT y Heimdal están relacionadas + con kadmin, que tiene un conjunto + diferente (pero equivalente) de órdenes y utiliza un protocolo + diferente. Esto tiene implicaciones muy grandes si su + KDC es MIT, ya que no + podrá utilizar el programa kadmin + de Heimdal para administrar remotamente su KDC + (o viceversa). - Las aplicaciones cliente pueden también tomar - diferentes opciones de línea de comando para - lograr las mismas tareas. Seguir las instrucciones de + Las aplicaciones cliente pueden también disponer de + diferentes opciones de línea de órdenes para + lograr lo mismo. Le recomendamos seguir las instrucciones de la página web de Kerberos del MIT - () - se recomienda. Sea cuidadoso con los parches: el port - del MIT se instala en - /usr/local/ por omisión, y las - aplicaciones normales del sistema pueden + (). + Sea cuidadoso con los parches: el port + del MIT se instala por defecto en + /usr/local/, y las + aplicaciones normales del sistema pueden ser ejecutadas en lugar de las del MIT - si su variable de ambiente PATH lista los - directorios del sistema primero. + si su variable de entorno PATH lista antes los + directorios del sistema. - Con el port del MIT - security/krb5 - proporcionado por &os;, asegúrese de leer el archivo - /usr/local/share/doc/krb5/README.FreeBSD - instalado por el port si quiere entender por qué los - login vía telnetd y - klogind se comportan un tanto - extraño. Más importante, corrigiendo la - conducta de permisos incorrectos en el archivo - caché requiere que el binario - login.krb5 sea usado para autentificación - para que pueda cambiar correctamente los permisos de - propiedad para credenciales reenviadas. + Si usa el port del MIT + security/krb5 + proporcionado por &os; asegúrese de leer el fichero + /usr/local/share/doc/krb5/README.FreeBSD + instalado por el port si quiere entender por qué los + login vía telnetd y + klogind se comportan de un modo un tanto + extraño. Más importante aún, corregir la + conducta de permisos incorrectos en el fichero + caché requiere que el binario + login.krb5 se use para la + validación para que pueda cambiar correctamente los + permisos de propiedad de credenciales reenviadas. - Mitigando limitaciones encontradas en <application>Kerberos</application> + Mitigación de limitaciones encontradas en + <application>Kerberos</application> Kerberos5 @@ -3080,74 +3173,80 @@ jdoe@example.org - <application>Kerberos</application> es un enfoque todo-o-nada + <application>Kerberos</application> es un enfoque + <quote>todo o nada</quote> - Cada servicio habilitado en la red debe ser modificado - para funcionar con Kerberos (o de - otra manera ser asegurado contra ataques de red) o de lo - contrario las credenciales de usuario pueden ser robadas y - reutilizadas. Un ejemplo de esto podría ser que - Kerberos habilite todos los shells - remotos ( vía rsh y telnet, - por ejemplo) pero que no cubra el servidor de correo - POP3 el cual manda contraseñas - en texto plano. + Cada servicio habilitado en la red debe modificarse + para funcionar con Kerberos (o + debe ser asegurado contra ataques de red) o de lo + contrario las credenciales de usuario pueden robarse y + reutilizarse. Un ejemplo de esto podría ser que + Kerberos habilite todos los shells + remotos ( vía rsh y + telnet, por ejemplo) pero que no cubra + el servidor de correo POP3, que + envía contraseñas en texto plano. - <application>Kerberos</application> está planeado para estaciones de trabajo mono-usuario + <application>Kerberos</application> está pensado + para estaciones de trabajo monousuario - En un ambiente multi-usuario, - Kerberos es menos seguro. - Esto se debe a que almacena los boletos en el - directorio /tmp, el cual puede - ser leído por todos los usuarios. Si un - usuario está compartiendo una computadora con - varias gentes simultaneamente (ej., multi-user), es posible - que los boletos de usuario sean robados (copiados) por otro - usuario. + En un entorno multiusuario + Kerberos es menos seguro. + Esto se debe a que almacena los tickets en el + directorio /tmp, que puede + ser leído por todos los usuarios. Si un + usuario está compartiendo una computadora con + varias personas (esto es, si utiliza un sistema + multiusuario) es posible que los tickets sean robados + (copiados) por otro usuario. - Esto puede ser sobrepasado con la opción de línea - de comando -c nombre-de-archivo o - (de preferencia) la variable de ambiente - KRB5CCNAME, pero esto raramente es - hecho. En principal, almacenar los boletos en el - directorio home de los usuarios y utilizar permisos - de archivo simples pueden mitigar este problema. + Esto puede solventarse con la opción de línea + de órdenes -c nombre-de-fichero o + (mejor aún) la variable de entorno + KRB5CCNAME, pero raramente se hace. + Si almacena los tickets en el directorio home de los + usuarios y utiliza sin mucha complicación los permisos + de fichero puede mitigar este problema. - El KDC es un punto de falla único + El KDC es el punto crítico de fallo - Por diseño, el KDC debe ser tan - seguro como la base de datos de contraseña maestra que - contiene. El KDC no debe tener ningún - otro servicio corriendo en él y debe ser fisicamente - seguro. El peligro es grande debido a que Kerberos - almacena todas las contraseñas encriptadas con la - misma llave (la llave maestra, la cual a su - vez está almacenada como un archivo en el + Por motivos de diseño el KDC + es tan seguro como la base de datos principal de + contraseñas que contiene. El + KDC no debe ejecutar ningún + otro servicio ejecutándose en él y debe ser + físicamente seguro. El peligro es grande debido a que + Kerberos almacena todas las + contraseñas cifradas con la misma llave + (la llave maestra, que a su vez se guarda + como un fichero en el KDC). - Como nota aparte, una llave maestra comprometida no es - tan malo como se podría temer. La llave maestra solo - es utilizada para encriptar la base de datos Kerberos - y como semilla para el generador de números aleatorios. - Mientras el acceso a su KDC sea seguro, - un atacante no puede hacer mucho con la llave maestra. + De todos modos una llave maestra comprometida no es + algo tan terrible como parece a primera vista. La llave maestra + solo se usa para cifrar la base de datos + Kerberos y como semilla para el + generador de números aleatorios. Mientras sea seguro + el acceso a su KDC un atancante no puede + hacer demasiado con la llave maestra. - Adicionalmente, si el KDC no está - disponible (quizás debido a un ataque de negación - de servicio o problemas de red) los servicios de red son inusables - ya que no se puede efectuar la autentificación, una receta - para un ataque de negación de servicios. Esto puede ser - aliviado con múltiples KDCs (un - maestro único y uno o más esclavos) y con - una implementación cautelosa de secundarios o - autentificación de respaldo (PAM es - excelente para esto). + Además, si el KDC no está + disponible (quizás debido a un ataque de denegación + de servicio o problemas de red) no se podrán utilizar + los servicios de red ya que no se puede efectuar la + validación, lo que hace que esta sea una buena forma de + lanzar un ataque de denegación de servicio. + Este problema puede aliviarse con múltiples + KDCs (un maestro y uno o más esclavos) + y con una implementación cautelosa de secundarios o + autentificación de respaldo (para esto + PAM es excelente). @@ -3155,14 +3254,17 @@ jdoe@example.org Limitaciones de <application>Kerberos</application> Kerberos le permite a usuarios, - equipos y servicios autentificarse entre ellos. No tiene un - mecanismo para autentificar el KDC a los - usuarios, equipos o servicios. Esto significa que a - kinit con un troyano (por ejemplo) puede - grabar todos los usuarios y contraseñas. Algo como - security/tripwire o - alguna otra herramienta de revisión de integridad - de sistemas de archivo puede aliviar esto. + equipos y servicios validarse entre sí, pero no + dispone de ningún mecanismo para autentificar el + KDC a los usuarios, equipos o servicios. + Esto significa que una versión + (por ejemplo) troyanizada + kinit puede grabar todos los usuarios y sus + contraseñas. Puede usar + security/tripwire o + alguna otra herramienta de revisión de integridad + de sistemas de ficheros para intentar evitar problemas como + este. @@ -3179,12 +3281,13 @@ jdoe@example.org - La FAQ de Kerberos + Las preguntas frecuentes (FAQ) de + Kerberos - Diseñando - un sistema de autentificación: un dialogo en cuatro escenas + Designing an + Authentication System: a Dialog in Four Scenes @@ -3194,13 +3297,13 @@ jdoe@example.org - Página web de MIT - Kerberos + Página web de Kerberos + del MIT - Página web de Heimdal - Kerberos + Página web de + Kerberos Heimdal @@ -3223,72 +3326,71 @@ jdoe@example.org OpenSSL - Una propiedad que muchos usuarios pasan por alto - es el conjunto de herramientas OpenSSL - incluídas en &os;. OpenSSL - brinda capa de transporte encriptada encima de la capa - de comunicaciones normal; permitiendo así que sea - combinada con muchas aplicaciones y servicios de red. + El conjunto de herramientas OpenSSL + es una característica de &os; que muchos usuarios + pasan por alto. OpenSSL ofrece una + capa de cifrada de transporte sobre la capa normal de + comunicación, permitiendo la combinación con + con muchas aplicaciones y servicios de red. - Algunos usos de OpenSSL pueden - incluir autentificación encriptada de clientes de - correo, transacciones basadas en web como pagos de tarjetas - de crédito y más. Muchos ports, como - www/apache13-ssl y - mail/sylpheed-claws - ofrecen soporte de compilación para construirse - con OpenSSL. + Algunos usos de OpenSSL son + la validación cifrada de clientes de correo, las + transacciones basadas en web como pagos con tarjetas de + crédito, etc. Muchos ports, como + www/apache13-ssl y + mail/sylpheed-claws + ofrecen soporte de compilación para + OpenSSL. - En la mayoría de los casos la colección - de ports tratará de construir el port - security/openssl a menos - que la variable de make WITH_OPENSSL_BASE - sea puesta explicitamente a yes. + En la mayoría de los casos la colección + de ports tratará de compilar el port + security/openssl a menos + que la variable de make WITH_OPENSSL_BASE + sea puesta explícitamente a yes. - La versión de OpenSSL - incluída en &os; soporta los protocolos de seguridad - de red Secure Sockets Layer v2/v3 (SSLv2/SSLv3) y - Transport Layer Security v1 (TLSv1) y puede ser utilizada como - una librería criptográfica general. + La versión de OpenSSL + incluida en &os; soporta los protocolos de seguridad + de red Secure Sockets Layer v2/v3 (SSLv2/SSLv3) y + Transport Layer Security v1 (TLSv1) y puede utilizarse como + biblioteca criptográfica general. - Mientras OpenSSL soporta el - algoritmo IDEA, estáa deshabilitado - por omisión debido a patentes de Estados Unidos. Para - utilizarlo, la licencia debe ser revisada, y si las - restricciones son aceptables, la variable - MAKE_IDEA debe ser activada en + OpenSSL soporta el + algoritmo IDEA pero estáa deshabilitado + por defecto debido a patentes en vigor en los Estados Unidos. + Si quiere usarlo debe revisar la licencia, y si las + restricciones le parecen aceptables active la variable + MAKE_IDEA en make.conf. - Uno de los usos más comunes de - OpenSSL es brindar certificados para - usar con aplicaciones de software. Estos certificados aseguran - que las credenciales de la compañia o individuo son - válidos y no fraudulentos. Si el certificado en - cuestión no ha sido verificado por uno de las varias - autoridades de certificados, - o CAs, usualmente se produce una advertencia. + Uno de los usos más comunes de + OpenSSL es ofrecer certificados para + usar con aplicaciones de software. Estos certificados aseguran + que las credenciales de la compañia o individuo son + válidos y no son fraudulentos. Si el certificado en + cuestión no ha sido verificado por uno de las diversas + autoridades certificadoras + o CA, suele generarse una advertencia al respecto. Una autoridad de certificados es una compañia, como - VeriSign, la cual - firmará certificados para validar credenciales de individuos - o compañias. Este proceso tiene un costo asociado y no es - definitivamente un requisito para usar certificados; de todas - maneras, puede darle un poco de tranquilidad a los usuarios + VeriSign, que + firma certificados para validar credenciales de individuos + o compañias. Este proceso tiene un costo asociado y no es + un requisito imprescindible para usar certificados, aunque + puede darle un poco de tranquilidad a los usuarios más paranóicos. - Generando certificados + Generación de certificados OpenSSL generación de certificados - Para generar un certificado, el siguiente comando está - disponible: + Para generar un certificado ejecute lo siguiente: &prompt.root; openssl req -new -nodes -out req.pem -keyout cert.pem Generating a 1024 bit RSA private key @@ -3306,41 +3408,41 @@ If you enter '.', the field will be left blank. Country Name (2 letter code) [AU]:US State or Province Name (full name) [Some-State]:PA Locality Name (eg, city) []:Pittsburgh -Organization Name (eg, company) [Internet Widgits Pty Ltd]:My Company -Organizational Unit Name (eg, section) []:Systems Administrator -Common Name (eg, YOUR name) []:localhost.example.org +Organization Name (eg, company) [Internet Widgits Pty Ltd]:Mi compañía +Organizational Unit Name (eg, section) []:Administrador de sistemas +Common Name (eg, YOUR name) []:localhost.ejemplo.org Email Address []:trhodes@FreeBSD.org Please enter the following 'extra' attributes to be sent with your certificate request -A challenge password []:SOME PASSWORD -An optional company name []:Another Name +A challenge password []:UNA CONTRASEÑA +An optional company name []:Otro nombre - Note que la respuesta directamente despues del - prompt Common Name muestra un nombre - de dominio. Este prompt requiere que se introduzca - un nombre de servidor para propósitos de - verificación; colocando cualquier cosa menos - un nombre de dominio producirá un certificado - inválido. Otras opciones, por ejemplo tiempo - de expiración, alternan algoritmos de encriptación, - etc, están disponibles. Una lista completa - puede obtenerse viendo la página de manual - &man.openssl.1;. + Tenga en cuenta que la respuesta directamente después + de prompt Common Name muestra un + nombre de dominio. Este prompt requiere que se + introduzca un nombre de servidor para usarlo en la + verificación; si escribe cualquier otra cosa + producirá un certificado inválido. + Otras opciones, por ejemplo el tiempo + de expiración, alternan algoritmos de cifrado, + etc. Puede ver una lista completa en la página + de manual de &man.openssl.1;. - Deben existir ahora dos archivos - en el directorio en el que el comando anterior fué - ejecutado. La petición de certificado, req.pem, - puede ser enviado a una autoridad de certificados que validará - las credenciales que introdujo, firmará la petición y le - regresará el certificado. El segundo archivo creado será - nombrado cert.pem y es la llave privada para - el certificado y debe ser protegida a toda costa; si esta cae en las - manos de otros puede ser utilizada para impersonarlo a usted (o a - sus servidores). + Debería tener dos ficheros en el directorio + donde ha ejecutado la orden anterior. La petición + de certificado, + req.pem, es lo que debe enviar a una + autoridad certificadora para que valide las credenciales que + introdujo; firmará la petición y le devolverá + el certificado. El segundo fichero es + cert.pem y es la llave privada para + el certificado, que debe proteger a toda costa; si cae en + malas manos podrí usarse para suplantarle a usted o a + sus servidores. - En los casos donde una firma de una CA - no es requerida, un certificado auto firmado puede ser creado. + Si no necesita la firma de una CA + puede crear y firmar usted mismo su certificado. Primero, genere la llave RSA: &prompt.root; openssl dsaparam -rand -genkey -out myRSA.key 1024 @@ -3353,38 +3455,39 @@ An optional company name []:Another Name&prompt.root; openssl req -new -x509 -days 365 -key myca.key -out new.crt - Los dos nuevos archivos deben aparecer en el directorio: - un archivo de firma de autoridad de certificados, - myca.key y el certificado en sí, - new.crt. Estos deben ser colocados en un - directorio, de preferencia bajo - /etc, el cual es - leíble solo por root. Permisos de - 0700 deben ser suficientes para este y pueden ser puestos con - la utilidad chmod. + Deberín aparecer dos nuevos ficheros en su directorio: + un fichero de firma de autoridad de certificados + (myca.key) y el certificado en sí, + new.crt. Deben ubicarse en un directorio, + que se recomienda que sea + /etc, que es legible + solo para root. Para terminar, es recomendable + asignar permisos 0700 para el fichero con + chmod. - Usando certificados, un ejemplo + Uso de certificados; un ejemplo - ¿Entonces que pueden hacer estos archivos? Un buen uso - sería encriptar conexiones al MTA - Sendmail. Esto disolvería - el uso de autentificación de texto claro para usuarios - que mandan correo a través del MTA + ¿Qué pueden hacer estos ficheros? + Cifrar conexiones al MTA + Sendmail es un buen sitio para + usarlos. De este modo eliminará el uso de validación + mediante texto en claro para los usuarios que envían + correo a través del MTA local. - Este no es el mejor uso en el mundo ya que algunos - MUAs presentarán al usuario - un error si no tienen instalado los certificados - localmente. Refiérase a la documentación - incluída con el software para mayor información - de la instalación de certificados. + No es el mejor uso en el mundo, ya que algunos + MUAs enviarán al usuario un + mensaje de error si no tiene instalados localmente los + certificados. Consulte la documentación + para más datos sobre la + instalación de certificados. - Las siguientes líneas deben ser colocadas - dentro del archivo local .mc: + Debe añadir las siguientes líneas + en su fichero local .mc: dnl SSL Options define(`confCACERT_PATH',`/etc/certs')dnl @@ -3393,33 +3496,34 @@ define(`confSERVER_CERT',`/etc/certs/new.crt')dnl define(`confSERVER_KEY',`/etc/certs/myca.key')dnl define(`confTLS_SRV_OPTIONS', `V')dnl - Donde /etc/certs/ - es el directorio a ser utilizado para almacenamiento de - los archivos de certificado y llave de manera local. - Los últimos requerimientos son una reconstrucción - del archivo .cf local. Esto es facilmente - logrado tecleando make - install dentro del directorio - /etc/mail. - A continuación ejecute un make - restart que debe reiniciar el - daemon de Sendmail. + /etc/certs/ + es el directorio destinado a almacenamiento de + los ficheros de certificado y llave en local. + El último requisito es una reconstrucción + del fichero .cf local. Solo tiene que + teclear make + install en el directorio + /etc/mail. + A continuación ejecute un make + restart, que debería reiniciar el + dæmon Sendmail. - Si todo estuvo bien no habrá mensajes de error - en el archivo /var/log/maillog + Si todo fué bien no habrá mensajes de error + en el fichero /var/log/maillog y Sendmail aparecerá en la lista de procesos. - Para una prueba sencilla, simplemente conecte al - servidor de correo usando la utilidad &man.telnet.1;: + Puede probarlo todo de una forma muy sencilla; + conéctese al servidor de correo mediante + &man.telnet.1;: - &prompt.root; telnet example.com 25 + &prompt.root; telnet ejemplo.com 25 Trying 192.0.34.166... -Connected to example.com. +Connected to ejemplo.com. Escape character is '^]'. -220 example.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) -ehlo example.com -250-example.com Hello example.com [192.0.34.166], pleased to meet you +220 ejemplo.com ESMTP Sendmail 8.12.10/8.12.10; Tue, 31 Aug 2004 03:41:22 -0400 (EDT) +ehlo ejemplo.com +250-ejemplo.com Hello ejemplo.com [192.0.34.166], pleased to meet you 250-ENHANCEDSTATUSCODES 250-PIPELINING 250-8BITMIME @@ -3431,11 +3535,11 @@ Escape character is '^]'. 250-DELIVERBY 250 HELP quit -221 2.0.0 example.com closing connection +221 2.0.0 ejemplo.com closing connection Connection closed by foreign host. Si la línea STARTTLS aparece en la - salida entonces todo está funcionando correctamente. + salida, todo está funcionando correctamente. @@ -3458,8 +3562,9 @@ Connection closed by foreign host. VPN sobre IPsec - Creando una VPN entre dos redes, separadas por la Internet - utilizando gateways FreeBSD. + Creación de una VPN entre dos redes, a través de + Internet, mediante puertas de enlace + (gateways) &os;. @@ -3475,37 +3580,36 @@ Connection closed by foreign host. - Entendiendo IPsec + Qué es IPsec - Esta sección le guiará a través del - proceso de configuración de IPsec, y de su uso en un - ambiente que consista en máquinas FreeBSD y - µsoft.windows; 2000/XP, para - hacer que se comuniquen de manera segura. Para configurar - IPsec, es necesario que esté familiarizado con los - conceptos de construcción de un kernel personalizado - (vea ). + Esta sección le guiará a través del + proceso de configuración de IPsec, y de su uso en un + entorno consistente en máquinas &os; y + µsoft.windows; 2000/XP, para + hacer que se comuniquen de manera segura. Para configurar + IPsec es necesario que esté familiarizado con los + conceptos de construcción de un kernel personalizado + (consulte el ). - IPsec es un protocolo que se sienta - encima de la capa del protocolo de Internet (IP). Le permite - a dos o mas equipos comunicarse de manera segura (de ahí - el nombre). La pila de red IPsec de FreeBSD está - basada en la implementación - KAME, la cual tiene + IPsec es un protocolo que está + sobre la capa del protocolo de Internet (IP). Le permite + a dos o más equipos comunicarse de forma segura (de ahí + el nombre). La pila de red IPsec de &os; + se basa en la implementación + KAME, que incluye soporte para las dos familias de protocolos, IPv4 e IPv6. - FreeBSD 5.X contiene una pila IPsec acelerada - por hardware, conocida como Fast - IPsec, que fué obtenida de OpenBSD. - Emplea hardware criptográfico (cuando es posible) - a través del subsistema &man.crypto.4; para - optimizar el desempeño de IPsec. Este subsistema es - nuevo, y no soporta todas las opciones que están - disponibles en la versión KAME de IPsec. De todas - maneras, para habilitar IPsec acelerado por hardware, se - tienen que agregar las siguientes opciones de kernel al - archivo de configuración de kernel: + FreeBSD 5.X contiene una pila IPsec acelerada + por hardware, conocida como Fast + IPsec, que fué obtenida de OpenBSD. + Emplea hardware criptográfico (cuando es posible) + a través del subsistema &man.crypto.4; para + optimizar el rendimiento de IPsec. Este subsistema es + nuevo, y no soporta todas las opciones disponibles en la + versión KAME de IPsec. Para poder habilitar IPsec + acelerado por hardware debe añadir las siguientes + opciones al fichero de configuración de su kernel: opciones de kernel @@ -3516,10 +3620,11 @@ Connection closed by foreign host. options FAST_IPSEC # new IPsec (cannot define w/ IPSEC) - Note que actualmente no es posible utilizar el subsistema - Fast IPsec junto con la implementación - KAME de IPsec. Consulte la página de manual - &man.fast.ipsec.4; para mayor información. + Tenga en cuenta que no es posible utilizar el subsistema + Fast IPsec y la implementación + KAME de IPsec en la misma computadora. Consulte la + página de manual &man.fast.ipsec.4; para más + información. @@ -3533,31 +3638,32 @@ options FAST_IPSEC # new IPsec (cannot define w/ IPSEC) AH - IPsec consiste de dos sub-protocolos: + IPsec consta de dos sub-protocolos: - Encapsulated Security Payload - (ESP), protege los datos del paquete IP - de interferencias de terceros, encriptando el contenido - utilizando algoritmos de criptografía simétrica + Encapsulated Security Payload + (ESP), que protege los datos del paquete IP + de interferencias de terceros, cifrando el contenido + utilizando algoritmos de criptografía simétrica (como Blowfish, 3DES). - Authentication Header (AH), + Authentication Header (AH), que protege la cabecera del paquete IP de interferencias de - terceros e imitación (spoofing), computando un - checksum criptográfico y aplicando a los campos - de cabecera IP una función hash segura. Esto es - entonces seguido por una cabecera adicional que contiene - el hash, para permitirle a la información en el - paquete ser autentificada. + terceros así como contra la falsificación + (spoofing), calculando una suma de + comprobación criptográfica y aplicando a + los campos de cabecera IP una función hash segura. + Detrás de todo esto va una cabecera adicional que + contiene el hash para permitir la validación de + la información que contiene el paquete. - ESP y AH pueden - ser utilizados de manera conjunta o separada, dependiendo - del ambiente. + ESP y AH pueden + utilizarse conjunta o separadamente, dependiendo del + entorno. VPN @@ -3568,21 +3674,21 @@ options FAST_IPSEC # new IPsec (cannot define w/ IPSEC) VPN - IPsec puede ser utilizado ya sea para encriptar directamente - el tráfico entre dos equipos (conocido como - modo de transporte); o para construir - túneles virtuales entre dos subredes, - las cuales pueden ser usadas para comunicación segura + IPsec puede utilizarse para cifrar directamente el + tráfico entre dos equipos (conocido como + modo de transporte) o para construir + túneles virtuales entre dos subredes, + que pueden usarse para comunicación segura entre dos redes corporativas (conocido como modo - de tunel). Este último es comunmente + de túnel). Este último es muy conocido como una red privada virtual (Virtual - Private Network, VPN). La página de manual - &man.ipsec.4; debe ser consultada para información - detallada sobre el subsistema IPsec en FreeBSD. + Private Network, o VPN). &man.ipsec.4; contiene + información detallada sobre el subsistema IPsec de + &os;. - Para agregar soporte de IPsec a su kernel, agregue las - siguientes opciones a su archivo de configuración - de kernel: + Si quiere añdir soporte IPsec a su kernel debe + incluir las siguientes opciones al fichero de configuración + de su kernel: opciones de kernel @@ -3604,9 +3710,8 @@ options IPSEC_ESP #IP security (crypto; define w/ IPSEC) IPSEC_DEBUG - Si se desea soporte para la depuración de - errores, la siguiente opción también debe - ser agregada: + Si quiere soporte para la depuración de + errores no olvide la siguiente opción: options IPSEC_DEBUG #debug for IP security @@ -3616,64 +3721,62 @@ options IPSEC_DEBUG #debug for IP security El Problema - No existe un estándar para lo que constituye una VPN. - VPNs pueden ser implementadas utilizando un número de - tecnologías diferentes, cada una de las cuales tiene sus - propias fortalezas y debilidades. Esta sección presenta un - escenario, y las estrategias usadas para implementar una VPN + No existe un estándar para lo que constituye una VPN. + Las VPN pueden implementarse utilizando numerosas + tecnologías diferentes, cada una de las cuales tiene sus + pros y sus contras. Esta sección presenta un + escenario, y las estrategias usadas para implementar una VPN para este escenario. - El escenario: dos redes, conectadas por Internet, para - comportarse como una sola + El escenario: dos redes, conectadas por Internet, que + queremos que se comporten como una sola VPN - creando + creación - La premisa es como sigue: + Este es el punto de partida: Usted tiene al menos dos sitios - Ambos sitios están utilizando IP internamente + Ambos sitios utilizan IP internamente - Ambos sitios están conectados al Internet, a - través de un gateway que esta corriendo FreeBSD. + Ambos sitios están conectados a Internet, a + través de una puerta de enlace &os;. - El gateway en cada red tiene al menos una dirección - IP pública. + La puerta de enlace de cada red tiene al menos una + dirección IP pública. - Las direcciones internas de las dos redes pueden ser - direcciones IP públicas o privadas, no importa. - Puede ejecutar NAT en la máquina gateway de ser - necesario. + Las direcciones internas de las dos redes pueden ser + direcciones IP públicas o privadas, no importa. + Puede ejecutar NAT en la máquina que hace de + puerta de enlace si es necesario. Las direcciones IP internas de las dos redes - no colisionan. Aunque espero - que sea posible teoricamente utilizar una combinación - de tecnología VPN y NAT para hacer funcionar - esto, espero que sea una pesadilla de - configuración. + no colisionan. Aunque espero + que sea teóricamente posible utilizar una + combinación de tecnología VPN y NAT + para hacer funcionar todo esto sospecho que + configurarlo sería una pesadilla. - Si encuentra que está tratando de conectar dos redes, - donde ambas utilizan el mism rango de direcciones IP privadas - (ej., las dos usan 192.168.1.x), entonces una de las dos redes - debe ser renumerada. + Si lo que intenta es conectar dos redes y ambas usan el + mismo rango de direcciones IP privadas (por ejemplo las dos usan + 192.168.1.x)debería renumerar + una de las dos redes. - La topología de red puede verse de manera similar - a esto: + La topología de red se parecería a esto: @@ -3705,163 +3808,168 @@ Network #2 [ Internal Hosts ] - Note las dos direcciones IP públicas. Usaré las - letras para referirme a ellas en el resto de este artículo. - El cualquier lugar que vea esas letras en este artículo, - reemplacelas con su propia dirección IP pública. - Note también que internamente, las dos máquinas - gateway tienen la dirección IP .1, y que las dos redes - tienen direcciones IP privadas diferentes (192.168.1.x y 192.168.2.x respectivamente). Todas las - máquinas en las redes privadas han sido configuradas para - utilizar la máquina .1 - como su gateway por omisión. + Observe las dos direcciones IP públicas. Usaré + letras para referirme a ellas en el resto de este artículo. + El cualquier lugar que vea esas letras en este artículo + reemplácelas con su propia dirección IP pública. + Observe también que internamente las dos máquinas + que hacen de puerta de enlace tienen la dirección IP .1, + y que las dos redes tienen direcciones IP privadas diferentes + (192.168.1.x y 192.168.2.x respectivamente). Todas las + máquinas de las redes privadas están configuradas para + utilizar la máquina .1 + como su puerta de enlace por defecto. - La intención es que, desde el punto de vista de la - red, cada red debe ver las máquinas en la otra red como - si estuvieran directamente conectadas al mismo ruteador -- - aunque sea un ruteador ligeramente lento con una tendencia - ocasional a tirar paquetes. + La intención es que, desde el punto de vista de la + red, cada red debe ver las máquinas en la otra red como + si estuvieran directamente conectadas al mismo router (aunque + aunque sea un router ligeramente lento con una tendencia + ocasional a tirar paquetes). - Esto significa que (por ejemplo), la máquina - 192.168.1.20 debe ser + Esto significa que (por ejemplo), la máquina + 192.168.1.20 debe ser capaz de ejecutar ping 192.168.2.34 - y recibir una respuesta, transparentemente. Las máquinas - &windows; deben ser capaces de ver a las máquinas en la - otra red, accesar a archivos compartidos, y demás, - exactamente de la misma manera en que accesan a las - máquinas en la red local. + y recibir de forma transparente una respuesta. Las + máquinas &windows; deben ser capaces de ver las + máquinas de la otra red, acceder a sus ficheros + compartidos, etc, exactamente igual que cuando acceden a + las máquinas de la red local. - Y todo la cosa debe ser segura. Esto significa que el - tráfico entre las dos redes tiene que ser - encriptado. + Y todo debe hacerse de forma segura. Esto significa que el + tráfico entre las dos redes tiene que ser + cifrado. - Crear una VPN entre estas dos redes es un proceso multi-paso. - Las etapas son las siguientes: + La creación de una VPN entre estas dos redes es un + proceso que requiere varios pasos. Las etapas son estas: - Crear un enlace de red virtual entre las dos - redes, a través de Internet. Probarlo, usando herramientas - como &man.ping.8;, para asegurarse que funcione. + Crear un enlace de red virtual entre las dos + redes, a través de Internet. Probarlo usando herramientas + como &man.ping.8; para asegurarse de que funcione. - Aplicar políticas de seguridad para asegurarse - que el tráfico entre las dos redes sea transparentemente - encriptado y desencriptado según sea necesario. - Probar esto, usando herramientas como &man.tcpdump.1;, - para asegurarse que el tráfico esté encriptado. + Aplicar políticas de seguridad para asegurarse + de que el tráfico entre las dos redes sea cifrado + y descifrado de forma transparente. Comprobarlo mediante + herramientas como &man.tcpdump.1; para asegurarse de que + el tráfico esté siendo efectivamente + cifrado. - Configurar software adicional en los gateways FreeBSD, - para permitir a las máquinas &windows; verse entre - ellas a través de la VPN. + Configurar software adicional en las puertas de + enlace &os; para permitir a las máquinas &windows; + verse entre ellas a través de la VPN. - Paso 1: Creando y probando un enlace de red <quote>virtual</quote> + Paso 1: Creación y prueba de un enlace de + red <quote>virtual</quote> - Suponga que usted está en la máquina gateway - en la red #1 (con dirección IP pública A.B.C.D, dirección IP privada - 192.168.1.1), y ejecuta - ping 192.168.2.1, que es la dirección - privada de la máquina con dirección IP - W.X.Y.Z. ¿Que necesita suceder - para que esto funcione? + Suponga que está en la puerta de enlace de la red + red #1 (con dirección IP pública A.B.C.D, dirección IP privada + 192.168.1.1), y ejecuta + ping 192.168.2.1, que es la dirección + privada de la máquina con dirección IP + W.X.Y.Z. ¿Qué + hace falta para esto? - La máquina gateway necesita saber como alcanzar - a 192.168.2.1. En otras - palabras, necesita tener una ruta a La puerta de enlace necesita saber cómo alcanzar + a 192.168.2.1. En otras + palabras, necesita tener una ruta hasta 192.168.2.1. - Las direcciones IP privadas, como aquellas en el rango - 192.168.x no se supone - que aparezcan en Internet sueltas. En lugar de eso, cada - paquete que mande a 192.168.2.1 - necesitará ser encerrado dentro de otro paquete. - Este paquete necesitará aparecer como si fuera - enviado desde A.B.C.D, - y tendrá que ser enviado a W.X.Y.Z. Este proceso es llamado - encapsulación. + Las direcciones IP privadas, como las que están + en el rango 192.168.x + no deberían aparecer en Internet. Por eso, cada paquete + que mande a 192.168.2.1 + necesitará encerrarse dentro de otro paquete. + Este paquete debe tener todas las características + de haber sido enviado desde + A.B.C.D, + y tendrá que ser enviado a W.X.Y.Z. Este proceso recibe el nombre + de encapsulado. - Una vez que este paquete llega a - W.X.Y.Z necesitará - ser desencapsulado, y entregado a + Una vez que este paquete llega a + W.X.Y.Z necesitará + ser desencapsulado, y entregado a 192.168.2.1. - Puede pensar en ello como si se necesitara un tunel - entre las dos redes. Las dos bocas del tunel son - las direcciones IP A.B.C.D y - W.X.Y.Z, y se debe decir al tunel - las direcciones de las direcciones IP privadas que serán - permitidas que pasen a través de él. El tunel es - usado para transferir tráfico con direcciones IP - privadas a través del Internet público. + Puede verlo como si necesitara un túnel + entre las dos redes. Las dos bocas del túnel + son las direcciones IP A.B.C.D y + W.X.Y.Z, y debe hacer que el + túnel sepa cuáles serán las direcciones + IP privadas que tendrán permitido el paso a través + de él. El túnel se usa para transferir tráfico + con direcciones IP privadas a través de la Internet + pública. - Este tunel es creado utilizando la interfaz genérica, - o dispositivo gif en FreeBSD. Como - puede imaginarse, la interfaz gif - en cada equipo gateway debe ser configurada con cuatro - direcciones IP; dos para las direcciones IP públicas, + Este túnel se crea mediante la interfaz genérica, + o dispositivo gif en &os;. Como + puede imaginarse la interfaz gif + de cada puerta de enlace debe configurarse con cuatro + direcciones IP: dos para las direcciones IP públicas, y dos para las direcciones IP privadas. - El soporte para el dispositivo gif debe ser compilado - en el kernel de &os; para ambas máquinas. Puede - hacer esto agregando la línea: + El soporte para el dispositivo gif debe compilarse en el + kernel de &os; en ambas máquinas añadiendo + la línea device gif - a los archivos de configuración del kernel en - ambas máquinas, y entonces compilarlo, instalarlo - y reiniciar normalmente. + a los ficheros de configuración del kernel de + ambas máquinas, compilarlo, instalarlo y reiniciar. - La configuración del tunel es un proceso de dos - partes. Primero se le debe decir al tunel cuales son las - direcciones IP exteriores (o públicas), utilizando - &man.gifconfig.8;. Luego, las direcciones IP deben ser - configuradas usando &man.ifconfig.8;. + La configuración del túnel es un proceso + que consta de dos partes. Primero se le debe decir al + túnel cuáles son las direcciones IP exteriores + (o públicas) mediante &man.gifconfig.8;. Después + configure las direcciones IP con &man.ifconfig.8;. - En &os; 5.X, la funcionalidad brindada por la - utilidad &man.gifconfig.8; ha sido fusionada a - &man.ifconfig.8;. + En &os; 5.X las funciones de &man.gifconfig.8; + se han incluido en &man.ifconfig.8;. - En la máquina gateway de la red #1 debe ejecutar - los siguientes dos comandos para configurar el tunel. + En la puerta de enlace de la red #1 debe ejecutar + las siguientes dos órdenes para configurar el + túnel. gifconfig gif0 A.B.C.D W.X.Y.Z ifconfig gif0 inet 192.168.1.1 192.168.2.1 netmask 0xffffffff - En la otra máquina gateway ejecute los mismos - comandos, pero con el orden las direcciones IP - invertidas. + En la otra puerta de enlace ejecute las mismas + órdenes, pero con el orden las direcciones IP + invertido. gifconfig gif0 W.X.Y.Z A.B.C.D ifconfig gif0 inet 192.168.2.1 192.168.1.1 netmask 0xffffffff - Entonces puede ejecutar: + Ahora ejecute: gifconfig gif0 - para ver la configuración. Por ejemplo, en el - gateway de la red #1, usted vería algo como esto: + y podrá ver la configuración. Por ejemplo, en la + puerta de enlace de la red #1 vería algo parecido + a esto: &prompt.root; gifconfig gif0 gif0: flags=8011<UP,POINTTOPOINT,MULTICAST> mtu 1280 @@ -3869,17 +3977,17 @@ inet 192.168.1.1 --> 192.168.2.1 netmask 0xffffffff physical address inet A.B.C.D --> W.X.Y.Z - Como puede ver, se ha creado un tunel entre las direcciones - físicas A.B.C.D y - W.X.Y.Z, y el tráfico - permitido a través del tunel es entre - 192.168.1.1 y + Como puede ver se ha creado un túnel entre las direcciones + físicas A.B.C.D y + W.X.Y.Z, y el tráfico + que puede pasar a través del túnel es entre + 192.168.1.1 y 192.168.2.1. - Esto también habrá agregado una entrada en - la tabla de ruteo en ambas máquinas, la cual puede - examinar con el comando netstat -rn. - Esta salida es de la máquina gateway en la red #1. + Esto también habrá agregado una entrada en + la tabla de rutas de ambas máquinas, que puede + examinar con netstat -rn. + Esta salida es de la puerta de enlace de la red #1. &prompt.root; netstat -rn Routing tables @@ -3891,69 +3999,72 @@ Destination Gateway Flags Refs Use Netif Expire ... - Como el valor de Flags lo indica, esta - es una ruta de equipo, lo que significa que cada gateway - conoce como alcalzar al otro gateway, pero no saben como - alcanzar el resto de sus respectivas redes. Ese problema - será solucionado proximamente. + Como el valor de Flags lo indica, esta + es una ruta de equipo, lo que significa que cada puerta de + enlace sabe como alcanzar la otra puerta de enlace, pero no saben + cómo llegar al resto de sus respectivas redes. Ese + problema se solucionará en breve. - Es posible que usted esté ejecutando un - firewall en ambas máquinas. Esto necesitará - ser transpasado por el tráfico VPN. Tal vez desée - permitir todo el tráfico entre ambas redes, o tal - vez quiera incluir reglas en el firewall que protejan ambos - extremos de la VPN del otro. + Es posible que disponga de un cortafuegos en ambas + máquinas, por lo que tendrá que buscar la + forma de que el tráfico de la VPN pueda entrar y + salir limpiamente. Puede permitir todo el tráfico + de ambas redes, o puede que quiera incluir reglas en el + cortafuegos para que protejan ambos extremos de la VPN uno + del otro. - Las pruebas se simplifican enormemente si configura - el firewall para permitir todo el tráfico a - través de la VPN. Siempre puede apretar las cosas - despues. Si está utilizando &man.ipfw.8; en las - máquinas gateway entonces un comando como + Las pruebas se simplifican enormemente si configura + el cortafuegos para permitir todo el tráfico a + través de la VPN. Siempre puede ajustar las cosas + después. Si utiliza &man.ipfw.8; en las puertas de + enlace una orden similar a ipfw add 1 allow ip from any to any via gif0 - permitirá todo el tráfico entre los dos - extremos de la VPN, sin afectar sus otras reglas del - firewall. Obviamente necesitará ejecutar este comando - en ambos equipos gateway. + permitirá todo el tráfico entre los dos + extremos de la VPN, sin afectar al resto de reglas del + cortafuegos. Obviamente tendrá que ejecutar esta orden + en ambas puertas de enlace. - Esto es suficiente para permitir a cada máquina - gateway hacer un ping entre ellas. En 192.168.1.1, - usted debe ser capaz de ejecutar + Esto es suficiente para permitir a cada puerta de enlace + hacer un ping entre ellas. En + 192.168.1.1 deberí poder + ejecutar ping 192.168.2.1 - y obtener una respuesta, y debe ser capaz de hacer lo - mismo en la otra máquina gateway. + y obtener una respuesta; es obvio que debería poder + hacer los mismo en la otra puerte de enlace. - De todas maneras, no será capaz de alcanzar - máquinas internas en cada red todavía. Esto - se debe al ruteo -- aunque las máquinas gateway - saben como alcanzarse entre ellas, no saben como alcanzar - la red detrás de cada una. + Aún no podrá acceder a las máquinas + internas de las redes. El problema está en el + encaminamiento: aunque las puertas de enlace saben + cómo alcanzarse mútuamente no saben cómo + llegar a la red que hay detrás de la otra. - Para resolver este problema debe añadir una ruta - estática en cada máquina gateway. El comando - para hacer esto en el primer gateway podría ser: + Para resolver este problema debe añadir una ruta + estática en cada puerta de enlace. La orden + en la primera puerta de enlace podría ser: route add 192.168.2.0 192.168.2.1 netmask 0xffffff00 - Esto significa Para alcanzar los equipos en - la red 192.168.2.0, envía - los paquetes al equipo 192.168.2.1. - Necesitará ejecutar un comando similar en el otro - gateway, pero con las direcciones + Esto significa Para alcanzar los equipos en + la red 192.168.2.0, envía + los paquetes al equipo + 192.168.2.1. + Necesitará ejecutar una orden similar en la otra + puerta de enlace, pero obviamente con las direcciones 192.168.1.x. - El tráfico IP de equipos en una red no será + El tráfico IP de equipos en una red no será capaz de alcanzar equipos en la otra red. - Eso ha creado ahora dos tercios de una VPN entre las dos - redes, de la misma manera que es virtual y - es una network. Todavía no es privada. - Puede probar esto utilizando &man.ping.8; y &man.tcpdump.1;. - Abra una sesión en el equipo gateway y ejecute + Ya tiene dos tercios de una VPN, puesto que ya es + virtual y es una red. + Todavía no es privada. Puede comprobarlo con + &man.ping.8; y &man.tcpdump.1;. Abra una sesión en + la puerta de enlace y ejecute tcpdump dst host 192.168.2.1 @@ -3961,7 +4072,7 @@ Destination Gateway Flags Refs Use Netif Expire ping 192.168.2.1 - Verá una salida que se parece algo a esta: + Verá algo muy parecido a esto: 16:10:24.018080 192.168.1.1 > 192.168.2.1: icmp: echo request @@ -3972,26 +4083,26 @@ Destination Gateway Flags Refs Use Netif Expire 16:10:26.029112 192.168.1.1 > 192.168.2.1: icmp: echo reply - Como puede ver, los mensajes ICMP van y vienen sin - encriptar. Si hubiera usado el parámetro - en &man.tcpdump.1; para tomar más bytes de datos de - estos paquetes, vería más información. + Como puede ver los mensajes ICMP van y vienen sin + cifrar. Si usa el parámetro + en &man.tcpdump.1; para tomar más bytes de datos de + estos paquetes verá más información. - Obviamente esto es inaceptable. La siguiente sección - discutirá el aseguramiento del enlace entre las dos - redes para que todo el tráfico sea encriptado - automaticamente. + Obviamente esto es inaceptable. La siguiente sección + explicará cómo asegurar el enlace entre las dos + redes para que todo el tráfico se cifre + automáticamente. Sumario: - Configure ambos kernels con pseudo-device + Configure ambos kernel con pseudo-device gif. - Edite /etc/rc.conf en el equipo - gateway #1 y agregue las siguientes líneas - (reemplazando direcciones IP según sea necesario). + Edite /etc/rc.conf en la puerta de + enlace #1 y añada las siguientes líneas + (reemplazando las direcciones IP según sea necesario). gifconfig_gif0="A.B.C.D W.X.Y.Z" ifconfig_gif0="inet 192.168.1.1 192.168.2.1 netmask 0xffffffff" static_routes="vpn" @@ -4000,57 +4111,58 @@ route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00" - Edite su script de firewall - (/etc/rc.firewall, o similar) en ambos - equipos, y agregue + Edite la configuración de su cortafuegos + (/etc/rc.firewall, o lo que corresponda) + en ambos equipos y añada ipfw add 1 allow ip from any to any via gif0 - Realice cambios similares a - /etc/rc.conf en el equipo gateway - #2, invirtiendo el orden de las direcciones IP. + Haga los cambios oportunos en el + /etc/rc.conf de la puerta de + enlace #2, invirtiendo el orden de las direcciones IP. - Paso 2: Asegurando el enlace + Paso 2: Asegurar el enlace - Para asegurar el enlace usaremos IPsec. IPsec brinda un - mecanismo para que dos equipos coincidan en una llave de - encriptación, y entonces usar esta llave para - encriptar los datos entre los dos equipos. + Para asegurar el enlace usaremos IPsec. IPsec ofrece un + mecanismo para que dos equipos coincidan en una llave de + cifrado, y usar esta llave para cifrar los datos + entre los dos equipos. - Existen dos áreas de configuración a considerar - aquí. + Existen dos áreas de configuración a + tener en cuenta: - Debe existir un mecanismo para que los dos equipos - se pongan de acuerdo en el mecanismo de encriptación - a utilizar. Una vez que los dos equipos se han puesto de - acuerdo en este mecanismo se dice que existe una - asociación de seguridad - entre ellos. + Debe existir un mecanismo para que los dos equipos + se pongan de acuerdo en el mecanismo de cifrado que van a + utilizar. Una vez que los dos equipos se han puesto de + acuerdo dice que existe una + asociación de seguridad entre + ellos. Debe existir un mecanismo para especificar que tráfico - debe ser encriptado. Obviamente, usted no desea encriptar - todo su tráfico saliente -- usted solo desea - encriptar el tráfico que es parte de la VPN. Las - reglas que usted pone para determinar que tráfico - será encriptado son llamadas políticas + debe ser cifrado. Obviamente, usted no querrá + cifrar todo su tráfico saliente: solo querrá + cifrar el tráfico que es parte de la VPN. Las + reglas con las que determinará qué tráfico + será cifrado se llaman políticas de seguridad. - Las asociaciones de seguridad y las políticas - son mantenidas por el kernel, y pueden ser modificadas - por programas de usuario. De todas maneras, antes de que usted - pueda hacer esto debe configurar el kernel para soportar IPsec y - el protocolo ESP (Encapsulated Security Payload). Esto es - realizado configurando el kernel con: + Tanto las asociaciones de seguridad como las + políticas de seguridad son responsabilidad del kernel, + pero pueden ser modificadas desde el espacio de usuario. + Antes de poder hacerlo, tendrá que configurar el kernel + para que incluya IPsec y el protocolo ESP + (Encapsulated Security Payload). Incluya en el fichero de + configuración de su kernel lo siguiente: opciones de kernel @@ -4061,24 +4173,25 @@ route_vpn="192.168.2.0 192.168.2.1 netmask 0xffffff00" options IPSEC_ESP - y recompilando, resintalando y reiniciando. Como se dijo - anteriormente, necesitará hacer esto al kernel de los - dos equipos gateway. + Recompile y resintale su kernel y reinicie. Como se dijo + anteriormente, tendrá que hacer lo mismo en el kernel + de las dos puertas de enlace. IKE - Tiene dos opciones cuando se trata de configurar - asociaciones de seguridad. Puede configurarlas a mano entre - los dos equipos, lo que significa elegir el algoritmo de - encriptación, llaves de encriptación, y demás, - o puede utilizar daemons que implementan el protocolo - de intercambio de llaves de Internet (IKE, Internet Key Exchange) - para que lo hagan por usted. + Tiene dos opciones cuando se trata de configurar + asociaciones de seguridad. Puede configurarlas a mano en + los dos equipos, lo que significa elegir el algoritmo de + cifrado, las llaves de cifrado, etc, o puede utilizar + alguno de los dæmons que implementan el protocolo + de intercambio de llaves de Internet (IKE, Internet Key + Exchange). - Yo recomiendo lo último. Aparte de cualquier otra - cosa, es más fácil de configurar. + Le recomiendo la segunda opción. Aparte de + otras consideraciones es más fácil de + configurar. IPsec @@ -4089,132 +4202,142 @@ options IPSEC_ESP setkey - Editar y desplegar políticas de seguridad es llevado - a cabo usando &man.setkey.8;. Como una analogía, - setkey es a las tablas de políticas de - seguridad del kernel lo que &man.route.8; es a las tablas de - ruteo del kernel. setkey también puede - desplegar las asociaciones de seguridad actuales, y para - continuar con la analogía, similarmente a - netstat -r es ese aspecto. + La edición y despliegue se efectúa con + &man.setkey.8;. Todo esto se entiende mejor con una + analogía. setkey es a las tablas + de políticas de seguridad del kernel lo que &man.route.8; + es a las tablas de rutas del kernel. + También puede usar setkey + ver las asociaciones de seguridad en vigor, siguiendo con + la analogía, igual que puede usar + netstat -r. - Existen un número de opciones de daemons para - administrar las asociaciones de seguridad en FreeBSD. Este - artículo describirá como usar una de ellas, - racoon — el cual está disponible como - security/racoon en la + Existen numerosos dæmons que pueden encargarse de + la gestión de asociaciones de seguridad en &os;. En + este texto se muestra cómo usar uno de ellos, + racoon (que puede instalar desde + security/racoon en la colección de ports de &os;. racoon - El software security/racoon - debe ser ejecutado en los dos equipos gateway. En cada equipo es - configurado con la dirección IP del otro extremo de la - VPN, y una llave secreta (la cual usted elije, y debe ser la misma - en ambos gateways). + El software security/racoon + debe ejecutarse en las dos puertas de enlace. En cada equipo + debe configurar la dirección IP del otro extremo de la + VPN y una llave secreta (que usted puede y debe elegir, y debe ser + la misma en ambas puertas de enlace). - Los dos daemons entonces se contactan entre ellos, confirman - que son quienes dicen ser (utilizando la llave secreta que usted - configuró). Los daemons entonces generan una nueva llave - secreta, y la utilizan para encriptar el tráfico a - través de la VPN. Periodicamente intercambian este - secreto, para que incluso si un atacante fuera a comprometer una - de las llaves (lo cual es teoricamente cercano a imposible) no - le haría mucho bien -- para cuando haya crackeado la - llave los daemons ya habrán escogido una nueva. + Los dos dæmons entran en contacto uno con otro, y confirman + que son quienes dicen ser (utilizando la llave secreta que usted + configuró). Los dæmons generan una nueva llave + secreta, y la utilizan para cifrar el tráfico que discurre a + través de la VPN. Periódicamente cambian esta + llave, para que incluso si un atacante comprometiera una + de las llaves (lo cual es teóricamente cercano a + imposible) no le serviriía de mucho: para cuando el + atacante haya crackeado la llave los dæmons + ya habrán escogido una nueva. - El archivo de configuración para racoon - está almacenado en ${PREFIX}/etc/racoon. - Debe encontrar un archivo de configuración ahí - el cual no debe necesitar ser cambiado mucho. El otro - componente de la configuración de racoon, la cual - necesitará cambiar, es la llave - precompartida. + El fichero de configuración de racoon + está en ${PREFIX}/etc/racoon. + No debería tener que hacer demasiados cambios a ese + fichero. El otro componente de la configuración de + racoon (que tendrá que + modificar) es la llave pre-compartida. - La configuración por omisión de racoon - espera encontrar esto en el archivo ${PREFIX}/etc/racoon/psk.txt. - Es importante notar que la llave precompartida no - es la llave que será utilizada para encriptar su - tráfico a través del enlace VPN, solamente es un - símbolo que permite le a los daemons que administran las + La configuración por defecto de racoon + espera encontrarla en + ${PREFIX}/etc/racoon/psk.txt. + Es importante saber que la llave precompartida no + es la llave que se utilizará para cifrar el + tráfico a través del enlace VPN; solamente es una + muestra que permite a los dæmons que administran las llaves confiar el uno en el otro. - psk.txt contiene una línea - por cada sitio remoto con el que esté tratando. En - este ejemplo, donde existen dos sitios, cada archivo - psk.txt contendrá una línea - (porque cada extremo de la VPN solo está tratando + psk.txt contiene una línea + por cada sitio remoto con el que esté tratando. En + nuestro ejemplo, donde existen dos sitios, cada fichero + psk.txt contendrá una línea + (porque cada extremo de la VPN solo está tratando con un sitio en el otro extremo). - En el equipo gateway #1 esta línea debería + En la puerta de enlace #1 esta línea debería parecerse a esta: - W.X.Y.Z secret + W.X.Y.Z secreto - Esto es, la dirección IP pública + Esto es, la dirección IP + pública del extremo remoto, un + espacio en blanco, y una cadena de texto que es el secreto + en sí. en el extremo remoto, espacio en blanco, y un texto de cadena que - proporcina el secreto. Obviamente, no debe utilizar secret - como su llave -- las reglas normales para escoger una contraseña - aplican. + proporcina el secreto. Obviamente, no debe utilizar + secret como su llave; aplique aquí las + reglas y recomendaciones habituales para la elección de + contraseñas. - En el equipo gateway #2 la línea se parecería + En la puerta de enlace #2 la línea se parecería a esta - A.B.C.D secret + A.B.C.D secreto - Esto es, la dirección IP pública del - extremo remoto, y la misma llave secreta. psk.txt - debe tener modo 0600 (ej., solo modo - lectura/escritura para root) antes de - que racoon corra. + Esto es, la dirección IP pública del + extremo remoto, y la misma llave secreta. + psk.txt debe tener modo + 0600 (es decir, modo de solo + lectura/escritura para root) antes de + que ejecute racoon. - Debe ejecutar racoon en ambas máquinas gateway. - También necesitará agregar algunas reglas de - firewall para permitir el tráfico IKE, el cual es - transportado sobre UDP al puerto ISAKMP (Internet Security - Association Key Management Protocol). De nuevo, esto debe estar - al principio de la lista de reglas del firewall. + Debe ejecutar racoon en ambas puertas de enlace. + También tendrá que añadir algunas reglas + a su cortafuegos para permitir el tráfico IKE, que se + transporta sobre UDP al puerto ISAKMP (Internet Security + Association Key Management Protocol). Esto debe estar + al principio de las reglas de su cortafuegos. ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp - Una vez que racoon este corriendo puede tratar de dar un - ping a un equipo gateway desde el otro. La conexión - todavía no está encriptada, pero entonces racoon - creará las asociaciones de seguridad entre los dos - equipos -- esto puede tomar un momento, y puede que lo vea - como un corto retraso antes de que los comandos ping - empiecen a responder. + Una vez que ejecute racoon puede tratar de hacer un + ping a una puerta de enlace desde la otra. La conexión + todavía no está cifrada porque aún no se + han creado las asociaciones de seguridad entre los dos + equipos: esto puede llevar un poco de tiempo; es posible que + advierta un pequeño retraso antes de los ping empiecen + responder. - Una vez que se han creado las asociaciones de seguridad + Una vez creadas las asociaciones de seguridad puede verlas utilizando &man.setkey.8;. Ejecute setkey -D - en cualquiera de los equipos para ver la información de - la asociación de seguridad. + en cualquiera de los equipos para comprobar la información + de la asociación de seguridad. - Eso es la mitad del problema. La otra mitad es configurar - sus políticas de seguridad. + Ya está resuelta la mitad del problema. La otra mitad es + configurar sus políticas de seguridad. - Para crear una política de seguridad sensible, vamos - a revisar lo que se ha configurado hasta el momento. Esta - discusión cuenta para ambos extremos del enlace. + Queremos crear una política de seguridad sensata, + así que vamos a revisar lo que tenemos configurado + hasta el momento. Esta revisión abarca ambos extremos + del enlace. - Cada paquete IP que usted manda tiene una cabecera que - contiene datos acerca del paquete. La cabecera incluye la - dirección IP del destino y de la fuente. Como ya sabemos, - las direcciones IP privadas, como el rango - 192.168.x.y no se supone que - aparezcan en el Internet público. En vez de eso, primero - deben ser encapsulados dentro de otro paquete. Este paquete - debe tener la dirección IP pública de destino y fuente - sustituidas por las direcciones privadas. + Cada paquete IP que usted manda tiene una cabecera que + contiene datos acerca del paquete. La cabecera incluye la + dirección IP de destino y del origen. Como ya sabemos, + las direcciones IP privadas como el rango + 192.168.x.y no deberían + aparezcan en Internet. Dado que es a través de Internet + por donde los queremos transmitir los debemos encapsular dentro + de otro paquete. Este paquete debe contener tanto la dirección + IP de destino y origen públicas sustituidas por las + direcciones privadas. - Así que si su paquete saliente empezó luciendo como este: + Así que si su paquete saliente empezó + pareciendose a este: @@ -4233,8 +4356,7 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp - Entonces será encapsulado dentro de otro paquete, - luciendo como este: + tras el encapsulado se parecerá bastante a este: @@ -4259,116 +4381,118 @@ ipfw add 1 allow udp from W.X.Y.Z to A.B.C.D isakmp - Esta encapsulación es llevada a cabo - por el dispositivo gif. Como puede - ver, el paquete ahora tiene una dirección IP real en - el exterior, y nuestro paquete original ha sido envuelto - como dato dentro del paquete que será puesto en - Internet. + El dispositivo gif se encarga + del encapsulado. Como puede ver el paquete tiene una + dirección IP real en el exterior, y nuestro paquete + original ha sido envuelto como dato dentro del paquete que + enviaremos a través de Internet. - Obviamente, queremos que todo el tráfico entre - las VPNs esté encriptado. Tal vez pueda tratar - de poner esto en palabras, como: + Obviamente, queremos que todo el tráfico entre + las VPN vaya cifrado. Pongamos esto último en + palabras para comprenderlo mejor: - Si un paquete sale desde A.B.C.D, y está destinado para - W.X.Y.Z, entonces encríptalo, + Si un paquete sale desde A.B.C.D, y tiene como destino + W.X.Y.Z, cífralo utilizando las asociaciones de seguridad necesarias. Si un paquete llega desde W.X.Y.Z, y está destinado para - A.B.C.D, entonces desencríptalo, + role="ipaddr">W.X.Y.Z, y tiene como destino + A.B.C.D, descífralo utilizando las asociaciones de seguridad necesarias. - Eso es un aproximado, pero no del todo correcto. Si hace esto, - todo el tráfico desde y hacia W.X.Y.Z, - incluso tráfico que no es parte de la VPN, será - encriptado. Eso no es exactamente lo que quiere. La política - correcta es como sigue + Este planteamiento se aproxima bastante, pero no es + exactamente lo que queremos hacer. Si lo hiciera así + todo el tráfico desde y hacia + W.X.Y.Z, incluso el tráfico + que no forma parte de la VPN, será cifrado; esto no es lo que + queremos. La política correcta es la siguiente: Si un paquete sale desde A.B.C.D, y ese paquete está - encapsulando a otro paquete, y esta destinado para - W.X.Y.Z, entonces encríptalo, + role="ipaddr">A.B.C.D, y está + encapsulando a otro paquete, y tiene como destino + W.X.Y.Z, cífralo utilizando las asociaciones de seguridad necesarias. Si un paquete llega desde W.X.Y.Z, y ese paquete está - encapsulando a otro paquete, y esta destinado para - A.B.C.D, entonces desencríptalo, + role="ipaddr">W.X.Y.Z, y está + encapsulando a otro paquete, y tiene como destino + A.B.C.D, descífralo utilizando las asociaciones de seguridad necesarias. Un cambio sutil, pero necesario. - Las políticas de seguridad también son - puestas utilizando &man.setkey.8;. &man.setkey.8; proporciona - un lenguaje de configuración para definir la - política. Puede ya sea introducir las instrucciones de - configuración vía stdin, o puede usar la opción - para especificar un nombre de archivo que + Las políticas de seguridad también se + imponen utilizando &man.setkey.8;. &man.setkey.8; proporciona + un lenguaje de configuración para definir la + política. Puede introducir las instrucciones de + configuración a través de la entrada estándar + (stdin), o puede usar la opción + para especificar un fichero que contenga las instrucciones de configuración. - La configuración en el equipo gateway #1 (el cual - tiene la dirección IP pública - A.B.C.D) para forzar que todo - el tráfico saliente hacia W.X.Y.Z - sea encriptado es: + La configuración en la puerta de enlace #1 (que + tiene la dirección IP pública + A.B.C.D) para forzar que todo + el tráfico saliente hacia + W.X.Y.Z vaya cifrado es: spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; - Ponga estos comando en un archivo (ej., - /etc/ipsec.conf) y entonces ejecute + Ponga estas órdenes en un fichero (por ejemplo + /etc/ipsec.conf) y ejecute &prompt.root; setkey -f /etc/ipsec.conf - le dice a &man.setkey.8; que - queremos agregar una regla a la base de datos de políticas - segura. El resto de esta línea especifica que paquetes - se ajustarán a esta política. + le dice a &man.setkey.8; que + queremos añadir una regla a la base de datos de + políticas de seguridad. El resto de la línea + especifica qué paquetes se ajustarán a esta + política. A.B.C.D/32 y W.X.Y.Z/32 son las direcciones IP y máscaras de red que identifican la red o equipos a los - que esta política se aplicará. En este caso, queremos - aplicarla al tráfico entre estos dos equipos. - dice que esta política aplica - a paquetes salientes, e dice que el - paquete será asegurado. + que se aplicará esta política. En nuestro caso + queremos aplicarla al tráfico entre estos dos equipos. + dice que esta política se aplica + a paquetes salientes, e hace que el + paquete sea asegurado. - La segunda línea especifica como este paquete - será encriptado. es el - protocolo que será utilizado, mientras que - indica que el paquete será - despues encapsulado en un paquete IPsec. El uso repetido de - A.B.C.D y - W.X.Y.Z es utilizado para - seleccionar la asociación de seguridad a usar, y - por último exige que los - paquetes deben ser encriptados si concuerdan con esta + La segunda línea especifica cómo será + cifrado este paquete. es el + protocolo que se utilizará, mientras que + indica que el paquete será + después encapsulado en un paquete IPsec. El uso repetido de + A.B.C.D y + W.X.Y.Z se utiliza para + seleccionar la asociación de seguridad a usar, y + por último exige que los + paquetes deben cifrarse si concuerdan con esta regla. - Esta regla solo concuerda con paquetes salientes. - Necesitará una regla similar para los paquetes + Esta regla solo concuerda con paquetes salientes. + Necesitará una regla similar para los paquetes entrantes. spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; - Note el en lugar del - en este caso, y la inversión necesaria de las direcciones + Observe el en lugar del + en este caso, y la inversión necesaria de las direcciones IP. - El otro equipo gateway (el cual tiene la dirección - IP pública W.X.Y.Z) + La otra puerta de enlace (que tiene la dirección + IP pública W.X.Y.Z) necesitará reglas similares. spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec esp/tunnel/A.B.C.D-W.X.Y.Z/require; - Finalmente, necesita añadir reglas de firewall - para permitir la circulación de paquetes ESP e IPENCAP - de ida y vuelta. Estas reglas necesitarán ser agregadas - a ambos equipos. + Finalmente, necesita añadir reglas a su cortafuegos + para permitir la circulación de paquetes ESP e IPENCAP + de ida y vuelta. Tendrá que añadir reglas como + estas a ambos equipos. ipfw add 1 allow esp from A.B.C.D to W.X.Y.Z ipfw add 1 allow esp from W.X.Y.Z to A.B.C.D @@ -4376,10 +4500,10 @@ ipfw add 1 allow ipencap from A.B.C.D to W.X.Y.Z ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D - Debido a que las reglas son simétricas puede utilizar - las mismas reglas en cada equipo gateway. + Debido a que las reglas son simétricas puede utilizar + las mismas reglas en ambas puertas de enlace. - Los paquetes salientes se verán ahora como esto: + Los paquetes salientes tendrán ahora este aspecto: @@ -4411,17 +4535,17 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D - cuando son recibidos por el extremo más lejano de la - VPN primero serán desencriptados (utilizando las - asociaciones de seguridad que han sido negociadas por racoon). - Entonces entrarán a la interfaz gif, - la cual desenvuelve la segunda capa, hasta que le deja con el - paquete más interno, el cual puede entonces viajar a - la red interna. + Cuando los paquetes llegan al otro extremo de la VPN + serán descifrados (utilizando las + asociaciones de seguridad que han sido negociadas por racoon). + Después entrarán al interfaz + gif, que desenvuelve la segunda capa, + hasta que nos quedamos con paquete má interno, que puede + entonces viajar a la red interna. - Puede revisar la seguridad utilizando la misma prueba de - &man.ping.8; anterior. Primero, inicie una sesión en - la máquina gateway A.B.C.D, + Puede revisar la seguridad utilizando la misma prueba de + &man.ping.8; anterior. Primero, inicie una sesión en + la puerta de enlace A.B.C.D, y ejecute: tcpdump dst host 192.168.2.1 @@ -4430,45 +4554,48 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D ping 192.168.2.1 - Esta vez debe ver una salida similar a la siguiente: + Debería ver algo similar a lo siguiente: XXX tcpdump output - ahora, como puede ver, &man.tcpdump.1; muestra los paquetes ESP. - Si trata de examinarlos con la opción - verá basura (aparentemente), debido a la encriptación. + ahora, como puede ver, &man.tcpdump.1; muestra los paquetes ESP. + Si trata de examinarlos con la opción + verá basura (aparentemente), debido al + cifrado. - Felicitaciones. Acaba de configurar una VPN entre dos sitios + Felicidades. Acaba de configurar una VPN entre dos sitios remotos. Sumario - Configure ambos kernels con: + Configure ambos kernel con: options IPSEC options IPSEC_ESP - Instale security/racoon. - Edite ${PREFIX}/etc/racoon/psk.txt en ambos - equipos gateway, agregando una entrada para la dirección - IP del equipo remoto y una llave secreta que ambos conozcan. - Asegúrese que este archivo tenga modo 0600. + Instale security/racoon. + Edite ${PREFIX}/etc/racoon/psk.txt en ambas + puertas de enlace añadiendo una entrada para la + dirección IP del equipo remoto y una llave secreta que + ambos conozcan. Asegúrese de que este fichero esté + en modo 0600. Añada las siguientes líneas a - /etc/rc.conf en cada equipo: + /etc/rc.conf en ambos equipos: ipsec_enable="YES" ipsec_file="/etc/ipsec.conf" - Crée un /etc/ipsec.conf en - cada equipo que contenga las líneas spdadd necesarias. - En el equipo gateway #1 esto sería: + Crée en ambos equipos un + /etc/ipsec.conf que contenga las + líneas spdadd necesarias. En la puerta de enlace + #1 sería: spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P out ipsec @@ -4477,7 +4604,7 @@ spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P in ipsec esp/tunnel/W.X.Y.Z-A.B.C.D/require; - En el equipo gateway #2 esto sería: + En la puerta de enlace #2 sería: spdadd W.X.Y.Z/32 A.B.C.D/32 ipencap -P out ipsec @@ -4487,8 +4614,9 @@ spdadd A.B.C.D/32 W.X.Y.Z/32 ipencap -P in ipsec - Agregue reglas de firewall para permitir el - tráfico IKE, ESP e IPENCAP en ambos equipos: + Añada a su(s) cortafuegos las reglas necesarias para + que permita(n) el paso de tráfico IKE, ESP e + IPENCAP en ambos equipos: ipfw add 1 allow udp from A.B.C.D to W.X.Y.Z isakmp @@ -4501,11 +4629,11 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D - Los dos pasos previos deben ser suficiente para levantar la - VPN. Las máquinas en cada red seán capaces de - referirse una a otra utilizando direcciones IP, y todo el tráfico - a través del enlace será automatica y seguramente - encriptado. + Los dos pasos previos deben bastar para levantar la VPN. + Las máquinas en cada red seán capaces de + dirigirse una a otra utilizando direcciones IP, y todo el + tráfico a través del enlace será cifrado de + forma automática y segura. @@ -4516,7 +4644,7 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D Chern Lee - Contribuido por + Escrito por @@ -4529,53 +4657,58 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D OpenSSH - OpenSSH es un conjunto de herramientas de conectividad - utilizadas para accesar máquinas remotas de manera segura. Puede ser usado - como un reemplzado directo para rlogin, - rsh, rcp y - telnet. Adicionalmente, cualquier otra conexión - TCP/IP puede ser tuneleada/reenviada de manera segura a través - de SSH. OpenSSH encripta todo el tráfico para - eliminar efectivamente el espionaje, secuestro de conexiones, y otros ataques - a nivel de red. + OpenSSH es un conjunto de herramientas + de conectividad que se usan para acceder a sistemas remotos de + forma segura. Puede usarse como sustituto directo de + rlogin, + rsh, rcp y + telnet. Además cualquier otra conexión + TCP/IP puede reenviarse o enviarse a través de un túnel a + través de SSH. + OpenSSH cifra todo el tráfico para + eliminar de forma efectiva el espionaje, el secuestro de conexiones, y + otros ataques en la capa de red. - OpenSSH es mantenido por el proyecto OpenBSD, y está - basado sobre SSH v1.2.12 con todos errores recientes corregidos y actualizaciones. - Es compatible con los protocolos SSH 1 y 2. OpenSSH ha - estado en el sistema base desde FreeBSD 4.0. + OpenSSH está a cargo del proyecto + OpenBSD, y está basado en SSH v1.2.12, con todos los errores + recientes corregidos y todas las actualizaciones correspondientes. + Es compatible con los protocolos SSH 1 y 2. + OpenSSH forma parte del sistema base desde + &os; 4.0. Ventajas de utilizar OpenSSH - Normalmente, al utilizar &man.telnet.1; o &man.rlogin.1;, - los datos son enviados a través de la red de una - forma clara, no encriptada. Cualquier olfateador de red - entre el cliente y el servidor puede robar la información - de usuario/contraseña o los datos transferidos en - su sesión. OpenSSH ofrece una - variedad de métodos de autentificación y - encriptación para prevenir que esto suceda. + Normalmente, al utilizar &man.telnet.1; o &man.rlogin.1; + los datos se envían a través de la red en limpio, + es decir, sin cifrar. Cualquier sniffer de red + entre el cliente y el servidor puede robar la información + de usuario/contraseña o los datos transferidos durante + su sesión. OpenSSH ofrece + diversos métodos de validación y cifrado para + evitar que sucedan estas cosas. - Habilitando sshd + Habilitar sshd OpenSSH - habilitando + habilitar - El daemon sshd está - habilitado por omisión en &os; 4.X y puede - ser habilitado o no durante la instalación por el - usuario en &os; 5.X. Para ver si está habilitado, - revise el archivo rc.conf por: + El dæmon sshd está + habilitado por defecto &os; 4.X y puede elegir habilitarlo + o no durante la instalación en &os; 5.X. Si quiere + saber si está habilitado revise si la siguiente + línea está en rc.conf: sshd_enable="YES" - Esto cargará &man.sshd.8;, el programa daemon de OpenSSH, - la próxima vez que su sistema inicie. Alternativamente, - puede simplemente correr directamente el daemon sshd - tecleando sshd en la línea de comando. + Esta línea cargará &man.sshd.8;, el programa + dæmon de OpenSSH, en el arranque + de su sistema. Puede ejecutar el dæmon + sshd tecleando + sshd en la línea de órdenes. @@ -4585,39 +4718,40 @@ ipfw add 1 allow ipencap from W.X.Y.Z to A.B.C.D cliente - La utilidad &man.ssh.1; funciona de manera + &man.ssh.1; funciona de manera similar a &man.rlogin.1;. &prompt.root; ssh user@example.com Host key not found from the list of known hosts. Are you sure you want to continue connecting (yes/no)? yes -Host 'example.com' added to the list of known hosts. -user@example.com's password: ******* +Host 'ejemplo.com' added to the list of known hosts. +usuario@ejemplo.com's password: ******* - El login continuará como si lo haría si fuera - una sesión utilizando rlogin o - telnet. SSH utiliza un sistema de huellas de - llaves para verificar la autenticidad del servidor cuando el - cliente se conecta. Al usuario se le pide que introduzca - yes solamente la primera vez que se - conecta. Todos los intentos futuros de login son verificados - contra la huella de la llave salvada. El cliente SSH le alertará - si la huella guardada difiere de la huella recibida en intentos - de login futuros. Las huellas son almacenadas en - ~/.ssh/known_hosts, o en - ~/.ssh/known_hosts2 para huellas + El login continuará como lo haría si fuera + una sesión de rlogin o + telnet. SSH utiliza un sistema de huellas de + llaves para verificar la autenticidad del servidor cuando el + cliente se conecta. Se le pide al usuario que introduzca + yes solamente la primera vez que se + conecta. Todos los intentos futuros de login se verifican + contra la huella de la llave guardada la primera vez. + El cliente SSH le alertará si la huella guardada difiere + de la huella recibida en futuros intentos de acceso al sistema. + Las huellas se guardan en + ~/.ssh/known_hosts, y en + ~/.ssh/known_hosts2 las huellas SSH v2. - Por omisión, versiones recientes de - los servidores OpenSSH solamente - aceptan conexiones SSH v2. El cliente utilizará la - versión 2 de ser posible y pasará como - respaldo a la versión 1. El cliente puede también - ser forzado a utilizar una u otra pasándole - o para versión 1 o versión 2 - respectivamente. La compatibilidad de versión 1 es - mantenida en el cliente para compatibilidad con versiones - antiguas. + Por defecto las versiones recientes de + los servidores OpenSSH solamente + aceptan conexiones SSH v2. El cliente utilizará la + versión 2 si es posible y pasará como + respaldo a la versión 1. El cliente puede también + ser obligado a utilizar una u otra pasándole + o , respectivamente para + la versión 1 y la versión 2. Se mantiene la + compatibilidad del cliente con la versión 1 para + mantener la compatibilidad con versiones antiguas. @@ -4628,27 +4762,26 @@ user@example.com's password: ******* scp - El comando &man.scp.1; funciona de manera - similar a &man.rcp.1;; copia un archivo desde o hacia - una máquina remota, excepto que lo hace de - una forma segura. + &man.scp.1; funciona de manera muy similar a &man.rcp.1;; + copia un fichero desde o hacia un sistema remoto, con la + diferencia de que lo hace de una forma segura. - &prompt.root; scp user@example.com:/COPYRIGHT COPYRIGHT -user@example.com's password: ******* + &prompt.root; scp usuario@ejemplo.com:/COPYRIGHT COPYRIGHT +usuario@ejemplo.com's password: ******* COPYRIGHT 100% |*****************************| 4735 00:00 &prompt.root; - Ya que la huella fué ya salvada para este equipo en - el ejemplo anterior, es verificada al utilizar &man.scp.1; - aquí. + Ya que la huella se guardó en este equipo durante + el ejemplo anterior se verifica ahora al utilizar + &man.scp.1;. - Los argumentos pasados a &man.scp.1; son similares - a &man.cp.1;, con el archivo o archivos en el primer - argumento, y el destino en el segundo. Ya que el archivo - es transferido a través de la red, a través de - SSH, uno o más argumentos toman la forma - . + Los argumentos de &man.scp.1; son similares + a &man.cp.1;, con el fichero o ficheros como primer + argumento, y el destino como segundo. Ya que el fichero + se transfiere a través de la red, a través de + SSH, uno o más argumentos tienen la estructura + . @@ -4659,26 +4792,26 @@ COPYRIGHT 100% |*****************************| 4735 configuración - Los archivos de configuración del sistema - para el daemon OpenSSH y el - cliente reside dentro del directorio /etc/ssh. + Los ficheros de configuración del sistema + tanto para el dæmon OpenSSH + como para el cliente están en + /etc/ssh. - ssh_config configura las opciones - del cliente, mientras que sshd_config - configura el daemon. + ssh_config contiene las opciones + del cliente, mientras que sshd_config + configura el dæmon. - Adicionalmente, las opciones - (/usr/sbin/sshd por omisión), - y de rc.conf - pueden brindar más niveles de configuración. + Además las opciones + (/usr/sbin/sshd por defecto), + y de rc.conf + ofrecer más niveles de configuración. ssh-keygen - En lugar de utilizar contraseñas, &man.ssh-keygen.1; - puede ser utilizado para generar llaves DSA o RSA para - autentificar a un usuario: + &man.ssh-keygen.1; le permite validar a un usuario sin + pedirle la contraseña:< &prompt.user; ssh-keygen -t dsa Generating public/private dsa key pair. @@ -4689,60 +4822,61 @@ Enter same passphrase again: Your identification has been saved in /home/user/.ssh/id_dsa. Your public key has been saved in /home/user/.ssh/id_dsa.pub. The key fingerprint is: -bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 user@host.example.com +bb:48:db:f2:93:57:80:b6:aa:bc:f5:d5:ba:8f:79:17 usuario@host.ejemplo.com - &man.ssh-keygen.1; creará un par de llaves - pública y privada para usar en la autentificación. - La llave privada es almacenada en - ~/.ssh/id_dsa o en - ~/.ssh/id_rsa, mientras que la llave - pública es almacenada en ~/.ssh/id_dsa.pub - o en ~/.ssh/id_rsa.pub, respectivamente para - tipos de llave DSA y RSA. La llave pública debe ser - colocada en ~/.ssh/authorized_keys de la - máquina remota para que la configuración funcione. - Similarmente, llaves RSA versión 1 deben ser colocadas en + &man.ssh-keygen.1; creará un par de llaves + pública y privada para usar en la validación. + La llave privada se guarda en + ~/.ssh/id_dsa o en + ~/.ssh/id_rsa, mientras que la llave + pública se guarda en ~/.ssh/id_dsa.pub + o en ~/.ssh/id_rsa.pub, respectivamente para + llaves DSA y RSA. La llave pública debe guardarse en + el ~/.ssh/authorized_keys de la + máquina remota para que la configuración funcione. + Las llaves RSA versión 1 deben guardarse en ~/.ssh/authorized_keys. - Esto permitirá conexiones a la máquina remota - basándose en llaves SSH en lugar de contraseñas. + De este modo permitirá conexiones a la máquina + remota mediante llaves SSH en lugar de contraseñas. - Si una frase es utilizada en &man.ssh-keygen.1;, se le - pedirá al usuario una contraseña cada - vez para poder utilizar la llave privada. &man.ssh-agent.1; - puede aliviar el esfuerzo de introducir repetidamente - frases largas, y esto es explorado en la sección - abajo. + Si usa una contraseña al ejecutar &man.ssh-keygen.1;, se + le pedirá al usuario una contraseña cada + vez que quiera utilizar la llave privada. &man.ssh-agent.1; + puede evitar la molestia de introducir repetidamente + frases largas. esto se explica má adelante, en la + . - Las varias opciones y archivos pueden ser - diferentes de acuerdo a la versión de OpenSSH - que tenga en su propio sistema; para evitar problemas debe - consultar la página de manual &man.ssh-keygen.1;. + Las opciones y ficheros pueden ser + diferentes según la versión de + OpenSSH que tenga en su sistema; para + evitar problemas consulte la página de manual + &man.ssh-keygen.1;. ssh-agent y ssh-add - Las utilidades &man.ssh-agent.1; y &man.ssh-add.1; brindan - métodos para que llaves SSH - sean cargadas en memoria para su uso, sin tener que necesitar - el tecleo de la frase cada vez. + &man.ssh-agent.1; y &man.ssh-add.1; ofrecen + métodos para que las llaves SSH + se puedan cargar en memoria, permitiendo eliminar la necesidad de + teclear la contraseña cada vez que haga falta. - La utilidad &man.ssh-agent.1; manejará la - autentificación utilizando la llave(s) privada que se - le cargó. &man.ssh-agent.1; debe ser utilizado para - lanzar otra aplicación. En el nivel más básico, - puede generar un shell o a un nivel más avanzado, un - manejador de ventanas. + &man.ssh-agent.1; gestionará la + validación utilizando la llave (o llaves) privada que + le cargue. &man.ssh-agent.1; se usa para lanzar otras + aplicaciones. En el nivel más básico + puede generar una shell o a un nivel más avanzado un + gestor de ventanas. - Para usar &man.ssh-agent.1; en un shell, primero necesitará - ser generado con un shell como argumento. Segundo, la - identidad necesita ser añadida ejecutando &man.ssh-add.1; - y brindando la frase para la llave privada. Una vez que se han - completado estos pasos el usuario será capaz de hacer - &man.ssh.1; a cualquier equipo que tenga instalada la llave - pública correspondiente. Por ejemplo: + Para usar &man.ssh-agent.1; en una shell necesitará + primero ser invocado como argumento por una shell. Segundo, + añada la identidad ejecutando &man.ssh-add.1; y facilitando + la contraseña de la llave privada. Completados estos + pasos el usuario puede hacer &man.ssh.1; a cualquier equipo + que tenga instalada la llave pública correspondiente. + Por ejemplo: &prompt.user; ssh-agent csh &prompt.user; ssh-add @@ -4750,22 +4884,20 @@ Enter passphrase for /home/user/.ssh/id_dsa: Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) &prompt.user; - Para utilizar &man.ssh-agent.1; en X11, una - llamada a &man.ssh-agent.1; necesitará ser - colocada en ~/.xinitrc. Esto - brindará los servicios de &man.ssh-agent.1; - a todos los programas lanzados en X11. - Un archivo ~/.xinitrc de ejemplo - podría lucir como este: + Para utilizar &man.ssh-agent.1; en X11 tendrá que + incluir una llamada a &man.ssh-agent.1; en + ~/.xinitrc. De este modo ofrecerá + los servicios de &man.ssh-agent.1; a todos los programas + lanzados en X11. Veamos un ejemplo de + ~/.xinitrc: exec ssh-agent startxfce4 - Esto lanzaría &man.ssh-agent.1;, el cual a su - vez lanzaría XFCE, cada - vez que inicie X11. Entonces una vez que se ha hecho y X11 - ha sido reiniciado para que los cambios tomen efecto, - simplemente ejecute &man.ssh-add.1; para cargar todas sus - llaves SSH. + Esto lanzaría &man.ssh-agent.1;, que a su + vez lanzaría XFCE cada + vez que inicie X11. Hecho esto y una vez reiniciado X11 + para aplicar los cambios puede ejecutar &man.ssh-add.1; para + cargar todas sus llaves SSH. @@ -4775,25 +4907,26 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) túneles - OpenSSH tiene la habilidad de crear un tunel para - encapsular otro protocolo en una sesión encriptada. + OpenSSH permite crear un túnel + en el que encapsular otro protocolo en una sesión + cifrada. - El siguiente comando le dice a &man.ssh.1; que realice un - tunel para telnet: + La siguiente orden le dice a &man.ssh.1; que cree un + túnel para telnet: - &prompt.user; ssh -2 -N -f -L 5023:localhost:23 user@foo.example.com + &prompt.user; ssh -2 -N -f -L 5023:localhost:23 usuario@foo.ejemplo.com &prompt.user; - El comando ssh es utilizado con - las siguientes opciones: + Veamos las opciones que se le han suministrado a + ssh: - Obliga a ssh a utilizar la - versión 2 del protocolo. (No utilizar si + Obliga a ssh a utilizar la + versión 2 del protocolo. (No la use si está trabajando con servidores SSH antiguos) @@ -4802,8 +4935,9 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) - Indica no comando, o solamente tunel. Si se omite, - ssh iniciaría una sesión + Indica que no se ejecutará una orden remota, o + solamente túnel. Si se omite, + ssh iniciaría una sesión normal. @@ -4812,7 +4946,7 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) - Obliga a ssh a ejecutarse + Obliga a ssh a ejecutarse en segundo plano. @@ -4821,13 +4955,13 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) - Indica un tunel local de la manera + Indica un túnel local según el esquema puerto local:equipo remoto:puerto remoto. - + El servidor SSH remoto. @@ -4836,41 +4970,39 @@ Identity added: /home/user/.ssh/id_dsa (/home/user/.ssh/id_dsa) - Un tunel SSH funciona creando un socket que escucha - en localhost en el puerto especificado. - Entonces reenvía cualquier conexión - recibida en el puerto/equipo local vía la + Un túnel SSH crea un socket que escucha + en localhost en el puerto especificado. + Luego reenvía cualquier conexión + recibida en el puerto/equipo local vía la conexión SSH al puerto o equipo remoto especificado. - En el ejemplo, el puerto 5023 en - localhost está diendo reenviado al - puerto 23 en el localhost - de la máquina remota. Ya que 23 es - telnet, esto crearía una sesión - telnet segura a través de un tunel - SSH. + En el ejemplo el puerto 5023 en + localhost se reenvía al puerto + 23 del localhost + de la máquina remota. Ya que 23 + es telnet, esto crearía una + sesión telnet segura a + través de un túnel SSH. - Esto puede ser utilizado para envolver cualquier - número de protocolos inseguros TCP como SMTP, - POP3, FTP, etc. + Puede usar esto para encapsular cualquier otro + protocolo TCP inseguro como SMTP, POP3, FTP, etc. - Usando SSH para crear un túnel seguro para SMTP + Uso de SSH para crear un túnel seguro para SMTP - &prompt.user; ssh -2 -N -f -L 5025:localhost:25 user@mailserver.example.com -user@mailserver.example.com's password: ***** + &prompt.user; ssh -2 -N -f -L 5025:localhost:25 usuario@correo.ejemplo.com +usuario@correo.ejemplo.com's password: ***** &prompt.user; telnet localhost 5025 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. -220 mailserver.example.com ESMTP +220 correo.ejemplo.com ESMTP - Esto puede utilizarse junto con - &man.ssh-keygen.1; y cuentas de usuario adicional para - crear un ambiente más transparente/libre de problemas. - Las llaves pueden ser usadas en lugar de teclear una - contraseña, y los túneles pueden ser - ejecutados como un usuario separado. + Puede usar esta técnica junto con &man.ssh-keygen.1; + y cuentas adicionales de usuario para crear un entorno + más transparente, esto es, más cómodo. + Puede usar llaves en lugar de teclear contraseñas y + puede ejecutar los túneles de varios usuarios. @@ -4879,54 +5011,56 @@ Escape character is '^]'. Acceso seguro a un servidor POP3 - En el trabajo hay un servidor SSH que acepta - conexiones desde el exterior. En la misma red de la - oficina reside un servidor de correo corriendo un - servidor POP3. La red, o ruta de red entre su casa y - oficina puede o no ser completamente confiable. Debido - a esto, necesita revisar su correo electrónico - de manera segura. La solución es crear una - conexión SSH al servidor SSH de su oficina, y + En el trabajo hay un servidor SSH que acepta + conexiones desde el exterior. En la misma red de la + oficina reside un servidor de correo que ejecuta un + servidor POP3. La red, o ruta de red entre su casa y + oficina puede o no ser completamente de fiar. Debido + a esto necesita revisar su correo electrónico + de forma segura. La solución es crear una + conexión SSH al servidor SSH de su oficina y llegar por un túnel al servidor de correo. - &prompt.user; ssh -2 -N -f -L 2110:mail.example.com:110 user@ssh-server.example.com -user@ssh-server.example.com's password: ****** + &prompt.user; ssh -2 -N -f -L 2110:correo.ejemplo.com:110 usuario@servidor-ssh.ejemplo.com +usuario@servidor-ssh.ejemplo.com's password: ****** - cuando el túnel esté levantado y funcionando, - puede apuntar su cliente de correo para enviar peticiones - POP3 a localhost en el puerto 2110. - Una conexión será reenviada de manera segura - a traveés del túnel a mail.example.com. + cuando el túnel esté funcionando + haga que su cliente de correo envíe peticiones + POP3 a localhost en el puerto 2110. + La conexión será reenviada de forma totalmente + segura a traveés del túnel a + correo.ejemplo.com. - Saltándose un firewall draconiano + Saltarse un cortafuegos draconiano - Algunos administradores de red imponen reglas de - firewall extremadamente draconianas, filtrando no - solamente conexiones entrantes, sino también - conexiones salientes. Tal vez solo se le otorgue acceso - para contactar máquinas remotas en los puertos 22 + Algunos administradores de red imponen reglas de + cortafuegos extremadamente draconianas, filtrando no + solo las conexiones entrantes, sino también + las salientes. Tal vez solo se le otorgue acceso + a máquinas remotas a través de los puertos 22 y 80 para ssh y navegar en web. - Tal vez quiera accesar otros (quizás no - relacionados al trabajo) servicios, como un servidor - Ogg Vorbis para escuchar música. Si este - servidor Ogg Vorbis está transmitiendo en algún - otro puerto diferente de 22 y 80, no podrá tener - acceso a él. + Tal vez quiera acceder a otros servicios + (que tal vez ni siquiera estén relacionados con el + trabajo), como un servidor Ogg Vorbis para escuchar + música. Si ese servidor Ogg Vorbis transmite en + un puerto que no sea el 22 o el 80 no podrá tener + acceso a él. - La solución es crear una conexión SSH - fuera del firewall de su red, y utilizarla para hacer un + La solución es crear una conexión SSH + fuera del cortafuegos de su red y utilizarla para hacer un túnel al servidor Ogg Vorbis. - &prompt.user; ssh -2 -N -f -L 8888:music.example.com:8000 user@unfirewalled-system.example.org -user@unfirewalled-system.example.org's password: ******* + &prompt.user; ssh -2 -N -f -L 8888:musica.ejemplo.com:8000 usuario@sistema-no-filtrado.ejemplo.org +usuario@sistema-no-filtrado.ejemplo.org's password: ******* - Su cliente de música puede ahora ser - apuntado a localhost puerto 8888, - el cual será reenviado a music.example.com - puerto 8000, evadiendo con éxito el firewall. + Haga que el programa con el que suele escuchar + música haga peticiones a + localhost puerto 8888, que será + reenviado a musica.ejemplo.com + puerto 8000, evadiendo con éxito el cortafuegos. @@ -4934,43 +5068,44 @@ user@unfirewalled-system.example.org's password: *******< La opción de usuarios <varname>AllowUsers</varname> - Es siempre una buena idea limitar que usuarios pueden - entrar y desde donde. La opción AllowUsers - es una buena manera de lograr esto. Por ejemplo, para permitir - solamente entrada al usuario root desde - 192.168.1.32, algo como esto - podría ser apropiado en el archivo + Limitar qué usuarios pueden entrar y desde dónde + suele ser razonable. La opción + AllowUsers le permite configurarlo, por + ejemplo, para permitir entrar solamente al usuario + root desde + 192.168.1.32. Puede hacerlo + con algo parecido a esto en /etc/ssh/sshd_config: AllowUsers root@192.168.1.32 - Para permitir al usuario admin la - entrada desde cualquier lugar, solamente liste el nombre + Para permitir al usuario admin la + entrada desde cualquier lugar, solamente introduzca el nombre de usuario: AllowUsers admin - Múltiples usuarios pueden ser listados en la misma - línea, como: + Puede listar múltiples usuarios en la misma + línea: AllowUsers root@192.168.1.32 admin - Es importante que liste cada usuario que necesite entrar - a esta máquina; de otra forma no podrán entrar. + Es importante que incluya a cada usuario que necesite entrar + a esta máquina o no podrán entrar. - Despues de hacer los cambios a - /etc/ssh/sshd_config debe decirle a - &man.sshd.8; que cargue de nuevo sus archivos de + Después de hacer los cambios a b + /etc/ssh/sshd_config debe decirle a + &man.sshd.8; que cargue de nuevo sus ficheros de configuración ejecutando: &prompt.root; /etc/rc.d/sshd reload - Más lecturas + Lecturas complementarias OpenSSH &man.ssh.1; &man.scp.1; &man.ssh-keygen.1; &man.ssh-agent.1; &man.ssh-add.1; &man.ssh.config.5; @@ -4991,108 +5126,114 @@ user@unfirewalled-system.example.org's password: *******< ACL - Listas de control de acceso a sistemas de archivos + Listas de control de acceso a sistemas de ficheros - Junto a mejoramientos del sistema de archivos como instantáneas - (snapshots), FreeBSD 5.0 y posteriores ofrecen la seguridad de - listas de control de acceso a sistemas de archivos - (ACLs, Access Control Lists). + Además de otras mejoras del sistema de ficheros como + las instantáneas (snapshots), &os; 5.0 y + siguientes ofrecen las ACL (Access Control Lists, + listas de control de acceso) como un elemento más de + seguridad. - Las listas de control de acceso extienden el modelo de - permisos estándar de &unix; de una manera altamente - compatible (&posix;.1e). Esta opción le permite a un - administrador hacer uso y tomar ventaja de un modelo de - seguridad más sofisticado. + Las listas de control de acceso extienden el modelo de + permisos estándar de &unix; de una manera altamente + compatible (&posix;.1e). Esta opción permite al + administrador usar con gran provecho un modelo de seguridad + más sofisticado. - Para habilitar soporte de ACL para sistemas - de archivos UFS, la siguiente opción: + Para habilitar soporte de ACL en sistemas + de ficheros UFS la siguiente opción: options UFS_ACL - debe ser compilada en el kernel. Si esta opción - no ha sido compilada, un mensaje de advertencia será - desplegado cuando se intente montar un sistema de archivos - soportando ACLs. Esta opción es - incluida en el kernel GENERIC. - ACLs dependen que atributos extendidos sean - habilitados en el sistema de archivos. Los atributos extendidos - están soportados nativamente en la próxima - generación de sistemas de archivos &unix;, UFS2. + debe ser compilada en el kernel. Si esta opción + no ha sido compilada, se mostrará un mensaje de advertencia + si se intenta montar un sistema de ficheros que soporte + ACL. Esta opción viene incluida + en el kernel GENERIC. + Las ACL dependen de los atributos extendidos + habilitados en el sistema de ficheros. Los atributos extendidos + están incluidos por defecto en la nueva generación + de sistemas de ficheros &unix; UFS2. - Un nivel mas elevado de carga adminitrativa es requerido - para configurar atributos extendidos en UFS1 - que en UFS2. El desempeño de atributos - extendidos en UFS2 también es substancialmente - más elevado. Como resultado, UFS2 es - generalmente recomendado respecto a UFS1 - en preferencia para su uso con listas de control de acceso. + Los atributos extendidos pueden usarse también + en UFS1 pero requieren una carga de trabajo + mucho más elevada que en UFS2. + El rendimiento de los atributos extendidos es, también, + notablemente mayor en UFS2. Por todo esto + si quiere usar ACL le recomendamos encarecidamente que use + UFS2. - ACLs son habilitadas por la bandera administrativa - al momento de montaje, , la cual puede ser añadida - a /etc/fstab. La bandera de montaje puede también - ser automaticamente activada de una manera persistente utilizando - &man.tunefs.8; para modificar una bandera de superbloque ACLs - en la cabecera del sistema de archivos. En general, es preferible utilizar - la bandera de superbloque por varias razones: + LasACL se habilitadan mediante una bandera + administrativa durante el montaje, , en el fichero + /etc/fstab. La bandera de montaje puede + también activarse de forma permanente mediante + &man.tunefs.8; para modificar una bandera de superbloque + ACLs en la cabecera del sistema de ficheros. + En general es preferible usar la bandera de superbloque por + varios motivos: - La bandera de montaje ACLs no puede ser cambiada - por un remontaje (&man.mount.8; ), solamente con - un completo &man.umount.8; y un &man.mount.8; fresco. Esto significa - que no se pueden habilitar ACLs en el sistema de - archivos raíz despues del arranque. También significa - que no puede cambiar la disposición de un sistema de archivos - una vez que está en uso. + La bandera de montaje ACL no puede cambiarse + por un remontaje (&man.mount.8; ), sino con un + completo &man.umount.8; y un &man.mount.8;. Esto significa + que no se pueden habilitar las ACL en el sistema + de ficheros raíz después del arranque. También + significa que no se puede cambiar la disposición de un + de ficheros una vez que se ha comenzado a usar. - Activando la bandera de superbloque provocará que el sistema - de archivos sea siempre montado con ACLs habilitadas - incluso si no existe una entrada en fstab o si los - dispositivos se reordenan. Esto previene un montado accidental del - sistema de archivos sin tener las ACLs habilitadas, - lo cual puede resultar en que se impongan de manera inadecuada las - ACLs, y por consecuencia un problema de seguridad. + Activar la bandera de superbloque provocará que el sistema + de ficheros se monte siempre con las ACL + habilitadas incluso si no existe una entrada en + fstab o si los dispositivos se reordenan. + Esto es así para prevenir un montaje accidental del + sistema de ficheros sin tener las ACL habilitadas, + que podría resultar en que se impongan de forma inadecuada las + ACL, y en consecuencia problema de + seguridad. - Podemos cambiar el comportamiento de las ACLs para - permitirle a la bandera ser habilitada sin un &man.mount.8; completo, pero - lo consideramos deseable para deshalentar montados accidentales sin - ACLs habilitadas, porque puede disparase a los pies muy - feamente si habilita ACLs, luego las deshabilita, luego las - habilita nuevamente sin borrar los atributos extendidos. En general, una vez que - que se han habilitado ACLs en un sistema de archivos, no deben - ser dehabilitadas, ya que la protección de archivos resultante puede no - ser compatible con aquellas pretendidas por los usuarios del sistema, y rehabilitando - las ACLs pueden re-pegar las ACLs previas - a archivos que han tenido cambios en sus permisos desde eso, resultando en - otra conducta impredecible. + Podemos cambiar el comportamiento de las + ACL para permitirle a la bandera ser habilitada + sin un &man.mount.8; completo, pero puede salirle el tiro por la + culata si activa las ACL, luego las desactiva, + y después las vuelve a activar sin configurar desde cero las + atributos extendidos. En general, una vez que se han deshabilitado + las ACL en un sistema de ficheros no deben + dehabilitarse, ya que la protección de ficheros resultante + puede no ser compatible las que esperan los usuarios del sistema, + y al volver a activar las ACL volver a asignar + las ACL a ficheros cuyos permisos hubieran sido + cambiados, lo que puede desenbocar en un escenario + impredecible. - Los sistemas de archivos con ACLs habilitadas mostrarán - un signo + (más) en sus configuraciones de permisos - al visualizarlos. Por ejemplo: + Los sistemas de ficheros con ACL habilitadas + tienen un signo + (más) al visualizar + sus configuraciones de permisos. Por ejemplo: drwx------ 2 robert robert 512 Dec 27 11:54 private -drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directory1 -drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directory2 -drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directory3 +drwxrwx---+ 2 robert robert 512 Dec 23 10:57 directorio1 +drwxrwx---+ 2 robert robert 512 Dec 22 10:20 directorio2 +drwxrwx---+ 2 robert robert 512 Dec 27 11:57 directorio3 drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html - Aquí vemos que los directorios directory1, - directory2, y directory3 - están todos tomando ventaja de las ACLs. + Aquí vemos que los directorios + directorio1, + directorio2, y directorio3 + están usando ACL. El directorio public_html no. - Haciendo uso de <acronym>ACL</acronym>s + Uso de <acronym>ACL</acronym> - Las ACLs del sistema de archivo pueden - ser visualizadas por la utilidad &man.getfacl.1;. Por ejemplo, - para ver las configuraciones de ACL en el - archivo test, uno podría - usar el comando: + Las ACLs del sistema de ficheros pueden + comprobarse con &man.getfacl.1;. Por ejemplo, + para ver las configuraciones de ACL del + fichero test, uno podría + usar lo siguiente: &prompt.user; getfacl test #file:test @@ -5102,30 +5243,29 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html group::r-- other::r-- - Para cambiar las configuraciones ACL en - este archivo, invoque la utilidad &man.setfacl.1;. Observe: + Para cambiar las configuraciones de las ACL en + este fichero use &man.setfacl.1;. Observe: &prompt.user; setfacl -k test - La bandera eliminará todas - las ACLs definidas actualmente de un - archivo o sistema de archivos. El método más - preferible sería utilizar ya que - deja los campos básicos requeridos para que - funcionen las ACLs. + La bandera eliminará todas + las ACLs definidas para un fichero o sistema + ficheros. El método preferible sería utilizar + , ya que deja los campos básicos + imprescindibles para que las ACL sigan + funcionando. &prompt.user; setfacl -m u:trhodes:rwx,group:web:r--,o::--- test - En el comando antes mencionado, la opción - fué usada para modificar las - entradas ACL por omisión. - Debido a que no hubieron entradas predefinidas, como - fueron removidas por el comando previo, esto restaurará - las opciones por omisión y asignará las - opciones listadas. Tome precauciones para notar que si agrega - un usuario o grupo el cual no existe en el sistema, - un error de Invalid argument será - impreso en stdout. + La opción se usa para modificar + las entradas por defecto de las ACL. + Debido a que no había entradas predefinidas puesto que + fueron eliminadas por la orden anterior, restauraremos las + opciones por defecto y asignará las opciones listadas. + Tenga en cuenta que si añade un nuevo usuario o grupo + aparecerá el error Invalid argument + en la salida estándar + stdout. @@ -5135,7 +5275,7 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html Tom Rhodes - Contribuido por + Texto de @@ -5143,61 +5283,64 @@ drwxr-xr-x 2 robert robert 512 Nov 10 11:54 public_html Portaudit - Monitoreando asuntos de seguridad de terceros + Monitorización de fallos de seguridad de aplicaciones - En años recientes, el mundo de la seguridad ha hecho - muchos mejoramientos en como se maneja la evaluación de - vulnerabilidades. La amenaza de instrusiones al sistema - incrementa cuando utilidades de terceros son instaladas - y configuradas para virtualmente cualquier sistema operativo - disponible hoy en día. + En estos últimos años el mundo de la seguridad + ha hecho grandes avances en cuanto a la gestión de las + vulnerabilidades. La amenaza de asaltos a los sistemas se + incrementa cuando se instalan y configuran aplicaciones de + muy diversas procedencias en virtualmente cualquier sistema + operativo disponible. - La evaluación de vulnerabilidades es un factor - clave en la seguridad, y mientras &os; libera advertencias - para el sistema base, hacerlo para cada utilidad de terceros - está mas allá de la capacidad del proyecto - &os;. Existe una manera de mitigar las vulnerabilidades de - terceros y advertir a los administradores de incidentes de - seguridad conocidos. Una utilidad agregada de &os; conocida - como Portaudit existe solamente - con este propósito. + La evaluación de vulnerabilidades es un factor + clave en la seguridad; aunque &os; libere avisos de seguridad + relacionados con el sistema base, llevar la gestión + de vulnerabilidades hasta cada aplicación que se puede + instalar en &os; va mucho más allá de la capacidad + del proyecto &os;. A pesar de esto existe una forma de + mitigar las vulnerabilidades de esas aplicaciones y advertir + a los administradores sobre los problemas de seguridad a + medida que se detectan. Portaudit + existe para hacer ese trabajo. - El port security/portaudit - consulta una base de datos, actualizada y mantenida por el - equipo de seguridad y por los desarrolladores de &os;, por - incidentes de seguridad conocidos. + El port security/portaudit + consulta una base de datos, actualizada y mantenida por el + equipo de seguridad y por los desarrolladores de &os; en busca de + incidentes de seguridad que hayan sido detectados. - Para empezar a usar Portaudit, - primero se debe instalar desde la colección de ports: + Si quiere usar Portaudit + instálelo desde la colección de ports: &prompt.root; cd /usr/ports/security/portaudit && make install clean - Durante el proceso de instalación, los archivos - de configuración para &man.periodic.8; serán - actualizados, permitiendole a Portaudit - aparecer en la ejecución diaria de seguridad. Asegúrese - que el correo de la ejecución diaria de seguridad, el cual - es enviado a la cuenta de correo de root, sea - leído. No se requiere ninguna otra configuración - aquí. + Durante el proceso de instalación los ficheros + de configuración de &man.periodic.8; se actualizan + haciendo que Portaudit + aparezca en el mensaje sobre la seguridad del sistema que diariamente + Recuerde que ese correo (que se envia a la cuenta + root es muy importante y debería + leerlo. No hay ninguna + configuración que deba modificar o crear. - Despues de la instalación, un administrador debe - actualizar la base de datos almacenada localmente en - /var/db/portaudit invocando - el siguiente comando: + Después de la instalación un administrador debe + actualizar la base de datos alojada en local en + /var/db/portaudit + mediante: &prompt.root; portaudit -F - La base de datos será automaticamente actualizada - durante la ejecución de &man.periodic.8;; así - que el comando anterior es completamente opcional. Solo es - requerido para los siguientes ejemplos. + La base de datos será actualizada + automáticamente durante la ejecución de + &man.periodic.8;; así que la orden anterior es + totalmente opcional. Solo se necesita para los siguientes + ejemplos. - Para auditar las utilidades de terceros instaladas como - parte de la colección de ports, un administrador solo - necesita correr el siguiente comando: + Si quiere comproblar si entre las aplicaciones que haya + instalado desde el árbol de ports en su sistema hay + problemas de seguridad sólo tiene que ejecutar lo + siguiente: &prompt.root; portaudit -a @@ -5211,15 +5354,16 @@ Reference: <http://www.FreeBSD.org/ports/portaudit/40a3bca2-6809-11d9-a9e7-00 You are advised to update or deinstall the affected package(s) immediately. - Apuntando un navegador de web a la URL - mostrada, un administrador puede obtener más información - acerca de la vulnerabilidad en cuestión. Esto incluirá - versiones afectadas, por versión de port de &os;, junto con - otros sitios web que contengan advertencias de seguridad. + El administrador del sistema obtendrá mucha más + información sobre el problema de seguridad dirigiendo su + navegador web a la URL que aparece en el + mensaje. Esto incluye versiones afectadas (por versión de + port de &os;), junto con otros sitios web que contengan advertencias + de seguridad. - En corto, Portaudit es una utilidad - poderosa y extremadamente útil cuando se acopla con el - port Portupgrade. + En pocas palabras, Portaudit es un + programa muy poderoso y extremadamente útil cuando se + combina con el port Portupgrade. @@ -5228,7 +5372,7 @@ You are advised to update or deinstall the affected package(s) immediately. Tom Rhodes - Contribuido por + Texto de @@ -5237,20 +5381,22 @@ You are advised to update or deinstall the affected package(s) immediately. &os; Security Advisories - Como muchos sistemas operativos con calidad de producción, - &os; publica advertencias de seguridad. Estas - advertencias son usualmente enviadas por correo a las listas de - seguridad y anotadas en la Errata solamente despues de que la - release apropiada ha sido parchada. Esta sección trabajará - para explicar que es una advertencia de seguridad, como entenderla - y que medidas hay que tomar para parchar el sistema. + Como muchos sistemas operativos con calidad de producción, + &os; publica Security Advisories (advertencias de + seguridad. Estas advertencias suelen enviarse por correo a las + listas de seguridad e incluidas en la Errata solamente después + de que la versión apropiada haya sido corregida. Esta + sección tiene como fin explicar en qué consiste una + advertencia de seguridad, cómo entenderla y qué + medidas hay que tomar para parchear el sistema. - ¿Como se ve una advertencia? + ¿Qué aspecto tiene una advertencia de + seguridad? - Las advertencias de seguridad en &os; se ven de manera - similar a la de abajo, tomada de la lista de correos - &a.security-notifications.name;. + Las advertencias de seguridad de &os; tienen un aspecto + similar a la que se muestra aquí. Fué enviada a la + lista de correo &a.security-notifications.name;. ============================================================================= &os;-SA-XX:XX.UTIL Security Advisory @@ -5303,37 +5449,44 @@ VII. References - El campo Topic indica cual es el problema exaxtamente. - Es basicamente una introducción a la advertencia de seguridad actual - y anota la utilidad con la vulnerabilidad. + El campo Topic indica cuál es + exactamente el problema. Básicamente es la + introducción de la advertencia de seguridad actual + e indica el uso malintencionado que puede darse a la + vulnerabilidad. - Category se refiere a la parte afectada del sistema - la cual puede ser core, contrib o - ports. La categoría core - significa que la vulnerabilidad afecta a un componente central del - sistema operativo &os;. La categoría contrib - significa que la vulnerabilidad afecta a software contribuido al - proyecto &os;, como sendmail. Finalmente - la categoría ports indica que la - vulnerabilidad afecta a software agregado como parte de la - colección de ports. + Category se refiere a la parte afectada del + sistema, que puede ser + core, contrib o + ports. La categoría + core significa que la vulnerabilidad afecta + a un componente central del sistema operativo &os;. La + categoría contrib significa que la + vulnerabilidad afecta a software que no ha sido desarrollado por + el proyecto &os;, como sendmail. + La categoría ports indica que la + vulnerabilidad afecta a software incluido en la colección + de ports. - El campo Module se refiere a la ubicación del - componente, por ejemplo sys. En este ejemplo, vemos que - el módulo, sys, es afectado; por lo tanto, esta - vulnerabilidad afecta a componentes utilizados dentro del kernel. + El campo Module se refiere a la + ubicación del componente, por ejemplo + sys. En este ejemplo vemos que está + afectado el módulo sys; + por lo tanto esta vulnerabilidad afecta a componentes + utilizados dentro del kernel. - El campo Announced refleja la fecha en que esa - advertencia de seguridad fué publicada, o anunciada al mundo. - Esto significa que el equipo de seguridad ha verificado que el - problema exista y que un parche ha sido enviado al repositorio - de código fuente de &os;. + El campo Announced refleja la fecha + de publicación de la advertencia de seguridad fué + publicada o anunciada al mundo. Esto significa que el equipo + de seguridad ha verificado que el que el problema existe y que + se ha incluido un parche que soluciona el problema en el + repositorio de código fuente de &os;. @@ -5343,81 +5496,89 @@ VII. References - El campo Affects explica a que releases de &os; - afecta esta vulnerabilidad. Para el kernel, una rápida - revisión a la salida de ident en - los archivos afectados ayudará determinando la - revisión. Para ports, el número de versión - está listado despues del nombre del port en - /var/db/pkg. Si el sistema no se - sincroniza con el repositorio CVS de - &os; y se reconstruye diariamente, existe la posibilidad de - que esté afectado. + El campo Affects explica a qué + versiones de &os; afecta esta vulnerabilidad. En el caso del + kernel una rápida revisión de la salida de + ident en los ficheros afectados + ayudará a determinar la versión. En el caso de + de los ports el número de versión aparece + después del nombre del port en + /var/db/pkg. Si el sistema no se + sincroniza con el repositorio CVS de + &os; y se reconstruye diariamente, existe la posibilidad de + que esté afectado por el problema de seguridad. - El campo Corrected indica la fecha, hora, zona - horaria y release que fué corregido. + El campo Corrected indica la fecha, hora, + zona horaria y versión de &os; en que fué + corregido. - El campo &os; only indica si esta vulnerabilidad afecta - solamente a &os;, o si afecta también a otros sistemas operativos. + El campo &os; only indica si la + vulnerabilidad afecta solamente a &os; o si afecta + también a otros sistemas operativos. - El campo Background da información acerca de - que es exactamente la utilidad afectada. La mayor parte del - tiempo se refiere a por qué la utilidad existe en &os;, - para que es utilizada, y un poco de información de - como llegó a convertirse en utilidad. + El campo Background informa acerca de + qué es exactamente la aplicación afectada. + La mayor parte de las veces se refiere a por qué la + aplicación existe en &os;, para qué se usa y + un poco de información de cómo llegó + llegó a ocupar el lugar que ocupa en el sistema o el + árbol de ports. - El campo Problem Description explica el agujero - de seguridad en profundiad. Esto puede incluir información de - código fallado, o incluso como la utilidad puede ser - usada maliciosamente para abrir un agujero de seguridad. + El campo Problem Description explica el + problema de seguridad en profundidad. Puede incluir + información del código erróneo, + o incluso cómo puede usarse maliciosamente el error + para abrir un agujero de seguridad. - El campo Impact describe el tipo de impacto - que el problema puede tener en un sistema. Por ejemplo, - esto puede desde un ataque de negación de servicio, - hasta privilegios extras para usuarios, o incluso brindar - al atacante acceso de superusuario. + El campo Impact describe el tipo de + impacto que el problema pueda tener en un sistema. Por ejemplo, + esto puede ser desde un ataque de denegación de servicio, + hasta una escalada de privilegios de usuario, o incluso + ofrecer al atacante acceso de superusuario. - El campo Workaround ofrece una solución - temporal posible para administradores de sistemas que tal vez no - puedan actualizar el sistema. Esto puede ser debido a - falta de tiempo, disponibilidad de red, o a muchas otras - razones. Sin importar eso, la seguridad no de debe tomar - a la ligera, y un sistema afectado debe ser parchado o - una solución temporal para el agujero de seguridad - debe ser implementado. + El campo Workaround ofrece una + solución temoral posible para los administradores + de sistemas que tal vez no puedan actualizar el sistema. + Esto puede deberse a la falta de tiempo, disponibilidad de + de red, o a muchas otras razones. A pesar de todo la + la seguridad no se debe tomar a la ligera y un sistema + afectado debe parchearse al menos aplicar una + solución temporal para el agujero de + seguridad. - El campo Solution ofrece instrucciones para - parchar el sistema afectado. Este es un método paso a - paso, probado y verificado para parchar un sistema y que + El campo Solution ofrece instrucciones + para parchear el sistema afectado. Este es un método paso + a paso, probado y verificado para parchear un sistema y que trabaje seguro. - El campo Correction Details despliega - la rama del CVS o el nombre del release - con los puntos cambiados a guiones bajos. También - muestra el número de revisión de los archivos - afectados dentro de cada rama. + El campo Correction Details despliega + la rama del CVS o el nombre de la + versión con los puntos cambiados a guiones bajos. + También muestra el número de revisión de + los ficheros afectados dentro de cada rama. - El campo References usualmente ofrece fuentes de - información. Esto puede incluir URLs - de web, libros, listas de correos y grupos de noticias. + El campo References suele ofrecer fuentes + adicionales de información: + URL, libros, listas de correo y grupos + de noticias. @@ -5429,7 +5590,7 @@ VII. References Tom Rhodes - Contribuido por + Texto de @@ -5438,27 +5599,29 @@ VII. References Contabilidad de procesos - Contabilidad de procesos es un método de - seguridad en el cual un administrador puede llevar - seguimiento de los recursos del sistema utilizados, - su distribución entre los usuarios, brindar - monitoreo para el sistema y minimamente rastrear - los comandos de los usuarios. + La contabilidad de procesos es un método de + seguridad en el cual un administrador puede mantener un + seguimiento de los recursos del sistema utilizados, + su distribución entre los usuarios, ofrecer + monitorización del sistema y seguir la pista + mínimamente a las órdenes de usuario. - Esto en realidad tiene sus puntos positivos y negativos. - Uno de los positivos es que una intrusión puede ser - minimizada al punto de entrada. Uno negativo es la cantidad - de logs generados por la contabilidad de procesos, y el - espacio en disco que requieren. Esta sección - llevará a un administrador a través de - las bases de la contabilidad de procesos. + Esto en realidad tiene sus puntos positivos y negativos. + Uno de los positivos es que una intrusión puede + minimizarse en el momento de producirse. Uno negativo + es la cantidad de logs generados por la contabilidad de + procesos y el espacio de disco que requieren. Esta + sección guiará al administrador a + través de los fundamentos de la contabilidad de + procesos. - Habilitando y utilizando la contabilidad de procesos + Cómo habilitar y utilizar la contabilidad + de procesos - Antes de hacer uso de la contabilidad de procesos, - debe ser habilitada. Para hacer esto, ejecute el - siguiente comando: + Antes de poder usar la contabilidad de procesos + tendrá que habilitarla. Ejecute la + siguiente orden: &prompt.root; touch /var/account/acct @@ -5466,33 +5629,35 @@ VII. References &prompt.root; echo 'accounting_enable="YES"' >> /etc/rc.conf - Una vez habilitada, la contabilidad de procesos - empezará a seguir el rastro de estadísticas - del CPU, comandos, etc. Todos los logs - de contabilidad están en un formato ilegible - para humanos y pueden ser visualizados usando la utilidad - &man.sa.8;. Si se ejecuta sin opciones, sa - imprimirá información relativa al número - de llamadas por usuario, el tiempo total transcurrido en - minutos, tiempo total de CPU y de usuario - en minutos, número promedio de operaciones de E/S, + Una vez habilitada, la contabilidad de procesos + empezará a seguir el rastro de estadísticas + de la CPU, órdenes, etc. Todos los logs + de contabilidad están en un formato ilegible + para humanos, pero accesibles para &man.sa.8;. + Si se ejecuta sin opciones, sa + imprimirá información sobre el número + de llamadas por usuario, el tiempo total transcurrido expresado + en minutos, el tiempo total de CPU y de usuario + en minutos, el número medio de operaciones de E/S, etc. - Para ver información acerca de los comandos - siendo ejecutados, uno podría usar la utilidad - &man.lastcomm.1;. lastcomm puede ser - utilizado para imprimir comandos ejecutados por usuarios - en &man.ttys.5;, específicos, por ejemplo: + Para ver información acerca de las órdenes + que se están ejecutados puede usar la + &man.lastcomm.1;. lastcomm imprime + órdenes ejecutadas por los usuarios en &man.ttys.5; + específicas. Veamos un ejemplo: &prompt.root; lastcomm ls trhodes ttyp1 - Imprimiría todos los usos conocidos de ls - por el usuario trhodes en la terminal + Imprimiría todas las veces (conocidas) que + el usuario trhodes ha usado + ls en la terminal ttyp1. - Existen muchas otras opciones útiles y son explicadas - en las páginas de manual &man.lastcomm.1;, &man.acct.5; + Hay muchas más opciones que pueden serle muy + útiles. Si quiere conocerlas consulte + las páginas de manual &man.lastcomm.1;, &man.acct.5; y &man.sa.8;.