sécurisation de mon serveur ovh sous debian

sécurisation de mon serveur ovh sous debian - Hébergement - Réseaux grand public / SoHo

Marsh Posté le 22-03-2013 à 10:41:29    

Bonjour à tous,
hier soir je me suis pris un dédié chez ovh, sous debian 6. Ce n'est pas pour héberger un site web, c'est juste pour un serveur mail, krissfeed, shaarli, owncloud, roundcube.
Tout d'abord je n'ai pas vraiment d'experience en serveur web, linux ne me pose pas de probleme, mon pc tourne sous archlinux et mon nas sous openindiana (c'est de l'unix donc assez proche)

 

Donc je me suis créé un utilisateur (pas de connection en root quoi)

 

j'ai installé apache, php, mon nom de domaine pointe bien vers le serveur, pas de problème de ce côté. Maintenant il va falloir que je comprenne comment fonctionne mysql.

 

j'ai trouvé un truc qui me semble pas mal pour un début de sécurité, j'ai adapté en fonction de ma config
http://www.alsacreations.com/tuto/ [...] ables.html

 

Ce que je voudrais c'est que apache me force à me connecter en https.

 

concernant le dossier /var/www  le propriétaire des sous dossiers est mon utilisateur, avec des droits en 777, est-ce une bonne idée, j'ai un doute...

 

P.S : pour l'instant sudo est installé (c'est pratique) je compte le retirer quand tout sera bien configuré.


Message édité par clembrizou le 22-03-2013 à 10:47:24

---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 22-03-2013 à 10:41:29   

Reply

Marsh Posté le 22-03-2013 à 10:58:28    

Super ce tuto que tu as trouvé.  
C'est simple et les conseils sont pas mal. Enfin on pourrait perfectionné mais pour un début c'est très bien.  
 
Le https, il suffit de bloquer le port 80 et dans ta config définir le même répertoire que pour le http pour le https.  
 
Au passage le mieux pour ton dossier "web" c'est de mettre les dossiers en 755 et les fichiers en 644.


---------------
-3dB
Reply

Marsh Posté le 22-03-2013 à 11:00:32    

mbl a écrit :

Super ce tuto que tu as trouvé.
C'est simple et les conseils sont pas mal. Enfin on pourrait perfectionné mais pour un début c'est très bien.

 

Le https, il suffit de bloquer le port 80 et dans ta config définir le même répertoire que pour le http pour le https.

 

Au passage le mieux pour ton dossier "web" c'est de mettre les dossiers en 755 et les fichiers en 644.


Merci pour ta réponse
Donc pour le https c'est à définir dans apache2.conf ?
Je bloque le port 80 via apache2.conf ou via iptable ?

 

Edit : pour que krissfeed fonctionne je ne peut pas me mettre en 755, visiblement il faut qu'il puisse écrire dans son dossier data, pareil pour shaarli


Message édité par clembrizou le 22-03-2013 à 11:13:54

---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 24-03-2013 à 12:44:23    

Mieux vaut le faire sur Iptable ou alors mettre un dossier de publication avec rien de dangereux au niveau de ton vhost ou de ton apache2.conf pour le http normal.  
 
Un script qui requière des droits supérieur à 755 pour les dossiers, je te conseils par contre de le surveiller de près pendant la production.


---------------
-3dB
Reply

Marsh Posté le 24-03-2013 à 13:47:54    

Bon avant de bloquer le port 80 je voudrais m'assurer aue lt hhtps fonctionne pour l'instant ça ne fonctionne pas

Citation :

Not Found
 
The requested URL / was not found on this server.
Apache Server at brizou.fr Port 443


le https fonctionne, il m'a demadé de valider le certiicat mais ne trouve rien sur le serveur web, je dois avoir manqu² qulelque chose dans mes fichiers config mais je vois pas.
 
voilà le contenu de mon /etc/apache2/sites-enabled/000-default

Citation :

 GNU nano 2.2.4                                                                   Fichier�: 000-default                                                                                                                                            
 
