La sécurité est un aspect important pour tout ordinateur qui permet un accès public, ce qui peut prendre plusieurs formes, par exemple permettre les connexions SSH, afficher du code HTML via HTTP, ou offrir un service qui utilise le logiciel d'une tierce partie (comme WordPress). On appelle daemons les programmes qui soutiennent des services tels SSH ou HTTP; ces programmes sont en constante activité et reçoivent les requêtes de l'extérieur via des ports spécifiques. OpenStack permet de gérer ces ports et d'en restreindre l'accès, par exemple en accordant l'accès à certaines adresses IP en particulier ou à un groupe d'adresses; voir la section Groupes de sécurité. La sécurité d'une instance peut être grandement améliorée par le contrôle de son accès, mais ceci n'élimine pas tous les risques : si les données que vous envoyez ne sont pas cryptées d'une quelconque manière (par exemple avec des mots de passe), une personne habile peut trouver le moyen de les consulter. Les données sont donc souvent cryptées selon le protocole Transport Layer Security qui devrait être employé pour tous les sites web auxquels des personnes de l'extérieur peuvent se connecter (par exemple WordPress ou MediaWiki); à ce sujet, consultez Configuration du serveur Apache pour utiliser SSL. Il est aussi possible que des données transmises à partir de votre serveur web vers un client soient modifiées en route par un tiers, si elles ne sont pas cryptées. Ceci n'est pas un problème pour le serveur web comme tel, mais pourrait l'être pour les clients. Dans la plupart des cas, il est recommandé d'utiliser le cryptage sur votre serveur web. La sécurité de vos instances est votre responsabilité; nous vous rappelons de ne pas négliger cet aspect critique.
Pour ouvrir le port 80 et permettre l'accès HTTP à votre instance, suivez ces directives. À partir du menu déroulant, sélectionnez HTTP au lieu de SSH.
Une fois connecté à votre instance,
Faites la mise à jour de vos répertoires apt-get avec
[name@server~]$sudoapt-getupdate
Faites la mise à jour de la version d'Ubuntu avec
[name@server~]$sudoapt-getupgrade
La version la plus à jour comprendra les toutes dernières rustines de sécurité.
Installez le serveur web Apache avec
[name@server~]$sudoapt-getinstallapache2
Page test Apache2 (cliquez pour agrandir) Faites afficher la nouvelle page Apache temporaire en entrant l'adresse IP flottante de votre instance dans la barre d'adresses de votre fureteur; il s'agit de la même adresse IP que vous utilisez pour vous connecter avec SSH. Vous devriez voir une page test semblable à celle montrée à droite.
Modifiez le contenu des fichiers dans /var/www/html pour créer le site web et en particulier le fichier index.html qui en définit le point d'entrée.
Modifier le répertoire root du serveur web
Il est souvent plus facile de gérer un site web si celui ou celle qui se connecte à l'instance est propriétaire des fichiers. Dans l'image Ubuntu de notre exemple, le propriétaire est ubuntu. Les étapes qui suivent indiquent à Apache de présenter les fichiers à partir de /home/ubuntu/public_html (par exemple) plutôt que de /var/www/html.
Utilisez la commande
[name@server~]$sudovim/etc/apache2/apache2.conf
(ou un autre éditeur) pour modifier la ligne <Directory /var/www/> en <Directory /home/ubuntu/public_html>.
Redémarrez le serveur Apache pour actualiser les modifications avec la commande
[name@server~]$sudoserviceapache2restart
Vous devriez pouvoir modifier le fichier /home/ubuntu/public_html/index.html sans utiliser sudo. Rafraîchissez la page chargée précédemment dans votre fureteur pour voir les modifications.
Limiter la bande passante
Si votre serveur web est très sollicité, il est possible qu'il occupe beaucoup des ressources de la bande passante. Une bonne manière de limiter l'utilisation de la bande passante est d'utiliser le module Apache.
Installation
[name@server~]$sudoaptinstalllibapache2-mod-bw
[name@server~]$sudoa2enmodbw
Configuration
L'exemple de configuration suivant limite la bande passante pour tous les clients à 100Mbps.
BandWidthModule On
ForceBandWidthModule On
#Exceptions to badwith of 100Mbps should go here above limit
#below in order to override it
#limit all connections to 100Mbps
#100Mbps *1/8(B/b)*1e6=12,500,000 bytes/s
BandWidth all 12500000
Ceci devrait être placé entre les balises <VirtualHost></VirtualHost> pour votre site. La configuration Apache par défaut se trouve dans le fichier /etc/apache2/sites-enabled/000-default.conf.