toulousain79

Salut,

Pourquoi s'enquiquiner avec peerguardian, tu ne connais pas ipset :

http://ipset.netfilter.org/ipset.man.html

Qui permet d'incorporer des listes énormes d'ip qui seront bloquées ou approuvées avec iptable, pas de processus en plus, donc pas de ressources supplémentaires ....

Ipset incorpore les ip au format cidr, mais il est possible via pg2ipset :

https://github.com/ilikenwf/pg2ipset

d'incorporer des listes au format range comme les iblocklist utilisées par peerguardian.

Perso, j'utilise cette méthode pour un blocage GEOIP de la zone asie, listes provenant d'ici:

#!/bin/bash
export PATH=$PATH:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin # script lancé via cron,
exec 2>/var/log/ipset.log
ipset -L asie;if [[ $(echo $?) = "1" ]]; then ipset -N asie hash:net maxelem 131072;fi  # crée la table si inexistante 
ipset -L asie6;if [[ $(echo $?) = "1" ]]; then ipset -N asie6 hash:net family inet6 maxelem 131072;fi #maxelem à adapter au volume de la liste
/etc/iptables/ipset
ipset flush
##
cd /var/log/tracker/zones
# Suppression de l'ancienne liste 
rm /var/log/tracker/zones/*.zone
rm /var/log/tracker/zones6/*.zone
# Recuperation de la liste pour l'asie, v4 et v6
list="cn tw hk id in kh kp kr la mo my ph vn th mm ru" 
for z in $list;do
wget -P . http://www.ipdeny.com/ipblocks/data/countries/$z.zone
done
cd /var/log/tracker/zones6
for z in $list;do
wget -P . http://www.ipdeny.com/ipv6/ipaddresses/blocks/$z.zone
done
list4=$(ls -l /var/log/tracker/zones | grep ".zone" | awk ' { print $9}')
list6=$(ls -l /var/log/tracker/zones6 | grep ".zone" | awk ' { print $9}')
for z in $list4;do
for i in $(cat /var/log/tracker/zones/$z ); do ipset -A -exist asie $i; done
done
for z in $list6;do
for i in $(cat /var/log/tracker/zones6/$z ); do ipset -A -exist asie6 $i; done
done
###########
service ipset-persistent save
firewall &   #script de mon firewall
########

ipset-persistent
Scripts inspiré de ce site:

https://github.com/BroHui/systemd-ipset-service

#!/bin/sh
### BEGIN INIT INFO
# Provides:          ipset-persistent
# Required-Start:    mountkernfs $local_fs
# Required-Stop:     $local_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# X-Start-Before:    $network iptables-persistent
# X-Stop-After:      $network
# Short-Description: Set up ipset rules
# Description:       Loads/saves current ipset rules from/to /etc/iptables
#  to provide a persistent rule set during boot time
### END INIT INFO

. /lib/lsb/init-functions

rc=0

IPSET=/sbin/ipset

load_rules()
{
	if [ ! -x $IPSET ]; then
		log_action_cont_msg " skipping ipset-persistent ($IPSET not exist)"
	else
		log_action_begin_msg "Loading ipset rules"
		if [ ! -f /etc/iptables/ipset ]; then
			log_action_cont_msg " skipping ipset-persistent (no rules to load )"
		else 
			log_action_cont_msg " ipset"
			$IPSET destroy
			$IPSET restore < /etc/iptables/ipset 2> /dev/null
			if [ $? -ne 0 ]; then
				rc=1
			fi
		fi
	fi

log_action_end_msg $rc
}

save_rules()
{
	if [ ! -x $IPSET ]; then
		log_action_cont_msg " $IPSET not exist"
	else
		log_action_begin_msg "Saving rules"
		if [ -x /sbin/ipset ]; then
			log_action_cont_msg " ipset"
			ipset save > /etc/iptables/ipset
			if [ $? -ne 0 ]; then
				rc=1
			fi
		fi
	fi

log_action_end_msg $rc
}

flush_rules()
{
	if [ ! -x $IPSET ]; then
		log_action_cont_msg " $IPSET not exist"
	else
		log_action_begin_msg "Flushing rules"
		log_action_cont_msg " ipset"
		$IPSET destroy
	fi

log_action_end_msg 0
}

case "$1" in
start|restart|reload|force-reload)
	load_rules
	;;
save)
	save_rules
	;;
stop)
	echo "Automatic flushing disabled, use \"flush\" instead of \"stop\""
	;;
flush)
	flush_rules
	;;
*)
    echo "Usage: $0 {start|restart|reload|force-reload|save|flush}" >&2
    exit 1
    ;;
esac

exit $c

ipset.service:

[Unit]
Description=ipset persistent rule service
Before=netfilter-persistent.service
ConditionFileNotEmpty=/etc/iptables/ipset

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/sbin/ipset -exist -file /etc/iptables/ipset restore
ExecStop=/sbin/ipset -file /etc/iptables/ipset save

[Install]
WantedBy=multi-user.target

Règles iptables:

#####
iptables -N LOG_BANNED_GEOIP
iptables -A LOG_BANNED_GEOIP -j LOG --log-prefix '** BANNED GEOIP **' --log-level info
iptables -A LOG_BANNED_GEOIP -j DROP
iptables -A INPUT -p tcp -m set --match-set asie src -j LOG_BANNED_GEOIP
iptables -A INPUT -p udp -m set --match-set asie src -j LOG_BANNED_GEOIP
####
ip6tables -N LOG_BANNED_GEOIP6
ip6tables -A LOG_BANNED_GEOIP6 -j LOG --log-prefix '** BANNED GEOIP6 **' --log-level info
ip6tables -A LOG_BANNED_GEOIP6 -j DROP
ip6tables -A INPUT -p tcp -m set --match-set asie6 src -j LOG_BANNED_GEOIP6
ip6tables -A INPUT -p udp -m set --match-set asie6 src -j LOG_BANNED_GEOIP6
#######

Si ça peut t'inspirer...
A+++
😉

    Rathorian
    OK, je vais y venir à PHP7 et Debian 9, tout comme je suis passé de Debian 7 à 8.
    Mais ce n'est pas une priorité absolue pour l'instant. Je ne me suis pas intéressé à PHP7 car à partir du moment que j'ai une autre dépendance n'étant pas stable avec Stretch, je ne perds pas mon temps.
    Avec MySB, je propose une seedbox sécurisée, pas une plateforme d'hébergement. Même pour l'entreprise pour laquelle je travaille avec plusieurs milliers de serveurs, nous ne sommes pas encore passé à PHP7.

    Mon but n'est pas de disposer absolument des "dernières" versions. Ce n'est absolument pas un critère fondé.
    Et travaillant seul sur ce projet depuis 4 ans, j'essaie de fixer des propriétés. Je veux quelque chose de fonctionnel et stable tout en gérant les diverses dépendances, le tout avec le peu de temps que je peux y consacrer.

    MySB n'est pas seulement un script One Shot, tu installes et ensuite tu te débrouilles pour maintenir la plateforme. Il s'agit d'une plateforme accessible pour des non initiés intégrant un process d'upgrade.
    Celui disposant de suffisamment de compétences et de passion, fera sa propre seedbox, à son gout.

    Par contre, la remarque de @jean-luc est tout à fait pertinente et pourrait me permettre de faire sauter une dépendance à MySB tout en gardant sa logique.

    Sinon, à part le gain de rapidité avec PHP7, peux-tu me donner les arguments devant me pousser à y passer rapidement, à part pour NextCloud ? Je n'ai pas la science infuse, mais je peux comprendre les arguments.

    Merci pour ton aide Rathorian.

      toulousain79 Salut,

      Je ne remet en aucun cas en doute les choix que tu as fait sur ton script (versions et autres).
      Personnellement, je suis qu'un inconditionnel passionné débutant dans le développement de script, donc je me permettrais pas.

      Je voulais simplement te prouver que PHP7 était compatible avec Nextcloud, rien de plus.

      13 jours plus tard

      Bonjour, Comment ajouté ( si ce l'es ) sonarr et jackett, j'ai assayé d'installé sonarr ais sa n'a pas l'air de fonctionner ( serveur apparemment lancée mais inaccessible .

      Si c'est possible je suis preneur.

      En tous cas, merci pour ce script d'installation ( et bien plus que ça d'ailleur )

      toulousain79 Sinon, à part le gain de rapidité avec PHP7, peux-tu me donner les arguments devant me pousser à y passer rapidement, à part pour NextCloud ? Je n'ai pas la science infuse, mais je peux comprendre les arguments.

      Parce que php 5.6 n'est plus mis à jour, seulement les mises à jour de sécurité et ça va se terminer dans 10mois.
      Petit lien pratique pour connaitre le statut des différentes versions http://php.net/supported-versions.php
      Ensuite y a rien à faire de particulier pour la mise à jour.

      10 mois, ce qui me laisse une marge.
      Et php7 viendra avec Stretch me concernant.
      Encore une fois Mysb n'est pas un serveur d'hébergement, donc la criticité n'est pas majeure.
      Merci pour l'info.

      3 mois plus tard

      salut, juste une question, les adresse email hotmail ne fonctionne pas ??
      car j'ai bien recu le courriel met pas d'apercu

      aucun moyen de me connercter en ssh ou en ftp ?

      ducoup j'ai recu auccune info pour me connecter a met interface

      je fait comment ??

      cordialement,

      en tous cas super script quand meme 🙂

      Salut,
      Quel choix as-tu fait lors de l'installation lors de la question "Voulez-vous utiliser un serveur SMTP externe ?"
      Tu as répondu LOCAL ?
      Comme précisé à cette question, il est mieux d'utiliser un compte GMAIL, OVH, ...
      As-tu également vérifié ton dossier SPAM de ta boîte ?
      Chez quel hébergeur as-tu installé ton serveur ?

      salut, j'ai reçue le mail met rien dedans, oneprovider met je pensse me prendre un chez online

      je pense que sa serat mieux car la je suis obligé de mettre a jour le system manuelement vers la version 8, je retenterait cette aprem sur mon new serveur online.

      je te donnerait des nouvelle se soir 🙂

        zoxyd penses tu qu'il soit possible que je test une installation moi même sur ton serveur oneprovider?
        Mon but est de rendre compatible mon programme au plus large.
        Je n'ai jamais testé chez ce provider. Je ne connais pas leur logique, et quel type de kernel ils utilisent ou autre.
        Je pourrais te fournir un moyen de communiquer avec moi plus facilement.
        Oui, tiens moi au jus stp.

        ouii sa serat possible, se soir ??
        je serait rentrer du taff, pour faire cela tranquilement, tu veut dire que tu veut le rendre compatible debian 7???

        cordialement,

        Ce soir, oui, éventuellement.
        Je souhaite m'assurer si l'installation se déroule bien sur un serveur OneProvider.
        Cela me permettrait de recueillir les logs pour rendre compatible MySB chez OneProvider.
        Non, MySB était compatible Debian 7 dans une ancienne version.
        La v5.2 est compatible uniquement Debian 8. Et je travaille sur la prochaine version de MySB pour le rendre compatible Debian 9.
        Fais-moi signe quand tu seras dispo. De mon côté, je le serais peut-être pas avant 19h je pense.

        [inconnu]
        Salut,
        Oui, mais pas avant 19h30 je pense.
        Peux-tu passer par le mail pour communiquer plutôt que ce post ?

        Heu bah la obliger de communiquer ici car pas l'adresse email ici, je t'enverrai un mail se soir 15 min après être arrivé pour qu'on puisse continuer se qu'on était entrain de faire d'accord ? ( regarde bien ton mail à partir de 20h30 d'accord ? 😉

        23 jours plus tard

        Vraiment top ce script ! Il inclut tout ce qu'il faut et tout est très bien intégré.

        Juste une question... il est possible d'héberger des scripts PHP/MySQL pour un forum ?

        5 mois plus tard

        ceggy
        Yo, je suis de retour.
        Mais oui, techniquement c'est faisable d'ajouter des pages perso.