Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
С одной машины:
C:\Documents and Settings\ank>sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 26 23:02:28 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> connect / @bd
ERROR:
ORA-01017: invalid username/password; logon denied


С этой же машины пользователем stil:
C:\Documents and Settings\stil>sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 26 23:19:28 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> connect / @bd
Connected.
SQL>


С другой машины:
C:\Documents and Settings\ank>sqlplus /nolog

SQL*Plus: Release 11.2.0.3.0 Production on Tue Nov 26 23:01:46 2013

Copyright (c) 1982, 2011, Oracle.  All rights reserved.

SQL> connect / @bd
Connected.
SQL>

Локальный пользователь на обоих машинах один: ank. База одна: BD. os_authent_prefix=''

Смотрим аудит:
 select userid,action#, returncode, comment$text, spare1 from sys.aud$ 

USERIDACTION#RETURNCODECOMMENT$TEXTSPARE1
1001017"Authenticated by: DATABASE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.18)(PORT=4049))"ank
STIL1000"Authenticated by: NETWORK SERVICE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.18)(PORT=1889))"stil
ANK1000"Authenticated by: NETWORK SERVICE; Client address: (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.32)(PORT=1889))"ank


Пользователь ank и stil в базе:
CREATE USER ANK IDENTIFIED EXTERNALLY;
GRANT DBA TO ANK;
ALTER USER ANK DEFAULT ROLE ALL;

CREATE USER STIL IDENTIFIED EXTERNALLY;
GRANT DBA TO STIL;
ALTER USER STIL DEFAULT ROLE ALL;


ank и stil на первой машине одинаковы, разве что stil создан намного раньше ank

Сначала думал - почему то не передается в одном случае USERID, но потом заметил, что судя по всему в неуспешном случае база по прежнему считает, что пользователь НЕ EXTERNAL: DATABASE~NETWORK SERVICE

Как, млин?? Куда еще посмотреть?

v11.2.0.3 win 2003 serv
26 ноя 13, 20:34    [15194293]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
Начать надо с трасировки как на клиенте, так и на сервере
Ну и в качестве затравки: проверить sqlnet.ora откуда берется у первого и второго пользователя
Может второй пользователь просто его прочитать не может, вот и не пытается подключать NTS

Ну и ответы видимости в домене (если есть)
1) Домен есть?
2) Рабстанции в домене
3) Сервер в домене?
4) Сервис oracle от локального или доменного пользователя
5) нет ли пересечений локальных станций пользователей и пользователей в домене
26 ноя 13, 20:53    [15194361]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin
Начать надо с трасировки как на клиенте, так и на сервере
Ну и в качестве затравки: проверить sqlnet.ora откуда берется у первого и второго пользователя
Может второй пользователь просто его прочитать не может, вот и не пытается подключать NTS

Ну и ответы видимости в домене (если есть)
1) Домен есть?
2) Рабстанции в домене
3) Сервер в домене?
4) Сервис oracle от локального или доменного пользователя
5) нет ли пересечений локальных станций пользователей и пользователей в домене

Я никоим образом не админ вин - потому заранее извиняюсь если буду говорить чушь. Итак:

OSAUTH_PREFIX_DOMAIN=false на обоих машинах (прописал в реестре руками) - без него при внешней аутентификации были попытки коннекта с userid что-то вроде \имя машиныSTIL
Вин ставил сам - но все по дефолту интуитивно. Домен не настраивал (если тока вин его сам настроил по дефолту? как проверить?)

Рабстанция 32: отдельная машина, 18 - сам сервер и вторая рабстанция "в одном флаконе": здесь настроен терминальник и стоит оракл
26 ноя 13, 21:02    [15194402]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
SY
Member

Откуда: Middlebury, CT USA
Сообщений: 10040
stil,

покажи remote_os_authent и remote_login_passwordfile. Похоже remote_os_authent = false.

SY.
26 ноя 13, 21:58    [15194624]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
SY
stil,

покажи remote_os_authent и remote_login_passwordfile. Похоже remote_os_authent = false.

SY.

