Lors de la création d'une base Oracle, certaines permissions violent des règles de sécurité. Dans le Database Control ceci se manifeste par un certain nombre ( 8 par défaut ) d'alerte en page d'accueil.

Eliminer ces alertes est assez simple, 6 d'entre elles concernent l'affectation de droit d'execution à PUBLIC. Se connecter sous sqlplus et exécuter les ordres suivants :

revoke execute on utl_tcp from public;
revoke execute on utl_http from public;
revoke execute on utl_smtp from public;
revoke execute on utl_file from public;
revoke execute on dbms_lob from public;
revoke execute on dbms_job from public;

Le dernier ordre ( dbms_job ) prend un peu de temps.

Il reste deux règles, la première concerne les droits sur le répertoire audit et à déjà fait l'objet d'un billet ( voir ici ). Il suffit de passer la commande suivante en tant que user oracle.

chmod o-rx $ORACLE_HOME/rdbms/audit

La dernière concerne la mise en place d'une fonction de vérification des mots de passe pour le profil DEFAULT. Oracle fournit un script pour celà qu'il est possible de personnaliser.

start $ORACLE_HOME/rdbms/admin/utlpwdmg.sql

Ce script passe les ordres suivants :

ALTER PROFILE DEFAULT LIMIT
PASSWORD_LIFE_TIME 180
PASSWORD_GRACE_TIME 7
PASSWORD_REUSE_TIME UNLIMITED
PASSWORD_REUSE_MAX UNLIMITED
FAILED_LOGIN_ATTEMPTS 10
PASSWORD_LOCK_TIME 1
PASSWORD_VERIFY_FUNCTION verify_function_11G;

La fonction de vérification contient les règles suivantes :

  • Le mot de passe est différent du user
  • La longueur est au moins de 8 caractères
  • Le mot de passe est testé sur un mini dictionnaire afin d'eviter certains mots.
  • Le mot de passe contient au moins une lettre et un chiffre.
  • Le nouveau mot de passe doit être different par 3 lettres du précédent.

Et s'il vous plait, ne pas mettre system/manager. Si vous saviez le nombre de bases, y compris dans des sociétés prestigieuses, où je me suis connecté ainsi...

Il suffit de rédemarrer le database control ou de patienter 24 heures, les alertes auront disparues.