NameVirtualHost *:80
NameVirtualHost *:443
<VirtualHost *:80>
ServerAdmin email du serveur
DocumentRoot /var/www/
ErrorLog /var/log/apache2/error.log
LogLevel error
CustomLog /var/log/apache2/access.log combined
ServerSignature EMail
SSLEngine off
 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
 
<VirtualHost *:443>
DocumentRoot /var/www/
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/cert.pem #renvoi bien vers un fichier pem
SSLCertificateKeyFile /etc/apache2/ssl/ca.key #renvoi bien vers un fichier key
ServerSignature EMail
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
LogLevel error
ServerAdmin adresseemailduserveur
 
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
 
 
 


tout est bien stocké dans /var/www . pas de fichier .htaccess dans /var/www
 
Je ne vois pas ce qui va pas
 
Edit : jái trouvé il me manquait la ligne en gras
 
merci encore


Message édité par clembrizou le 24-03-2013 à 13:56:07

---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 24-03-2013 à 14:46:46    

Voilà :) Et dans la partie au dessus tu peux modifier le document root pour le port 80 vers un dossier avec par exemple juste une page html ou un htaccess qui dit "Go away !"


---------------
-3dB
Reply

Marsh Posté le 24-03-2013 à 14:48:53    

Si j'ai bloqué l'accès sur le port 80 via iptable ça fonctionnera ça ?


---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 24-03-2013 à 15:43:58    

Oui tout à fait.


---------------
-3dB
Reply

Marsh Posté le 24-03-2013 à 19:16:01    

un petit retour si des personnes passent par là et voient la méthode de bloquage du http via iptables -> impossible ensuite de lancer en ssh un wget sur un lien http. Dans ce cas là il faudra lancer une regle iptable pour ouvrir et une fois que c'est fini refermer


---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 24-03-2013 à 20:11:33    

clembrizou a écrit :

un petit retour si des personnes passent par là et voient la méthode de bloquage du http via iptables -> impossible ensuite de lancer en ssh un wget sur un lien http. Dans ce cas là il faudra lancer une regle iptable pour ouvrir et une fois que c'est fini refermer


Si tu nous donnes pas la commande (et tes autres règles) iptables, on ne va pas deviner ce qui est mal configurer.
Grosso modo, je pense que tu as saisi une mauvaise règle. Tu t'es trompé de table ou trompé sur le port destination/source.

 

Sinon:
 - je suis pour l'utilisation d'un firewall n'autorisant que ce qui doit être autoriser.
 - en plus, je préconise la configuration adéquate des services. Tu ne peux pas configurer apache pour ne *pas* écouter sur le port TCP/80 ?


Message édité par o'gure le 24-03-2013 à 20:11:55

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 24-03-2013 à 20:11:33   

Reply

Marsh Posté le 24-03-2013 à 20:34:36    

