Carte du réseau IPv4 en 2006
- Mardi 28 décembre 2010
- Par Boris HUISGEN
- Ecrire
Archives pour décembre, 2010
Malgré quelques solutions existantes ici et là, j’ai opté pour un pare-feu spécifique afin de protéger mes serveurs virtuels sous Proxmox / OpenVZ. J’ai donc utilisé FirewallBuilder pour le générer. Une template réutilisable est disponible au téléchargement en fin d’article.
Les serveurs virtuels (VPS) sont placés sur le réseau privé 192.168.0.0/24, où du NAT est appliqué pour la redirection de ports dans le cas où une seule IP publique est disponible. Ainsi, le bridge vmbr0 est utilisé pour l’accès public – vous y ajouterez vos IP publiques supplémentaires – et le bridge vmbr1 pour les communications entre les VPS et l’hôte.
De base, les flux sortants DNS / SMTP sont seulement autorisés pour l’hôte réel. Les VPS doivent donc utiliser le serveur DNS & SMTP de l’hôte réel. Par sécurité, j’ai mappé l’accès à l’interface Proxmox sur le port 4443 (le HTTPS standard étant alors récupéré par le VPS web). Une blacklist est configurée, que vous pouvez manipuler en éditant le fichier /etc/firewall-bad_hosts (règle n°0) afin de bloquer d’éventuels attaquants. N’oubliez pas de créer ce fichier !
Liste des interfaces réseaux :
Listes des hôtes :
Listes des redirections de ports :
Pour finir, une fois effectuées les adaptations à votre configuration réseau, je vous conseille de modifier la règle n°4 pour restreindre l’accès SSH + interface Proxmox à vos IP de connexion Internet. Une fois effectuée, vous pourrez d’ailleurs ajouter le flux VNC pour l’administration Proxmox.
Configuration réseau :
# cat /etc/network/interfaces
# network interface settings auto lo iface lo inet loopback iface eth0 inet manual iface eth1 inet manual auto vmbr0 iface vmbr0 inet static address 80.80.80.80 netmask 255.0.0.0 gateway 80.80.80.1 broadcast 80.255.255.254 bridge_ports eth0 bridge_stp off bridge_fd 0 network 80.0.0.0 auto vmbr1 iface vmbr1 inet static address 192.168.0.254 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0
Template firewall pour Proxmox / OpenVZ : proxmox-fwb
Pour pouvoir lancer l’instance Solr d’eZ Find (extension eZ Publish) au démarrage de votre serveur Debian, voici le script /etc/init.d/solr à mettre en place :
### BEGIN INIT INFO
# Provides: solr
# Required-Start: $local_fs $remote_fs $network $syslog
# Required-Stop: $local_fs $remote_fs $network $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the solr server
# Description: starts solr using start-stop-daemon
### END INIT INFO
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
NAME=solr
DESC=Solr
USER=solr
GROUP=solr
SOLR_HOME=/usr/local/solr
PARAMETERS="-jar start.jar"
DAEMON=/usr/bin/java
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
test -x $DAEMON || exit 0
set -e
. /lib/lsb/init-functions
d_start() {
start-stop-daemon --start --pidfile $PIDFILE --chuid $USER:$GROUP --chdir $SOLR_HOME --background --make-pidfile --exec $DAEMON -- $PARAMETERS
}
d_stop() {
start-stop-daemon --stop --quiet --pidfile $PIDFILE --name java
rm -f $PIDFILE
}
d_status() {
if [ -f "$PIDFILE" ] && ps `cat $PIDFILE` >/dev/null 2>&1; then
return 0
else
return 1
fi
}
case "$1" in
start)
echo -n "Starting $DESC: "
if d_status; then
echo "$NAME is already running."
exit 1
fi
d_start
sleep 1
if d_status; then
echo "OK"
else
echo "KO"
exit 1
fi
;;
stop)
echo -n "Stopping $DESC: "
if d_status; then
d_stop
sleep 1
if d_status; then
echo "$NAME is still running"
exit 1
else
echo "OK"
fi
else
echo " KO"
fi
;;
status)
if d_status; then
echo "$NAME is running (PID: `cat $PIDFILE`)"
else
echo "$NAME is not running"
fi
;;
restart|force-reload)
echo -n "Restarting $DESC"
d_stop
sleep 1
d_start
echo "."
;;
*)
echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0
L’installation du serveur Jetty + Solr est effectuée dans /usr/local/src et l’utilisateur solr est utilisé pour exécuter le serveur. Reste à activer la prise en charge du script :
# update-rc.d solr defaults