AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 299
Accepted
Leigh Riffel
Leigh Riffel
Asked: 2011-01-06 10:34:29 +0800 CST2011-01-06 10:34:29 +0800 CST 2011-01-06 10:34:29 +0800 CST

Por que a autenticação do sistema operacional é considerada uma segurança ruim para bancos de dados Oracle?

  • 772

A Oracle está descontinuando a autenticação do sistema operacional de acordo com o Oracle Database Security Guide , que diz

Esteja ciente de que o parâmetro REMOTE_OS_AUTHENT foi obsoleto no Oracle Database 11g Release 1 (11.1) e é mantido apenas para compatibilidade com versões anteriores.

Além disso, a maioria das informações e ferramentas de segurança consideram a autenticação do sistema operacional (externa) como um problema de segurança. Estou tentando entender por que esse é o caso. Aqui estão algumas vantagens que vejo na autenticação do sistema operacional:

  1. Sem a Autenticação do SO, os aplicativos devem armazenar senhas em vários aplicativos, cada um com seu próprio modelo de segurança e vulnerabilidades.
  2. A autenticação de domínio já deve ser segura porque, se não for, a segurança do banco de dados apenas retarda o acesso ao banco de dados, mas não pode impedi-lo.
  3. Os usuários que só precisam se lembrar de uma senha de domínio podem criar senhas de domínio mais seguras com mais facilidade do que criar senhas de banco de dados ainda menos seguras, pois o número de bancos de dados diferentes aos quais eles devem se conectar aumenta.
oracle oracle-11g-r2
  • 4 4 respostas
  • 16599 Views

4 respostas

  • Voted
  1. Best Answer
    Gaius
    2011-01-28T06:03:12+08:002011-01-28T06:03:12+08:00

    Considere o seguinte cenário:

    1. Existe um usuário Unix nomeado gaiusno servidor Oracle com autenticação externa, então no Oracle existe um usuário correspondente chamado ops$gaius. Quando conectado a um shell, também posso fazer login diretamente em meu esquema Oracle, e meus trabalhos cron também não precisam de uma senha incorporada ao script.
    2. A autenticação do sistema operacional remoto é permitida, assumindo que a LAN é 100% segura e os clientes podem ser confiáveis ​​(o mesmo que rlogin/ rshcostumava ser normalmente permitido)
    3. Um invasor coloca seu laptop na LAN por qualquer meio, sabe que eu trabalho lá e cria um usuário local em seu laptop chamado gaiuse executa o SQL*Plus como esse usuário
    4. O Oracle vê (ou seja OSUSER, em V$SESSION) é gaiuse registra esse usuário remoto comoops$gaius

    Isso não é apenas ridiculamente fácil de falsificar, mas, colocando meu chapéu de cínico, a Oracle não pode ganhar mais dinheiro vendendo a você seu produto sofisticado de logon único ... Que, a propósito , cumpre todos os pontos que você levanta como vantagens do sistema operacional nível de autenticação Duas senhas melhores que uma são totalmente espúrias; a maioria das pessoas irá configurá-los para serem os mesmos de qualquer maneira (não há nenhum mecanismo no Oracle para evitar isso).

    O princípio geral é que é extremamente difícil defender em software quando um invasor tem acesso físico. E nunca confie no cliente.

    • 16
  2. Brian Ballsun-Stanton
    2011-01-07T03:13:05+08:002011-01-07T03:13:05+08:00

    Ele aumenta os pontos únicos de falha e aumenta a superfície de risco de seus dados.

    Um invasor que obtiver acesso ao sistema, com a Autenticação do SO, terá acesso ao banco de dados. Ao exigir acesso mais seguro ao banco de dados, o invasor em potencial deve aumentar seus privilégios no sistema comprometido para obter acesso root ou oracle, em vez de qualquer usuário.

    Esse problema é uma função de acesso externo ao banco de dados. Se não houver acesso externo e a máquina estiver totalmente protegida, a questão das permissões é discutível. No entanto, se os desenvolvedores tiverem acesso, as permissões de usuário no nível do sistema operacional aumentam o escopo de possíveis desastres de segurança.

    Considere o uso de acesso multicamada para limitar o escopo das violações de segurança e fornecer a qualquer usuário, aplicativo ou cliente o acesso necessário sem a necessidade de criar contas no nível do sistema operacional para cada instância.

    • 8
  3. Justin Cave
    2011-01-28T11:44:32+08:002011-01-28T11:44:32+08:00

    Gaius já apontou por que a autenticação remota do sistema operacional (em oposição à autenticação do sistema operacional vanilla, na qual você permite que os usuários da máquina local acessem o banco de dados sem especificar uma senha separada) é relativamente insegura.

    Eu esperaria que a Oracle estivesse se movendo nessa direção porque deseja encorajar as pessoas a usar usuários corporativos (ou o conjunto completo de gerenciamento de identidades) em vez de usuários autenticados pelo sistema operacional remoto. Os usuários corporativos têm as mesmas vantagens que os usuários autenticados pelo sistema operacional remoto, mas a Oracle está realmente saindo e acessando seu servidor Active Directory para autenticar o usuário. Você obtém os mesmos benefícios de logon único sem deixar a verificação de segurança para a máquina cliente.

    • 4
  4. Joe
    2011-01-29T03:37:58+08:002011-01-29T03:37:58+08:00

    Você aponta especificamente para a autenticação de estilo de identidade, mas também gostaria de apontar que outros métodos de vincular banco de dados ou quaisquer outros logins aos logins do sistema operacional são igualmente ruins. (seja arquivos de senha locais, LDAP ou qualquer outro para o armazenamento real das credenciais)

    Se você permitir conexões remotas com o banco de dados (ou servidor web, ou o que quer que esteja fazendo a autenticação), alguns sistemas operacionais irão ignorar regras que podem ser definidas para dificultar contas de força bruta (por exemplo, bloquear IPs de onde vêm as tentativas falhadas; bloquear usuários por um período após um determinado número de falhas, etc). Normalmente, essas regras estão vinculadas ao sshd, e não ao sistema de autenticação como um todo.

    Portanto, se alguém conseguir se conectar ao banco de dados / servidor da web / qualquer coisa remotamente, poderá forçar a senha com força bruta, pois os bancos de dados tendem a não ter os mesmos mecanismos para retardar as tentativas e, em seguida, ssh in assim que encontrarem as credenciais necessárias.

    • 4

