Ni hao ma ?

Aller au contenu | Aller au menu | Aller à la recherche

jeudi 30 janvier 2014

RHEL - Comment lister et appliquer les patchs de sécurité

Pour ceux qui se demandent comment lister les mises à jour de sécurité sur un système RedHat, il suffit d'installer le plugin yum-security si celui-ci n'est pas déjà installé.

Installation du plugin :

yum install -y yum-security

Pour lister les mises à jour de sécurité disponibles :

yum list-security
ELSA-2013-0245 Critical/Sec.  java-1.6.0-openjdk-1:1.6.0.0-1.54.1.11.6.el6_3.x86_64
ELSA-2013-0273 Critical/Sec.  java-1.6.0-openjdk-1:1.6.0.0-1.56.1.11.8.el6_3.x86_64
ELSA-2013-0605 Critical/Sec.  java-1.6.0-openjdk-1:1.6.0.0-1.57.1.11.9.el6_4.x86_64
ELSA-2013-0770 Important/Sec. java-1.6.0-openjdk-1:1.6.0.0-1.61.1.11.11.el6_4.x86_64
ELSA-2013-1014 Important/Sec. java-1.6.0-openjdk-1:1.6.0.0-1.62.1.11.11.90.el6_4.x86_64
ELBA-2013-1414 bugfix         java-1.6.0-openjdk-1:1.6.0.0-1.65.1.11.13.el6_4.x86_64
ELSA-2013-1505 Important/Sec. java-1.6.0-openjdk-1:1.6.0.0-1.65.1.11.14.el6_4.x86_64
ELBA-2013-1741 bugfix         java-1.6.0-openjdk-1:1.6.0.0-1.66.1.13.0.el6.x86_64
ELSA-2014-0097 Important/Sec. java-1.6.0-openjdk-1:1.6.0.0-3.1.13.1.el6_5.x86_64
ELSA-2013-0247 Important/Sec. java-1.7.0-openjdk-1:1.7.0.9-2.3.5.3.0.1.el6_3.x86_64
ELSA-2013-0275 Important/Sec. java-1.7.0-openjdk-1:1.7.0.9-2.3.7.1.0.2.el6_3.x86_64
ELSA-2013-0602 Critical/Sec.  java-1.7.0-openjdk-1:1.7.0.9-2.3.8.0.0.1.el6_4.x86_64
ELSA-2013-0751 Critical/Sec.  java-1.7.0-openjdk-1:1.7.0.19-2.3.9.1.0.1.el6_4.x86_64
ELSA-2013-0957 Critical/Sec.  java-1.7.0-openjdk-1:1.7.0.25-2.3.10.3.0.1.el6_4.x86_64
ELBA-2013-1004 bugfix         java-1.7.0-openjdk-1:1.7.0.25-2.3.10.4.0.1.el6_4.x86_64
ELSA-2013-1451 Critical/Sec.  java-1.7.0-openjdk-1:1.7.0.45-2.4.3.2.0.1.el6_4.x86_64
ELBA-2013-1611 bugfix         java-1.7.0-openjdk-1:1.7.0.45-2.4.3.3.0.1.el6.x86_64
ELBA-2013-1810 bugfix         java-1.7.0-openjdk-1:1.7.0.45-2.4.3.4.0.1.el6_5.x86_64
ELSA-2014-0026 Critical/Sec.  java-1.7.0-openjdk-1:1.7.0.51-2.4.4.1.0.1.el6_5.x86_64

Pour avoir plus d'information sur un "advisory" :

yum info-security ELSA-2013-1806

===============================================================================
   java-1.7.0-openjdk security update
===============================================================================
  Update ID : ELSA-2013-0602
    Release : Oracle Linux 6
       Type : security
     Status : final
     Issued : 2013-03-06
       CVEs : CVE-2013-0809
        : CVE-2013-1493