remote_login_passwordfile EXCLUSIVE
remote_os_authent FALSE
как и было по умолчанию. Я remote_os_authent и не пытался менять - не думал что от него здесь зависит что-то.Да, кстати, объяснения почему под одним пользователем коннектится, а под другим нет все равно нема: они ж оба удаленные получаются
26 ноя 13, 22:33    [15194782]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
После изменения remote_os_authent на TRUE - коннект успешный. В аудите: Authenticated by: OS;
Но смущает
SQL> startup
ORA-32004: obsolete or deprecated parameter(s) specified for RDBMS instance
ORACLE instance started.

плюс где то видел, что remote_os_authent вообще не рекомендуется использовать: как большую дыру в безопасности

И это.. Почему под другим пользователем то работает интересно?
26 ноя 13, 22:41    [15194817]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
SY
stil,

покажи remote_os_authent и remote_login_passwordfile. Похоже remote_os_authent = false.

SY.

2SY
Этот параметр не используется при NTS, наскольку я помню, раньше этот параметр указывал доверять
удаленной системе авторизации, и практически поэтому нигде не использовался, бо дырища космического размера
NTS в данном случае не является компонентом удаленной (REMOTE_OS) системы,
поэтому этот параметр устанавливать не надо. Кроме того, он сейчас объявлен устаревшим.


2stil
У тебя случаем не два Oracle клиента установлены?

Попробуй в обоих случаяъ явно установить
TNS_ADMIN
Положить в эту директорию sqlnet.ora,
проверить что он точно читается из пользователя и повторить тест
26 ноя 13, 22:47    [15194856]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
Если не поможет, ставить трасировку и курить трасы
26 ноя 13, 22:48    [15194864]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Клиент точно 1.

sqlnet.ora в обоих местах содержит только:
SQLNET.AUTHENTICATION_SERVICES = (NTS)

лежит в ORACLE_HOME\network\admin
26 ноя 13, 22:54    [15194893]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin
проверить что он точно читается из пользователя и повторить тест

Вот этот момент не совсем понял. Как это проверить?
26 ноя 13, 22:55    [15194901]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin
поэтому этот параметр устанавливать не надо. Кроме того, он сейчас объявлен устаревшим.

И тем не менее - его установка проблему решила. Значит он как то тоже с этим связан

Понятно что появились проблемы другие, но то вопрос отдельный
26 ноя 13, 22:57    [15194914]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
stil
Vadim Lejnin
поэтому этот параметр устанавливать не надо. Кроме того, он сейчас объявлен устаревшим.

И тем не менее - его установка проблему решила. Значит он как то тоже с этим связан

Понятно что появились проблемы другие, но то вопрос отдельный

Ты не решил проблему, ты использовал совсем другой механизм (очень дырявый)
По хорошему, ты должен был завести пользователя такого же пользователя как на рабочей станции с таким же паролем
на сервере oracle (если без домена) и авторизироваться используя NTS на сервере со своей рабочей станции
Это как раз вариант NTS+REMOTE_OS_AUTH false

А сейчас, твой сервер пускает любого, кто на любой рабочей станции зайдет как аналогичный пользователь
пароль может быть другой.
26 ноя 13, 23:06    [15194977]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin,

Забыл взять в кавычки слово "решила" )
27 ноя 13, 04:51    [15195909]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin
По хорошему, ты должен был завести пользователя такого же пользователя как на рабочей станции с таким же паролем на сервере oracle (если без домена) и авторизироваться используя NTS на сервере со своей рабочей станции
Это как раз вариант NTS+REMOTE_OS_AUTH false

А можно поподробнее об механизме? Что значит с таким же? Я считал что identified externally вообще пароля на уровне базы не предполагает. Я не прав?

Тогда не совсем понятно вот что - если я на уровне вин заставлю пользователя сменить пароль например при первом входе - мне что
на уровне оракла как то пароль менять надо??? Не верю
27 ноя 13, 05:38    [15195926]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
Все верно, пароля на уровне базы не предполагается. Хотя я не прав, заводить пользователя на сервере не надо.

Когда клиент стучится в базу, он передает как информацию имя пользователя
под которым он зарегистрился в OC.
В случае NT, пользователь либо доменный, либо локальный рабочей станции)
То есть будет комбинация пользователь - домен (рабстанция)

И вот тут, oracle может проверить (а может и не проверять - remote_os_authent=true)
данное утверждение у клиента вызовом системной библиотеки-адаптера.
Доступные протоколы проверки прописаны в sqlnet.ora запись SQLNET.AUTHENTICATION_SERVICES = (NTS).
Причем проверять oracle будет у своей серверной ОС (удаленная ему не доступна).

