Oracle осуждает аутентификацию ОС в соответствии с Руководством по безопасности баз данных Oracle , в котором говорится
Учтите, что параметр REMOTE_OS_AUTHENT устарел в Oracle Database 11g Release 1 (11.1) и сохраняется только для обратной совместимости.
Кроме того, большинство информации и инструментов безопасности считают, что проверка подлинности ОС (внешней) является проблемой безопасности. Я пытаюсь понять, почему это так. Вот некоторые преимущества аутентификации ОС:
- Без аутентификации ОС приложения должны хранить пароли в различных приложениях, каждое со своей моделью безопасности и уязвимостями.
- Аутентификация домена уже должна быть безопасной, потому что если это не так, безопасность базы данных просто замедляет доступ к базе данных, но не может предотвратить ее.
- Пользователи, которым нужно запомнить только один пароль домена, могут создавать более безопасные пароли домена проще, чем они могут создавать еще менее надежные пароли баз данных, так как увеличивается число различных баз данных, к которым они должны подключаться.
oracle
oracle-11g-r2
security
Ли Риффель
источник
источник
Ответы:
Рассмотрим следующий сценарий:
gaius
на сервере Oracle с внешней аутентификацией, поэтому в Oracle есть соответствующий пользователь с именемops$gaius
. При входе в оболочку я также могу напрямую войти в свою схему Oracle, и мои задания cron также не нуждаются в пароле, встроенном в скрипт.rlogin
/rsh
разрешено)gaius
SQL * Plus» и запускает его под этим пользователем.OSUSER
вV$SESSION
) isgaius
и регистрирует этого удаленного пользователя какops$gaius
Это не только нелепо легко подделать, но и надеть шляпу моего циника. Oracle больше не сможет зарабатывать, продавая свой модный продукт с единой регистрацией ... К слову, он отвечает всем тем вопросам, которые вы поднимаете как преимущества ОС. Уровень аутентификации Два пароля лучше, чем один, полностью ложный; большинство людей в любом случае установят их одинаковыми (в Oracle нет механизма, предотвращающего это).
Общий принцип заключается в том, что в программном обеспечении крайне сложно защищаться, когда злоумышленник имеет физический доступ. И никогда не доверяй клиенту.
источник
Это увеличивает отдельные точки отказа и увеличивает поверхность риска ваших данных.
Злоумышленник, получивший доступ к системе, при аутентификации ОС получит доступ к базе данных. Требуя более безопасного доступа к базе данных, потенциальный злоумышленник должен повысить свои привилегии в скомпрометированной системе, чтобы получить доступ с правами root или oracle, а не какой-либо пользователь.
Эта проблема является функцией внешнего доступа к базе данных. Если нет внешнего доступа и машина полностью защищена, вопрос о разрешениях является спорным. Однако, если у разработчиков есть доступ, пользовательские разрешения на уровне операционной системы увеличивают масштаб потенциальных нарушений безопасности.
Рассмотрите возможность использования многоуровневого доступа, чтобы ограничить объем нарушений безопасности и дать любому пользователю, приложению или клиенту доступ, который им необходим, без необходимости создавать учетные записи уровня ОС для каждого экземпляра.
источник
Gaius уже указал, почему аутентификация удаленной операционной системы (в отличие от аутентификации операционной системы vanilla, когда вы разрешаете пользователям локальных компьютеров получать доступ к базе данных без указания отдельного пароля) является относительно небезопасной.
Я ожидаю, что Oracle движется в этом направлении, потому что хочет побудить людей использовать корпоративных пользователей (или полноценный пакет управления идентификацией), а не пользователей, прошедших аутентификацию в удаленной операционной системе. Корпоративные пользователи имеют те же преимущества, что и пользователи, прошедшие проверку подлинности в удаленной операционной системе, но Oracle фактически пытается подключиться к серверу Active Directory для проверки подлинности пользователя. Вы получаете тот же единый знак преимуществ, не оставляя проверку безопасности клиентскому компьютеру.
источник
Вы конкретно указываете на аутентификацию в стиле идентификаторов, но я также хотел бы отметить, что другие методы привязки базы данных или любых других входов в систему для входа в ОС такие же плохие. (будь то локальные файлы паролей, LDAP или что-то еще для фактического хранения учетных данных)
Если вы разрешите удаленные подключения к базе данных (или веб-серверу, или тому, кто выполняет аутентификацию), некоторые операционные системы будут игнорировать правила, которые могут быть установлены, чтобы затруднить взлом учетных записей (например, блокирование IP-адресов, с которых происходят неудачные попытки; блокировка; пользователей в течение определенного периода после определенного количества ошибок и т. д.). Обычно эти правила связаны
sshd
, а не система аутентификации в целом.Таким образом, если кто-то сможет подключиться к базе данных / веб-серверу / чему-либо удаленному, он может перебрать пароль, так как базы данных не склонны использовать одни и те же механизмы для замедления попыток, а затем использовать ssh, как только найдет необходимые учетные данные.
источник
mod_auth_apple
иmod_auth_digest_apple
использовать версии по умолчанию, хотя я не проверял, существует ли проблема в 10.6)