Vous utilisez un navigateur obsolète. Il se peut qu'il n'affiche pas correctement ce site ou d'autres. Vous devez le mettre à niveau ou utiliser un navigateur alternatif.
Sur un autre container ou je fais tourner NPM, le proxy fonctionne parfaitement.
Mais je souhaite securié le tout avec Fail2ban et Swag serait parfait pour ça.
Mes sites web se situent dans des repertoires, donc je vois effectivement la page d'accueil d’apache mais pas mon site, il faudrait pouvoir ajouter après l'ip le répertoire du site "/Carte"
Sur NPM ça fonctionne mais je perd tous les avantages de SWAG
Bonjour à tous et merci pour ces retours.
Je vais essayer de vous répondre rapidement, malheureusement aujourd’hui ça va être impossible..
Pour rappel c'est un serveur WEBDEV qui tourne à cette adresse donc effectivement les CSS , images etc sont certainement en dur
Message automatiquement fusionné :
qu'appel tu redirection vers les "static" ?
même le code du bouton connexion ne fonctionne pas
Nginx a la possibilité de desservir les fichiers statiques (CSS, images, icônes etc) sans devoir faire appel au code du site.
Par exemple pour python, il n'a pas besoin d'aller faire un appel à l'application, juste besoin de savoir où aller chercher les fichiers statiques (static en anglais).
Ne connaissant pas WordPress, je ne peux guère t'en dire plus désolé.
Mais tu écris plus haut que tu as certainement des adresses codées en dur. Faudra peut être revoir ça pour avoir un chemin relatif.
Merci pour ton retour, mais ce n'est pas du WordPress mais du WebDev
Les adresses sont effectivement codées en dur, je présume, sur WebDev mais alors pourquoi sur NPM qui utilise aussi NGINX tout fonctionne à merveille.
Je devrais peut etre voir dans la config proxy.conf ? j'avoue que je ne sais plus trop quoi faire
Après pas mal de temps à essayer divers trucs, j'ai enfin trouvé ce qui clochait !
Ne pas mettre de / final à la variable : GOTIFY_URL=https://gotify.url
et mettre ${URL} à la place de '$URL" ici : curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${GOTIFY_PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -X POST -H Content-Type:application/json "$URL"
Et supprimer les balises BBCODE qui se sont incrustées dans le code XD
Voilà mon Fail2Gotify.sh :
Bash:
#!/bin/bash
## Variables Gotify
GOTIFY_URL=https://gotify.url
GOTIFY_TOKEN=xxxxxxxxxxxxx
GOTIFY_PRIORITY_SUCCESS=2
GOTIFY_PRIORITY_ERROR=7
#Default values
GOTIFY_PRIORITY=${GOTIFY_PRIORITY_ERROR}
MESSAGE="OUPS"
TITLE="Fail2Ban - DS920+"
URL=${GOTIFY_URL}/message?token=${GOTIFY_TOKEN}
if [ "$1" == "start" ]; then
GOTIFY_PRIORITY=${GOTIFY_PRIORITY_SUCCESS}
MESSAGE="Démarrage de la prison $2 ✅"
fi
if [ "$1" == "stopped" ]; then
GOTIFY_PRIORITY=${GOTIFY_PRIORITY_ERROR}
MESSAGE="Arrêt de la prison $2 🛑"
fi
if [ "$1" == "ban" ]; then
GOTIFY_PRIORITY=${GOTIFY_PRIORITY_ERROR}
MESSAGE="Bannissement de l'ip $3 dans la prison $2 🚫"
fi
if [ "$1" == "unban" ]; then
GOTIFY_PRIORITY=${GOTIFY_PRIORITY_SUCCESS}
MESSAGE="Débannissement de l'ip $3 dans la prison $2 ❎"
fi
/usr/bin/curl -s -S --data '{"message": "'"${MESSAGE}"'", "title": "'"${TITLE}"'", "priority":'"${GOTIFY_PRIORITY}"', "extras": {"client::display": {"contentType": "text/markdown"}}}' -X POST -H Content-Type:application/json "${URL}"
exit 0
J'ai aussi modifié un peu le gotifyEmbed.local :
Config Apache:
[Definition]
# Notify on Startup
actionstart = bash /data/Fail2Gotify.sh start <name>
# Notify on Shutdown
actionstop = bash /data/Fail2Gotify.sh stopped <name>
#
actioncheck =
# Notify on Banned
actionban = bash /data/Fail2Gotify.sh ban <name> <ip>
# Notify on Unbanned
actionunban = bash /data/Fail2Gotify.sh unban <name> <ip>
[Init]
# Name of the jail in your jail.local file. default = [your-jail-name]
name = default
Et enfin, dans mon jail.local, j'ai juste modifié la commande action, le banaction reste comme je l'avais personnalisé, il ne faut d'ailleurs pas le supprimer :
Sinon, je suis en train de faire des essais avec le fail2ban intégré à SWAG.
Déjà, première chose j'ai réussi à faire en sorte d'envoyer des emails avec cette version de f2b !
Ça plus les notifications Gotify :
Je suis bien heureux ^^
Je vous ferais un topo sur comment j'ai réussi à faire en sorte que l'envoi d'emails fonctionne en passant par le serveur smtp d'OVH.
Et sur l'essai que je viens de faire avec calibre-web, entrer plus de 3 fois des ID de connexion erroné, j'ai bel et bien été banni, et l'accès à calibre-web n'était plus possible ensuite !
Donc ça fonctionne bien avec le f2b intégré à SWAG. Je ne comprends pas pourquoi ça ne fonctionne plus avec l'image de crazy-max...
Du coup, je vais finaliser l'ajout des jails dans le jail.local (car tous mes essais du jour pour tenter de faire fonctionner les fichiers de jail.d/ ont échoué...
Bref, voilà une bonne étape de faite : refaire fonctionner un fail2ban !
Alors, la fatigue aidant à ne plus avoir la motivation de finir le paquet de copies, je vais faire mon petit retour ^^
En préambule, lorsque je parlerais du conteneur Fail2ban, il s'agira de celui créé à partir de l'image de crazy-max (voir lien juste au-dessous). Sinon SWAG fera référence à SWAG, donc le fail2ban intégré sera celui de SWAG.
Alors, pour que l'envoi d'emails de notification par le fail2ban de swag fonctionne, j'ai épluché les fichiers du dépôt de crazy-max à savoir : le dockerfile et le entrypoint.sh.
Je savais qu'il y avait le binaire ssmtp de présent dans son image et absente de celle de SWAG, mais je ne savais pas si c'était juste ce binaire qui faisait que l'envoi d'email via un serveur SMTP comme celui de gmail ou d'OVH fonctionnait.
Bref, en épluchant les deux fichiers mentionnés ci-dessus, j'ai vu que le binaire ssmtp pouvait être installé dans l'image SWAG via un de leurs mods : linuxserver/mods:universal-package-install. (J'en avais déjà une vague idée...).
Il faut donc ajouter ce docker-mod à ceux potentiellement déjà présents dans le docker-compose et la ligne spécifiant quel paquet installer :
Pendant mes recherches dans le conteneur Fail2Ban (image crazy-max), j'ai pu trouver le dossier /etc/ssmtp/ et les deux fichiers dedans :
[B]ssmtpd.conf[/B] : ce fichier contenait des variables construites à partir des variables d'environnement qu'on a mis à la création du conteneur : j'ai pu voir dans le entrypoint.sh comment était construit ce fichier ssmtpd.conf.
Je mettrais le contenu du fichier qui fonctionne avec SWAG plus bas.
revaliases : ce fichier était "vide", que des lignes commentées.
Il donne des infos sur les variables présentes dans le fichier ssmtpd.conf et j'ai adapté un peu ce qui était présent dans le fichier de mon conteneur Fail2ban.
Pour que le binaire ssmtp fonctionne, il faut lui fournir les fichiers de configuration. Donc, nouvelle ligne dans le fichier docker-compose.yml pour ajouter un point de montage dans la partie volume :
Maintenant, le contenu des deux fichiers à placer dans /volume4/docker/swag_macvlan/etc-ssmtp.
Alors, chose étrange, ce n'est pas le fichier ssmtpd.conf qu'il faut placer mais un fichier ssmtp.conf, dans le d ! Même contenu cependant.
Fichier ssmtp.conf :#
Config Apache:
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
#
# The person who gets all mail for userids < 1000
# Make this empty to disable rewriting.
# root=postmaster
# The place where the mail goes. The actual machine name is required
# no MX records are consulted. Commonly mailhosts are named mail.domain.com
# The example will fit if you are in domain.com and you mailhub is so named.
# mailhub=mail
# Where will the mail seem to come from?
#rewriteDomain=localhost
# The full hostname
#hostname="localhost"
mailhub=ssl0.ovh.net:587
hostname=Fail2ban-SWAG
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
AuthUser=monmail@mon-ndd.ovh
AuthPass=Mon_Supper_Password-de-la-mort-qui-tue-sans_2FA...
root=monmail@mon-ndd.ovh
Fichier revaliases (je ne suis pas sûr que celui-là serve vraiment... mais je l'ai personnalisé avec l'articule de ubuntu-fr) :# sSMTP aliases
Config Apache:
#
# Format: local_account:outgoing_address:mailhub
#
# Example: root:your_login@your.domain:mailhub.your.domain[:port]
# where [:port] is an optional port number that defaults to 25.
root:monmail@mon-ndd.ovh:ssl0.ovh.net:587
#Other System user: (for Apache)
#www-data:monmail@mon-ndd.ovh:ssl0.ovh.net:587
Voilà voilà ! Il m'a fallu pas mal de recréation et de redémarrage de SWAG, et de réactivation/désactivation du conteneur Fail2ban
PS : j'ai aussi personnalisé les mails d'envois en ajoutant une mention SWAG ^^
PPS : et enfin, pour avoir une notification email qui ne contient pas un nom aléatoire de machine, j'ai ajouté ça hostname: DS920Plus--SWAG au docker-compose, et j'ai aussi mis quelques DNS (mais pas sûr que ça soit utile) :
petite question liée à Swag. J'essaye de creer un fichier à partir des fichiers "_template.subdomain.conf.sample" disponibles dans le dossier "proxy-conf". Jusque là pas de problème. Sauf que lorsqu'on redemmarage le conteneur Swag, il efface ce fichier personnaliser que je viens de créer. auriez-vous une idée pour contourner ce problème ?
petite question liée à Swag. J'essaye de creer un fichier à partir des fichiers "_template.subdomain.conf.sample" disponibles dans le dossier "proxy-conf". Jusque là pas de problème. Sauf que lorsqu'on redemmarage le conteneur Swag, il efface ce fichier personnaliser que je viens de créer. auriez-vous une idée pour contourner ce problème ?
Ton fichier de configuration doit impérativement avoir .conf pour extension. Il te faut enlever le .sample sinon au redémarrage du conteneur, il disparaitra comme tu le constates.
Bonjour j'ai une petite question à propos de swag et fail2ban.
J'ai mis en place mon reverse proxy avec différents services derrière comme nextcloud puis mis en place des politiques de banissement et autorisé swag à aller regarder les logs de ces différents services pour détecter toute tentave d'intrusion. Mais le problème est que dans tous les logs des services comme nextcloud c'est l'ip interne à mon serveur utiliser par swag (172.27.0.1) qui apparait à chaque fois. Je ne peut donc pas bannir les ip qui font trop d'erreur de connexion.
Alors j'aimerais savoir comment faire pour que swag transmette bien l'ip externe de chaque personnes et non la sienne.