[LINUX OpenSSH] accès authorisé par mail

Discussion dans 'Windows' créé par alan, 12 Mai 2005.

Statut de la discussion:
Fermée.
  1. Offline
    alan Elite
    Voila j'ai un copain pour lui acceder a son serveur SSH il envoye un mail a son serveur avec un certain code et l'ip et dès que le serveur l'a recu, il a accès a son serveur SSH.

    Et une fois déconnecté, le serveur retire son IP aprs 1h ...

    Je voudrais bien pareil, donc je lui ai demandé mais il ne retrouve plus le tuto ... alors j'ai deja pas mal chercher su google mais sans succès,

    soit si qqn a plus de chance que moi
    ou si qqn a le meme et qu'il a encore le tuto ou bien sait ou le trouver ...

    D'avance je vous dis merci!!!
    alan, 12 Mai 2005
    #1
  2. Offline
    null ose();
    Je comprend pas trop l'intérêt :? Perso sur mon serveur linux, j'ai un login et un mot de passe et grâce à ça, je peux tout faire. Pourquoi envoyer un e-mail avant ? :? (Ca me semble pas très sécurisé)
    null, 12 Mai 2005
    #2
  3. Offline
    Sub7 Touriste
    moi je dirais le contraire
    quand tu limites les adresses ip c'est le top.

    quand tu envoies le mail ça fait pass au lieu de block

    et un login et mot de passe , c'est une question de temps pour le trouver, tandis adresse ip + mdp (+mac)

    alan si tu pourrais dire quel code , il met pour une recherche
    Sub7, 12 Mai 2005
    #3
  4. Offline
    alan Elite
    null : en effet t'as pas trop compris ;) po graff :)
    mais mieux compris avec le reply de Sub7??

    Sub7 bah jpense pas ke le code du mail soit le plus important ...
    mais j'ai demandé au poto ... mais il réponds pas, il est pas bcp sur son pc ses temps ci ...

    sinon le syteme ca donne pas mal quoi!! :)
    alan, 15 Mai 2005
    #4
  5. Offline
    Sub7 Touriste
    c'est vraiment pas con, ça c'est clair

    Si t'as le moindre info, donnes le et je le trouverai.

    Alan , t'es aussi sous open si je me trompe?

    une petite idée, sendmail => spamd , spamd scan les mails n'est ce pas? je n'ai pas encore eu l'occasion de le tester (saleté de skynet)
    donc il cherche des mots clés... donc il doit y avoir une cache.
    Un simple bash script qui relève une espèce de code (mot clé + ip) et modifie le host_allow ou en crée un avec le droit accès sur la machine cible.

    Pour le retirer après 1h, c'est à peu près comme le dhcpd lease time

    2e idée : à suivre :p

    ps:fo que j'arrete de fumer :shock: mon imagination me fait des tours
    Sub7, 16 Mai 2005
    #5
  6. Offline
    Sub7 Touriste
    Je sais que ça n'a rien à voir mais pour ceux qui veulent

    Code:
    #!/bin/sh
    #
    # [url]www.sub7.be[/url]
    
    VERSION="Version 1.002"
    
    # configuration variables (DEFAULTS)
    pfctl="/sbin/pfctl"
    pf_table="sshscan"
    authlog_path="/var/log/authlog"
    white_list=" 127.0.0.1"
    verbose=""
    log_path=""
    
    function usage
    {
    cat << USAGE
    sub_block for OpenBSD and Pf ($VERSION)
    
    usage: sub_block.sh -h
           sub_block.sh [-t pf_table] [-a authlog_path]
                          [-w IP_for_white_list ] [-v]
                          [-l log_path ]
    
    USAGE
    }
    
    while getopts ":ht:a:w:vl:" switch; do
    	case $switch in
    
    		h)
    			usage
    			exit 0
    			;;
    
    		t)
    			pf_table="$OPTARG"
    			;;
    
    		a)
    			if [ ! -e "$OPTARG" ]; then
    				echo "$OPTARG: no such file"
    				exit 1
    			fi
    			authlog_path="$OPTARG"
    			;;
    
    		w)
    			white_list="$white_list $OPTARG"
    			;;
    
    		v)
    			verbose="YES"
    			;;
    
    		l)
    			if [ ! -e "$OPTARG" ]; then
    				echo "$OPTARG: no such file"
    				exit 1
    			fi
    			log_path="$OPTARG"
    			;;
    
    		*)
    			echo "unknown switch, try -h"
    			exit 1
    			;;
    	esac
    done
    
    if [ "X$log_path" = "X" ]; then
    	# get the IPs of people trying illegal users from authlog
    	infected_list=$(awk '/Failed\ password\ for\ (illegal|invalid)\ user/ { print $13 }' $authlog_path)
    else
    	if [ "X$verbose" = "XYES" ]; then
    		echo "$(date '+%b %d %T'): using sub_block log ($log_path) instead authlog"
    	fi
    	# else get IPs from log
    	infected_list=$(awk '/Infected\ host\ detected/ { print $7 }' $log_path)
    fi
    
    # we want unique IPs
    infected_list=$(echo "$infected_list" | sort | uniq)
    
    # get already blocked IPs
    blocked=$($pfctl -t$pf_table -T show)
    
    for infected in $infected_list; do
    
    	echo $white_list | grep -v $infected > /dev/null
    	if [ $? = 0 ]; then
    
    		echo $blocked | grep $infected > /dev/null
    		if [ $? = 0 ]; then
    			if [ "X$verbose" = "XYES" ]; then
    				echo "$(date '+%b %d %T'): Infected host detected $infected - IP Address already blocked"
    			fi
    		else
    			echo -n "$(date '+%b %d %T'): Infected host detected $infected"
    			echo -n " - Adding IP Address to the blocked table: "
    			$pfctl -t$pf_table -T add $infected 2>&1
    		fi
    	fi
    done
    
    # EOF
    Sub7, 16 Mai 2005
    #6
  7. Offline
    sebge2 Touriste
    quel drole de méthode pour avoir accès .... :D
    sebge2, 16 Mai 2005
    #7
  8. Offline
    alan Elite
    yep sous OBSD (ici 3.5);) la meilleur :)
    et quand la 3.7 sera sortie je referai mon serveur et mettre qmail dessus ... pcq la mon serveur mail c'est un PC juste a coté

    "enfin en même temps le principe est simple : un script bash qui recupere les mails sur une adresse, les parse et quand il choppe un bon mail il modifie la config de ssh pour autoriser l'IP spécifiée dans les headers du mail à se connecter ..."

    "et pour remove l'adresse :
    script lancé à la deco de ta session ssh"

    mais il a plus le lien dans ses favoris

    sinon ton script c quoi!?
    alan, 16 Mai 2005
    #8
  9. Offline
    Sub7 Touriste
    un ssh bloker d'ip via le fichier "authlog".

    Ton pote a tjs le meme système ou il est delete?

    Si tu veux mettre le script en cron
    Code:
    0 */5 * * * /home/subnet/sub_blocker.sh >> /var/log/ssh_blocker.log
    plus que 3 jours à tenir pour la 3.7 :wink:
    Sub7, 16 Mai 2005
    #9
  10. Offline
    alan Elite
    il a toujours le mem systeme mais over busy ses temps ci .. un projet et ses exams m'a dit kil allait regarder dans ses backup mais bon!! ;) si on croise les doigts ca va sinon :-s

    k bon ben jpense ke je vais refaire ca moi-même ...
    j'ai trouvé un mail fetch en bash :) qui envoie via procmail

    now le modif et le tester ... puis looker la gestion avec ssh ...
    qu'est-ce qui est conseillé pour le modif ssh ?

    j'ai penser à modifer "cat qmail-autoresponder-mysql.c | sed 's/\#include \<mysql\/mysql.h>/\#include \<\/usr\/local\/include\/mysql\/mysql.h\>/' > qmail-autoresponder-mysql.c2 ; mv qmail-autoresponder-mysql.c2 qmail-autoresponder-mysql.c"

    puis faire un kill et start de sshd ...



    J-2 ;)
    alan, 17 Mai 2005
    #10
  11. Offline
    Sub7 Touriste
    pkoi faire la gestion de l'intru par mysql? pkoi pas un host_deny?
    Je vais y regarder quand je serai sous open, pcq la avec vmware c'est trop petit :D
    Sub7, 17 Mai 2005
    #11
  12. Offline
    alan Elite
    arf me suis mal exprimé ... je parlais d'un host_allow a modifier avec la commande sed et yav juste un exemple de la commande!!
    alan, 17 Mai 2005
    #12
  13. Offline
    alan Elite
    mot clé : mail2sh ... ;)
    alan, 17 Mai 2005
    #13
  14. Offline
    Sub7 Touriste
    salope t'as trouvé avant moi :D

    J'attends qd meme le 19 pour mettre à neuf mon stock de vieux pc :p

    1 question : Comment arrives tu à rediriger le port 25 ?
    Sub7, 17 Mai 2005
    #14
  15. Offline
    alan Elite
    J-1 ;)

    port 25 pas redirigé mais ouvert en fait ... et j'ai compris l'astuce today ... je ne sais me connecter qu'au serveur mail de mon ISP et pas sur d'autres...

    sinon mail2sh c pas vraiment ca mais on s'en rapproche fameusement!! :)
    alan, 18 Mai 2005
    #15
  16. Offline
    Gh0$T Elite
    Ha big astuce fallaait la trouvé celle là ;)
    Gh0$T, 18 Mai 2005
    #16
  17. Offline
    Sub7 Touriste
    mail2sh execute seulement des commandes via mail(c'est déjà ça), now faut faire un petit script pour modifier le host_allow via mail .
    le .sh, on le met dans /bin, et on l'exécute comme une simple commande. corriges moi si je me trompe.
    Je suis entrain de configurer qmail pour voir se que ça peut donner
    Bon aller demain matin, je m'y met (mais oui c'est ça ,cause tjs)

    2e:le mail2sh donne les droits de Charlie? si oui ya intéret à crypter via pgp

    EDIT: je me corrige : mail2sh a les droits de guest et crée aussi un user mail2sh
    Sub7, 18 Mai 2005
    #17
Statut de la discussion:
Fermée.