Toutes les parties qui suivent sont complètement obsolètes et ne concernent plus la version actuelle :
Corriger un petit bug dans
/etc/hosts (version 3.0)
Il y a un petit bug dans la
version 3.0 car il manque le nom du domaine et cela pose un problème
à sendmail. Ajouter après l'adresse IP et le nom de la machine
suivi du point le nom de votre domaine.
Ex : 172.16.0.1 soleil. soleil
Après modif
172.16.0.1 soleil.ac-creteil.fr. soleil
Clavier francais (Devenu inutile en 3.1, car il est possible de configurer le clavier à l'installation)
1ère solution : echo
"fr" > /etc/kbdtype (Ce qui donne sachant que vous avez à
ce moment un clavier Français echo %fr% / !etc!kbdtype)
2nde solution : éditer le fichier
/etc/wsconsctl.conf et modifier la ligne kbd.....="ru" par .....="fr"
Dans les deux cas l'effet ne sera effectif
qu'au prochain redémarrage de la machine (!!!).
Mysql
J'ai utilisé la documentation suivante
pour installer mysql sur un OpenBSD 3.0 qui pose un petit problème.
Par contre avant toute chose j'ai mis à jour l'ensemble de mes sources,
donc libc_r.
Puis modifié le fichier Makefile (en fait ici comme je dois intervenir
sur la compilation je n'utilise pas les packages, vous constaterez toutefois
qu'à la fin de la compile vous allez bien avoir les packages correspondants).
Mettre un # devant les lignes suivantes :
# CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/pth" \
# LDFLAGS="-L${LOCALBASE}/lib/pth"
Puis devant celle-ci
.if !defined(PACKAGING)
#LIB_DEPENDS= pthread.14:pth-1.4.*:devel/pth
.elif ${SUBPACKAGE} == "-server"
#LIB_DEPENDS= pthread.14:pth-1.4.*:devel/pth
RUN_DEPENDS= :mysql-client-3.23.*:databases/mysql
.endif
Puis compiler make (vous pouvez à ce niveau lancer un test avec
mysql-test-run)
puis make install.
Dans /etc/rc.conf ajouter shlib_dirs="/usr/local/lib/mysql"
Installez le serveur mysql, pour cela aller dans /usr/ports/packages/i386/databases
et faites un pkg_add mysql-server-3.23.42.tgz
Recopiez le fichier de configuration de mysql dans /etc :
cp /usr/ports/databases/mysql/w-mysql-3.23.42/mysql-3.23.42/support-files/my-small.cnf
/etc/mf.cnf
Ajustez le à vos besoins.
Lancez alors /usr/local/bin/mysql_install_db pour créer les
tables dans la base mysql. Normalement vous avez terminé.
Démarrez alors mysql /usr/local/bin/safe_mysqld
&
Afin que celui-ci se lance au démarrage ajoutez dans /etc/rc.local
if [ -x /usr/local/bin/safe_mysqld ];
then /usr/local/bin/safe_mysqld > /dev/null & echo -n ' mysql'
fi
Le répertoire dans lequel mysql place les bases se trouve alors
dans /var/mysql.
Pour finir vous devez absolument modifier les droits afin de sécuriser
mysql.
Coté client:
cd /usr/port/database/mysql
make && make install && make clean
Coté serveur :
installation préalable :
p5-DBI
p5-DBD-Msql-Mysql-1.22.19
cd /usr/port/packages/i386/databases
: Ceci est un lien symbolique vers ../ALL/
pkg_add mysql-server-3.23.49.tgz
===> Creating mysql group for MySQL
===> Creating mysql user for MySQL
useradd: Warning: home directory `/nonexistent' doesn't exist, and -m was
not specified
Preparing db table
Preparing host table
Preparing user table
Preparing func table
Preparing tables_priv table
Preparing columns_priv table
Installing all prepared tables
021001 23:19:17 /usr/local/libexec/mysqld: Shutdown Complete
PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER ! Ne pas
oublier, effectivement..
This is done with:
/usr/local/bin/mysqladmin -u root -p password 'new-password'
/usr/local/bin/mysqladmin -u root -h hendrix -p password 'new-password'
Copier parmi les fichiers de /usr/local/share/mysql celui qui vous siet. (de my-small.cnf à my-huge.cnf) vers /etc/my.cnf
PHP
Tout d'abord, vous devez savoir que le serveur apache est déjà
installé sur votre machine OpenBSD, même si celui-ci n'est pas
démarré. Sur OpenBSD le répertoire dans lequel se trouve
la racine de votre serveur apache est /var/www. Vous y trouverait tout ce
qui touche à apache.
Pour démarrer le serveur lui même vous devez faire un /usr/sbin/apachectl
start.
Avant d'installer php, je vous conseille fortement de faire une mise à
jour du port correspondant. Si vous avez de la chance vous pouvez
trouver le package correspondant à vos options sur le ftp d'OpenBSD,
vous pouvez constater qu'il y en a un grand nombre. Toutefois je vais utiliser
le port et compiler.
Le port de PHP 4 se trouve dans /usr/ports/www/php4, placez vous dedans
et allez dans le fichier Makefile. Vous allez voir la liste des options (flavors)
possibles. Je souhaite compiler mon php avec les options suivantes : gd
(pour créer les graphes), ldap, mysql, snmp, no_x11. A vous ici de
choisir ce que vous avez besoin. J'ai installé avant gd, car j'ai
rencontré un problème pour l'installer sans avoir l'interface
graphique sur ma machine. Pour cela j'ai utilisé le package de gd
avec l'option no_x11.
Je tape la commande export FLAVOR="mysql ldap no_x11 gd"
puis make && make install.
Il doit normalement aller chercher lui même les paquets dont il a
besoin entre autre ldap.
Pour lancer /usr/local/sbin/php4-enable
et copier cp /usr/local/share/doc/php4/php.ini-dist /var/www/conf/php.ini
Enfin dans /var/www/conf/httpd.conf
ajouter la ligne AddType application/x-httpd-php .php .php3 .html .htm
.inc (en fait il existe déjà une ligne avec un # devant
pour php3 il vous suffit de la modifier).
Eventuellement ajouter sur la ligne DirectoryIndex index.html index.php
Vous avez fini. Relancez apache /usr/sbin/apachectl start (ou restart)
Pour tester aller dans /var/www/htdocs et créer un fichier test.php
avec <? phpinfo(); ?>
ntp
Une documentation
plus complète sur ntp.Très proche de ce qui se fait sous Linux,
on utilise aussi le ports ntp. Le démon est /usr/local/sbin/ntpd,
le fichier de configuration est /etc/ntp.conf. Attention, il n'y
a pas de sous répertoire /etc/ntp comme sous Linux. Le lancement
du démon ntpd se fait en modifiant le fichier /etc/rc.conf
:
ntpd=NO devient ntpd=YES
#run ntpd if exists
ntpdate_flags= IP_ou_nom_de_votre_serveur_de_temps
/etc/ntp.conf
server ntp1.jussieu.fr
prefer
#Serveur préféré de strate supérieure
server 193.54.82.20
# Autre serveur
server 127.127.1.0
# local clock (?)
driftfile /etc/ntp.drift
# Déviation moyenne
multicastclient
#Ecoute par défaut sur l'adresse multicast ( 224.0.1.1)
broadcastdelay 0.008
authenticate no
#On peut se mettre à l'heure sans s'authentifier.
statsdir /var/log/ntpstat
# Tous les fichiers de log dans /var/log commenceront par ntpstat...
statistics clockstats
# Enregistre les statistiques du pilote d'horloge
statistics loopstats
# Enregistre les statistique de mise à jour de l'horloge
statistics peerstats
# Enregistre les statistiques sur les serveurs de strate supérieure
(Ses serveurs)
Plus d'info
# Fichier d historique
logfile /var/log/xntpd
#Historique du démon
L'interrogation du démon se fait avec la commande interactive /usr/local/sbin/ntpq:
ntpq > pe
(Equivalent à /usr/local/sbin/ntpq -p, sans interactivité)
remote
refid st t
when poll reach
delay offset jitter
==============================================================================
joliot.net.espc 0.0.0.0 16
u -
64 0
0.000 0.000 4000.00
*horlogegps.rese .GPS. 1
u 6
64 37
6.195 1.227 1.824
ntpq> rv
status=0644 leap_none, sync_ntp, 4 events, event_peer/strat_chg,
version="ntpd 4.1.71-a Tue Apr 9 16:54:07 CEST 2002 (1)",
processor="i386", system="OpenBSD/3.0", leap=00, stratum=2,
precision=-18, rootdelay=5.440, rootdispersion=194.627, peer=15389,
refid=horlogegps.reseau.jussieu.fr,
reftime=c07826aa.e644523f Mon, Apr 29 2002 22:08:10.899, poll=6,
clock=c07826ec.d8e6c093 Mon, Apr 29 2002 22:09:16.847, state=4,
offset=0.062, frequency=45.325, jitter=0.842, stability=1.621
Un ? dans ntpq vous proposera une liste d'option.
Si le nombre de vos clients est très important, vous pouvez utiliser
les modes broadcast et multicast, pour cela il faut ajouter dans ntp.conf
du serveur broadcast adresse_de_broadcast_du_reseau.
N'oubliez pas que votre serveur de temps sera forcément client de
temps d'un serveur de strate supérieure..
Les clients
Au démarrage : dans le fichier /etc/rc.conf : ntpdate_flags=
IP_ou_nom_de_votre_serveur_de_temps (Attention, votre réseau
doit être fonctionnel à cet instant). Dans la crontab (à
intervalle régulier) :/usr/local/sbin/ntpdate -b -s IP_ou_nom_de_votre_serveur_de_temps
Il ne vous reste plus qu'à créer
une entrée dans crontab du type
0 */10 * * * /usr/local/sbin/ntpdate -b -s IP/FQDN_mon_serveur_de_temps.
Vous allez donc faire une mise à l'heure toutes les 10 heures.
Si votre machine n'est allumée que de temps en temps, la crontab
ne correspond pas vraiment, mettez plutôt cette ligne au démarrage
de la machine (les clients restants rarement allumés tout le temps).
Ajoutez donc la ligne dans le fichier rc.local. La mise à l'heure
se fera alors à chaque démarrage de la machine.
Les modifications apportées par la 3.2 à pf.
Le fichier /etc/nat.conf disparait, il est intégré
à /etc/pf.conf.
Le fichier /etc/altq.conf disparait, il est intégré
à /etc/pf.conf. En post-3.2, en fait. La 3.2 conserve encore
son altq.conf.
Bind 4.9 devenu Bind 9 avec la 3.3
named.boot
directory /namedb
Emplacement des fichiers de zone
cache
root.cache
Le fichier de
localisation des 13 serveurs racines .
xfrnets 127.0.0.1
Permet de limiter
les transferts de zone à l'hôte local, en localhost et en IP
publique (merci
)
xfrnets Mon_IP_Publique
primary openbsd-edu.net
db.openbsd-edu
DNS primaire de la zone openbsd-edu.net dont le fichier est db.openbsd-edu
primary 195.103.212.IN-ADDR.ARPA
openbsd-edu.rev Il s'agit du DNS primaire pour la
zone inverse
secondary zone_DNS
IP_DNS_secondaires
options no-recursion
Afin d'éliminer la récursivité de bind. A faire pour
un DNS public. Attention, si votre DNS sert aussi de cache pour vos
machines internes, vous n'aurez plus de résolution DNS
correcte. Cela vous obligera à monter un DNS purement privé,
ce qui, somme toute, est une très bonne idée.
Exemple de fichier de zone : db.openbsd-edu
Attention n'oubliez pas les points terminaux !!! Documentation
@ IN SOA ns.openbsd-edu.net. openbsd-edu. (
2003010901 Numéro du fichier de zone. Doit etre incrémenté
à chaque modification pour que les autres serveurs DNS tiennent compte
de la modification. Noté sous la forme : Année/4 chiffres
Mois/2 Jour/2 Modification de la journée/2
10800
3600
604800
86400 )
IN
NS
ns.openbsd-edu.net .
N'oubliez pas le point final, il donne le nom absolu de la machine.
IN
MX 10 smtp.openbsd-edu.net.
,sinon, celui-ci sera concaténé
au nom de domaine.
localhost IN A
127.0.0.1
hendrix IN A
Mon_IP
ns
CNAME hendrix
smtp CNAME
hendrix
Lancer le démon
:
Automatiquement dans /etc/rc.conf :
Modifier named_flags=NO en named_flags=""
A la main :
named -t /var/named -u named
bind 4 est chrooté
dans /var/named.
syslogd -a /var/named/dev/log
Rav Antivirus (Version < 8.4)
Cet antivirus s'intercale entre le démon sendmail lancé
par rc.conf à l'écoute sur le port 25 et le sendmail vidant
la queue des messages lancé par la crontab.
Il récupère les messages stockés dans /var/spool/mqueue
par le premier sendmail, les scanne selon des critères définis
(Virus connus, pièces jointes, mots-clefs) et replace les messages
propres dans /var/spool/rav/sendmail d'où ils seront vidés
par le second sendmail. Les messages infectés sont, quant à
aux, placés dans /var/spool/rav/quarantine.
Schéma.
Installation.
Simplissime : Vous récupérez sur le site de l'éditeur
(www.ravantivirus.com) l'archive.Nous détaillons ici la version
OpenBSD 3.0 avec Sendmail en Mail-Relay. Vous détarrez
(tar zxvf ravsendmailobsd.i386.tar.gz) dans un répertoire
temporaire, puis vous lancez le script d'installation (./install.sh)
et suivez les indications pour tout installer.Un bon endroit
pour trouver une check-list d'installation. Si vous voulez éviter
d'éditer les deux fichiers de configuration de sendmail, vous pouvez
les trouver là
(sendmail.in appelé sendmail.cf dans la doc d'origine) et là
(sendmail.out appelé sendmail.cf.orig dans la doc d'origine).
Tout se passe désormais dans /usr/local/rav8. Les fichiers
de config sont dans /usr/local/rav8/etc et les binaires dans /usr/local/rav8/bin.
La clé d'activation que vous recevrez par courrier devra,après
vérification, être copiée dans /usr/local/rav8/etc,
à la place de l'ancienne.
Configuration
Vous devez encore définir dans /usr/local/rav8/etc/ravmd.conf un nom de domaine à surveiller.
Les filtres à appliquer :
regexp_attachment = .*\.exe
Elimine automatiquement les pièces jointes en .executables Windows,
scripts shell Unix, VBscript, javascripts, économiseurs d'écran.
file_regexp = .*\.((vbs)|(vbe)|(js)|(exe)|(com)|(pif)|(lnk)|(scr)|(bat)|(shs)|(sh))
Si vous voulez systématiquement laisser passer certaines extensions,
ajoutez la ligne suivante :
cf_do_not_scan_extensions= .txt .doc . Pdf
Ce mail sera scanné, mais pas les extensions.
Vous pouvez aussi sélectionner des mots-clefs à éliminer,
à l'intérieur de chaque mail ou à l'intérieur
de chaque archive jointe (si vous avez activé le scan des archives
ce qui est lourd en ressources, mais indispensable)
La langue par défaut :
_include /usr/local/rav8/etc/languages/french Attention,
veillez aussi à bien modifier la ligne _include /usr/local/rav8/etc/languages/french.equiv
du fichier /usr/local/rav8/etc/groups/global.
C'est dans /usr/local/rav8/etc/languages/french que vous
allez modifier le message d'alerte renvoyé à l'expéditeur
du message infecté.
digest_subject_french = "Virus de messagerie détecté"
Sujet du mail d'alerte retourné à l'expéditeur.
Attention, par défaut l'administrateur est prévenu d'un
scan positif, l'expéditeur aussi. Problème : si l'adresse
d'expédition est invalide (spam, par ex..) le message joue au ping
pong. Pb à régler
Des groupes aux droits différents:
/usr/local/rav8/etc/groups/
groups/global
languages/french
élimination des pj
Is it possible to config RAVmilterlnx.i386 To block all Attach
files except *.doc, *.pdf and *.txt files ?
Yes, it is possible. You should define a rule to reject all attachments:
- in /etc/opt/rav/regexp all_attach=.*\..*
- in /etc/opt/rav/actions all_act=reject
- in /etc/opt/rav/groups/global filter_attachment all_attach all_act
cf_do_not_scan_extensions= .txt .doc . pdf
Pour relancer Rav, il faut un kill -HUP sur le ravmd: supervise RAV
scanning process... (ravmd)
La mise à jour des signatures se fait avec /usr/local/rav8/bin/ravupdate.sh.
Vous pouvez mettre ce script dans la crontab ou le lancer en utilisant
ravupdate.sh --periodic & (Vous pouvez régler dans
ce script la fréquence des updates ainsi que la "verbosité"
des messages.)
Attention!! Dans l'esprit Rav; un domaine à surveiller est "Tout ce qui est derrière le @d'une adresse"!! Si comme nous pour les SLIS, vous définissez des serveurs SMTP (des serveurs, pas des sous-domaines) sous votre domaine principal, et que vos utilisateurs ont des adresses en user@serveur_SMTP1/2/3/4.domaine.fr , vous devrez acheter la licence correspondante. Si un message n'appartient à aucun domaine défini dans ravmd.conf, il sera délivré mais non vérifié!
Forcer une mise à jour des signatures:
On supprime tout /usr/local/rav8/rave/* using:
rm -f /usr/local/rav8/rave/*
Puis :
/usr/local/rav8/bin/ravav --update=engine --host=download.ravantivirus.com
Puis on redémarre ravmd.
Vous désirez obtenir un bilan de l'activité de l'antivirus
:
http://pandaemail.sourceforge.net/rav-tools/
Exemple d'élimination d'un message
contenant un contenu non-autorisé:
Sep 4 23:53:02 junon2 ravmd[7950]: scanning file </var/spool/mqueue/dfg84Lr1lN012247->(part0004:)->(part0000:)>.
Sep 4 23:53:02 junon2 ravmd[7950]: infected with UNAUTHORIZED_MAIL_CONTENT.
Sep 4 23:53:02 junon2 SMTP-Entrant[29591]: g84Lr2lM021241: to=<pschwarz@ac-creteil.fr>,
delay=00:00:00, xdelay=00:00:00, mailer=ravsendmail, pri=60248, relay=pschwarz<@ac-creteil.fr.>,
dsn=2.0.0, stat=Sent
Sep 4 23:53:02 junon2 ravmd[7950]: file <1031176382-dfg84Lr1lN012247>
saved to </var/spool/rav/quarantine>.
Sep 4 23:53:02 junon2 ravmd[7950]: rejected
Sep 4 23:53:02 junon2 ravmd[7950]: end_infected.
© Philippe Schwarz - Philippe Chadefaux - $Id: Obsolete.html,v 1.5 2003/10/26 20:56:07 phil Exp $ -