Description : [1.7.0.9-2.3.8.0.0.1.el6_4]
            : - Update DISTRO_NAME in specfile
            :
            : [1.7.0.9-2.3.8.0el6]
            : - Revert to rhel 6.3 version of spec file
            : - Revert to icedtea7 2.3.8 forest
            : - Resolves: rhbz#917183
            :
            : [1.7.0.11-2.4.0.pre5.el6]
            : - Update to latest snapshot of icedtea7 2.4 forest
            : - Resolves: rhbz#917183
            :
            : [1.7.0.9-2.4.0.pre4.3.el6]
            : - Updated  to icedtea 2.4.0.pre4,
            : - Rewritten (again) patch3
            :   java-1.7.0-openjdk-java-access-bridge-security.patch
            : - Resolves: rhbz#911530
            :
            : [1.7.0.9-2.4.0.pre3.3.el6]
            : - Updated  to icedtea 2.4.0.pre3, updated!
            : - Rewritten patch3
            :   java-1.7.0-openjdk-java-access-bridge-security.patch
            : - Resolves: rhbz#911530
            :
            : [1.7.0.9-2.4.0.pre2.3.el6]
            : - Removed testing
            :  - mauve was outdated and
            :  - jtreg was icedtea relict
            : - Updated  to icedtea 2.4.0.pre2, updated?
            : - Added java -Xshare:dump to post (see 513605) fo
            :   jitarchs
            : - Resolves: rhbz#911530
            :
            : [1.7.0.11-2.4.0.2.el6]
            : - Unapplied but kept (for 2.3revert) patch110,
            :   java-1.7.0-openjdk-nss-icedtea-e9c857dcb964.patch
            : - Added and applied patch113:
            :   java-1.7.0-openjdk-aes-update_reset.patch
            : - Added and applied patch114:
            :   java-1.7.0-openjdk-nss-tck.patch
            : - Added and applied patch115:
            :   java-1.7.0-openjdk-nss-split_results.patch
            : - NSS enabled by default - enable_nss set to 1
            : - rewritten patch109 -
            :   java-1.7.0-openjdk-nss-config-1.patch
            : - rewritten patch111 -
            :   java-1.7.0-openjdk-nss-config-2.patch
            : - Resolves: rhbz#831734
            :
            : [1.7.0.11-2.4.0.1.el6]
            : - Rewritten patch105:
            :   java-1.7.0-openjdk-disable-system-lcms.patch
            : - Added jxmd and idlj to alternatives
            : - make executed with   DISABLE_INTREE_EC=true and
            :   UNLIMITED_CRYPTO=true
            : - Unapplied patch302 and deleted systemtap.patch
            : - buildver increased to 11
            : - icedtea_version set to 2.4.0
            : - Added and applied patch112
            :   java-1.7.openjdk-doNotUseDisabledEcc.patch
            : - removed tmp-patches source tarball
            : - Added /lib/security/US_export_policy.jar and
            :   lib/security/local_policy.jar
            : - Disabled nss - enable_nss set to 0
            : - Resolves: rhbz#895034
   Severity : Critical
updateinfo info done

Pour vérifier quels packages peuvent être mis à jour :

yum --security check-update
Loaded plugins: rhnplugin, security
This system is receiving updates from ULN.
Limiting package lists to security relevant ones
No packages needed for security; 294 packages available

Enfin pour appliquer un patch précis :

yum --advisory=ELSA-2013-1806 update

Et voilà ;o)

jeudi 7 mars 2013

WLS - générer le fichier wlfullclient.jar

Voici un petit rappel sur la génération du wlfullclient.jar pour weblogic 11g

Avant toute chose, il faut paramétrer l'environnement utilisateur :

$ export JAVA_HOME=/opt/jrockit1.6
$ export PATH=$JAVA_HOME/bin:$PATH
$ . /opt/oracle/wls1036/wlserver_10.3/server/bin/setWLSEnv.sh

CLASSPATH=/opt/oracle/wls1036/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/wls1036/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/jrockit1.6/lib/tools.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/wls1036/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/wls1036/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/wls1036/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:/opt/oracle/wls1036/patch_wls1036/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/oracle/wls1036/patch_ocp371/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/opt/jrockit1.6/lib/tools.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/weblogic_sp.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/weblogic.jar:/opt/oracle/wls1036/modules/features/weblogic.server.modules_10.3.6.0.jar:/opt/oracle/wls1036/wlserver_10.3/server/lib/webservices.jar:/opt/oracle/wls1036/modules/org.apache.ant_1.7.1/lib/ant-all.jar:/opt/oracle/wls1036/modules/net.sf.antcontrib_1.1.0.0_1-0b2/lib/ant-contrib.jar:

PATH=/opt/oracle/wls1036/wlserver_10.3/server/bin:/opt/oracle/wls1036/modules/org.apache.ant_1.7.1/bin:/opt/jrockit1.6/jre/bin:/opt/jrockit1.6/bin:/opt/jrockit1.6/bin:/opt/oracle/wls1036/wlserver_10.3/server/bin:/opt/oracle/wls1036/modules/org.apache.ant_1.7.1/bin:/opt/jrockit1.6/jre/bin:/opt/jrockit1.6/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/users/systeme/shell:/root/bin

Your environment has been set.

Se placer dans le répertoire lib :

$ cd /opt/oracle/wls1036/wlserver_10.3/server/lib

Lancer la commande java

$ java -jar wljarbuilder.jar

Le fichier généré se trouvera alors dans le répertoire courant :

Created new jar file: /opt/oracle/wls1036/wlserver_10.3/server/lib/wlfullclient.jar

Et volià ;)

mercredi 29 juin 2011

Weblogic - Keystore & Installation de certificat SSL

Dans weblogic, les certificats et les clés privés sont stockés dans le keystore. Le keystore est un fichier portant l’extension jks (Java KeyStore).

L'utilitaire keytool de Sun, disponible dans la JVM, permet de manipuler les keystores.

Par défaut, le keystore utilisé par weblogic est :

WL_HOME/server/lib/DemoTrust.jks

Les certificats d'autorités (Thawte, Verisgin...) sont dans les fichiers suivants :

WL_HOME/server/lib/cacerts

JAVA_HOME/jre/lib/security/cacerts

Il est possible de définir d'autres Keystores :

  • Par l'option d'initialisation de la JVM :

-Dweblogic.security.SSL.trustedCAkeystore=/oracle/weblogic/WLDomain/security/myKeystore.jks


  • En passant par la console d'administration :
  1. Home > Security Realms > myRealm >  Providers > keystore
  2. cliquer sur New
  3. Ajouter le nom du keystore "myKeystore"
  4. Activer le changement
  5. Cliquez sur le keystore myKeystore, et paramétrez-le 
  6. Private Keystore Passphrase: H3reW3g0
  7. Private Keystore Location : /oracle/weblogic/WLDomain/security/myKeystore.jks
  8. Redémarrer le serveur d'administration.

Pour ajouter un certificat :

Je veux ajouter le certificat du site https://www.google.fr dans le keystore de mon domaine Weblogic.

  1. Je me connecte sur le site.
  2. Je récupère le certificat  depuis mon navigateur.
  3. Sur mon serveur linux :

export JAVA_HOME=/opt/java

export PATH=$JAVA_HOME/bin:$PATH

keytool -import  -file /home/toto/Downloads/www.google.fr.pem -alias www.google.fr -keystore /oracle/weblogic/WLDomain/security/myKeystore.jks -storepass H3reW3g0

Et Voilà ;)






vendredi 24 juin 2011

Weblogic - Out Of Memory Exception (PermGen space) au déploiement de la console weblogic 11g (10.3.5)

D'ordinaire nous utilisons la jvm jrockit sur nos serveurs, cependant pour les besoins d'un projet spécifique, j'ai installé un environnement Weblogic 11g avec une JVM Sun.

Le démarrag du serveur admin se fait sans encombre jusqu'au moment où je veux accéder à la console d'administration. Le système tente alors de déployer l'application, et tombe rapidement en erreur de type code 500. Dans les logs du serveur d'application je vois apparaître l'exception suivante :

<Jun 23, 2011 7:02:40 PM CEST> <Error> <netuix> <BEA-423443> <Exception while initializing SingleFileServlet: [java.lang.OutOfMemoryError: PermGen space].
java.lang.OutOfMemoryError: PermGen space (...)

Le PermGen space est une zone mémoire gérée dans la jvm de sun et qui contient tous les objets qui ne sont pas gérés par le garbage collector (structure de classes, méthodes, annotations, les chaînes littérales...)

Le PermGen space est gérée par les options mémoires suivantes :

-XX:PermSize=256m

-XX:MaxPermSize=256m

Pour résoudre mon problème j'ai donc ajouté l(option suivante à mon script de démarrage :

-XX:MaxPermSize=256m

Remarque : l'option -noclassgc interdit au garbage collector de nettoyer la zone mémoire PermGen. Elle est donc déconseillée.

L'application de console d'administration se déploie désormais sans problème.

Et voilà ;)