MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Déploiement sécurisé de MongoDB sur Amazon AWS

La semaine dernière, l'un de mes clients m'a demandé des recommandations d'architecture pour déployer en toute sécurité des instances MongoDB de production sur Amazon EC2 AWS. Cela m'a fait réfléchir au sujet et ce billet de blog en est le résultat. Beaucoup trop d'entreprises exposent leurs bases de données de production MongoDB sur Internet alors qu'il existe de meilleures options. La règle n°1 de la sécurité consiste à restreindre l'accès physique à vos serveurs de bases de données. Même si vos informations d'identification sont compromises, cela réduit considérablement l'impact si l'attaquant ne peut pas accéder à vos serveurs.

Avant de plonger dans les détails, revenons un peu en arrière et rappelons-nous comment le personnel informatique déployait les bases de données dans le monde pré-Amazon AWS. Je me souviens de quelques configurations différentes :

1. Configuration à double pare-feu DMZ (zone démilitarisée)

Dans cette configuration, les serveurs de premier niveau et de niveau intermédiaire sont déployés dans une zone démilitarisée et les serveurs de base de données se trouvent derrière le deuxième pare-feu. Le pare-feu avant autorise les connexions sur les ports Web et le pare-feu arrière autorise uniquement les connexions sur les ports de base de données.

2. VLAN - Moins populaire que le double pare-feu DMZ

Les serveurs de base de données et les serveurs frontaux se trouvent sur des VLAN distincts. Seuls les ports de base de données sont autorisés dans l'interconnexion de jonction entre les deux VLAN.

Techniquement, rien n'a vraiment changé depuis. Cependant, les techniques sont maintenant différentes. Vous ne parlez plus de DMZ et de pare-feu, mais vous parlez en termes de VPC et de groupes de sécurité. Si vous êtes une grande entreprise avec un personnel informatique, je me tournerais certainement vers Amazon VPC. Cela vous donne beaucoup de contrôle sur le réseau de couche 3 et vous pouvez placer vos bases de données dans un sous-réseau privé et ne pas les exposer à Internet. Cependant, il s'agit d'un sujet beaucoup plus long pour un autre article de blog. Si vous avez déjà configuré VPC et que vous souhaitez configurer MongoDB dans le VPC, voici mon article de blog pour vous guider à travers les étapes - Déploiement de MongoDB sur Amazon VPC.

Dans la suite de cet article, je me concentrerai sur EC2-classic.

3 étapes pour configurer la DMZ à double pare-feu dans AWS

1. Créez un groupe de sécurité pour vos serveurs MongoDB

Un groupe de sécurité peut s'étendre sur une région entière ; ainsi, même si vous disposez d'un jeu de répliques, vous pouvez répartir vos répliques dans les zones de disponibilité de la région tout en les conservant dans le même groupe de sécurité. . Créez un groupe de sécurité pour vos serveurs MongoDB et ajoutez tous vos serveurs mongo uniquement à ce groupe de sécurité.

2. Créez un groupe de sécurité pour vos serveurs de niveau intermédiaire/frontal

Créez un groupe de sécurité supplémentaire pour vos serveurs MongoDB intermédiaires et/ou frontaux.

3. Configurez votre accès au groupe de sécurité MongoDB

Configurez votre groupe de sécurité MongoDB pour autoriser l'accès aux serveurs frontaux uniquement sur les ports MongoDB. Configurez votre groupe de sécurité frontal pour ouvrir les ports Web vers Internet.

Configurer la DMZ à double pare-feu dans AWS via ScaleGrid

1. Créer un groupe de sécurité dans AWS

Connectez-vous à votre console Amazon et créez un groupe de sécurité pour vos serveurs de niveau intermédiaire/frontal. Appelons le groupe de sécurité "AppServerSG". Configurez ce groupe de sécurité pour ouvrir le port http/https si nécessaire. Placez vos serveurs intermédiaires et frontaux dans ce groupe de sécurité.

2. Créer un profil cloud AWS ScaleGrid

Connectez-vous à la console ScaleGrid et cliquez sur l'onglet Machine Pool. Créez votre propre pool de machines personnalisé afin de pouvoir déployer et gérer des instances mongo dans votre propre compte AWS. Dans l'onglet Pool de machines, cliquez sur le bouton Créer. Entrez votre clé API Amazon et votre clé secrète et appuyez sur Suivant :

3. Sélectionnez votre région AWS pour MongoDB

Sélectionnez la région AWS de votre choix pour déployer MongoDB :

4. Configurez votre politique d'accès

Il s'agit de l'étape principale de la configuration de la sécurité. Sélectionnez l'option pour autoriser uniquement les machines d'un groupe de sécurité particulier à accéder à vos serveurs MongoDB. Sélectionnez ensuite les groupes de sécurité auxquels vous souhaitez accorder l'accès. Saisissez un nom pour votre pool de machines, puis cliquez sur suivant :

5. Créez votre cluster MongoDB

Retournez à votre page de déploiements MongoDB dans la console principale. Cliquez sur "Créer" pour créer un nouveau cluster MongoDB. Dans la sélection Machine Pool, sélectionnez le pool de machines que vous venez de créer et créez le cluster.

Ce n'est qu'une des techniques pour sécuriser votre déploiement MongoDB sur AWS. Si vous avez d'autres suggestions, veuillez utiliser les sections de commentaires pour nous faire part de vos commentaires. Pour des pratiques de sécurité plus détaillées, reportez-vous aux pratiques de sécurité 10gen. Comme toujours, si vous avez des questions, envoyez-nous un e-mail à [email protected].