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 virtualterminales
- 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 consolaconsola
- 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 /etc/ttys
+ El fichero /etc/ttys
- 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
PermisosUNIX
- 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
TomRhodes
- Contribuido por
+ Escrito por
@@ -486,11 +500,11 @@ total 530
Permisos simbólicospermisossymbolic
- 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
TomRhodes
- 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 directoriosjerarquí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 discoLa 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.dLa 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.slicesparticionespeligrosamente 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
ad0s1aLa 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
da1s2eLa 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ízExisten 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 fstab
+ El fichero fstab
- sistemas de archivos
- montado con fstab
+ sistemas de ficheros
+ montaje con fstabDurante 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-montajefstypeopcionesdumpfreqpassno
@@ -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-montajeUn 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
opcionesYa 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 mount
+ La orden mount
- sistemas de archivos
+ sistemas de ficherosmontaje
- 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 dispositivopunto-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 umount
+ La orden umount
- sistemas de archivos
+ sistemas de ficherosdesmontar
- 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/sawfishComo 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 procesoEste 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; suPassword:
&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 /bin/kill?
- 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.Shellsshells
- 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.PATHLista 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.TERMEl 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
MANPATHLista 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 BourneEstablecer 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/bashEjecutar 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 textoeditores
- 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 dispositivosUn 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 dispositivoCuando 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 MAKEDEVEn 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
- DEVFS Dispositivo de sistema de archivos (DEVice File System)
+ DEVFS 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 manualpá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 GNUFundació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 bandasGEOM
- 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 formatearCargue 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ónGEOM
- 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 problemasEl 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 @@
MatthewDillon
- 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)seguridadAtaques 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 root y cuentas de staff
+ Asegurar la cuenta root y las
+ cuentas administrativassu
- 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 root
+ Asegurar servidores que se ejecutan como
+ root
y binarios SUID/SGID
@@ -511,7 +530,7 @@
finger
- sandboxes
+ cajas de arena sandboxessshd
@@ -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 sí 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 SSHsshKerberosIV
- 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 @@
BillSwingle
- Partes reescritas y actualizadas por
+ Secciones reescritas y actualizadas por
@@ -1108,196 +1146,202 @@
DESMD5
- 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 usoseguridad
- 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-DOSWindowsMacOS
- 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
MarkMurray
- Contribuido por
+ Escrito por MarkDapoz
- Basado en una contribución de
+ Basado en un texto de KerberosIV
- 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 KerberosIV
+ Instalación de KerberosIVMITKerberosIVinstalació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 sistemaKerberosIVencendido 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 su
+ Añadir privilegios de su
- 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; suPassword:
- 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 1995TillmanHodgson
- Contribuido por
+ Texto de MarkMurray
- Basado en una contribución de
+ Basado en un texto de Kerberos5
- 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
HistoriaKerberos5
- 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 KDC Heimdal
+ Configuración de un KDC HeimdalKerberos5
- 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
- Kerberos habilitando un servidor con
- servicios Heimdal
+ Creación de un servidor
+ Kerberos con servicios
+ HeimdalKerberos5
- 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.
- Kerberos habilitando un cliente con Heimdal
+ Kerberos con un cliente
+ HeimdalKerberos5configurar 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: .k5login y .k5users
+ Ficheros de configuración de usuario: .k5login y .k5users.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:
+ contenidotillman@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.
- Kerberos Tips, Trucos y solución de problemas
+ Kerberos Sugerencias, trucos y
+ solución de problemasKerberos5
@@ -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 MIT
- 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 Kerberos
+ Mitigación de limitaciones encontradas en
+ KerberosKerberos5
@@ -3080,74 +3173,80 @@ jdoe@example.org
- Kerberos es un enfoque todo-o-nada
+ Kerberos es un enfoque
+ todo o nada
- 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.
- Kerberos está planeado para estaciones de trabajo mono-usuario
+ Kerberos 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 KerberosKerberos 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 certificadosOpenSSLgeneració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 promptCommon 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 solaVPN
- 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 ejecutarping 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 virtual
+ Paso 1: Creación y prueba de un enlace de
+ red virtual
- 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íneadevice 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 aipfw 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
+ ejecutarping 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 ejecutetcpdump 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ñadaipfw 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 sí 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;. Ejecutesetkey -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
ChernLee
- 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 sshdOpenSSH
- 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 AllowUsers
- 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 complementariasOpenSSH&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 ACLs
+ Uso de ACL
- 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
TomRhodes
- 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.
TomRhodes
- 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. ReferencesTomRhodes
- Contribuido por
+ Texto de
@@ -5438,27 +5599,29 @@ VII. ReferencesContabilidad 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;.