[LINUX OpenSSH] accès authorisé par mail

Statut
N'est pas ouverte pour d'autres réponses.

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!!!
 

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é)
 

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
 
1er
OP
alan

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!! :)
 

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

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
 

sebge2

Elite
quel drole de méthode pour avoir accès .... :mrgreen:
 
1er
OP
alan

alan

Elite
Sub7 a dit:
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
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!?
 

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:
 
1er
OP
alan

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 ;)
 

Sub7

Touriste
alan a dit:
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 ;)
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
 
1er
OP
alan

alan

Elite
Sub7 a dit:
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
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!!
 
1er
OP
alan

alan

Elite
mot clé : mail2sh ... ;)
 

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 ?
 
1er
OP
alan

alan

Elite
Sub7 a dit:
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 ?
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!! :)
 

Gh0$T

Elite
Ha big astuce fallaait la trouvé celle là ;)
 

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
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut