English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Oracle监听器密码设置方法(LISTENER)

Il listener ha anche la sicurezza? Sì! Per impostazione predefinita, qualsiasi utente non deve utilizzare alcuna password per eseguire operazioni o chiudere Oracle Listener tramite lo strumento lsnrctl, il che significa che qualsiasi nuova sessione non sarà in grado di stabilire una connessione. In Oracle 9i, Oracle Listener permette a chiunque di avviare la gestione del listener da remoto utilizzando lsnrctl. Questo può anche portare a danni al database.

1. Fermare il listener senza impostare la password

[oracle@test ~]$ lsnrctl stop listener_demo92  --> Stoppare il listener, è chiaro che non è necessario alcuna password per fermare 
LSNRCTL per Linux: Versione 9.2.0.8.0 - Produzione il 26-GIU-2011 08:22:26          
Copyright (c) 1991, 2006, Oracle Corporation. Tutti i diritti riservati.             
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))         
Il comando è stato completato con successo 

2. Riavviare il listener e impostare la password

[oracle@test ~]$ lsnrctl                                                 
LSNRCTL per Linux: Versione 9.2.0.8.0 - Produzione il 26-GIU-2011 08:24:09                         
Copyright (c) 1991, 2006, Oracle Corporation. Tutti i diritti riservati.                            
Benvenuti in LSNRCTL, digitare "help" per informazioni.	                                    
LSNRCTL> set current_listener listener_demo92 --> Impostare il listener corrente                             
L'ascoltatore corrente è listener_demo92                                            
LSNRCTL> start       --> Il processo di avvio non richiede alcuna password, i dettagli di avvio sono omessi                         
LSNRCTL> change_password  --> Utilizzare change_password per impostare la password                                
Vecchia password:                                                       
Nuova password:                                                       
Riinserisci la nuova password:                                                   
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
La password è stata cambiata per listener_demo92                                           
Il comando è stato completato con successo                                            
LSNRCTL> save_config    --> Attenzione, save_config ha fallito                                 
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
TNS-01169: Il listener non ha riconosciuto la password                                  
LSNRCTL> set password    --> Inserire la nuova password impostata per la verifica                                    
Password:                                                         
Il comando è stato completato con successo                                            
LSNRCTL> save_config    --> save_config eseguito con successo di nuovo                                     
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))                        
Parametri di configurazione di listener_demo92 salvati.                                      
File dei parametri dell'ascoltatore  /oracle/92/network/admin/listener.ora                              
Vecchio file dei parametri  /oracle/92/network/admin/listener.bak                                
Il comando è stato completato con successo                                            
--> Dopo aver aggiunto la password, è possibile vedere che il file listener.ora ha un nuovo record aggiunto, ovvero l'opzione della password (Nota: anche se è stato utilizzato il metodo di gestione delle password, è possibile avviare l'ascoltatore senza password)
[oracle@test admin]$ more listener.ora                                          
	#----AGGIUNTO DA TNSLSNR il 26-GIUG-2011 05:12:48---                                      
	PASSWORDS_listener_demo92 =                                               
	#--------------------------------------------

3. Tentativo di fermare l'ascoltatore senza utilizzare la password

[oracle@test ~]$ lsnrctl stop listener_demo92                        
LSNRCTL per Linux: Versione 9.2.0.8.0 - Produzione il 26-GIUG-2011 06:09:51          
Copyright (c) 1991, 2006, Oracle Corporation. Tutti i diritti riservati.             
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))         
TNS-01169: L'ascoltatore non ha riconosciuto la password --> Ricevuto un messaggio di errore, è necessario autenticarsi con la password

4. Utilizzare la password per fermare l'ascoltatore

[oracle@test ~]$ lsnrctl                            
LSNRCTL> set current_listener listener_demo92                 
L'ascoltatore corrente è listener_demo92                      
LSNRCTL> fermare                                 
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
TNS-01169: Il listener non ha riconosciuto la password            
LSNRCTL> imposta_password                             
Password:                                   
Il comando è stato completato con successo                       
LSNRCTL> fermare                                 
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
Il comando è stato completato con successo                       
LSNRCTL> stato                                
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521)))   
TNS-12541: TNS: nessun listener                           
 TNS-12560: TNS: errore dell'adattatore di protocollo                     
 TNS-00511: Nessun listener                            
  Errore Linux: 111: Connessione rifiutata                    
Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))       
TNS-12541: TNS: nessun listener                           
 TNS-12560: TNS: errore dell'adattatore di protocollo                     
 TNS-00511: Nessun listener                            
  Errore Linux: 2: File o directory non trovato	                 

5. Problema di fallimento di save_config

--> Nel Oracle 9i, il comando save_config fallirà                                     
	LSNRCTL> salva_config                                                 
	Connettendo a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))                  
	TNS-01169: Il listener non ha riconosciuto la password	                               
