$ lynx ftp://ftp.isc.org/isc/bind9/9.1.2/bind-9.1.2.tar.gz $ tar xvzf bind-9.1.2.tar.gz $ cd bind-9.1.2 $ CFLAGS="-O2 -s" ./configure --with-libtool $ make $ make install $ cd .. $ rm -rf bind-9.1.2
Voir Internet Software Consortium pour le logiciel Bind8
// Deux sous-réseaus d'entreprises depuis lesquels nous autorisons les requêtes. // acl "intranet" { 192.168.1.0/24; 192.168.3.0/24; }; options { directory "/var/named"; // Répertoire de travail /* * Si il y a un pare-feu entre vous et les serveurs de noms avec * lesquels vous souhaitez communiquer, vous avez besoin de * décommenter la directive query-source ci-dessous. Les * précédentes versions de BIND émettaient toujours les requêtes * en utilisant le port 53, mais BIND 8.1 utilise un port * non-privilégié par défaut. */ // query-source address * port 53; // recursion no; // Ne fournit pas de service récursif // allow-query { "intranet"; }; }; controls { inet 127.0.0.1 allow {"localhost";} keys {"key";} ; }; key "key" { algorithm "hmac-md5"; secret "CE7ESEj1faNTtFPbaG0kJ0IeecEwHbZXuZgccJzLuBI="; }; // Root server hints zone "." { type hint; file "named.root"; }; // Fournit une résolution inverse pour l'adresse de bouclage 127.0.0.1 zone "0.0.127.in-addr.arpa" { type master; file "127.0.0.zone"; notify no; }; // Fournit une résolution inverse pour l'adresse de bouclage 127.0.0.1 zone "1.168.192.in-addr.arpa" { type master; file "192.168.1.zone"; notify no; }; // Nous sommes le serveur maître pour example.com zone "example.com" { type master; file "example.com.zone"; // Adresses IP des serveurs esclaves autorisés à transférer example.com allow-transfer { 192.168.4.14; 192.168.5.53; }; }; // Nous sommes un serveur esclave pour eng.example.com zone "eng.example.com" { type slave; file "eng.example.com.bk"; // IP addresses of eng.example.com server // Adresses IP du serveur eng.example.com masters { 192.168.4.12; }; };
/* * Copyright (C) 2000, 2001 Internet Software Consortium. * * Permission to use, copy, modify, and distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND INTERNET SOFTWARE CONSORTIUM * DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL * INTERNET SOFTWARE CONSORTIUM BE LIABLE FOR ANY SPECIAL, DIRECT, * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ /* $Id: rndc.conf,v 1.6.4.1 2001/01/09 22:32:57 bwelling Exp $ */ /* * Sample rndc configuration file. */ options { default-server localhost; default-key "key"; }; server localhost { key "key"; }; key "key" { algorithm "hmac-md5"; secret "CE7ESEj1faNTtFPbaG0kJ0IeecEwHbZXuZgccJzLuBI="; };
; This file holds the information on root name servers needed to ; initialize cache of Internet domain name servers ; (e.g. reference this file in the "cache . <file>" ; configuration file of BIND domain name servers). ; ; This file is made available by InterNIC registration services ; under anonymous FTP as ; file /domain/named.root ; on server FTP.RS.INTERNIC.NET ; -OR- under Gopher at RS.INTERNIC.NET ; under menu InterNIC Registration Services (NSI) ; submenu InterNIC Registration Archives ; file named.root ; ; last update: Aug 22, 1997 ; related version of root zone: 1997082200 ; ; ; formerly NS.INTERNIC.NET ; . 3600000 IN NS A.ROOT-SERVERS.NET. A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4 ; ; formerly NS1.ISI.EDU ; . 3600000 NS B.ROOT-SERVERS.NET. B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107 ; ; formerly C.PSI.NET ; . 3600000 NS C.ROOT-SERVERS.NET. C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12 ; ; formerly TERP.UMD.EDU ; . 3600000 NS D.ROOT-SERVERS.NET. D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90 ; ; formerly NS.NASA.GOV ; . 3600000 NS E.ROOT-SERVERS.NET. E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10 ; ; formerly NS.ISC.ORG ; . 3600000 NS F.ROOT-SERVERS.NET. F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241 ; ; formerly NS.NIC.DDN.MIL ; . 3600000 NS G.ROOT-SERVERS.NET. G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4 ; ; formerly AOS.ARL.ARMY.MIL ; . 3600000 NS H.ROOT-SERVERS.NET. H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53 ; ; formerly NIC.NORDU.NET ; . 3600000 NS I.ROOT-SERVERS.NET. I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17 ; ; temporarily housed at NSI (InterNIC) ; . 3600000 NS J.ROOT-SERVERS.NET. J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10 ; ; housed in LINX, operated by RIPE NCC ; . 3600000 NS K.ROOT-SERVERS.NET. K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129 ; ; temporarily housed at ISI (IANA) ; . 3600000 NS L.ROOT-SERVERS.NET. L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12 ; ; housed in Japan, operated by WIDE ; . 3600000 NS M.ROOT-SERVERS.NET. M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33 ; End of FileFichiers de zones des domaine racine, des domaines .arpa, .edu, .gov et de résolution inverse inaddr.
@ IN SOA localhost. root.localhost. ( 1997022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ; Minimum ) @ IN NS localhost. 1 IN PTR localhost.
$ttl 38400 @ IN SOA pegase.redfoxcenter.org. hostmaster.redfoxcenter.org. ( 2001052501 ; numéro de série 10800 ; rafraîchissement (3 heures) 3600 ; nouvel essai (1 heure) 604800 ; obsolescense (1 semaine) 86400 ; durée de vie minimale (1 jour) ) ; Responsible Person @ IN RP hostmaster.redfoxcenter.org. cmerlet.redfoxcenter.org. cmerlet IN TXT "Christophe Merlet, +33 (0)5 59 82 80 55" ; NS RECORDS @ IN NS pegase.redfoxcenter.org. ;@ IN NS ns3.fr.clara.net. ;@ IN NS ns4.fr.clara.net. ; MX RECORDS @ IN MX 0 pegase.redfoxcenter.org. ;@ IN MX 100 mail2.fr.clara.net. @ IN A 192.168.1.1 ; LOCation @ IN LOC 48 52 N 002 20 E 100m localhost IN A 127.0.0.1 admin IN CNAME www ftp IN CNAME www pegase IN A 192.168.1.1 www IN A 192.168.1.2 * IN CNAME www Les informations de localisation peuvent être récupéré sur "Getty Thesaurus of Geographic Names" http://www.getty.edu/research/tools/vocabulary/tgn/index.htmlSécurité
La principale fonction d'un serveur DNS classique consiste à traduire des noms d'ordinateurs en adresses IP. Ces informations peuvent fournir juste assez de données à un pirate pour espionner un système cible. Le dilemne à propos de l'Internet réside dans le fait que les informations sur les adresses IP, associées à la résolution des noms de domaines, sont fondamentales pour la communication. La seule solution viable est de maintenir des serveurs DNS distincts pour la résolution des noms et des adresses IP externes et internes. Le serveur DNS externe ne doit être eccessible qu'aux requêtes sur les données publiques du réseau. Le système interne doit être protégé par un pare-feu et conserver toutes les informations sur les adresses IP de l'environnement sécurisé.Administration
Scripts de démarrage
named.init
Normalement nommé /etc/init.d/named#!/bin/sh # # named This shell script takes care of starting and stopping # named (BIND DNS server). # # chkconfig: 345 55 45 # description: named (BIND) is a Domain Name Server (DNS) that \ # is used to resolve host names to IP addresses. # probe: true # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ ${NETWORKING} = "no" ] && exit 0 [ -f /usr/sbin/named ] || exit 0 [ -f /etc/named.conf ] || exit 0 [ -f /etc/sysconfig/named ] || . /etc/sysconfig/named # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 start() { # Start daemons. echo -n "Starting named service: " if [ -n "${ROOTDIR}" -a "x${ROOTDIR}" != "x/" ]; then OPTIONS="${OPTIONS} -t ${ROOTDIR}" fi daemon named -u named ${OPTIONS} RETVAL=$? [ $RETVAL -eq 0 ] && touch /var/lock/subsys/named echo return $RETVAL } stop() { # Stop daemons. echo -n "Shutting down named service: " killproc named RETVAL=$? [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/named echo return $RETVAL } restart() { stop start } case "$1" in start) start ;; stop) stop ;; restart) restart ;; condrestart) [ -f /var/lock/subsys/named ] && restart ;; reload) /usr/sbin/rndc reload RETVAL=$? ;; status) /usr/sbin/rndc status RETVAL=$? ;; probe) # named knows how to reload intelligently; we don't want linuxconf # to offer to restart every time /usr/sbin/rndc reload >/dev/null 2>&1 || echo start RETVAL=$? ;; *) echo "Usage: $0 {start|stop|restart|condrestart|reload|status}" exit 1 esac exit $RETVALnamed.sysconfig
Normalement nommé /etc/sysconfig/named# Actuellement, vous pouvez utiliser les options suivantes : # ROOTDIR="/quelque/part" -- cela exécutera named dans un environnement # chroot. Vous devez définir l'environnement chroot # avant de faire cela. # OPTIONS="n'importe" -- Ces options additionnelles seront passées à named # au démarrage. N'ajoutez pas -t ici, utilisez ROOTDIR # à la place.Journalisation
Rotation de journal
Bind enregistre toutes les requêtes qui lui sont adressés dans le journal /var/log/named.log
Ce journal doit être régulièrement initialisé afin d'éviter qu'il ne grossisse indéfiniment. On peut utiliser pour cela un logiciel nommé logrotate.
Voici un script Normalement nommé /etc/logrotate.d/named/var/log/named.log { missingok postrotate /usr/bin/kill -HUP `cat /var/run/named/named.pid 2> /dev/null` 2> /dev/null || true endscript compress }Documentation
Christophe Merlet redfox@redfoxcenter.org | ©Tous droits réservés
21 juin 2001 |