Vue d'ensemble #
Le (AWS) Equilibreur de charge élastique (ELB) répartit le trafic Web sur plusieurs EC2 instances, Elastic Container Service (ECS) et les adresses IP. ELB a également la capacité d'équilibrer le trafic entre différentes zones de disponibilité pour garantir une haute disponibilité. Cependant, il existe plusieurs limites à l'utilisation AWS's ELB, et ceux-ci incluent :
- Méthodes d'équilibrage de charge limitées. Par défaut, ELB n'utilise que le Round robin algorithme, et il a des capacités de commutation de contenu limitées.
- Depuis l' ELB est conçu pour gérer le trafic d'Internet vers les instances dans un Virtual Private Cloud(VPC), il n'est pas adapté à l'équilibrage de charge entre les ressources sur site.
Dans cet article, nous verrons comment remplacer ses services d'équilibrage de charge par une meilleure alternative, RELIANOID ADC. Pour avoir une comparaison détaillée entre AWS ELB et RELIANOID, référez-vous à cet article AWS et RELIANOID Comparaison.
Pré-requis : #
Assurez-vous de répondre à ces exigences avant de tenter de transférer des configurations depuis AWS ELB à RELIANOIDL'ADC complet de.
- A RELIANOID Le nœud ADC doit être installé sur votre PC, sur système nu, dans un environnement virtuel, ou il doit disposer d'un ZVNcloud compte. Demander une évaluation pour un déploiement sur site.
- Il faut avoir accès à l'interface graphique Web. Si vous ne le faites pas, suivez ce rapide Guide d'installation.
- Il faut être un utilisateur actif d'AWS ELB et être familiarisé avec les concepts dont nous parlerons dans la section ci-dessous.
- Il faut être capable de créer un serveur virtuel dans le RELIANOID équilibreur de charge. Voici un guide rapide : Configuration du serveur virtuel de couche 4 et de couche 7.
Note
RELIANOID a un modèle dans le Marché AWS. Le déploiement de RELIANOID sur AWS est transparent et devrait s'effectuer en quelques clics.
Concepts de base #
Auditeur: Un écouteur vérifie le trafic entrant de la couche 7 et le transmet au groupe cible nécessaire. Habituellement, un écouteur sera configuré pour vérifier HTTP or HTTPS trafic sur les ports 80 or 443 respectivement. Les principaux écouteurs de couche 7 utilisés par RELIANOID Les ADC sont HTTP HTTPS.
Groupe ciblé: Un groupe cible est un cluster d'instances EC2 travaillant ensemble pour fournir un service. Toutes ces instances au sein d'un groupe cible doivent avoir le même code d'application qui traite les demandes des clients. Un groupe cible est identique à un Services lors de l'utilisation RELIANOID ADC.
Contrôles de santé: Les vérifications de l'état surveillent le fonctionnement et la réactivité d'un service sur chaque instance EC2. Lorsque le service ou une instance EC2 tombe en panne, les vérifications de l'état remarqueront l'absence de réponse et l'équilibreur de charge redirigera le trafic vers des instances saines. RELIANOID utilise un ensemble de plugins appelés Farmguardian pour surveiller l'état de santé des serveurs Backend et de leurs services.
Types d'équilibreur de charge : AWS ELB fournit trois types d'équilibreurs de charge. Ceux-ci inclus Application, Réseau Classique équilibreurs de charge. L'équilibreur de charge classique devient obsolète, ne laissant que le Réseau Application équilibreurs de charge à utiliser. RELIANOID Les équilibreurs de charge ADC Layer 7 ont un HTTP tandis que les équilibreurs de charge réseau ont un L4xNAT profil.
Groupe de sécurité : Un groupe de sécurité est un ensemble de règles de pare-feu qui surveillent et contrôlent le trafic entrant et sortant. RELIANOID L'ADC a un intégré IPDS module avec des politiques définies pour filtrer tout trafic malveillant vers l'équilibreur de charge, et également pour bloquer toutes les tentatives d'accès non autorisé. Vous pouvez créer des règles de pare-feu en accédant au WAF option dans le IPDS module.
ACM : Le service ACM permet à un administrateur de déployer et de gérer des certificats SSL/TLS à utiliser dans les ressources internes connectées sur AWS. Pour gérer les certificats SSL internes au sein du RELIANOID équilibreur de charge, accédez-y via LSLB >> Certificats SSL. Ou vous pouvez créer un certificat SSL auto-signé personnalisé via le Chiffrons programme intégré sur le RELIANOID équilibreur de charge.
Instances ou cibles EC2 : Il s'agit de serveurs virtuels Linux en aval qui hébergent le code d'application qui traite les requêtes reçues du Web. Ces serveurs virtuels sont appelés Backends lors de l'utilisation RELIANOID ADC.
Exemples de configurations : certificats SSL #
Pour chiffrer les données transmises entre les clients et l'équilibreur de charge, un certificat SSL doit être installé pour sécuriser la communication entre les hôtes. Des informations sensibles telles que identifiants de connexion numéros de carte de crédit doivent être transmis sur une couche de transport sécurisée.
Dans cette section, nous aborderons l'installation des certificats SSL sur RELIANOID ADC en référence à AWS ACM.
Configuration d'un certificat SSL auto-signé pour une utilisation sur AWS #
On suivrait ces étapes pour installer un certificat SSL sur l'ELB.
- Pour générer un CSR pour vos instances EC2, vous aurez besoin d'accéder à la console Linux de cette instance.
- Après vous être connecté à l'instance EC2, accédez au répertoire : /etc/pki/tls/prive/
- Générez une nouvelle clé privée, RSA 2048 bits à l'aide de la commande suivante : sudo openssl genrsa -out custom.key
- Générez un certificat fournissant la clé privée de génération précédente à l'aide de la commande : openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- Remplissez les détails nécessaires requis par le certificat SSL.
- Canton Entrez 2 codes pays ISO.
- État / Province: Entrez la province où est située votre entreprise.
- Ville: Entrez le nom de la ville où vous vous trouvez.
- Nom commun: Entrez un nom de domaine complet FQDN, par exemple www.relianoid.com
- mot de passe ou mot de passe : Vous pouvez ignorer la création d'un mot de passe pour cet exemple. Pendant ce temps, le certificat généré sera dans le *.pem format de fichier.
- Compilez les deux certificats dans un bundle PKCS12 à l'aide de la commande :openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- En supposant qu'AWS CLI est déjà installé, il faut généralement télécharger le certificat généré (custom.crt) et la clé privée (custom.key) vers AWS Certificate Manager à l'aide de la commande : aws acm import-certificate — fichier de certificat://custom.crt — fichier de clé privée://custom.key — région us-east-2
- Ce certificat sera désormais disponible dans l'assistant de création sous l'option "Choisir un certificat d'ACM (recommandé)".
Configuration d'un certificat SSL auto-signé à utiliser sur RELIANOID ADC #
- Pour générer un certificat SSL personnalisé pour votre RELIANOID Instance ADC, recherchez le répertoire suivant à l’aide de la ligne de commande de l’appliance.
- Générez une clé privée sans phrase secrète à l'aide de la commande :
- Générer une demande de signature de certificat (CSR) pour la clé privée à l'aide de la commande :
- Remplissez les détails nécessaires.
- Nom : Un nom descriptif pour identifier le CSR.
- Canton Le code ISO du pays où vous vous trouvez.
- Nom commun: Un nom de domaine complet. (FQDN), par exemple www.example.com
- Division: Votre département, et cela pourrait être la santé, l'informatique ou la sécurité.
- Localité: La ville où vous vous trouvez.
- État: État dans lequel se trouve votre organisation.
- Organisation: Le nom légal de votre organisation, par exemple RELIANOID SL.
- Adresse électronique: Entrez votre adresse email. Il n'est pas indispensable qu'il en soit un pour le nom de domaine.
- Générer un Certificat auto-signé en utilisant à la fois la clé privée et le certificat CSR. Pour cet exemple, le certificat auto-signé aura une durée de vie de 1 an et le format de sortie sera en .PEM. Utilisez la commande suivante.
- Ce certificat pourra être utilisé dans le LSLB >> Certificats SSL .
cd /usr/local/zevenet/config/certificates
openssl genrsa -out custom.key 2048
openssl req -new -key custom.key -out custom.csr
openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
Pour en savoir plus sur les certificats SSL sur RELIANOID ADC, reportez-vous à ces ressources :
Exemples de configurations : Pare-feu d'application Web #
Par mesure de sécurité, A WAF protège une application Web en filtrant et en bloquant le trafic malveillant. Un WAF est généralement déployé devant un équilibreur de charge et est conçu pour protéger les applications Web contre diverses attaques malveillantes telles que script intersite (XSS), Injection SQL, et d'autres attaques, y compris celles de Top 10 de l'OWASP.
En inspectant le trafic HTTP entrant et en l'analysant par rapport à un ensemble de règles ou d'une politique de sécurité, le WAF bloquera tout le trafic jugé non sécurisé. RELIANOID ADC offre des fonctionnalités de sécurité plus avancées comme la liste noire IP, une politique RBL, la protection DoS, etc.
Dans cette section, nous décrirons comment se protéger contre Injection SQL dans AWS et simulez des configurations similaires avec RELIANOID ADC.
Configurations AWS #
Autoriser Injection SQL protection, vous devez avoir au moins une ou 2 instances EC2 placées derrière un équilibreur de charge Elastic. Ces instances EC2 doivent avoir l'application Web que vous souhaitez protéger.
- Dans la console Web d'AWS, recherchez WAF et bouclier, puis cliquez sur le lien qui s'affiche.
- Cliquez sur le LCA Web élément du menu.
- Sélectionnez la région d'où proviendra votre trafic, par exemple Europe(Francfort).
- Cliquez sur Créer une ACL Web .
- Sous Ajouter des règles et des groupes de règles, Cliquez sur le Ajouter des règles flèche vers le bas.
- Choisir Ajouter des groupes de règles gérées. Vous trouverez d'autres groupes de règles gérées, y compris Contrôle des robots, Liste de réputation IP d'Amazon, Bases de données SQL, etc.
- Choisir base de données SQL en activant le bouton bascule Ajouter à la LCA Web.
- Faites défiler vers le bas et cliquez sur le Ajouter une règle .
- au sein de la Action par défaut pour les règles qui ne correspondent pas, laissez l'option sur Autoriser.
- Cliquez sur Suivant .
- au sein de la Définir la priorité de la règle section, utilisez cette section pour ajouter une priorité à une règle, puis cliquez sur le bouton, Suivant.
- au sein de la Configurer les métriques section, il n'y a rien à changer, alors cliquez sur le bouton, Suivant.
- au sein de la Examiner et créer une ACL Web section, cliquez sur Créer une ACL Web .
- Après avoir créé avec succès une ACL Web, cliquez sur l'ACL que vous venez de créer.
- Cliquez sur l'onglet avec Ressources AWS associées.
- Ajoutez l'équilibreur de charge d'application que vous souhaitez protéger. Après avoir ajouté les ressources, votre règle sera définie pour bloquer toute injection dans la base de données sql.
RELIANOID les configurations #
Pour activer la protection contre les injections SQL, vous devez créer un Ensemble de règles WAF d'abord.
- Allez dans IPDS dans le menu latéral, puis cliquez sur pour le développer.
- Cliquez sur le WAF possibilité de l'étendre.
- Cliquez sur le Règles option.
- Cliquez sur le Créer un jeu de règles WAF .
- Attribuer un Nom qui identifie facilement cet ensemble de règles.
- Quitter le Copier l'ensemble de règles champ comme –Pas de règles–.
- Cliquez sur Appliquer Pour enregistrer les modifications.
- au sein de la paramètres globaux, basculez sur le Vérifier le corps de la demande option.
- Remplacez l'action par défaut par Refuser : coupez la requête et n'exécutez plus les règles
- Cliquez sur Appliquer Pour enregistrer les modifications.
Définition des règles #
- Cliquez sur le Règles onglet pour ajouter de nouvelles règles.
- Cliquez sur le Nouvelle règle .
- Sélectionnez le type de règle comme Action.
- Sélectionnez le phase as Corps de la demande reçu.
- Sélectionnez le Résolution as Refuser : coupez la requête et n'exécutez plus les règles.
- Ajoutez une description à la règle pour identifier facilement en quoi consiste la règle
- Cliquez sur Appliquer Pour enregistrer les modifications.
Ajouter des conditions #
- Cliquez sur la règle nouvellement créée pour ajouter des conditions. Commencez par cliquer sur le Créer une condition .
- au sein de la Variables champ, sélectionnez REQUEST_BODY Et cliquez sur le Ajouter une variable .
- au sein de la Transformation champ, sélectionnez l'option, aucun.
- au sein de la Opérateur section, sélectionnez détecterSQLi
- Cliquez sur Appliquer bouton pour créer la nouvelle condition.
Activation de règles pour une batterie de serveurs #
- Cliquez sur le Fermes pour ajouter cette règle à un serveur virtuel cible (ferme) sur l'équilibreur de charge.
- au sein de la Paramètres de la ferme, faites glisser et déposez la ferme sélectionnée depuis Fermes disponibles à Fermes activées.
- Dans le coin supérieur droit, il y a Action. Cliquez sur le bouton de lecture vert pour démarrer la règle. À ce moment, la règle WAF bloquera toute injection sql intégrée dans le corps de la requête, principalement via des formulaires de recherche ou de connexion.
Pour plus de ressources sur le WAF, reportez-vous à ces articles :
XNUMX. Ressources supplémentaires #
Utilisation du programme Let's encrypt pour générer automatiquement un certificat SSL.
Équilibrage de charge Datalink/Uplink Avec RELIANOID ADC.
Équilibrage de charge DNS avec RELIANOID ADC.
Protection contre les attaques DDoS.
Surveillance des applications, de la santé et du réseau dans RELIANOID ADC.



