Debian Squeeze 32 / 64 bits sur Cloud E.C.2 AMAZON. Installation d'un serveur.

Apache2 avec virtualhosts, Suexec, PHP5, Mod Perl, Mysql, Phpmyadmin, Proftpd avec support Mysql multi-users,
Postfix avec support Mysql multi-users, Courier, Courier Pop3, Spamassassin, Amavis et Clamav, Bind9, Fail2ban.



  
Temps d'installation :   hr.    min.    sec.


N.B. : Pour plus de facilité, un clic (sur la moitié haute ou basse de la page),
juste à gauche du menu défilant, permet de monter ou descendre.



     




Prerequisites



#
# AMI testée : BASE 6.0.1 SQUEEZE 32 bits sur plan SMALL ( 1,7 G )     Recherche : [ami-1212ef7b]
#
# ( cette version peut s'archiver ) 
#
#
# Lorsque le contact à l'E.C.2 est établi avec PuTTY, ajuster "locales" comme suit :
#



- copier -




- copier -




Prerequisites  sur  E. C. 2  AMAZON





Le script est une procédure automatique d'installation ! Comment faire ?

Cliquer à droite dans la fenêtre ci-dessous pour "tout sélectionner", puis "copier"

Sur PuTTY, taper : nano   Coller en cliquant 1x à droite dans nano

"Ctrl" o pour enregistrer le fichier, par ex : /etc/z_z   "Ctrl" x pour sortir de nano

Mettre un chmod 755 en tapant : chmod 755 /etc/z_z   Lancer : /etc/./z_z   Let's Go ! :-)


Options d'automation du script

 -->  Injection MYSQL par le script
 -->  Sécurité : Installation de fail2ban
 -->  Sécurité : Installation de mod_evasive - Prevent DoS Attacks
 -->  Sécurité : Apache mode Prod. et accès http://ip/ par localhost en tunnel SSH

Après modification des options, cliquer :  

pop up







Créer  un  tunnel  SSH  sous  PuTTY


# # # # # # # # # # # # # # # # # # # # # # # # # # #


#
# Tests du serveur Apache2 dans un Browser
# ----------------------------------------
#

#
# Les domaines virtuels sont accessibles depuis internet !
#
#
# fail2ban est activé et analyse erreurs 404, 403, scans,... 
#
#    iptables -L    montre les tables
#    iptables -F    vide les tables
#
#
# mod_evasive est activé et analyse les D.O.S. et peut bloquer un accès pendant 10 secondes !
#
#
# Il faut créer un tunnel SSH pour accéder au site basé sur l'IP !
#


  http://localhost/index.html

  http://localhost/index.htm

  http://localhost/cgi-bin/testlwp.pl

  http://localhost/info.php

  https://localhost:10000/

           login :  root
mot de passe :    
- copier -


  http//localhost/phpmyadmin/

           login :  root
mot de passe :    
- copier -


# # # # # # # # # # # # # # # # # # # # # # # # # # #



#
# Enregistrer un compte Gmail dans le fichier /etc/postfix/sasl_passwd sous la forme suivante :
#


[smtp.gmail.com]:587 adresse.email@gmail.com:mot_de_passe



- copier -
Enregistrer sous ... ( "Ctrl" k "Ctrl" d )

- copier -

#
# Chmod et remise à jour du certificat :
#


- copier -



#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#

#
# Configuration du client ftp sur machine distante : 
# --------------------------------------------------
#

Serveur Host : ip_du_serveur
#
# Basé sur un nom d'utilisateur LINUX :
# --------------------------------------
#

  login : preno -> password : SoBtBdELatWMfGC -> Connexion au répertoire /home/www/preno
#
# Basé sur la base MYSQL et les utilisateurs virtuels :
# ----------------------------------------------------
#

Actualiser le browser à chaque nouvelle connexion :
#
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#



#
# Mise à jour Base anti-virus
#
# Site de référence base de virus : ( Comparer la version )
#

http://lurker.clamav.net/list/clamav-virusdb.html



- copier -



#
# Lien vers un script de test écriture-lecture à renommer en test.pl
#
# dans un répertoire cgi-bin -> fichier transfert ASC II et chmod 755
#

http://marcfiasse.com/editeurs/cloud/test(1).txt


#
# Lien vers un script de test écriture-lecture, à renommer en test.php
#
# dans un répertoire www ou www2/sousdomaine
#

http://marcfiasse.com/editeurs/cloud/test(2).txt


#
# Vérification de la version d'apache téléchargée.
#
# Correction du nom du répertoire si nécessaire :
#


/tmp/apache2/  



#
# Sécurité : Modifier le port SSH de connexion dans /etc/ssh/sshd_config
#
# Cela limite beaucoup les scans par BruteForce !
#
# Exemple : Port 2222 au lieu de Port 22
#
# Déconnexion et reconnexion PuTTy avec le port SSH sélectionné
#