Je n'ai pas dit que c'était mal configuré, c'est logiaue que le wget d'un lien http ne fonctionne pas vu que je bloque le port 80. C'est juste pour dire qu'il faut penser à le débloquer dans ce cas là.
ce que j'ai fait ce que j'ai tout bloqué via iptables ensuite je n'autorise que ce dont j'ai besoin (j'ai donc laissé bloqué le port 80 et autorisé le port 443)
voilà le contenu de mon fichier /etc/init.d/firewall qui se lance a chaque démarrage, comme ça tout est propre

Citation :


#!/bin/sh

 

# Vider les tables actuelles
iptables -t filter -F

 

# Vider les règles personnelles
iptables -t filter -X

 

# Interdire toute connexion entrante et sortante
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

 

# ---

 

# Ne pas casser les connexions etablies
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

 

# Autoriser loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

 

# ICMP (Ping)
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

 

# ---

 

# SSH In
iptables -t filter -A INPUT -p tcp --dport 1354 -j ACCEPT

 

# SSH Out
iptables -t filter -A OUTPUT -p tcp --dport 1354 -j ACCEPT

 

# DNS In/Out
iptables -t filter -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT

 

# NTP Out
iptables -t filter -A OUTPUT -p udp --dport 123 -j ACCEPT

 

# HTTP + HTTPS Out
iptables -t filter -A OUTPUT -p tcp --dport 443 -j ACCEPT

 

# HTTP + HTTPS In
iptables -t filter -A INPUT -p tcp --dport 443 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 8443 -j ACCEPT

 

# FTP Out
iptables -t filter -A OUTPUT -p tcp --dport 1355:1356 -j ACCEPT

 

# FTP In
iptables -t filter -A INPUT -p tcp --dport 1355:1356 -j ACCEPT
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

 


# Mail SMTP:25
iptables -t filter -A INPUT -p tcp --dport 25 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 25 -j ACCEPT

 

# Mail POP3:110
iptables -t filter -A INPUT -p tcp --dport 110 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 110 -j ACCEPT

 

# Mail IMAP:143
iptables -t filter -A INPUT -p tcp --dport 143 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 143 -j ACCEPT

 

# Mail POP3S:995
iptables -t filter -A INPUT -p tcp --dport 995 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --dport 995 -j ACCEPT

 

# Monit
iptables -t filter -A INPUT -p tcp --dport 1337 -j ACCEPT

 

# Webmin
iptables -t filter -A INPUT -p tcp --dport 10000 -j ACCEPT



Message édité par clembrizou le 24-03-2013 à 20:37:26

---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 24-03-2013 à 21:23:59    

clembrizou a écrit :

Je n'ai pas dit que c'était mal configuré, c'est logiaue que le wget d'un lien http ne fonctionne pas vu que je bloque le port 80. C'est juste pour dire qu'il faut penser à le débloquer dans ce cas là.


Ah ok ;J'avais lu trop rapidement. C'est un poil restrictif comme politique

 


Message édité par o'gure le 24-03-2013 à 21:29:27

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 27-03-2013 à 11:20:51    

Si quelqu'un passe par là et peu m'offrir une petite analyse du rapport que j'ai reçu ce matin

Citation :

Connection attempts using mod_proxy:
    212.42.17.74 -> www.fbi.gov:80: 1 Time(s)
 
 A total of 3 sites probed the server  
    194.67.159.246
    221.217.224.238
    67.163.32.85
 
 Requests with error response codes
    400 Bad Request
       /: 1 Time(s)
       /w00tw00t.at.ISC.SANS.DFind:): 3 Time(s)
       /w00tw00t.at.ISC.SANS.Win32:): 3 Time(s)
    404 Not Found
       /FastHTTPAuthScanner200test/: 1 Time(s)
       /admin/: 1 Time(s)
       /favicon.ico: 11 Time(s)
       /krissfeed/: 1 Time(s)
       /krissfeed/?byPage=50: 2 Time(s)
       /krissfeed/index.php: 2 Time(s)
       /leed/action.php?action=login&newUrl=http% ... 2244c35c8c2fd9e: 1 Time(s)
       /leed/action.php?action=synchronize&code=01cf2e710d: 234 Time(s)
       /monitoring/: 1 Time(s)
       /monitoring/localdomain/localhost.localdomain/index.html: 1 Time(s)
       /roundcube/: 1 Time(s)
       /shaarli/: 1 Time(s)
       /~root/: 1 Time(s)
    405 Method Not Allowed
       www.fbi.gov:80: 1 Time(s)
    408 Request Timeout
       null: 3 Time(s)
 


Merci d'avance


---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 27-03-2013 à 11:53:45    

des bots qui essayent de trouver des scripts types afin d'utiliser ton serveur pour faire de la merde.  
Tu peux les bloquer mais cela ne servira pas à grand chose...


---------------
-3dB
Reply

Marsh Posté le 27-03-2013 à 11:54:48    

du moment qu'ils ne rentrent pas ça me gène pas.


---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 27-03-2013 à 12:32:12    

