Créer un profil de politique de mots de passe et l'attribuer aux utilisateurs
OracleSécuritéCommande
-- Hardened profile for application/human users:
CREATE PROFILE app_user_prf LIMIT
FAILED_LOGIN_ATTEMPTS 5
PASSWORD_LOCK_TIME 1/24 -- 1 hour lock
PASSWORD_LIFE_TIME 90
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME 365
PASSWORD_REUSE_MAX 10
INACTIVE_ACCOUNT_TIME 60 -- accounts unused for 60 days are locked
PASSWORD_VERIFY_FUNCTION ora12c_strong_verify_function;
-- Service accounts: password never expires, gradual password rollover enabled:
CREATE PROFILE service_account_prf LIMIT
FAILED_LOGIN_ATTEMPTS UNLIMITED
PASSWORD_LIFE_TIME UNLIMITED
PASSWORD_ROLLOVER_TIME 1; -- old and new password both valid for 1 day
ALTER USER customer_app PROFILE app_user_prf;
-- Check:
SELECT username, profile, account_status,
TO_CHAR(expiry_date,'YYYY-MM-DD') AS expiry_date, lock_date
FROM dba_users
WHERE profile IN ('APP_USER_PRF', 'SERVICE_ACCOUNT_PRF');
SELECT profile, resource_name, limit
FROM dba_profiles
WHERE profile = 'APP_USER_PRF' AND resource_type = 'PASSWORD'
ORDER BY resource_name;Ce que fait la commande
Un profil applique à un groupe d'utilisateurs des règles de verrouillage après échecs de connexion, de durée de vie, de réutilisation et de complexité (verify function) des mots de passe, et de verrouillage des comptes inactifs. PASSWORD_ROLLOVER_TIME permet aux applications de basculer sans interruption pendant le changement du mot de passe d'un compte de service.
Quand l'utiliser
Pour les exigences d'audit de sécurité/CIS benchmark, lors de la création de nouveaux utilisateurs applicatifs, et pour séparer par groupe d'utilisateurs les valeurs laxistes du profil DEFAULT.
Attention
Aucune licence supplémentaire. Une limite FAILED_LOGIN_ATTEMPTS sur un compte de service permet à un seul serveur d'application avec un mauvais mot de passe de verrouiller le compte et de provoquer une interruption de production. PASSWORD_LIFE_TIME sur les comptes applicatifs peut provoquer un état EXPIRED inattendu. La verify function doit exister sous SYS (sinon @?/rdbms/admin/utlpwdmg.sql ; ce script modifie aussi le profil DEFAULT). Changer de profil ne revalide pas les mots de passe existants.
Voir aussi
- Créer, ouvrir, définir la clé maître et sauvegarder un keystore TDE (19c+)
- Chiffrer des tablespaces avec TDE (nouveaux et existants, en ligne/hors ligne)
- Créer une politique Unified Auditing, l'activer sous condition, consulter les enregistrements, la supprimer
- Ajouter une politique d'accès au niveau ligne avec VPD (DBMS_RLS)
- Trouver les privilèges inutilisés avec privilege analysis