Port SSH sélectionné :   



- copier -



#                                                       
# Script de mise à jour de l'ip sur des dyndns, lors d'un archivage et redémarrage du Cloud
#      
# Prise en compte des dyndns d'ovh, de dyndns.org et de no-ip.com ( à modifier suivant vos options )
# 
# A placer dans le cgi-bin du serveur default ( basé sur l'ip )
#
# !!! A n'utiliser que si le répertoie cgi-bin est accessible en localhost, par tunnel ssh !
#
# Ajouter les logins, mots de passe, nom de domaine à updater directement dans le script.
#
# Tranfert en ASC II, renommer en .pl, chmod 755
#
# Appel par http://localhost/cgi-bin/nom_du_script.pl
#

http://marcfiasse.com/editeurs/cloud/maj.txt



#                                                       
# Impression des données. ( Nécessaire pour lister tous les mots de passe du serveur. )
# 




#
# Effacement du Cookie : En cliquant sur ce bouton suivant,
# tous les mots de passe générés seront effacés définitivement.
#
# Il est recommandé d'enlever le cookie de l'ordinateur
# si celui-ci peut être consulté par d'autres personnes.
#
# Merci d'en tenir compte !
#




# # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#                                                       #
# DNS et serveur de noms : BIND9 ( à titre d'exemple )  #
#                                                       #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # #


# 1 - modifier ce qui suit pour faire écouter bind sur le port 53


cd /etc/bind


joe named.conf.options


        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { ::1; };
listen-on { any; };
//      listen-on { 127.0.0.1; };
        allow-recursion { 127.0.0.1; };
};


# tests


named-checkconf -z 

netstat -tanpu | grep :53


# 2 - ajouter ce qui suit pour créer une zone pour un domaine


joe named.conf.local


zone "mydomain.tld"  {
        type master;
        file "/etc/bind/mydomain.tld.db";
        allow-transfer {
                213.251.188.140;
               };
        notify yes;
};


# 3 - créer un fichier correspondant à la zone

joe

$TTL 3600
mydomain.tld.	IN	SOA	dns1.mydomain.tld. postmaster.mydomain.tld. (
                    2010082801 ; serial
                    21600      ; refresh after 6 hours
                    3600       ; retry after 1 hour
                    604800     ; expires after 1 week
                    86400 )    ; minimum TTL of 1 day
     IN     NS     dns1.mydomain.tld.
     IN     NS     sdns1.ovh.net.
     IN     MX     10     mail
     IN     A      ip.ip.ip.ip
www  IN     A      ip.ip.ip.ip
dns1 IN     A      ip.ip.ip.ip
mail IN     A      ip.ip.ip.ip
ftp  IN     A      ip.ip.ip.ip
alice IN     A      ip.ip.ip.ip



# Enregistrer sous ...

mydomain.tld.db



#
# Calcul du serial :
#
# Il est recommandé de prendre un sérial de la forme : AAAAMMJJii
#
# AAAA = Année
# MM = mois
# JJ = jour
# ii = index de 00 = 99 qui devra être incrémenté à chaque modification du fichier.
#
# N.B. : si nom utilisateur email avec . alors il faut un \ entre les noms.
#



#
# redémarrage et tests
#


/etc/init.d/bind9 restart


named-checkconf -z 


netstat -tanpu | grep :53


dig @dns1.mydomain.tld mydomain.tld


host -t MX mydomain.tld




##########################################################################################




Bloquer l'entrée d'IP
---------------------

Tests et commandes...


Voir :
------

iptables -L


Tous les filtres enlever
-----------------------

iptables -t filter -F


Exemple de filtre 
-----------------

iptables -A INPUT -s 217.240.186.117 -j DROP




##########################################################################################




Version de Linux :
------------------


uname -a



##########################################################################################

Version 2.9    25 mai 2011    Marc Fiasse





 
Informations de configuration
Adresse IP du serveur Cloud :    

Nom :  Prénom :    

Password Mysql & Phpmyadmin :     Password Webmin :    
Nom de la base proftpd :     Nom de la base postfix :    

Virtual Host 1 :     Sous Domaine 1 :     Sous Domaine 2 : 
Virtual Host 2 :     Sous Domaine 1 :     Sous Domaine 2 : 
Virtual Host 3 :     Sous Domaine 1 :     Sous Domaine 2 : 
Virtual Host 4 :     Sous Domaine 1 :     Sous Domaine 2 : 
Virtual Host 5 :     Sous Domaine 1 :     Sous Domaine 2 : 

Afficher les info-bulles :   Oui  Non   
Accepter les conditions d'utilisation :      


 
Préférences de Session


Par défaut :   Background :

Background : 1    2    3    4    5    6

Menu défilant :    Scroll invisible gauche :

Sélection Couleur de Fond