Catégorie : Systèmes

28 janvier 2016 /

Boucle for à mettre dans son .bashrc :

vi ~/.bashrc

On met la boucle a fin la du fichier.

function fermer {
BAK=$IFS
IFS=$'\n'
for id in $(ps aux | grep -P -i $1 | grep -v "grep" | awk '{printf $2" "; for (i=11; i<NF; i++) printf $i" "; print $NF}'); do service=$(echo $id | cut -d " " -f 1) if [[ $2 == "-t" ]]; then echo $service \"$(echo $id | cut -d " " -f 2-)\" "peut-être tué" else echo $service \"$(echo $id | cut -d " " -f 2-)\" "a été tué" for signal in "TERM" "INT" "HUP" "KILL" "9"; do kill -$signal $service RETVAL=$? [ $RETVAL -eq 0 ] && break echo "Attention: le kill n'a pas marché: pid=$service, signal=$signal" >&2
sleep 1
done
fi
done
IFS=$BAK
}

A défaut de ré-ouvrir un shell, on doit sourcer son .bashrc pour une prise en compte immédiate:

cd ~
source .bashrc

On peut visualiser les pids qui vont etre tués via un mode test:

fermer nom_du_programme -t

Et dés qu’on est sur:

fermer nom_du_programme

25 janvier 2016 /

Ufw (pour « Uncomplicated Firewall ») permet de gérer Netfilter, le pare-feu de Linux.
Il a été développé à l’origine par Caconical, mais maintenant il est disponible sur d’autres distributions comme Debian.

Par defaut, Ufw interdit tous les paquets entrants et autorise tous les paquets sortants. Il autorise également toutes les connexions en cours.
Il ne reste donc qu’à autoriser les paquets entrants suivants nos besoins.

Installation Ufw

apt-get install ufw

Activation d’Ufw

ufw enable

Autoriser un flux entrant (ici ssh)

ufw allow 22

Interdire un flux entrant (ici ssh)

ufw deny 22

Ufw possede des regles prédéfinies permettant d’autoriser des applications sans avoir a entrer manuellement le numéro de port.

Pour obtenir la liste des applications disponibles:

ufw app list

Ensuite pour autorisé une application

ufw allw SSH

Autoriser un flux entrant (règle complexe)

ufw allow from 2.5.8.3 to any port 22

Cette commande va autoriser les connexions ssh a partir de l’ip 2.5.8.3.

Interdire un flux entrant (règle complexe)

ufw deny from 2.5.8.3 to any port 22

Cette commande va interdire les connexions ssh a partir de l’ip 2.5.8.3.

Pour lister les règles en place avec numérotation :

ufw status numbered

Supprimer une règle (en se basant sur la numérotation (ici règle n°2):

ufw delete 2

18 janvier 2016 /

1 – Création d’un script de démarrage

On commence par écrire nos règles de démarrage d’iptables dans un fichier texte, ici /etc/iptables/start.sh :

#!/bin/sh

# Réinitialise les règles
iptables -t filter -F
iptables -t filter -X

# Bloque tout le trafic
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# DNS entrée/sortie
iptables -t filter -A OUTPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp –dport 53 -j ACCEPT

# SSH
iptables -t filter -A INPUT -p tcp –dport 22 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 22 -j ACCEPT

# HTTP/HTTPS
iptables -t filter -A OUTPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 80 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp –dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp –dport 443 -j ACCEPT

# Ping – ICMP
iptables -t filter -A OUTPUT -p icmp -j ACCEPT
iptables -t filter -A INPUT -p icmp -j ACCEPT

On oublie pas de rendre exécutable le script:

chmod +x /etc/iptables/start.sh

2 – Création d’un script d’arrêt

Puis nos règles d’arrêt iptables, ici /etc/iptables/stop.sh :

#!/bin/sh

# Flush all rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

on rend le script exécutable:

chmod +x /etc/iptables/stop.sh

3 – Création d’un service

Il ne nous reste plus qu’a créé le service dans /etc/init.d/, dans l’exemple il porte le nom « iptables_service ».

#!/bin/sh

SERVICE_NAME=iptables_service
SERVICE_DIRECTORY=/etc/iptables/
SERVICE_STARTUP_SCRIPT=start.sh
SERVICE_SHUTDOWN_SCRIPT=stop.sh

## Functions ##
usage()
{
echo « ———————–« 
echo « Usage: $0 (stop|start|restart) »
echo « ———————–« 
}
service_start()
{
echo « Starting service ‘${SERVICE_NAME}’… »
OWD=`pwd`
cd ${SERVICE_DIRECTORY} ./${SERVICE_STARTUP_SCRIPT}
cd $OWD
echo « Service ‘${SERVICE_NAME}’ started successfully »
}
service_stop()
{
echo « Stopping service ‘${SERVICE_NAME}’… »
OWD=`pwd`
cd ${SERVICE_DIRECTORY} &amp;&amp; ./${SERVICE_SHUTDOWN_SCRIPT}
cd $OWD
echo « Service ‘${SERVICE_NAME}’ stopped »
}

## Main ##
if [ -z $1 ]; then
usage
fi

case $1 in
stop)
service_stop
;;
start)
service_start
;;
restart)
service_stop
service_start
;;
*)
usage
esac
exit 0

On le rend exécutable:

chmod +x /etc/init.d/iptables_service

Maintenant, pour démarrer le service:

service iptables_service start

ou

/etc/init.d/iptables_service start

Le redémarrer:

service iptables_service restart

ou

/etc/init.d/iptables_service restart

L’arrêter:

service iptables_service stop

ou

/etc/init.d/iptables_service stop

11 janvier 2016 /

Pour utiliser apt-get derrière un proxy, il y a deux solutions:

Pour un usage ponctuel, il suffit d’exporter les paramètres du proxy que l’on souhaite utiliser dans la variable d’environnement http_proxy, sous la forme suivante :

export http_proxy=http://utilisateur:motdepasse@serveurproxy.com:port

utilisateur= Utilisateur pour se connecter au proxy (si nécessaire).
motdepasse=mot de passe associé à l’utilisateur du proxy (si nécessaire).
serveurproxy.com= l’adresse du proxy.
port= Port d’écoute du proxy.

Pour activer le proxy de façon pérenne, il faut créer un fichier /etc/apt/apt.conf.d/proxy puis d’y ajouter la ligne suivante :

Acquire::http::Proxy "http://utilisateur:motdepasse@example.com:port";

2 janvier 2016 /

Pour lister les processus sur une machine Solaris:

prstat -a