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
iptablesest 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 netcatcommande (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_IPpar votre adresse de serveur.PORTpar le port que vous souhaitez tester s'il est ouvert (par exemple 22).Sur votre serveur, vous pouvez utiliser la netstatcommande pour voir quels ports écoutent actuellement les connexions.
sudo netstat -tulpn
Remarque: Bien qu'il netstatsoit 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 netstatsortie .
sudo iptables -A INPUT -p tcp -m tcp --dport 22 --m geoip --src-cc PE -j ACCEPT
-A INPUTajouter une règle à la INPUTchaîne, une chaîne est un groupe de règles, celles que nous utilisons le plus dans ce guide seront INPUT, OUTPUTet PREROUTING.-p tcpdéfini tcpcomme le protocole auquel cette règle s'appliquera, vous pouvez également utiliser d'autres protocoles tels que udp, icmpou all.-m tcputilisez le tcpmodule. iptablesprend en charge des fonctionnalités supplémentaires via des modules, dont certains sont déjà préinstallés iptableset d'autres, comme le geoipmodule.--dport 22les commandes commençant par --indiquent des options supplémentaires pour le module utilisé précédemment, dans ce cas, nous dirons au tcpmodule de ne s'appliquer qu'au port 22.-m geoiputilisez le geoipmodule. Il limitera les paquets par pays (plus d'informations à l'étape 5).--src-cc PEdites au geoipmodule de limiter les paquets entrants à ceux qui viennent du Pérou. Pour plus de codes de pays, recherchez ISO 3166 country codessur Internet.-j ACCEPTl' -jargument indique iptablesce 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 ACCEPTces paquets, d'autres options le sont REJECT, DROPet plus encore. Vous pouvez trouver plus d'options en recherchant iptables jump targetssur 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 -Set remplacez-la -Apar -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 INPUTchaî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 OUTPUTchaîne.
sudo iptables -F OUTPUT
Autoriser SSHsur l' eth0interface
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 ACCEPTautorise tous les paquets sortants (c'est-à-dire lorsque vous effectuez une HTTPdemande).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 iptablesrègles actuelles .
sudo netfilter-persistent save
sudo netfilter-persistent reload
Si vous exécutez à l'intérieur d'un conteneur, la netfilter-persistentcommande ne fonctionnera probablement pas, vous devez donc reconfigurer le iptables-persistentpackage.
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 statemodule pour autoriser RELATEDet ESTABLISHEDsortir les paquets.
sudo iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
Autorisez les ports souhaités; dans ce cas, les HTTPports.
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-getil peut être nécessaire d'autoriser FTPetHTTPS .
Autoriser le trafic renvoyé uniquement pour RELATEDet déjà les ESTABLISHEDconnexions ( 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 eth0port 2200vers 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 443vers le port 4430(utile si vous souhaitez vous lier au port 443sans 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-addonsVous pouvez installer le xtables-addonsmodule 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-addonsavoir été installé avec succès, après le premier redémarrage, exécutez depmodsinon 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-updaterpour mettre à jour la geoipbase 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-updaterexécutable.
sudo chmod +x /etc/cron.monthly/geoip-updater
_Remarque: Si vous recevez une iptables: No chain/target/match by that nameerreur lorsque vous essayez d'appliquer une geoiprègle, il est possible qu'elle xtables-addonsn'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 80de 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' ens3interface sur le port 22uniquement du Pérou (n'hésitez pas à choisir le code de pays dont vous souhaitez accepter les paquets, par exemple USpour 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 443uniquement 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.