OpenBSD/Brouillon

Un livre de Wikilivres.

Introduction[modifier | modifier le wikicode]

L'histoire d'OpenBSD commence en 1995 avec la séparation de Théo De Raadt vis à vis du projet NetBSD. Le projet OpenBSD a pour but:

  • de fournir la meilleure plateforme de développement possible
  • d'intégrer du code correctement écrit venant de copyright acceptable tel que la licence BSD
  • de fournir un système à jour et sécurisé
  • de fournir une plus grande intégration des logiciels cryptographiques
  • de suivre les normes ANSI et POSIX
  • de rendre le code source indépendant de l'architecture
  • d'un choix technique plutôt que politique
  • d'une orientation développeur
  • de fournir une plateforme de développement pour la compilation croisée
  • de régler le maximum de problèmes importants

Vous pouvez retrouver tous ces principes sur le site officiel (http://www.openbsd.org/fr/goals.html).

Un système qui fonctionne par défaut[modifier | modifier le wikicode]

OpenBSD a la particularité de "juste fonctionner" après une installation. C'est à dire que le système contient tout ce qui est nécessaire à l'utilisateur, une interface graphique (le serveur X ainsi que xdm et twm), des éditeurs de textes (vi et mg), des services réseaux (DHCP, HTTP, DNS...), des outils pour les développeurs (gcc, gdb...) ainsi que la documentation complète d'OpenBSD.

Un système sécurisé[modifier | modifier le wikicode]

OpenBSD a une volonté de sécurité au niveau du système. Le projet OpenBSD a mis d'ailleurs en place de nombreuses solutions par défaut pour pallier aux problèmes de sécurité. Par exemple, les services utilisé couramment tel que le serveur web apache, sont directement livré avec OpenBSD et offrant des améliorations intéressantes tel que le chrooting par défaut pour apache et bind.

Une documentation importante[modifier | modifier le wikicode]

Le principal avantage que l'on peut trouver sur les distributions libres est une documentation libre de droit, importante et surtout présente par défaut. OpenBSD ne déroge pas à la règle et offre à ses utilisateurs une vaste documentation via la commande man.

  $ man
  usage: man [-achw] [-C file] [-M path] [-m path] [-S subsection] [-s section]
             [section] name ...
         man -f command ...
         man -k keyword ...
  $ man intro
  NAME
    intro - introduction to general commands (tools and utilities)
    
  DESCRIPTION
    The manual pages in section one contain most of the commands which
    comprise the BSD user environment.  Some of the commands included in
    section one are text editors, command shell interpreters, searching and
    sorting tools, file manipulation commands, system status commands, remote
    file copy commands, mail commands, compilers and compiler tools,
    formatted output tools, and line printer commands.
    
    All commands set a status value upon exit which may be tested to see if
    the command completed normally.  The exit values and their meanings are
    explained in the individual manuals.  Traditionally, the value 0
    signifies successful completion of the command.
    
  SEE ALSO
    man(1), intro(2), intro(3), intro(4), intro(5), intro(6), intro(7),
    intro(8), intro(9)
    
  HISTORY
    An intro manual appeared in Version 6 AT&T UNIX.
    
  OpenBSD 4.8                    January 10, 2010                    OpenBSD 4.8

Installation[modifier | modifier le wikicode]

Comme tout système d'exploitation, OpenBSD ne déroge pas à la règle et offre plusieurs méthodes pour son installation. Les installeurs sont disponibles sur les miroirs d'OpenBSD et ne nécessite que très peu de connaissances pour leur mises en places.

Préparer l'installation[modifier | modifier le wikicode]

Compatibilité matérielle[modifier | modifier le wikicode]

Comme toutes distributions libres et open-source, une liste de compatibilité est disponible sur le site officielle. La majorité du matériel est supporté, mais certains d'entre eux nécessite quelques modifications ou rajouts pour les faire fonctionner. Par exemple, les cartes wifi Intel nécessite l'ajout de firmware non libre.

Définitions des besoins[modifier | modifier le wikicode]

Pourquoi? Le système d'exploitation s'adapte dans beaucoup de milieu. Que ce soit au niveau de matériel embarqué (firewall par exemple), comme serveur (serveur web) ou comme stations de travail (pour le développement ou le multimédia).

Installer via un CD-ROM[modifier | modifier le wikicode]

Il suffit de graver l'image iso récupérable sur les miroirs d'OpenBSD (http://ftp.fr.openbsd.org/pub/OpenBSD/4.9/i386/install49.iso) et de la graver sur un CD-Rom. Pour cela, vous pouvez utiliser, si vous êtes sous Windows, InfraRecorder. Si vous êtes sous Linux/Unix, et que vous utilisez une interface graphique, vous pouvez utiliser K3B.

Si vous êtes dans un environnement non graphique Unix/Linux, vous pouvez utiliser les commandes suivantes:

  • sous OpenBSD:
  $ cdio tao image.iso
  • sous FreeBSD:
  $ burncd -f /dev/acd0 data image.iso fixate
  • sous Debian:
  $ cdrecord -scanbus cdrecord fs=12m speed=4 -dev=x,y,z image.iso

Installer via une clé USB[modifier | modifier le wikicode]

Il suffit d'installer OpenBSD sur une clé usb (via une machine virtuelle par exemple) et lors du démarrage avec la clé USB, au prompt, utiliser le kernel RAMDISK :

  boot> bsd.rd

L'installeur se lance.

Installer via un réseau[modifier | modifier le wikicode]

Pour l'installation via le réseau, il est nécessaire d'utiliser un serveur DHCP (avec la gestion de BOOTP/PXE) et tftp.

Sous Windows[modifier | modifier le wikicode]

Vous pouvez télécharger le logiciel tftp32, offrant le service DHCP ainsi que tftp.

Sous Unix/Linux[modifier | modifier le wikicode]

Si vous êtes sous une distribution Debian, vous avez besoin d'un serveur DHCP et tftp. Utilisez la commande apt-get ou aptitude pour installer ces 2 packages:

   # aptitude install dhcp3 atftpd

Puis, configurer le serveur tftp grâce au superserveur inetd.conf:

   # cd /etc/
   # cat inetd.conf
   ...

Enfin, configurez le serveur dhcpd, les fichiers de configurations de trouvent dans /etc/dhcp3/.

Si vous êtes sous un système OpenBSD ou FreeBSD

Installer via une disquette[modifier | modifier le wikicode]

Sous Windows[modifier | modifier le wikicode]

Sous Debian[modifier | modifier le wikicode]

Sous OpenBSD[modifier | modifier le wikicode]

Avant de commencer/En cas de problème[modifier | modifier le wikicode]

  1. Sauvegardez vos données!
  2. Si l'installation s'arrête, il est toujours possible:
    1. De la recommencer
    2. De booter sur un shell minimal pour voir les problèmes
    3. ...

N'oubliez pas qu'il y a une communauté autour du logiciel, et que vous pourrez avoir l'aide que vous voudrez sur le site officiel, ou sur les forums spécialisés.

Si votre installation a réussit, n'oubliez pas d'envoyer le message de démarrage à la mailing list dmesg@openbsd.org

Pendant l'installation[modifier | modifier le wikicode]

Séquence de boot[modifier | modifier le wikicode]

Début de l'installation[modifier | modifier le wikicode]

Après l'installation[modifier | modifier le wikicode]

Installer des logiciels[modifier | modifier le wikicode]

Comme pour les autres système BSD, OpenBSD utilise un gestionnaire de package nommé pkg_install. Ce dernier permet d'installer des logiciels précompilé par l'équipe d'OpenBSD et assurant une sécurité optimum. Mais vous pouvez aussi utiliser le système des ports (/usr/ports/) et ainsi compilé les logiciels que vous avez besoins.

Par ailleurs, l'équipe d'OpenBSD recommande l'utilisation de la première méthode pour des raisons de sécurité.

Ajouter des utilisateurs et des groupes[modifier | modifier le wikicode]

Configuration[modifier | modifier le wikicode]

Les commandes vitales[modifier | modifier le wikicode]

man[modifier | modifier le wikicode]

La commande pour avoir accès au manuel:

  $ man

Pour rechercher des documentations dans la base de données, il suffit d'utiliser l'argument -k et le terme désiré:

  $ man -k LeTermeVoulu

Les pages du manuel sont regroupé par section, par convention, et identique aux autres distributions de type Unix/Linux.

  • Section 1: Les Commandes générales (tel que ls, cd, pwd...)
  • Section 2: Les Appels système (tel que le retour d'erreur des sockets)
  • Section 3: Les Sous routines (tel que les librairies du C )
  • Section 4: Les fichiers spéciaux (tel que les fichiers contenu dans /dev)
  • Section 5: Les formats de fichiers (tel que les fichiers de structures)
  • Section 6: Les jeux (les jeux sous openbsd!)
  • Section 7: Les macros et conventions ( ainsi que les autres documentations)
  • Section 8: Les commandes de maintenance (tel que mount, fsck, dump...)
  • Section 9: Les interface du Kernel (tel que les structures de données ou les variables)

Pour chercher dans une rubrique particulière, il suffit d'utiliser la commande de cette façon:

  $ man NumeroDeRubrique -k LeTermeVoulu

find[modifier | modifier le wikicode]

locate[modifier | modifier le wikicode]

Configurer le matériel[modifier | modifier le wikicode]

Configuration du clavier et de la souris[modifier | modifier le wikicode]

Configuration de l’environnent utilisateur[modifier | modifier le wikicode]

Configuration de Xenocara (X11)[modifier | modifier le wikicode]

Configurer le réseau[modifier | modifier le wikicode]

Configurer une connexion Ethernet[modifier | modifier le wikicode]

Configurer une connexion wifi[modifier | modifier le wikicode]

Configurer une connexion PPP[modifier | modifier le wikicode]

Configurer Packet Filter (Pare-feu)[modifier | modifier le wikicode]

Une première approche[modifier | modifier le wikicode]

Administrer Packet Filter[modifier | modifier le wikicode]

Configuration basique[modifier | modifier le wikicode]

Configuration avancée[modifier | modifier le wikicode]

Configuration d'un NAT[modifier | modifier le wikicode]

Configuration avec un IDS[modifier | modifier le wikicode]

Quelques utilitaires pratiques[modifier | modifier le wikicode]

Introduction à mg[modifier | modifier le wikicode]

mg est un éditeur de texte développé par l'équipe d'OpenBSD basé sur Emacs. Il possède le même jeu de raccourcis qu'Emacs, en étant beaucoup plus léger.

Introduction à Tmux[modifier | modifier le wikicode]

Tmux est un démultiplexeur de terminal, c'est à dire qu'il peut créer plusieurs terminaux dans une fenetre et ainsi en assurer la gestion avec des commandes. Il offre entre autre la possibilité de se "détacher" et de se "réattacher", ce qui a pour conséquence de sauvegarder une sessions...

Introduction à DWM[modifier | modifier le wikicode]

DWM (Dynamic Windows Manager) est une interface graphique dynamique et minimal. Elle remplace facilement des interfaces graphiques plus lourdes tel que Gnome ou KDE.

Administration[modifier | modifier le wikicode]

Bibliographie[modifier | modifier le wikicode]

Liens[modifier | modifier le wikicode]

Le site officiel d'OpenBSD : (anglais) http://www.openbsd.org
Le site officiel d'OpenBSD en français : (français) http://www.openbsd.org/fr/
Le site de la communauté OpenBSD France : (français) http://openbsd-france.org/

Livres[modifier | modifier le wikicode]

Absolute OpenBSD de Michael Lucas
The Book of PF - A No-Nonsense Guide to the OpenBSD Firewall de Peter N. M. Hansteen
Secure Architectures with OpenBSD de Brandon Palmer, Jose Nazario.