relate perguntas

  • Backups de banco de dados no Oracle - Exportar o banco de dados ou usar outras ferramentas?

  • ORDER BY usando prioridades personalizadas para colunas de texto

  • Interface sqlplus confortável? [fechado]

  • Como encontrar as instruções SQL mais recentes no banco de dados?

  • Como posso consultar nomes usando expressões regulares?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Como você mostra o SQL em execução em um banco de dados Oracle?

    • 2 respostas
  • Marko Smith

    Como selecionar a primeira linha de cada grupo?

    • 6 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Posso ver Consultas Históricas executadas em um banco de dados SQL Server?

    • 6 respostas
  • Marko Smith

    Como uso currval() no PostgreSQL para obter o último id inserido?

    • 10 respostas
  • Marko Smith

    Como executar o psql no Mac OS X?

    • 11 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Marko Smith

    Passando parâmetros de array para um procedimento armazenado

    • 12 respostas
  • Martin Hope
    Manuel Leduc Restrição exclusiva de várias colunas do PostgreSQL e valores NULL 2011-12-28 01:10:21 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Stuart Blackler Quando uma chave primária deve ser declarada sem cluster? 2011-11-11 13:31:59 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST
  • Martin Hope
    BrunoLM Guid vs INT - Qual é melhor como chave primária? 2011-01-05 23:46:34 +0800 CST
  • Martin Hope
    bernd_k Quando devo usar uma restrição exclusiva em vez de um índice exclusivo? 2011-01-05 02:32:27 +0800 CST
  • Martin Hope
    Patrick Como posso otimizar um mysqldump de um banco de dados grande? 2011-01-04 13:13:48 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve