Limiter la mémoire consommée par Exchange 2010

Le processus store.exe d’Exchange est un pure gouffre à mémoire. Il prend tout ce qu’il peut.

Sur une machine comme un SBS 2011, cela peut vitee devenir problématique vu que tous les services du domaine sont sur un seul serveur.

Evidemment, chez Microsoft, ils sont contre la simplicité, donc en fonction de la version d’Exchange 2010 (avec ou sans SP1), ce n’est pas tout à fait la même méthode (ou plutôt il faut modifier une valeur supplémentaire avec Exchange 2010 SP1).

Ouvrir « adsiedit.msc »

Cliquer droit sur « Modification ADSI » puis « Connexion »

Choisir le contexte « configuration »

modif exchange 1

Aller dans l’arborescence :
Configuration > Services > Microsoft Exchange > « Organization Name » > Administrative Groups > « Administrative Group » > Servers > « Server Name » > InformationStore

Cliquer droit sur InformationStore, puis propriété.

Les données à modifier sont :
msExchESEParamCacheSizeMax (pour Exchange 2010 avec et sans SP1)
msExchESEparamCacheSizeMin (pour Exchange 2010 avec SP1 uniquement)

Le nombre à entrer correspond au nombre de page de mémoire, qui représentes chacune 32ko de mémoire (pour Exchange 2010, pour Exchange 2007 c’est 8ko de mémoire).
Par exemple, pour limiter à 4go l’espace occupé en mémoire par store.exe, il faut renseigner msExchESEParamCacheSizeMax avec la valeur 131072 (4go = 4194304ko, 4194304/32=131072)
La valeur msExchESEparamCacheSizeMin peut être renseignée avec une valeur assez basse, 256 par exemple (256 pages = 256 x 32ko = 8mo)

Source 1
Source 2

Anywhere Access avec Windows Server 2012 Essentials et un domaine à soi

C’est possible! Mais très compliqué pour le certificat! En effet, il refuse de générer un certificat autosigné lui-même, il faut le faire à la main…

Si dessous le guide que j’ai trouvé, pas traduit, désolé.

One of the nice features of Windows 2012 Essentials is the Anywhere Access functionality. To get this savely working you will need a certificate, but the installation wizzard will offer you to buy one with a trusted authority or move your domain to a trusted partner. Since I don’t want either choices, I created my own certificate.

Create Management Console

First you need to open up a MMC and add the “Certificates” snap-in. Choose “Computer Account” > “Local” > Finish. Next add the snap-in “Certificate Authority” and once again choose “Computer Account” > “Local” > Finish.

Create Certificate Request

Follow the next steps in the created MMC:

Certificates > Personal > Certificates > Right Mouse button – All Tasks – Advanced Operations – Create Custom Request > Next > Next >

Select “Windows Server Solution Certificate Template” > Next >

Open Details and select “Properties” > Subject name – Type: “Common name” – Value: FQDN of server (remote.domain.name) – Add > Alternative name – Type: “DNS” – Value: DNS name of server – Add >

Open “Private Key” tab > Open “Key Options” > Enable “Make private key exportable” > Ok > Next > Choose a location for certificate request (type also .req behind filename because it’s not automatically added) > Save > Finish

Submit Certificate Request

Follow the next steps in the created MMC:

Certification Authority > Choose CA > Right Mouse button – All Tasks – Submit new request > Open Certificate request and save new Certificate.

Import Certificate

Now we need to import the certificate:

Certificates > Personal > Certificates > Right Mouse button – All Tasks – Import > Choose the new certificate > Next > Next > Finish.

You see the message “The Import was succesful.”

Export Certificate to PFX to use with the Anywhere Access wizard

Select imported certificate > Right Mouse button – All Tasks – Export > Next >

Enable “Yes, export the private key” > Next > Empty “Include all certificates in the certification path if possible” and Enable “Export all extended properties” > Next >

Enable Password and add password and confirm > Next > Save PFX file > Next > Finish

Delete the imported certificate from the personal certificates store: Certificates > Personal > Certificates > Right Mouse button – Delete – Yes.

You have now created a certificate to complete the Setup Anywhere Access wizard.

Source

Installer java sur une machine linux sans GUI

Incroyable, il faut vraiment chercher comment récupérer cette mmmmerveille de java, pour mettre l’installateur sur une machine linux qui n’a pas d’interface graphique.

