| auteur : Jaouad |
Il suffit d'effectuer une insertion dans la table product_user_profile :
INSERT INTO product_user_profile (product, userid, attribute, char_value)
VALUES (' SQL*Plus ' , ' SCOTT ' , ' CREATE ' , ' DISABLED ' );
COMMIT ;
|
Comment voir les interdictions :
set linesize 250
col CHAR_VALUE format a15
col ATTRIBUTE format a15
select product, userid, attribute, char_value from product_user_profile ;
|
Voici un exemple de mise en oeuvre, où l'attribut CREATE est désactivé pour l'utilisateur FORMATION :
SQL > conn system
Entrez le mot de passe : * * * * * * * *
Connecté.
SQL > INSERT INTO product_user_profile (product, userid, attribute, char_value) VALUES
2 (' SQL*Plus ' , ' FORMATION ' , ' CREATE ' , ' DISABLED ' );
1 ligne créée.
SQL > commit ;
Validation effectuée.
SQL > conn formation/ formation
Connecté.
SQL > create table dvp ( a varchar2 (10 )) ;
SP2- 0544 : commande non valide : create
SQL > conn system
Entrez le mot de passe : * * * * * * * *
Connecté.
SQL > delete from product_user_profile where userid= ' FORMATION ' ;
1 ligne supprimée.
SQL > commit ;
Validation effectuée.
SQL > conn formation/ formation
Connecté.
SQL > create table dvp ( a varchar2 (10 )) ;
Table créée.
|
|
| auteur : Jaouad |
A placer dans le fichier Sqlnet.ora ( sur le serveur hébergeant le SGBDR )
Autoriser les personnes suivantes :
TCP.VALIDNODE_CHECKING= yes
TCP.INVITED_NODES= (xxx.x.x.xxx,xxx.x.x.xxx)
|
Interdire les personnes suivantes :
TCP.VALIDNODE_CHECKING= yes
TCP.EXCLUDED_NODES= (xxx.x.x.xxx,xxx.x.x.xxx)
|
|
| auteur : Jaouad |
À l'aide de la fonction suivante :
REATE OR REPLACE FUNCTION restrict_pwd_change (username VARCHAR2 ,
password VARCHAR2 ,
old_password VARCHAR2 )
RETURN boolean IS
BEGIN
raise_application_error(- 20009 , ' ERROR: Modification du mot de passe impossible ' );
END ;
/
|
et de la commande suivante :
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION restrict_pwd_change;
|
Pour désactiver cette restriction, utilisez cette commande :
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION null ;
|
|
| auteur : LeoAnderson |
Depuis la 9i, il est impossible de se connecter avec l'utilisateur SYS si on ne précise pas AS SYSDBA ou AS SYSOPER
SQLPLUS / NOLOG
CONNECT SYS/ pwd@db AS SYSDBA
|
|
| auteur : Xavier Vlieghe |
Via la gestion de profils dédiés, qui peuvent gérer les paramètres suivants :
- FAILED_LOGIN_ATTEMPTS : Nombre d'erreurs permises à la saisie du mot de passe avant que le compte soit verrouillé,
- PASSWORD_GRACE_TIME : En cas de péremption d'un mot de passe dû à un délai fixé par l'administrateur,
cette option permet de paramétrer une durée (en jours) pendant laquelle l'utilisateur pourra tout de même se connceter, mais recevra un avertissement,
- PASSWORD_LIFE_TIME : Durée (en jours) de vie maximum d'un mot de passe,
- PASSWORD_LOCK_TIME : Durée (en jours) pendant laquelle un compte sera verrouillé
après qu'il ait atteint le nombre d'erreurs permises à la saisie de son mot de passe (FAILED_LOGIN_ATTEMPTS),
- PASSWORD_REUSE_MAX : Nombre de changement de mots de passe requis avant de pouvoir ré-utiliser un mot de passe déjà utilisé,
- PASSWORD_REUSE_TIME : Durée (en jours) minimum pendant laquellel'utilisateur ne peut pas ré-utiliser un mot de passe déjà utilisé,
à partir du moment où celui-ci a été changé,
- PASSWORD_VERIFY_FUNCTION : permet de préciser une fonction (PL/SQL) vérifiant la compexité du mot de passe.
Voici un exemple de mise en application :
1. Créons un utilisateur TEST :
CREATE USER TEST
IDENTIFIED BY TEST
DEFAULT TABLESPACE TBSTEST;
|
2. Créons un profil :
SQL > CREATE PROFILE Profil_Test LIMIT PASSWORD_LIFE_TIME 60 ;
Profil créé.
SQL > ALTER PROFILE Profil_Test LIMIT FAILED_LOGIN_ATTEMPTS 2 ;
Profil modifié.
|
3. Attribuons ce profil à notre utilisateur :
SQL > ALTER USER TEST PROFILE Profil_Test;
Utilisateur modifié.
|
4. Vérifions que le paramètre FAILED_LOGIN_ATTEMPTS est bien actif :
SQL > connect test/ test2@db
ERROR:
ORA- 01017 : invalid username/ password; logon denied
Avertissement : vous n' êtes plus connecté à ORACLE.
SQL> connect test/test3@db
ERROR:
ORA-01017: invalid username/password; logon denied
SQL> connect test/test@db
ERROR:
ORA-28000: the account is locked
|
Il est possible de consulter les profils existants à l'aide de la requête suivante :
SQL > SELECT profile, resource_name, limit
2 FROM Dba_Profiles
3 WHERE resource_type = ' PASSWORD '
4 ORDER BY profile;
PROFILE RESOURCE_NAME LIMIT
DEFAULT FAILED_LOGIN_ATTEMPTS UNLIMITED
DEFAULT PASSWORD_LIFE_TIME UNLIMITED
DEFAULT PASSWORD_REUSE_MAX UNLIMITED
DEFAULT PASSWORD_LOCK_TIME UNLIMITED
DEFAULT PASSWORD_GRACE_TIME UNLIMITED
DEFAULT PASSWORD_VERIFY_FUNCTION NULL
DEFAULT PASSWORD_REUSE_TIME UNLIMITED
PROFIL_TEST FAILED_LOGIN_ATTEMPTS 2
PROFIL_TEST PASSWORD_LIFE_TIME 60
PROFIL_TEST PASSWORD_REUSE_MAX DEFAULT
PROFIL_TEST PASSWORD_LOCK_TIME DEFAULT
PROFIL_TEST PASSWORD_GRACE_TIME DEFAULT
PROFIL_TEST PASSWORD_VERIFY_FUNCTION DEFAULT
PROFIL_TEST PASSWORD_REUSE_TIME DEFAULT
14 ligne(s) sélectionnée(s).
|
|
lien : Gestion des Profils
lien : Sécurisation d'une base Oracle
|
Consultez les autres F.A.Q's
|
|