crabs_firewall-3.0.1 ©2005-2011 - Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com)
1 #!/bin/bash 2 # 3 # ============================================================================= 4 # crabs_firewall-3.0.1 : Firewall-Masquerade avec interface http 5 # Copyright (C) 2005-2011 : Christophe CAZAJUS (crabs-mettre_le_signe_at-crabs-world.com) 6 # 7 # Ce source fait partie d'un projet logiciel libre. Vous pouvez le distribuer 8 # et/ou le modifier en respectant les termes de la GNU General Public License 9 # version 2 ou (suite a votre propre choix) une version ulterieure. 10 # 11 # Ce programme est distribue dans l'espoir qu'il puisse etre utile, mais 12 # sans aucune garantie, meme si il est associe a un produit qui vous en 13 # propose une. Conformez-vous a la GNU General Public License pour avoir 14 # plus de precisions. 15 # 16 # L'auteur ne peut etre tenu responsable de l'utilisation faite des 17 # composantes associees a ce projet (en partie ou dans leur totalite). 18 # 19 # Une copie du fichier de la GNU GPL est fournie dans le repertoire DOC 20 # de ce projet sous le nom gnu_gpl.txt 21 # 22 # ============================================================================= 23 # 24 # CGI EN HTTP REQUEST => UTF8... 25 echo "Pragma: no-cache" 26 echo "Cache-Control: no-cache" 27 echo "Content-type: text/plain" 28 echo "" 29 escapeSomeChar() { 30 sed -e 's/&/\&/g' -e 's/</\</g' -e 's/>/\>/g' 31 } 32 . /etc/firewall.d/etc/config.sh 33 BIN=$FW_HOME/bin 34 DATA=$FW_HOME/var 35 w=accueil 36 eval `$BIN/cgi_shell SH` 37 38 # un peu de nettoyage dans les graphes 39 find graph -type f -cmin +1 -exec rm -f {} \; 40 41 if [ -f /etc/firewall.d/firewall.etat ] ; then 42 fwmode=`cat /etc/firewall.d/firewall.etat` 43 else 44 fwmode="indéfini" 45 fi 46 47 cfg="" sep="" 48 for f in /etc/firewall.d/conf/*.conf ; do 49 cfg="$cfg$sep`basename $f .conf`" sep=";" 50 done 51 52 log="" sep="" 53 for f in `ls /var/log/{messages,syslog}*| sort -t . -k 2,3n` ; do 54 log="$log$sep`basename $f`" sep=";" 55 done 56 57 gr="derniers" 58 for f in `ls $DATA/* | sort -rn` ; do 59 gr="$gr;`basename $f .dat`" 60 done 61 62 TITRE="$FW_TITRE -- `date '+(%d/%m/%Y %H:%M:%S)'`" 63 echo -n "$TITRE<#>$fwmode<#>$cfg<#>$log<#>$gr<#>" 64 case "$w" in 65 accueil) 66 DT=`date '+Nous sommes le <em>%d/%m/%Y</em> à <em>%H:%M:%S</em>.'` 67 UPTIME="Up Time: <em>`uptime`</em>" 68 CONFIG="Firewall en mode : <em>$fwmode</em>" 69 echo -n "$DT<#>$UPTIME<#>$CONFIG" 70 ;; 71 param) 72 echo "<div class=\"em\">iptables -L -vn</div>" 73 $BIN/suid_iptables 74 echo -n "<#>" 75 echo "<div class=\"em\">iptables -t nat -L -vn</div>" 76 $BIN/suid_iptables nat | escapeSomeChar 77 echo -n "<#>" 78 ;; 79 config) 80 echo "<div class=\"em\">Config : ${c}.conf</div>" 81 cat /etc/firewall.d/conf/${c}.conf | escapeSomeChar 82 echo -n "<#>" 83 echo "<div class=\"em\">Shell : ${c}.sh</div>" 84 cat /etc/firewall.d/shell/${c}.sh | escapeSomeChar 85 echo -n "<#>" 86 ;; 87 log) 88 echo "<div class=\"em\">Log : /var/log/${l}</div>" 89 type=`echo $l | cut -d. -f1` 90 num=`echo $l | cut -s -d. -f2` 91 case "$type" in 92 syslog|messages) $BIN/suid_cut80 "$type" "$num" | escapeSomeChar ;; 93 *) echo "je sais pas faire..." ;; 94 esac 95 ;; 96 graph) 97 $BIN/firewall_gall $vi $va $dd $df $dt $wi $hi graph/$UNIQUE_ID 98 ;; 99 *) echo -n "$w non connu" 100 esac 101 102 exit 0
Date de génération : 22/09/2011 21:48