Oui il y a toujours la possibilité de télécharger localement sur son poste la version de java qu’on veut installer, puis la transférer via SFTP ou autre, mais bon, quand on a un serveur avec une bande passante de 500mbps, c’est un peu ennuyant de transférer le package via la liaison montante à 800kbps de son ADSL.

La solution? wget!

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7u55-b13/jdk-7u55-linux-x64.tar.gz

Et pour la version 1.6 de Java :

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/6u45-b06/jdk-6u45-linux-x64.bin

C’est assez logique, et surtout ça marche.

Si besoin, n’hésitez pas à visiter la source, il peut avoir fait des évolutions pour suivre les nouvelles versions de Java… 😉

http://stackoverflow.com/questions/10268583/how-to-automate-download-and-installation-of-java-jdk-on-linux

VPN de site à site sous Windows Server 2012

Pour mettre en place un VPN de site à site, par exemple pour un serveur contrôleur local de domaine Active Directory sur un autre site que le site principal de la société, il peut être intéressant de mettre en place un VPN de site à site, transparent pour l’utilisateur, permettant d’accéder aux ressources d’un site distant sans forcément faire passer tout le trafic dans ce VPN.

Pour cela, dans la console « routage et accès distant », sous Windows Server 2012 dans mon cas (bien penser à ce que le rôle « routage » soit activé!), il faut ne pas avoir de VPN/Routage de configuré.

Clique droit sur l’icone du serveur, puis « configurer le routage et l’accès à distance ».

Il faut suivre le guide en disant qu’on veut faire du NAT (pour que les machines locales puissent accéder à Internet via la liaison publique du serveur) et du VPN.

Les différentes étapes sont assez simple et évidentes (sélectionner la carte réseau publique, définir comment les adresses IP sont attribuées, etc.).

Une fois ceci fait, on peut éventuellement adapter le nombre de port VPN disponibles (par défaut, 50 ports par protocole, ça a de quoi remplir une étendue sur un DHCP!).
J’ai réduit de mon côté à 10 uniquement pour le PPTP, on ne fera aucun autre VPN.

Le plus intéressant arrive, la liaison VPN de site à site.

La liaison dans mon cas sera un VPN existant, PPTP également, vers le site d’un client.

Pour activer une telle liaison, il faut aller, toujours dans la console « Routage et accès distant », dans l’arborescence en dessous du nom du serveur, puis « interfaces réseau ».
Après un clique droit, sélectionner « nouvelle interface de connexion à la demande… »
Suivant
Définir le nom de l’interface
Se connecter en utilisant un réseau privé virtuel (VPN)
Sélectionner le protocole, dans mon cas PPTPt
Renseigner l’URL du VPN : remote.client.com
Je n’ai coché que « router les paquets IP sur cette interface », il faut cocher la case « ajouter une nom d’utilisateur… » si on veut avoir un VPN bidirectionnel (pour que les machines des 2 côtés puissent accéder aux machines de l’autre côté), et faire exactement la même chose sur le serveur de l’autre côté. N’ayant pas accès à la configuration du serveur de l’autre côté, je ne peux pas.
Ajouter un itinéraire statique, avec la plage réseau du réseau de destination, et une métrique 1
Ajouter les informations d’identification pour la connexion au VPN
Terminer la configuration

Après la création de l’interface, il faut aller dans ses paramètres, onglet « Options », et cocher « connexion permanente » pour être sûr qu’elle ne se désactive pas au bout d’un timeout, ou pour qu’elle s’établisse au redémarrage.
Enfin, il faut aller dans IPv4, puis NAT, clique droit et « Nouvelle interface ». On choisit alors l’interface VPN qu’on vient de créer.

Et après? Bin c’est tout! Normalement, si le VPN est connecté, un ping sur la plage de réseau distant devrait fonctionner, depuis toutes les machines du réseau! (sous réserve bien sûr que le serveur faisant le routage soit la passerelle des autres machines du réseau…)

Recherche automatique des mises à jour sous Debian 7

Le suivi des mises à jour Windows se fait assez simplement avec WSUS.
Pour les machines sous distribution Linux, c’est un poil plus compliqué, et il n’est pas aisé d’avoir une vue globale de l’état des machines.

La solution que j’ai mis en place est très sommaire, mais a le mérite d’être là : recherche quotidienne des mises à jour, et s’il y en a envoi d’un rapport par mail.

Pour ce faire, j’utilise le logiciel apticron sous Debian 7 Wheezy.
Il s’installe simplement via :

