
| | 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
 
|
|