29/mar/2010 Posté dans Linux/Unix | 0 commentaire Voici un exemple commenté, cela est plus simple que de longue explications 
#!/bin/bash
# Vider les tables actuelles
iptables -t filter -F
iptables -t filter -X
# Autoriser SSH
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# Monitoring Dedibox
iptables -A INPUT -i eth0 -s 88.191.254.0/24 -p tcp --dport 161 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -s 88.191.254.0/24 -p udp --dport 161 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 88.191.254.0/24 -p tcp --sport 161 -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -o eth0 -d 88.191.254.0/24 -p udp --sport 161 -m state --state ESTABLISHED -j ACCEPT
# Interdire toute connexion entrante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
# Interdire toute connexion sortante
iptables -t filter -P OUTPUT DROP
# Autoriser les requetes DNS, FTP, HTTP, NTP (pour les mises a jour)
iptables -t filter -A OUTPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT
# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT
# Autoriser ping
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
# HTTP
iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
# FTP
modprobe ip_conntrack_ftp
iptables -t filter -A INPUT -p tcp --dport 20 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
# Mail
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT
# Steamcast
iptables -t filter -A INPUT -p tcp --dport 8000 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8001 -j ACCEPT
# Syn-Flood
iptables -A FORWARD -p tcp --syn -m limit --limit 1/second -j ACCEPT
iptables -A FORWARD -p udp -m limit --limit 1/second -j ACCEPT
# Spoofing
iptables -N SPOOFED
iptables -A SPOOFED -s 127.0.0.0/8 -j DROP
iptables -A SPOOFED -s 169.254.0.0/12 -j DROP
iptables -A SPOOFED -s 172.16.0.0/12 -j DROP
iptables -A SPOOFED -s 192.168.0.0/16 -j DROP
iptables -A SPOOFED -s 10.0.0.0/8 -j DROP
29/mar/2010 Posté dans Linux/Unix | 0 commentaire Cette commande permet de recopier un fichier ou répertoire de manière sécurisée (encryptage) de ou vers une machine distante.
Pour copier un fichier local ‘le_fichier’ vers le compte de l’utilisateur « username » sur la machine distante « nom_de_machine.nom_de_domaine », tapez la commande suivante :
scp le_fichier username@nom_de_machine.nom_de_domaine:
Pour copier le fichier distant ‘le_fichier’ situé dans le sous répertoire ‘directory’ d’un compte de l’utilisateur « username » de la machine « nom_de_machine.nom_de_domaine ».
scp username@nom_de_machine.nom_de_domaine:directory/le_fichier
Pour copier le répertoire local ‘directory’ vers le compte de l’utilisateur « username » sur la machine « nom_de_machine.nom_de_domaine » :
scp -r directory username@nom_de_machine.nom_de_domaine:
Pour copier le répertoire distant ‘directory’ (et tous ses sous-répertoire) d’un compte de l’utilisateur « username » de la machine « nom_de_machine.nom_de_domaine ».
scp -r username@nom_de_machine.nom_de_domaine:directory
22/mar/2010 Posté dans Linux/Unix | 0 commentaire Dans le cas ou votre /tmp est passé en lecture seul (probleme d’acces disque par exemple)
Vous pouvez remonter la partition le lecture/ecriture sans la demonter. Cela est plus utile pour le / 
mount /tmp -o remount,rw
19/mar/2010 Posté dans Linux/Unix | 0 commentaire Ajoutez dans le fichier de configuration main.cf :
smtp_generic_maps = hash:/etc/postfix/generic
Dans ce fichier, vous y indiquerez ce qui doit être réécrit
@domaine.local @domaine.net
root@domaine.local noreply@domaine.net
- Le premier exemple remplace domaine.local par domaine.net
- Le deuxième exemple remplace l’adresse root@domaine.local par noreply@domaine.net
Postfix utilisera le hash de ce fichier, générez le avec postmap
postmap /etc/postfix/generic
17/mar/2010 Posté dans Linux/Unix | 0 commentaire /etc/munin/munin.conf
Configuration des commandes d’envoie :
contact.mail1.command |mail -s "Munin-notification for ${var:group} :: ${var:host}" mail1@foo.com
contact.mail2.command |mail -s "Munin-notification for ${var:group} :: ${var:host}" mail2@foo.com
Pour envoyé les notifications a chaque check au contact « mail1″:
contact.mail1.always_send warning critical
Envoyé une alerte sur un compte Twitter
contact.twitter.command /etc/munin/send2twitter.sh
Script send2twitter.sh
#!/bin/sh
DATASTDIN=$(tr '[:upper:]' '[:lower:]' < /dev/stdin)
RESULT=`curl -s --basic -u votrelogin:votremotdepasse -d status="$DATASTDIN" http://twitter.com/statuses/update.json`
Le script send2twitter.sh doit avoir les droits d’exécution avec le compte utilisé par Munin.
Envoyé au syslog
contact.syslog.command logger -p user.crit -t "Munin-Alert"
plugin de test
Ce plugin munin sera toujours en état critique.
!/usr/bin/ruby
if ARGV[0] == 'config'
puts "value.label Some Label"
puts "value.warning 100"
puts "value.critical 150"
else
puts "value.value 200"
end