apt-get install apticron

La configuration se fait ensuite via le fichier /etc/apricron/apticron.conf

Les valeur importantes à modifier sont :

EMAIL=""
NOTIFY_NO_UPDATES="1" (ça permet de tester le système d'envoi de rapport sans attendre la présence effective de mise à jour)

C’est à peu près tout ce qui est absolument nécessaire.

Ensuite, pour l’envoi des mails, je n’ai pas réussi à faire fonctionner avec exim4 installé par défaut.
Je passe donc par ssmtp qui va servir de relais vers un autre relais SMTP classique centralisé.
On installe via « apt-get install ssmtp », ça désinstalle tout seul exim4.
La configuration derrière est simple :
fichier /etc/ssmtp/ssmtp.conf

Surtout la ligne suivante :

mailhub=

Eventuellement, si besoin :

rewriteDomain=

En dernier lieu, il convient d’adapter la tâche cron créée automatiquement à l’installation d’apticron, celle-ci n’étant pas idéale.

vi /etc/cron.d/apticron

changer les deux premières colonnes pour définir que la recherche se fait tous les jours à 0h00 :

0 0 * * * root if test -x /usr/sbin/apticron; then /usr/sbin/apticron --cron; else true; fi

serveur postfix secondaire

Quand on héberge soit même le serveur mail d’une entreprise, il est primordiale d’avoir une solution de secours pour pallier à une indisponibilité du serveur.
Cas typique, reboot du serveur mail suite à mise à jour. Dans ce cas, les mails qui seraient envoyés sur une adresse hébergée sur le serveur risquent d’être perdus…

J’ai trouvé un super tuto (ici) pour mettre en place un serveur postfix sur un serveur dédié, qui servira de relais vers le serveur principal si il est indisponible.

Ci-dessous le tuto en question :
Installez postfix en optant pour la configuration « Site internet ».
Modifier le fichier /etc/main.cf en ajoutant les directives suivantes :

relay_domains = $mydestination domaine.com
transport_maps = hash:/etc/postfix/transport

Modifier le fichier /etc/postfix/transport de façon a rediriger les emails pour les domaines souhaités vers la bonne machine :

domaine.com  smtp:monserveurmailprincipale.domaine.com

Regénérer le .db de ce fichier par :

postmap /etc/postfix/transport

Et relancez postfix :

/etc/init.d/postfix restart

Voilà ! Vous avez un serveur mail qui accepte les emails pour votre domaine et qui les retransmet au serveur final.
N’oubliez pas d’ajouter votre nouveau serveur dans votre zone DNS en lui attribuant une priorité plus élevée (en valeur, ce qui fait que le serveur est moins prioritaire!) que le serveur finale.

domain.com.			38400	IN	MX	5 mail.domain.com.
domain.com.			38400	IN	MX	20 mail-backup.domain.com.

Vous pouvez aussi ajouter sur ce serveur de secours votre panoplie d’anti-spam habituelle (pour cela voir article précédent!).

antispam et antivirus avec postfix

Super tuto suivi aujourd’hui pour filtrer les courriers reçu sur mon serveur postfix (qui me sert de relais si mon serveur mail principal est offline, le temps que le serveur soit à nouveau en ligne) :
ici!

A noter, pour modifier le comportement le plus important, il faut modifier le fichier :

/etc/amavis/conf.d/20-debian_defaults

et plus spécifiquement la ligne :

$sa_kill_level_deflt = 10; # triggers spam evasive actions

C’est cette ligne qui définit le niveau des mails au dessus duquel ils sont purement et simplement bloqué…

La ligne :

$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level

elle permet d’ajouter « ***SPAM*** » au titre du mail…

Monter un iso sous Powershell

Quand on est sur un OS Windows Server Core (génération 2012 uniquement, et windows 8), on peut avoir besoin de monter un ISO sur la machine sans recourir à des logiciels tiers d’une part, et sans vouloir installer de GUI d’autre part.

Il existe une commande sous Powershell permettant simplement cela :

Mount-DiskImage -ImagePath "emplacement de l'iso"

Pour démonter l’ISO :

Dismount-DiskImage -ImagePath "emplacement de l'iso"

C’est vachement utile pour pouvoir monter un ISO distant (par ex sur un NAS) dans une VM sur une machine Hyper-V Server 2012… Pas moyen de passer par le gestionnaire Hyper-V pour faire la même chose !

Source