English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
¿Tiene seguridad el listener? ¡Sí! Por defecto, cualquier usuario no necesita usar ninguna contraseña para realizar operaciones o cerrar el Oracle Listener a través de la herramienta lsnrctl, lo que hace que cualquier nueva sesión no pueda establecer conexión. En Oracle 9i El listener de Oracle permite que cualquier persona utilice lsnrctl para iniciar la gestión remota del listener. También es fácil causar daños en la base de datos.
1. Detener el listener sin establecer contraseña
[oracle@test ~]$ lsnrctl stop listener_demo92 --> Detener el listener, se puede ver que no se requiere ninguna contraseña para detener LSNRCTL para Linux: Versión 9.2.0.8.0 - Producción en 26-JUN-2011 08:22:26 Derechos de autor (c) 1991, 2006, Oracle Corporation. Todos los derechos reservados. Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) El comando se completó con éxito
2. Reiniciar el listener y establecer contraseña
[oracle@test ~]$ lsnrctl LSNRCTL para Linux: Versión 9.2.0.8.0 - Producción en 26-JUN-2011 08:24:09 Derechos de autor (c) 1991, 2006, Oracle Corporation. Todos los derechos reservados. Bienvenido a LSNRCTL, ingrese "help" para obtener información. LSNRCTL> set current_listener listener_demo92 --> Establecer el listener actual El listener actual es listener_demo92 LSNRCTL> start --> El proceso de inicio también no requiere ninguna contraseña, los detalles de inicio se omiten LSNRCTL> cambiar_contraseña --> Use change_password para configurar la contraseña Contraseña antigua: Nueva contraseña: Vuelva a escribir la nueva contraseña: Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) Contraseña cambiada para listener_demo92 El comando se completó con éxito LSNRCTL> guardar_config --> Tenga en cuenta que save_config aquí falló Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: El listener no ha reconocido la contraseña LSNRCTL> establecer contraseña --> Ingrese la contraseña nueva configurada para verificar Contraseña: El comando se completó con éxito LSNRCTL> guardar_config --> Guardar configuración exitosa nuevamente Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) Saved listener_demo92 parámetros de configuración. Archivo de parámetros del listener /oracle/92/red/admin/listener.ora Archivo de Parámetros Antiguo /oracle/92/red/admin/listener.bak El comando se completó con éxito --> Después de agregar la contraseña, se puede ver que en el archivo listener.ora hay un registro nuevo, es decir, la opción de contraseña (nota: aunque se utiliza la gestión de contraseñas, aún se puede iniciar el listener sin contraseña) [oracle@test admin]$ more listener.ora #----AGREGADO POR TNSLSNR 26-JUN-2011 05:12:48--- PASSWORDS_listener_demo92 = #--------------------------------------------
3. Intentar detener el escucha sin usar contraseña
[oracle@test ~]$ lsnrctl stop listener_demo92 LSNRCTL para Linux: Versión 9.2.0.8.0 - Producción en 26-JUN-2011 06:09:51 Derechos de autor (c) 1991, 2006, Oracle Corporation. Todos los derechos reservados. Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: El listener no ha reconocido la contraseña --> Recibido mensaje de error, se requiere autenticación con contraseña
4. Usar contraseña para detener el escucha
[oracle@test ~]$ lsnrctl LSNRCTL> set current_listener listener_demo92 El listener actual es listener_demo92 LSNRCTL> detener Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-01169: El listener no ha reconocido la contraseña LSNRCTL> establecer contraseña Contraseña: El comando se completó con éxito LSNRCTL> detener Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) El comando se completó con éxito LSNRCTL> estado Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)) TNS-12541: TNS:no listener TNS-12560: Error del adaptador de protocolo TNS TNS-00511: No hay listener Error de Linux: 111: Conexión rechazada Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC))) TNS-12541: TNS:no listener TNS-12560: Error del adaptador de protocolo TNS TNS-00511: No hay listener Error de Linux: 2: No se encontró el archivo o directorio
5. Problema de save_config fallido
--> En Oracle 9en i, el comando save_config fallará LSNRCTL> guardar_config Conectando a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>))) TNS-01169: El listener no ha reconocido la contraseña --> Deberías usar set password antes de save_config, entonces guardar la configuración será exitoso. LSNRCTL> establecer contraseña Contraseña: <la contraseña que elegiste> El comando se completó con éxito /*en Oracle 10no aparecerá problemas similares, porque en10se puede utilizar el método de verificación basado en el sistema operativo. El listener detectará si el usuario es miembro del grupo dba, Se otorgarán permisos para cambiar la contraseña, guardar la configuración y detener el escucha, entre otros. */
6. Configuración de listener.ora del parámetro ADMIN_RESTRICTIONS
Función del parámetro:
Cuando se establece el parámetro ADMIN_RESTRICTIONS en el archivo listener.ora, no se permite ejecutar ningún comando de administración mientras el listener está en ejecución, y el comando set también estará inutilizable
No importa si se ejecuta localmente en el servidor o desde una distancia remota. En este momento, la configuración del listener solo se puede modificar manualmente editando el archivo listener.ora. Para que los cambios se hagan efectivos, debe
Usar el comando lsnrctl reload o lsnrctl stop/el comando start para recargar la información de configuración del listener.
Método de modificación:
Añadir manualmente la siguiente línea en el archivo listener.ora
ADMIN_RESTRICTIONS_<nombre_del_listener> = ON
A continuación, se muestra el complemento de otros usuarios:
LSNRCTL> cambiar_contraseña
Contraseña antigua:
Nueva contraseña:
Vuelva a escribir la nueva contraseña:
Conectando a (DESCRIPCION=(DIRECCION=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PUERTO=1521))
Contraseña cambiada para LISTENER
El comando se completó con éxito
LSNRCTL> establecer contraseña
Contraseña:
El comando se completó con éxito
LSNRCTL> guardar_config
Conectando a (DESCRIPCION=(DIRECCION=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PUERTO=1521))
Parámetros de configuración del LISTENER guardados.
Archivo de parámetros del listener /opt/oracle/producto/10.2.0/db_1/red/admin/listener.ora
Archivo de Parámetros Antiguo /opt/oracle/producto/10.2.0/db_1/red/admin/listener.bak
El comando se completó con éxito
[oracle@ecp-uc-bd1 admin]$ cat listener.ora
#—-AGREGADO POR TNSLSNR 10-JUN-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
nota:10g necesitará agregar (reiniciar el listener) en la base de datos
LOCAL_OS_AUTHENTICATION_LISTENER = OFF
1Añadir LOCAL_OS_AUTHENTICATION_LISTENER = OFF antes de
Seguridad ON: Contraseña o Autenticación de OS Local
2Añadir LOCAL_OS_AUTHENTICATION_LISTENER = OFF después de
Seguridad ACTIVADA: Contraseña
LSNRCTL> estado
Conectando a (DESCRIPCION=(DIRECCION=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PUERTO=1521))
TNS-01169: El listener no ha reconocido la contraseña
LSNRCTL> detener
Conectando a (DESCRIPCION=(DIRECCION=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PUERTO=1521))
TNS-01169: El listener no ha reconocido la contraseña
LSNRCTL> establecer contraseña 123456
El comando se completó con éxito
LSNRCTL> estado
Conectando a (DESCRIPCION=(DIRECCION=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PUERTO=1521))
ESTADO del LISTENER
————————
Alias LISTENER
Versión TNSLSNR para Linux: Versión 10.2.0.4.0 – Producción
Fecha de inicio 10-JUN-2011 18:15:49
Tiempo de ejecución 0 días 0 hr. 1 min. 16 sec
Nivel de rastreo APAGADO
Seguridad ACTIVADA: Contraseña
SNMP DESACTIVADO
Archivo de parámetros del listener /opt/oracle/producto/10.2.0/db_1/red/admin/listener.ora
Archivo de registro del listener /opt/oracle/producto/10.2.0/db_1/red/log/listener.log
Resumen de puntos de escucha...
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOL=tcp)(HOST=ECP-UC-BD1)(PUERTO=1521))
(DESCRIPCIÓN=(DIRECCIÓN=(PROTOCOL=ipc)(CLAVE=EXTPROC0)))
Resumen de servicios...
El servicio “PLSExtProc” tiene 1 instancia(s).
La instancia “PLSExtProc”, estado DESCONOCIDO, tiene 1 manejador(es) para este servicio...
El servicio “ecp” tiene 1 instancia(s).
La instancia “ecp”, estado LISTO, tiene 1 manejador(es) para este servicio...
El servicio “ecpXDB” tiene 1 instancia(s).
La instancia “ecp”, estado LISTO, tiene 1 manejador(es) para este servicio...
El servicio “ecp_XPT” tiene 1 instancia(s).
La instancia “ecp”, estado LISTO, tiene 1 manejador(es) para este servicio...
El comando se completó con éxito