Для случая недоменного NTS, система пошлет запрос об авторизации по своим защиенным каналам на рабстанцию.
И если сервер и станция договорятся, что NT может доверять той авторизации что на другом конце,
то система махнет флажком - кошерный пользователь.

То есть, если вы указали принудительную смену пароля при первом входе, то NT сервер и станция должны будут договориться как им доверять друг другу.

Но вы установили remote_os_authent=true.
В этом случае проверки на уровне протоколов NT не будет.
То есть, если чел устновил у себя virtualbox и под ним linux + oracle client
Завел и зашел как пользователь ank - то oracle его пустит, он ведь доверяет удаленной ОС
в 11g про это параметр уже ничего нет, а вот в 10-ке написано следующее тынц:
Oracle® Database Advanced Security Administrator's Guide 10g Release 2 (10.2) B14268-03
Verifying that REMOTE_OS_AUTHENT Is Not Set to TRUE
To verify that REMOVE_OS_AUTHENT is not set to TRUE, add the following
parameter to the initialization file, in each database instance when you configure the
authentication method:
REMOTE_OS_AUTHENT=FALSE
Caution: Setting REMOTE_OS_AUTHENT to TRUE can cause a
security exposure, because it lets someone using a non-secure
protocol, such as TCP, perform an operating system-authorized
login (formerly referred to as an OPS$ login).
Note: In addition to setting the REMOTE_OS_AUTHENT
initialization parameter file to FALSE, you should issue the startup
command with a PFILE option. This ensures that the parameters
from your initSID.ora are used.
If REMOTE_OS_AUTHENT is set to FALSE, and the server cannot support any of the
authentication methods requested by the client, then the authentication service
negotiation fails and the connection terminates.
If the parameter is set as follows in the sqlnet.ora file on either the client or server,
the database attempts to use the supplied user name and password to login the user:
SQLNET.AUTHENTICATION_SERVICES=(NONE)
If REMOTE_OS_AUTHENT is set to FALSE, however, the connection fails.


А по поводу Вашей ошибки, имеет смысл включить трасировку и проверить.
Кстати у пользователя банально может не хватать прав не на sqlnet.ora а на dll адаптера nts
27 ноя 13, 11:04    [15196877]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Vadim Lejnin,

Спасибо за обстоятельное разъяснение. Многое прояснилось

Vadim Lejnin
Кстати у пользователя банально может не хватать прав не на sqlnet.ora а на dll адаптера nts

Так вот в том то и проблема, что пользователи с виду одинаковые. Я даже на всякий случай временно включил проблемного в группу администраторов. Ничего не изменилось

С другой стороны, попробовал проделать то же самое на prod вчера ночью (до этого экспериментил со snapshot standby). Такого эффекта больше не вижу. remote_os_authent=false (ставил true только в изыскательских целях). ОС - одинаковая.. Возможно что-то еще упускаю

В общем танцы с бубном продолжу.. Погляжу
27 ноя 13, 12:31    [15197604]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Что-то начинает вырисовываться: на prod ситуация повторилась - при попытке коннектиться с удаленной машины под пользователем ank.

В случае со standby я, получается, тупанул - удачно лез то я пользователем ank хоть и через листенер, но на базу на локальной машине. В общую картину не встраивается только то, что
пользователь stil (визуально отличимый от ank только временем создания) успешно попадал в соответствующую базу в том числе и удаленно

Хотя вру: stil входит еще в группу ora_dba. Это может сказываться?
27 ноя 13, 14:49    [15199105]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
stil
Member

Откуда: Кемерово
Сообщений: 1295
Проверил: сунул ank в ora_dba. не помогло
27 ноя 13, 14:49    [15199111]     Ответить | Цитировать Сообщить модератору
 Re: Поведение externally authentication зависит от погоды на Марсе??  [new]
Vadim Lejnin
Member

Откуда:
Сообщений: 7126
stil
Проверил: сунул ank в ora_dba. не помогло

ora_dba на какой машине?
Добавь пользователя
WORKSTATION\ank в группу ORASERVER\ora_dba
Залогинься как sysdba и сделай выборку
select user from dual;

А снять трасировку и сравнить что и где у тебя не туда идет?
27 ноя 13, 15:10    [15199341]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить