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

Método de configuração da senha do listener do Oracle (LISTENER)

O listener também tem segurança? Sim! Pelo padrão, qualquer usuário não precisa usar nenhuma senha para operar ou desligar o Oracle Listener através da ferramenta lsnrctl, causando que novas sessões não possam estabelecer conexão. No Oracle 9O listener do Oracle permite que qualquer pessoa utilize o lsnrctl para gerenciar remotamente o listener. Isso também pode levar ao danificação do banco de dados.

1. Parar o listener sem definir senha

[oracle@test ~]$ lsnrctl stop listener_demo92  --> Parar o listener, pode-se ver que não é necessário nenhuma senha para parar 
LSNRCTL para Linux: Versão 9.2.0.8.0 - Produção em 26-JUN-2011 08:22:26          
Direitos autorais (c) 1991, 2006, Oracle Corporation. Todos os direitos reservados.             
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))         
O comando foi completado com sucesso 

2. Reiniciar o listener e definir senha

[oracle@test ~]$ lsnrctl                                                 
LSNRCTL para Linux: Versão 9.2.0.8.0 - Produção em 26-JUN-2011 08:24:09                         
Direitos autorais (c) 1991, 2006, Oracle Corporation. Todos os direitos reservados.                            
Bem-vindo ao LSNRCTL, digite "help" para informações.	                                    
LSNRCTL> set current_listener listener_demo92 --> Definir o listener atual                             
O listener atual é listener_demo92                                            
LSNRCTL> start       --> O processo de inicialização também não requer nenhuma senha, os detalhes de inicialização são omitidos                         
LSNRCTL> change_password  --> Use change_password para definir a senha                                
Senha antiga:                                                       
Nova senha:                                                       
Reentregar nova senha:                                                   
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))                        
Senha alterada para listener_demo92                                           
O comando foi completado com sucesso                                            
LSNRCTL> save_config    --> Atenção: o save_config falhou                                 
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))                        
TNS-01169: O listener não reconheceu a senha                                  
LSNRCTL> definir senha    --> Inserir a nova senha definida para verificação                                    
Senha:                                                         
O comando foi completado com sucesso                                            
LSNRCTL> save_config    --> save_config realizado com sucesso novamente                                     
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))                        
Salvo listener_demo92 parâmetros de configuração.                                      
Arquivo de Parâmetros do Listener  /oracle/92/rede/admin/listener.ora                              
Arquivo de Parâmetros Antigo  /oracle/92/rede/admin/listener.bak                                
O comando foi completado com sucesso                                            
--> Após adicionar a senha, pode-se ver que o arquivo listener.ora possui um novo registro adicionado, namely a opção de senha (notação: mesmo com o método de gerenciamento de senhas, ainda é possível iniciar o listener sem senha)
[oracle@test admin]$ more listener.ora                                          
	#----ADICIONADO POR TNSLSNR 26-JUN-2011 05:12:48---                                      
	PASSWORDS_listener_demo92 =                                               
	#--------------------------------------------

3. Tentativa de parar a escuta sem usar senha

[oracle@test ~]$ lsnrctl stop listener_demo92                        
LSNRCTL para Linux: Versão 9.2.0.8.0 - Produção em 26-JUN-2011 06:09:51          
Direitos autorais (c) 1991, 2006, Oracle Corporation. Todos os direitos reservados.             
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))         
TNS-01169: O listener não reconheceu a senha  --> Recebido mensagem de erro, é necessário autenticação com senha

4. Usar senha para parar a escuta

[oracle@test ~]$ lsnrctl                            
LSNRCTL> set current_listener listener_demo92                 
O listener atual é listener_demo92                      
LSNRCTL> stop                                 
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))   
TNS-01169: O listener não reconheceu a senha            
LSNRCTL> definir senha                             
Senha:                                   
O comando foi completado com sucesso                       
LSNRCTL> stop                                 
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))   
O comando foi completado com sucesso                       
LSNRCTL> status                                
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=test)(PORT=1521))   
TNS-12541: TNS:nenhum listener                           
 TNS-12560: Erro do adaptador do protocolo TNS                     
 TNS-00511: Nenhum listener                            
  Erro do Linux: 111: Conexão recusada                    
Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))       
TNS-12541: TNS:nenhum listener                           
 TNS-12560: Erro do adaptador do protocolo TNS                     
 TNS-00511: Nenhum listener                            
  Erro do Linux: 2: Arquivo ou diretório não encontrado	                 

5. Problema de save_config

--> No Oracle 9no i, o comando save_config falhará                                     
	LSNRCTL> save_config                                                 
	Conectando-se a (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=<hostname>)(PORT=<port>)))                  
	TNS-01169: O listener não reconheceu a senha	                               
--> Deve usar set password antes de save_config, então a configuração será salva com sucesso.                              
	LSNRCTL> definir senha                                                
	Senha: <a senha que você escolheu>                                          
	O comando foi completado com sucesso                          
/*no Oracle 10não aparecerá problemas semelhantes, porque no10pode usar o método de autenticação baseado no sistema operacional. O listener detectará se o usuário é membro do grupo dba,
será concedido o privilégio de alterar a senha, salvar configurações e parar a escuta, entre outros. */                                 

6. Configurar o parâmetro ADMIN_RESTRICTIONS no arquivo listener.ora

Função do parâmetro:
Quando o parâmetro ADMIN_RESTRICTIONS é configurado no arquivo listener.ora, durante a execução do listener, não é permitido executar nenhum comando de administração, e o comando set também não estará disponível
Não funciona, seja em execução local ou remota. Neste momento, a configuração do listener deve ser feita apenas através da modificação manual do arquivo listener.ora. Para que as mudanças entrem em vigor,
Usar o comando lsnrctl reload ou lsnrctl stop/Reiniciar o comando start para recarregar as informações de configuração do listener.
Método de modificação:
Adicionar manualmente a linha a seguir no arquivo listener.ora
ADMIN_RESTRICTIONS_<nome_do_listener> = ON

Abaixo estão as adições de outros usuários:

LSNRCTL> change_password
Senha antiga:
Nova senha:
Reentregar nova senha:
Conectando a (DESCRICAO=(ENDEREÇO=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
Senha alterada para LISTENER
O comando foi completado com sucesso
LSNRCTL> definir senha
Senha:
O comando foi completado com sucesso
LSNRCTL> save_config
Conectando a (DESCRICAO=(ENDEREÇO=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
Parâmetros de configuração do LISTENER salvos.
Arquivo de Parâmetros do Listener /opt/oracle/produto/10.2.0/db_1/rede/admin/listener.ora
Arquivo de Parâmetros Antigo /opt/oracle/produto/10.2.0/db_1/rede/admin/listener.bak
O comando foi completado com sucesso
[oracle@ecp-uc-bd1 admin]$ cat listener.ora
#—-ADICIONADO POR TNSLSNR 10-JUN-2011 18:13:24—
PASSWORDS_LISTENER = 6D7AA003392C436A
#——————————————–
nota:10No g banco de dados é necessário adicionar (reiniciar o listener)
LOCAL_OS_AUTHENTICATION_LISTENER = OFF

1Adicionar LOCAL_OS_AUTHENTICATION_LISTENER = OFF antes

Segurança LIGADA: Senha ou Autenticação Local do SO

2Adicionar LOCAL_OS_AUTHENTICATION_LISTENER = OFF após

Segurança LIGADA: Senha
LSNRCTL> status
Conectando a (DESCRICAO=(ENDEREÇO=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
TNS-01169: O listener não reconheceu a senha
LSNRCTL> stop
Conectando a (DESCRICAO=(ENDEREÇO=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
TNS-01169: O listener não reconheceu a senha
LSNRCTL> definir senha 123456
O comando foi completado com sucesso
LSNRCTL> status
Conectando a (DESCRICAO=(ENDEREÇO=(PROTOCOLO=TCP)(HOST=ecp-uc-bd1)(PORT=1521))
STATUS do LISTENER
————————
Alias LISTENER
Versão TNSLSNR para Linux: Versão 10.2.0.4.0 – Produção
Data de Início 10-JUN-2011 18:15:49
Tempo de Uso 0 dias 0 hr. 1 min. 16 sec
Nível de Trace DESLIGADO
Segurança LIGADA: Senha
SNMP DESLIGADO
Arquivo de Parâmetros do Listener /opt/oracle/produto/10.2.0/db_1/rede/admin/listener.ora
Arquivo de Log do Listener /opt/oracle/produto/10.2.0/db_1/rede/log/listener.log
Resumo dos Pontos de Escuta...
(DESCRICAO=(ENDERECO=(PROTOCOLO=tcp)(HOST=ECP-UC-BD1)(PORT=1521))
(DESCRICAO=(ENDERECO=(PROTOCOLO=ipc)(CHAVE=EXTPROC0)))
Resumo dos Serviços...
Serviço “PLSExtProc” tem 1 instância(s).
Instância “PLSExtProc”, status DESCONHECIDO, tem 1 handler(s) para este serviço...
Serviço “ecp” tem 1 instância(s).
Instância “ecp”, status PRONTO, tem 1 handler(s) para este serviço...
Serviço “ecpXDB” tem 1 instância(s).
Instância “ecp”, status PRONTO, tem 1 handler(s) para este serviço...
Serviço “ecp_XPT” tem 1 instância(s).
Instância “ecp”, status PRONTO, tem 1 handler(s) para este serviço...
O comando foi completado com sucesso

Você também pode gostar