Comment installer MODX Revolution sur un VPS CentOS 7 LAMP
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
iptables
est un outil puissant utilisé pour configurer le pare-feu intégré du noyau Linux. Il est préinstallé sur la plupart des distributions Ubuntu, mais si vous utilisez une version personnalisée d'Ubuntu ou que vous exécutez dans un conteneur, vous devrez probablement l'installer manuellement.
sudo apt-get install iptables iptables-persistent
Après l'installation, si vous êtes invité à enregistrer vos règles actuelles, cela n'a pas d'importance pour le moment car vous allez supprimer ou créer de nouvelles règles plus tard.
Vous pouvez utiliser la netcat
commande (sur un autre ordinateur que votre serveur) pour tester quels ports sont ouverts ou fermés.
nc -z -w5 -v SERVER_IP PORT
nc
est la commande netcat.-z
il suffit d'envoyer un paquet sans charge utile.-w5
attendez jusqu'à 5 secondes pour une réponse.-v
mode verbeux.SERVER_IP
par votre adresse de serveur.PORT
par le port que vous souhaitez tester s'il est ouvert (par exemple 22
).Sur votre serveur, vous pouvez utiliser la netstat
commande pour voir quels ports écoutent actuellement les connexions.
sudo netstat -tulpn
Remarque: Bien qu'il netstat
soit pratique de trouver les ports avec lesquels vous souhaitez travailler, vous devez connaître les applications que vous avez actuellement installées sur votre serveur et quels ports sont à l'écoute, vous n'avez pas à autoriser tous les ports que vous trouvez dans la netstat
sortie .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUT
ajouter une règle à la INPUT
chaîne, une chaîne est un groupe de règles, celles que nous utilisons le plus dans ce guide seront INPUT
, OUTPUT
et PREROUTING
.-p tcp
défini tcp
comme le protocole auquel cette règle s'appliquera, vous pouvez également utiliser d'autres protocoles tels que udp
, icmp
ou all
.-m tcp
utilisez le tcp
module. iptables
prend en charge des fonctionnalités supplémentaires via des modules, dont certains sont déjà préinstallés iptables
et d'autres, comme le geoip
module.--dport 22
les commandes commençant par --
indiquent des options supplémentaires pour le module utilisé précédemment, dans ce cas, nous dirons au tcp
module de ne s'appliquer qu'au port 22
.-m geoip
utilisez le geoip
module. Il limitera les paquets par pays (plus d'informations à l'étape 5).--src-cc PE
dites au geoip
module de limiter les paquets entrants à ceux qui viennent du Pérou. Pour plus de codes de pays, recherchez ISO 3166 country codes
sur Internet.-j ACCEPT
l' -j
argument indique iptables
ce qu'il faut faire si un paquet correspond aux contraintes spécifiées dans les arguments précédents. Dans ce cas, il s'agira de ACCEPT
ces paquets, d'autres options le sont REJECT
, DROP
et plus encore. Vous pouvez trouver plus d'options en recherchant iptables jump targets
sur Internet.Liste toutes les règles.
sudo iptables -L
Liste toutes les commandes utilisées pour créer les règles actuellement utilisées, utiles pour modifier ou supprimer des règles.
sudo iptables -S
Pour supprimer une règle spécifique, choisissez une règle sudo iptables -S
et remplacez-la -A
par -D
.
# -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
sudo iptables -D INPUT -p tcp -m tcp --dport 22 -j ACCEPT
Liste toutes les règles numérotées de la INPUT
chaîne.
sudo iptables -L INPUT --line-numbers
Supprimez une règle numérotée.
sudo iptables -D INPUT 2
Pour effacer toutes les règles.
sudo iptables -F
Avertissement: vous risquez de perdre la connexion si vous êtes connecté par SSH .
Effacer uniquement les règles de la OUTPUT
chaîne.
sudo iptables -F OUTPUT
Autoriser SSH
sur l' eth0
interface
sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-i eth0
appliquer la règle à une interface spécifique, pour permettre à toute interface de supprimer cette commande.Pour limiter les paquets entrants à une adresse IP spécifique (par exemple 10.0.3.1/32
).
sudo iptables -A INPUT -i eth0 -s 10.0.3.1/32 -p tcp -m tcp --dport 22 -j ACCEPT
-s 10.0.3.1/32
spécifie un IP / sous-réseau à partir duquel autoriser les connexions.Définissez les règles de chaîne par défaut.
Avertissement: avant de continuer, assurez-vous d'avoir appliqué les règles SSH correctes si vous travaillez sur un serveur distant .
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
-P INPUT DROP
refuse tous les paquets entrants (c'est-à-dire que personne ne pourra se connecter à vos serveurs en cours d'exécution tels qu'Apache, SQL, etc.).-P FORWARD DROP
refuse tous les paquets transférés (c'est-à-dire lorsque vous utilisez votre système comme routeur).-P OUTPUT ACCEPT
autorise tous les paquets sortants (c'est-à-dire lorsque vous effectuez une HTTP
demande).Autorisez tout le trafic sur l'interface de bouclage ( recommandé ).
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
Enregistrez les iptables
règles actuelles .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Si vous exécutez à l'intérieur d'un conteneur, la netfilter-persistent
commande ne fonctionnera probablement pas, vous devez donc reconfigurer le iptables-persistent
package.
sudo dpkg-reconfigure iptables-persistent
Autorisez les requêtes DNS.
sudo iptables -A OUTPUT -p tcp --dport 53 -m state --state NEW -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -m state --state NEW -j ACCEPT
Utilisez le state
module pour autoriser RELATED
et ESTABLISHED
sortir les paquets.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Autorisez les ports souhaités; dans ce cas, les HTTP
ports.
sudo iptables -A OUTPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
Plus de ports que vous voudrez peut-être utiliser.
FTP
: TCP au port 21HTTPS
: TCP sur le port 443DHCP
: udp au port 67NTP
: udp au port 123Remarque: Si vous souhaitez autoriser, apt-get
il peut être nécessaire d'autoriser FTP
etHTTPS
.
Autoriser le trafic renvoyé uniquement pour RELATED
et déjà les ESTABLISHED
connexions ( recommandé car parfois une communication bidirectionnelle est requise).
sudo iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Autorisez les requêtes ping de l'extérieur.
sudo iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
sudo iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT
Transférer le trafic sur le eth0
port 2200
vers 10.0.3.21:22
(utile si vous souhaitez exposer un serveur SSH qui s'exécute à l'intérieur d'un conteneur).
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 2200 -j DNAT --to-destination 10.0.3.21:22
Si vous vous connectez avec succès à votre serveur en utilisant SSH, une connexion persistante sera créée (c.-à-d. Aucune nouvelle connexion même si vous êtes connecté pendant plus d'une heure). Si vous échouez et essayez de vous reconnecter, une nouvelle connexion sera créée. Cela bloquera les tentatives de connexion SSH continues en limitant les nouvelles connexions par heure.
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --set
sudo iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 3600 --hitcount 4 -j DROP
Redirigez toutes les demandes sur le port 443
vers le port 4430
(utile si vous souhaitez vous lier au port 443
sans root
).
sudo iptables -t nat -A PREROUTING -i ens3 -p tcp --dport 443 -j REDIRECT --to-port 4430
sudo iptables -A INPUT -p tcp -m tcp --dport 4430 -m geoip --src-cc PE -j ACCEPT
ens3
l'interface réseau.-m geoip
module de bloc de pays (voir étape 5).Avertissement: ne l'utilisez pas lo
, le système d'exploitation supprimera tous les paquets redirigés vers l'interface de bouclage .
xtables-addons
Vous pouvez installer le xtables-addons
module en utilisant différentes méthodes, n'hésitez pas à utiliser la méthode d'installation qui vous convient le mieux.
Installez en utilisant apt-get
.
sudo apt-get install xtables-addons-common
Installez en utilisant module-assistant
.
sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons
Installez depuis la source.
sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
cd xtables-addons
./autogen.sh
./configure
make
sudo make install
Créer une base de données "pays".
sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv
Redémarrez votre système.
sudo reboot
Après xtables-addons
avoir été installé avec succès, après le premier redémarrage, exécutez depmod
sinon le blocage par pays ne fonctionnera pas correctement (cela n'est requis que pour la première fois).
sudo depmod
Créez un script à /etc/cron.monthly/geoip-updater
pour mettre à jour la geoip
base de données mensuellement.
#!/usr/bin/env bash
# this script is intended to run with sudo privileges
echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip
echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl
echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater
Rendez /etc/cron.monthly/geoip-updater
exécutable.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Remarque: Si vous recevez une iptables: No chain/target/match by that name
erreur lorsque vous essayez d'appliquer une geoip
règle, il est possible qu'elle xtables-addons
n'ait pas été installée correctement. Essayez une autre méthode d'installation.
Bloquer tous les paquets entrants en provenance de Chine, Hong Kong, Russie et Corée.
sudo iptables -A INPUT -m geoip --src-cc CN,HK,RU,KR -j DROP
Autorisez les paquets entrants sur le port 80
de partout, sauf dans les pays ci-dessus.
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
Autorisez les paquets entrants sur l' ens3
interface sur le port 22
uniquement du Pérou (n'hésitez pas à choisir le code de pays dont vous souhaitez accepter les paquets, par exemple US
pour les États-Unis).
sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT
Autoriser les paquets entrants sur le port 443
uniquement du Pérou.
sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc PE -j ACCEPT
Vous utilisez un système différent? MODX Revolution est un système de gestion de contenu (CMS) de niveau entreprise rapide, flexible, évolutif, gratuit et open source écrit i
McMyAdmin est un panneau de contrôle de serveur Minecraft utilisé pour administrer votre serveur. Bien que McMyAdmin soit gratuit, il existe plusieurs éditions, dont certaines sont pai
TeamTalk est un système de conférence qui permet aux utilisateurs davoir des conversations audio / vidéo de haute qualité, un chat textuel, de transférer des fichiers et de partager des écrans. Cest moi
Vous utilisez un système différent? Introduction CyberPanel est lun des premiers panneaux de contrôle du marché à la fois open source et utilisant OpenLiteSpeed. Quest-ce que
PhpBB est un programme de babillard open source. Cet article vous montrera comment installer phpBB sur un serveur Web Apache sur Ubuntu 16.04. Cétait écrit
Avoir un seul utilisateur, qui est root, peut être dangereux. Permet donc de résoudre ce problème. Vultr nous donne la liberté de faire ce que nous voulons avec nos utilisateurs et nos serveurs
Vous utilisez un système différent? ESpeak peut générer des fichiers audio de synthèse vocale (TTS). Ceux-ci peuvent être utiles pour de nombreuses raisons, telles que la création de votre propre Turin
Vous utilisez un système différent? Thelia est un outil open source pour la création de sites Web de commerce électronique et la gestion de contenu en ligne, écrit en PHP. Code source Thelia i
Vous utilisez un système différent? Fuel CMS est un système de gestion de contenu basé sur CodeIgniter. Son code source est hébergé sur GitHub. Ce guide vous montrera comment
Introduction Vous avez des problèmes de connectivité lorsque des visiteurs dautres pays accèdent à votre site Web? Vous vous demandez pourquoi la vitesse de téléchargement de votre Foreig
Vous utilisez un système différent? Ghost est une plate-forme de blogs open source qui gagne en popularité auprès des développeurs et des utilisateurs ordinaires depuis sa 201
Pip est un outil de gestion des packages Python. Lutilisation dun gestionnaire de packages permet une gestion efficace de votre serveur. Dans ce tutoriel, je vais expliquer comment t
BBR (Bottleneck Bandwidth and RTT) est un nouvel algorithme de contrôle de congestion qui est contribué à la pile TCP du noyau Linux par Google. Avec BBR en place,
Icinga 2 est un système de surveillance des ressources réseau open source largement utilisé, et Icinga Web 2 est linterface Web officielle pour Icinga 2. Dans ce didacticiel,
YOURLS (Your Own URL Shortener) est une application open source de raccourcissement dURL et danalyse de données. Dans cet article, nous couvrirons le processus dinstallation
Vous utilisez un système différent? TLS 1.3 est une version du protocole TLS (Transport Layer Security) qui a été publiée en 2018 en tant que norme proposée dans la RFC 8446
Cet article vous apprendra comment configurer une prison chroot sur Debian. Je suppose que vous utilisez Debian 7.x. Si vous utilisez Debian 6 ou 8, cela peut fonctionner, bu
Introduction Un moyen facile de configurer un serveur VPN sur Debian est avec PiVPN. PiVPN est un installateur et un wrapper pour OpenVPN. Il crée des commandes simples pour vous t
Vous utilisez un système différent? Alfresco Community Edition est une version open source des services de contenu Alfresco. Il est écrit en Java et utilise PostgreSQL t
Vous utilisez un système différent? RTMP est idéal pour diffuser du contenu en direct. Lorsque RTMP est associé à FFmpeg, les flux peuvent être convertis en différentes qualités. Vultr i
Découvrez comment générer une clé SSH pour accéder à votre serveur sans mot de passe. Suivez nos étapes faciles à comprendre pour créer et ajouter des clés SSH.
Découvrez comment créer un serveur de messagerie avec hMailServer sous Windows pour recevoir des e-mails facilement.
Les attaques de ransomware sont en augmentation, mais l'IA peut-elle aider à lutter contre le dernier virus informatique ? L'IA est-elle la réponse ? Lisez ici, sachez que l'IA est un boone ou un fléau
ReactOS, un système d'exploitation open source et gratuit est ici avec la dernière version. Cela peut-il suffire aux besoins des utilisateurs de Windows modernes et faire tomber Microsoft ? Découvrons-en plus sur cet ancien style, mais une expérience de système d'exploitation plus récente.
Whatsapp a finalement lancé l'application de bureau pour les utilisateurs Mac et Windows. Vous pouvez désormais accéder facilement à Whatsapp depuis Windows ou Mac. Disponible pour Windows 8+ et Mac OS 10.9+
Lisez ceci pour savoir comment l'intelligence artificielle devient populaire parmi les petites entreprises et comment elle augmente les probabilités de les faire grandir et de donner à leurs concurrents un avantage.
Récemment, Apple a publié macOS Catalina 10.15.4, une mise à jour supplémentaire pour résoudre les problèmes, mais il semble que la mise à jour cause davantage de problèmes, ce qui entraîne le bridage des machines mac. Lisez cet article pour en savoir plus
13 outils commerciaux d'extraction de données de Big Data
Notre ordinateur stocke toutes les données d'une manière organisée connue sous le nom de système de fichiers de journalisation. C'est une méthode efficace qui permet à l'ordinateur de rechercher et d'afficher des fichiers dès que vous appuyez sur la recherche.https://wethegeek.com/?p=94116&preview=true
Alors que la science évolue à un rythme rapide, prenant le pas sur une grande partie de nos efforts, les risques de nous soumettre à une Singularité inexplicable augmentent également. Lisez, ce que la singularité pourrait signifier pour nous.