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