Карточка уязвимости
Характеристики уязвимости
Уровень опасности
Оценка CVSS
Производитель ПО
Наименование ПО
Oracle Database
(Oracle Database)
Описание
Возможна аутентификация с использованием файла, содержащего пароли для удаленного входа в систему.
Oracle использует файл паролей удаленного доступа, чтобы предоставлять удаленным пользователям возможность аутентификации в базе данных с использованием учетной записи INTERNAL или учетной записи с ролями SYSDBA или SYSOPER. При использовании этого способа аутентификации хэши паролей сопоставляются с хэшами паролей, которые хранятся в файле паролей. Файл паролей называется PWD[SID].ORA в Windows и orapw[SID] в Unix.
Использование данного компонента существенно увеличивает угрозу атак подбора паролей. Любая учетная запись в этом файле имеет повышенные привилегии, а возможность использовать компонент FAILED_LOGIN_ATTEMPTS для предотвращения попыток подбора пароля к такой учетной записи отсутствует. Усугубляет ситуацию тот факт, что попытки подбора не регистрируются в журнал аудита вместе с другими событиями, таким образом, даже если события в журнале аудита базы данных отслеживаются, обнаружить атаку не удастся.
Вариант выполнения аутентификации зависит от настроек параметра REMOTE_LOGIN_PASSWORDFILE в файле init.ora. Для данного параметра доступны следующие значения:
1) exclusive - файл паролей для удаленного входа используется только одной базой данных;
2) shared - файл паролей для удаленного входа используется многими базами данных;
3) none - файл паролей для удаленного входа не используется.
Существуют другие, более безопасные способы соединения с базой данных. Наиболее предпочтительный способ - использовать доверенное соединение для подключения в качестве INTERNAL, SYSDBA или SYSOPER. Роли операционной системы OSDBA и OSOPER предназначены для предоставления пользователям, прошедшим аутентификацию в операционной системе, возможности подключаться к базе данных в качестве INTERNAL, SYSDBA или SYSOPER.
Oracle использует файл паролей удаленного доступа, чтобы предоставлять удаленным пользователям возможность аутентификации в базе данных с использованием учетной записи INTERNAL или учетной записи с ролями SYSDBA или SYSOPER. При использовании этого способа аутентификации хэши паролей сопоставляются с хэшами паролей, которые хранятся в файле паролей. Файл паролей называется PWD[SID].ORA в Windows и orapw[SID] в Unix.
Использование данного компонента существенно увеличивает угрозу атак подбора паролей. Любая учетная запись в этом файле имеет повышенные привилегии, а возможность использовать компонент FAILED_LOGIN_ATTEMPTS для предотвращения попыток подбора пароля к такой учетной записи отсутствует. Усугубляет ситуацию тот факт, что попытки подбора не регистрируются в журнал аудита вместе с другими событиями, таким образом, даже если события в журнале аудита базы данных отслеживаются, обнаружить атаку не удастся.
Вариант выполнения аутентификации зависит от настроек параметра REMOTE_LOGIN_PASSWORDFILE в файле init.ora. Для данного параметра доступны следующие значения:
1) exclusive - файл паролей для удаленного входа используется только одной базой данных;
2) shared - файл паролей для удаленного входа используется многими базами данных;
3) none - файл паролей для удаленного входа не используется.
Существуют другие, более безопасные способы соединения с базой данных. Наиболее предпочтительный способ - использовать доверенное соединение для подключения в качестве INTERNAL, SYSDBA или SYSOPER. Роли операционной системы OSDBA и OSOPER предназначены для предоставления пользователям, прошедшим аутентификацию в операционной системе, возможности подключаться к базе данных в качестве INTERNAL, SYSDBA или SYSOPER.
Как исправить
В целях предотвращения атак на учетные записи, рекомендуется отключить файл паролей для удаленного входа. Данный компонент можно отключить, настроив значение NONE для параметра REMOTE_LOGIN_PASSWORDFILE в файле init.ora, как это показано ниже.
REMOTE_LOGIN_PASSWORDFILE=NONE;
После смены значения необходимо остановить и перезапустить базу данных.
REMOTE_LOGIN_PASSWORDFILE=NONE;
После смены значения необходимо остановить и перезапустить базу данных.