--> È necessario utilizzare set password prima di save_config, quindi il salvataggio della configurazione avrà successo.                              
	LSNRCTL> imposta_password                                                
	Password: <la password scelta>                                          
	Il comando è stato completato con successo                          
/*In Oracle 10g non si verifica un problema simile, poiché in 10g è possibile utilizzare il metodo di autenticazione basato sul sistema operativo. Il listener rileverà se l'utente è membro del gruppo dba,
Verranno conferite le autorizzazioni di cambiare la password, salvare la configurazione e fermare l'ascoltatore, ecc. */                                 

6. Configurazione del parametro ADMIN_RESTRICTIONS nel file listener.ora

Funzione del parametro:
Dopo aver impostato il parametro ADMIN_RESTRICTIONS nel file listener.ora, durante l'esecuzione dell'ascoltatore, non è permesso eseguire alcun comando di gestione e il comando set non sarà disponibile
Non funziona né localmente né da remoto. In questo momento, per modificare la configurazione dell'ascoltatore, è necessario solo
Ricarica le informazioni di configurazione del listener utilizzando il comando lsnrctl reload o l' comando lsnrctl stop/start.
Metodo di modifica:
Aggiungi manualmente la seguente riga nel file listener.ora
ADMIN_RESTRICTIONS_<nome_del_listener> = ON

Di seguito è riportato il supplemento di altri utenti:

LSNRCTL> cambia_password
Vecchia password:
Nuova password:
Riinserisci la nuova password:
Connettendo a (DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=TCP)(HOST=ecp-uc-db1)(PORTO=1521)))
La password è stata cambiata per il LISTENER
Il comando è stato completato con successo
LSNRCTL> imposta_password
Password:
Il comando è stato completato con successo
LSNRCTL> salva_config
Connettendo a (DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=TCP)(HOST=ecp-uc-db1)(PORTO=1521)))
Parametri di configurazione del LISTENER salvati.
File di parametri del listener /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora
Vecchio file dei parametri /opt/oracle/product/10.2.0/db_1/network/admin/listener.bak
Il comando è stato completato con successo
[oracle@ecp-uc-db1 admin]$ cat listener.ora
#—-AGGIUNTO DA TNSLSNR 10-GIUGNO-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
nota: sulla base di dati 10g è necessario aggiungere (riavvia il listener)
LOCAL_OS_AUTHENTICATION_LISTENER = OFF

1、aggiungi LOCAL_OS_AUTHENTICATION_LISTENER = OFF prima

SICUREZZA ON: Password o Autenticazione Locale OS

2、aggiungi LOCAL_OS_AUTHENTICATION_LISTENER = OFF dopo

Sicurezza ACCESA: Password
LSNRCTL> stato
Connettendo a (DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=TCP)(HOST=ecp-uc-db1)(PORTO=1521)))
TNS-01169: Il listener non ha riconosciuto la password
LSNRCTL> fermare
Connettendo a (DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=TCP)(HOST=ecp-uc-db1)(PORTO=1521)))
TNS-01169: Il listener non ha riconosciuto la password
LSNRCTL> imposta password 123456
Il comando è stato completato con successo
LSNRCTL> stato
Connettendo a (DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=TCP)(HOST=ecp-uc-db1)(PORTO=1521)))
STATO DEL LISTENNER
————————
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.4.0 – Production
Data di avvio 10-GIU-2011 18:15:49
Tempo di attività 0 giorni 0 ore. 1 minuto. 16 secondi
Livello di trace DISABILITATO
Sicurezza ACCESA: Password
SNMP DISABILITATO
File di parametri del listener /opt/oracle/product/10.2.0/db_1/network/admin/listener.ora
File di registro del listener /opt/oracle/product/10.2.0/db_1/network/log/listener.log
Riepilogo dei punti di ascolto…
(DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=tcp)(HOST=ECP-UC-DB1)(PORTO=1521)))
(DESCRIZIONE=(INDIRIZZO=(PROTOCOLLO=ipc)(CHIAVE=EXTPROC0)))
Riepilogo dei servizi…
Il servizio “PLSExtProc” ha 1 istanza(s).
L'istanza “PLSExtProc”, stato SCONOSCIUTO, ha 1 gestore(s) per questo servizio…
Il servizio “ecp” ha 1 istanza(s).
L'istanza “ecp”, stato PRONTO, ha 1 gestore(s) per questo servizio…
Il servizio “ecpXDB” ha 1 istanza(s).
L'istanza “ecp”, stato PRONTO, ha 1 gestore(s) per questo servizio…
Il servizio “ecp_XPT” ha 1 istanza(s).
L'istanza “ecp”, stato PRONTO, ha 1 gestore(s) per questo servizio…
Il comando è stato completato con successo