ça me rappelle une ex.


---------------
-3dB
Reply

Marsh Posté le 27-03-2013 à 12:37:50    

Reply

Marsh Posté le 30-03-2013 à 13:51:25    

Me revoilà
j'ai un petit problème pour la synchronisation d'owncloud sur mon pc, visiblement un problème de certificat ssl. j'ai fait un test de mon nom de domaine sur ssllabs ça me retourne ça

 
Citation :

Details
Server Key and Certificate #1
Common names  mon_nom   MISMATCH           probleme visiblement
Alternative names  -
Valid from  Sun Mar 24 10:16:30 UTC 2013
Valid until  Wed Mar 22 10:16:30 UTC 2023 (expires in 9 years and 11 months)
Key  RSA 4096 bits
Weak key (Debian)  No
Issuer  mon_nom   Self-signed
Signature algorithm  SHA1withRSA
Extended Validation  No
Revocation information  None
Trusted  No   NOT TRUSTED (Why?) faire reconnaitre son certificat ça coute un bras je crois

 


Additional Certificates (if supplied)
Certificates provided  1 (1422 bytes)
Chain issues  Not trusted as supplied

 


Certification Paths
Path #1: Not trusted (path does not chain to a trusted anchor)
1  Sent by server
  Not in trust store  brizou
SHA1: 92f048282a42729dff93bbc37039e27fa1f1fcb5
RSA 4096 bits / SHA1withRSA

 


Protocols
TLS 1.2  No                        il va peut etre falloir que je me penche la dessus
TLS 1.1  No
TLS 1.0  Yes
SSL 3.0  Yes
SSL 2.0  No

 


Cipher Suites (sorted by strength; server has no preference)
TLS_RSA_WITH_RC4_128_MD5 (0x4)  128
TLS_RSA_WITH_RC4_128_SHA (0x5)  128
TLS_RSA_WITH_AES_128_CBC_SHA (0x2f)  128
TLS_DHE_RSA_WITH_AES_128_CBC_SHA (0x33)   DH 1024 bits (p: 128, g: 1, Ys: 128)  128
TLS_RSA_WITH_3DES_EDE_CBC_SHA (0xa)  168
TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (0x16)   DH 1024 bits (p: 128, g: 1, Ys: 128)  168
TLS_RSA_WITH_AES_256_CBC_SHA (0x35)  256
TLS_DHE_RSA_WITH_AES_256_CBC_SHA (0x39)   DH 1024 bits (p: 128, g: 1, Ys: 128)  256

 


Protocol Details
Secure Renegotiation  Supported, with client-initiated renegotiation disabled
Insecure Renegotiation  Not supported
BEAST attack  Vulnerable   INSECURE (more info)                    visiblement probleme
Compression  No    
RC4  Yes   PROBLEMATIC (more info)                                 visiblement probleme
Next Protocol Negotiation  No
Session resumption  Yes
Session tickets  Yes
OCSP stapling  No
Strict Transport Security  No
Requires client RI support  No
Long handshake intolerance  No
TLS extension intolerance  No
TLS version intolerance  0x0304: 0x301, 0x0399: 0x301, 0x0499: fail
SSLv2 handshake compatibility  Yes

 


Miscellaneous
Test date  Sat Mar 30 11:56:27 UTC 2013
Test duration  42.887 seconds
HTTP status code  200
HTTP server signature  Apache
Server hostname  monserveur.kimsufi.com
PCI compliant  No
FIPS-ready  No

 

voilà, si quelqu'un peut m'aider a décoder...

 

Merci d'avance


Message édité par clembrizou le 30-03-2013 à 13:55:26

---------------
Feedback [VDS]casque grado sr225
Reply

Marsh Posté le 30-03-2013 à 18:50:00    

certificat gratos :
https://www.startssl.com/

Reply

Marsh Posté le 30-03-2013 à 19:09:49    

merci, je vais regarder ce que ça vaut


---------------
Feedback [VDS]casque grado sr225
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed