sur lea, j'ai trouvé mon bonheur pour installer samba mais ils précisent
bien que côté sécurité, leur article n'en parle pas et considère qu'on
n'est pas connecté au net... Ma question est donc toute simple : comment
fait-on pour sécuriser un serveur linux sur lequel tourne samba (sachant
que le pc est connecté par adsl et sert également à partager la
connexion pour le pc sous windows...)
Si vous avez quelques liens qui traitent le sujet, je suis preneur !
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
TiChou
Dans l'article news:403135fc$0$16509$, Stéphane écrivait :
Bonjour,
Bonsoir,
comment fait-on pour sécuriser un serveur linux sur lequel tourne samba (sachant que le pc est connecté par adsl et sert également à partager la connexion pour le pc sous windows...)
Pour que Samba ne soit pas accessible depuis Internet on peut dans un premier temps le configurer pour qu'il n'écoute que sur l'adresse IP et l'interface réseau locale du serveur Linux et qu'il n'accèpte que les connexions des hôtes locaux, ce qui peut être fait en plaçant les lignes suivantes dans la section global du fichier de configuration smb.conf :
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre serveur Linux au moyen de règles Netfilter/iptables. Il existe bon nombre de scripts permettant d'installer facilement un firewall, comme Shorewall.
-- TiChou
Dans l'article news:403135fc$0$16509$636a15ce@news.free.fr,
Stéphane <halte_le_spam@rien> écrivait :
Bonjour,
Bonsoir,
comment fait-on pour sécuriser un serveur linux sur lequel tourne samba
(sachant que le pc est connecté par adsl et sert également à partager la
connexion pour le pc sous windows...)
Pour que Samba ne soit pas accessible depuis Internet on peut dans un
premier temps le configurer pour qu'il n'écoute que sur l'adresse IP et
l'interface réseau locale du serveur Linux et qu'il n'accèpte que les
connexions des hôtes locaux, ce qui peut être fait en plaçant les lignes
suivantes dans la section global du fichier de configuration smb.conf :
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre
serveur Linux au moyen de règles Netfilter/iptables. Il existe bon nombre de
scripts permettant d'installer facilement un firewall, comme Shorewall.
Dans l'article news:403135fc$0$16509$, Stéphane écrivait :
Bonjour,
Bonsoir,
comment fait-on pour sécuriser un serveur linux sur lequel tourne samba (sachant que le pc est connecté par adsl et sert également à partager la connexion pour le pc sous windows...)
Pour que Samba ne soit pas accessible depuis Internet on peut dans un premier temps le configurer pour qu'il n'écoute que sur l'adresse IP et l'interface réseau locale du serveur Linux et qu'il n'accèpte que les connexions des hôtes locaux, ce qui peut être fait en plaçant les lignes suivantes dans la section global du fichier de configuration smb.conf :
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre serveur Linux au moyen de règles Netfilter/iptables. Il existe bon nombre de scripts permettant d'installer facilement un firewall, comme Shorewall.
-- TiChou
LECLERCCQ Hubert
Bonsoir
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre serveur Linux au moyen de règles Netfilter/iptables. Il existe bon nombre de scripts permettant d'installer facilement un firewall, comme Shorewall.
Voilà une base de firewall qui, je l'espère, vous sera utile:
N'hésitez pas à m'écrire SANS FAUTE si vous ne comprenez pas tout
function Close() { iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP }
function Local() { Clear Close
###################### # Autorise le loopback iptables -A INPUT -i $ETH0 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -i $ETH0 -d 127.0.0.1 -j ACCEPT
######################################## # Autorise le trafic sur le réseau privé global iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################ # Bloque les sorties sur internet pour le réseau privé iptables -A OUTPUT -o $PPP0 -j REJECT iptables -A FORWARD -o $PPP0 -j REJECT
Open }
function Stop() { Clear Open }
function Start() { Clear Close ######################################################################### # Gestion des protections # #########################################################################
############################################# # Loopback ne peut pas transiter par internet iptables -A INPUT -i $PPP0 -s 127.0.0.1 -j DROP iptables -A FORWARD -i $PPP0 -s 127.0.0.1 -j DROP iptables -A INPUT -i $PPP0 -d 127.0.0.1 -j DROP iptables -A FORWARD -i $PPP0 -d 127.0.0.1 -j DROP
################################################## # Adresses privées ne peuvent pas venir d'internet iptables -A INPUT -i $PPP0 -s 10.0.0.0/8 -j DROP iptables -A FORWARD -i $PPP0 -s 10.0.0.0/8 -j DROP iptables -A INPUT -i $PPP0 -s 172.16.0.0/12 -j DROP iptables -A FORWARD -i $PPP0 -s 172.16.0.0/12 -j DROP iptables -A INPUT -i $PPP0 -s 192.168.0.0/16 -j DROP iptables -A FORWARD -i $PPP0 -s 192.168.0.0/16 -j DROP
######################################### # Bloque les sorties Netbios sur internet (ne gêne pas le trafic local) iptables -A FORWARD -o $PPP0 -p TCP --dport 137:139 -j REJECT iptables -A FORWARD -o $PPP0 -p UDP --dport 137:139 -j REJECT iptables -A OUTPUT -o $PPP0 -p TCP --dport 137:139 -j REJECT iptables -A OUTPUT -o $PPP0 -p UDP --dport 137:139 -j REJECT
########################################################### # Les sorties sur internet doivent provenir du réseau privé iptables -A FORWARD -i $ETH0 -s ! $PRIVATE -j DROP
######################################################################### # Gestion des redirections # #########################################################################
######################################################################### # Gestion du réseau privé # #########################################################################
###################### # Autorise le loopback iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A INPUT -d 127.0.0.1 -j ACCEPT
######################################## # Autorise le trafic sur le réseau privé global iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################ # Autorisation des sorties sur internet pour le réseau privé iptables -A FORWARD -o $PPP0 -s $PRIVATE -j ACCEPT
######################################################################### # Gestion des services # ######################################################################### # ping iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT # dns iptables -A INPUT -p TCP --dport 53 -j ACCEPT iptables -A INPUT -p UDP --dport 53 -j ACCEPT # smtp iptables -A INPUT -p TCP --dport 25 -j ACCEPT # pop3 iptables -A INPUT -p TCP --dport 110 -j ACCEPT # ssh iptables -A INPUT -p TCP --dport 22 -j ACCEPT # Trafic VPN iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A INPUT -i tap+ -j ACCEPT iptables -A FORWARD -i tap+ -j ACCEPT
######################################################################### # Ajustement final # ######################################################################### # Connections venant de l'extérieur iptables -A INPUT -i $PPP0 -p TCP --syn -j LOG --log-level notice iptables -A INPUT -i $PPP0 -p TCP --syn -j DROP # Masquage du réseau privé vers internet iptables -t nat -A POSTROUTING -o $PPP0 -s $PRIVATE -j MASQUERADE # Ouverture du trafic Open }
case "$1" in open) Open ;; close) Close ;; local) Local ;; stop) Stop ;; start) Start ;; *) echo $"Usage: $0 {open | close | local | stop | start}" exit 1 esac Bonjour,
ce petit message simplement pour te remercier. Ca fait 3 semaines que je galere avec shorewall et iptables (j'étais même sur le point d'abandonner et de retourner sous Windows...)
Une fois adapté à mon cas tout s'est mis à fonctionner nickel.
Je sais pas si c'est important, mais je me suis permis de supprimer la ligne : # dns iptables -A INPUT -p TCP --dport 53 -j ACCEPT
pour ne laisser que iptables -A INPUT -p udp --dport 53 -j ACCEPT
Ca rend invisible le port 53 sur le site de test https://grc.com/x/ne.dll?bh0bkyd2
J'oubliai, j'ai pas très bien compris la présence de cette ligne :
PRIVATE12.168.0.0/24 # Réseau privé avec accès internet
puisque PRIVATE1 n'apparait qu'une seule fois au tout début alors que PRIVATE est présent à plusieurs reprises ??
Ne me reste plus qu'à automatiser le lancement de ton script. Mais ça c'est une autre histoire.
Dur dur les débuts sous linux !
Encore Merci pour tout. Hubert Leclercq 75003 Paris
Bonsoir
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre
serveur Linux au moyen de règles Netfilter/iptables. Il existe bon
nombre de
scripts permettant d'installer facilement un firewall, comme Shorewall.
Voilà une base de firewall qui, je l'espère, vous sera utile:
N'hésitez pas à m'écrire SANS FAUTE si vous ne comprenez pas tout
function Close()
{
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
}
function Local()
{
Clear
Close
######################
# Autorise le loopback
iptables -A INPUT -i $ETH0 -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -i $ETH0 -d 127.0.0.1 -j ACCEPT
########################################
# Autorise le trafic sur le réseau privé global
iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################
# Bloque les sorties sur internet pour le réseau privé
iptables -A OUTPUT -o $PPP0 -j REJECT
iptables -A FORWARD -o $PPP0 -j REJECT
Open
}
function Stop()
{
Clear
Open
}
function Start()
{
Clear
Close
#########################################################################
# Gestion des protections #
#########################################################################
#############################################
# Loopback ne peut pas transiter par internet
iptables -A INPUT -i $PPP0 -s 127.0.0.1 -j DROP
iptables -A FORWARD -i $PPP0 -s 127.0.0.1 -j DROP
iptables -A INPUT -i $PPP0 -d 127.0.0.1 -j DROP
iptables -A FORWARD -i $PPP0 -d 127.0.0.1 -j DROP
##################################################
# Adresses privées ne peuvent pas venir d'internet
iptables -A INPUT -i $PPP0 -s 10.0.0.0/8 -j DROP
iptables -A FORWARD -i $PPP0 -s 10.0.0.0/8 -j DROP
iptables -A INPUT -i $PPP0 -s 172.16.0.0/12 -j DROP
iptables -A FORWARD -i $PPP0 -s 172.16.0.0/12 -j DROP
iptables -A INPUT -i $PPP0 -s 192.168.0.0/16 -j DROP
iptables -A FORWARD -i $PPP0 -s 192.168.0.0/16 -j DROP
#########################################
# Bloque les sorties Netbios sur internet (ne gêne pas le trafic local)
iptables -A FORWARD -o $PPP0 -p TCP --dport 137:139 -j REJECT
iptables -A FORWARD -o $PPP0 -p UDP --dport 137:139 -j REJECT
iptables -A OUTPUT -o $PPP0 -p TCP --dport 137:139 -j REJECT
iptables -A OUTPUT -o $PPP0 -p UDP --dport 137:139 -j REJECT
###########################################################
# Les sorties sur internet doivent provenir du réseau privé
iptables -A FORWARD -i $ETH0 -s ! $PRIVATE -j DROP
#########################################################################
# Gestion des redirections #
#########################################################################
#########################################################################
# Gestion du réseau privé #
#########################################################################
######################
# Autorise le loopback
iptables -A INPUT -s 127.0.0.1 -j ACCEPT
iptables -A INPUT -d 127.0.0.1 -j ACCEPT
########################################
# Autorise le trafic sur le réseau privé global
iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################
# Autorisation des sorties sur internet pour le réseau privé
iptables -A FORWARD -o $PPP0 -s $PRIVATE -j ACCEPT
#########################################################################
# Gestion des services #
#########################################################################
# ping
iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT
# dns
iptables -A INPUT -p TCP --dport 53 -j ACCEPT
iptables -A INPUT -p UDP --dport 53 -j ACCEPT
# smtp
iptables -A INPUT -p TCP --dport 25 -j ACCEPT
# pop3
iptables -A INPUT -p TCP --dport 110 -j ACCEPT
# ssh
iptables -A INPUT -p TCP --dport 22 -j ACCEPT
# Trafic VPN
iptables -A INPUT -i tun+ -j ACCEPT
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A INPUT -i tap+ -j ACCEPT
iptables -A FORWARD -i tap+ -j ACCEPT
#########################################################################
# Ajustement final #
#########################################################################
# Connections venant de l'extérieur
iptables -A INPUT -i $PPP0 -p TCP --syn -j LOG --log-level notice
iptables -A INPUT -i $PPP0 -p TCP --syn -j DROP
# Masquage du réseau privé vers internet
iptables -t nat -A POSTROUTING -o $PPP0 -s $PRIVATE -j MASQUERADE
# Ouverture du trafic
Open
}
case "$1" in
open)
Open
;;
close)
Close
;;
local)
Local
;;
stop)
Stop
;;
start)
Start
;;
*)
echo $"Usage: $0 {open | close | local | stop | start}"
exit 1
esac
Bonjour,
ce petit message simplement pour te remercier.
Ca fait 3 semaines que je galere avec shorewall et iptables (j'étais
même sur le point d'abandonner et de retourner sous Windows...)
Une fois adapté à mon cas tout s'est mis à fonctionner nickel.
Je sais pas si c'est important, mais je me suis permis de supprimer la
ligne :
# dns
iptables -A INPUT -p TCP --dport 53 -j ACCEPT
pour ne laisser que
iptables -A INPUT -p udp --dport 53 -j ACCEPT
Ca rend invisible le port 53 sur le site de test
https://grc.com/x/ne.dll?bh0bkyd2
J'oubliai,
j'ai pas très bien compris la présence de cette ligne :
PRIVATE12.168.0.0/24 # Réseau privé avec accès internet
puisque PRIVATE1 n'apparait qu'une seule fois au tout début alors que
PRIVATE est présent à plusieurs reprises ??
Ne me reste plus qu'à automatiser le lancement de ton script.
Mais ça c'est une autre histoire.
Dur dur les débuts sous linux !
Encore Merci pour tout.
Hubert Leclercq
75003 Paris
Deuxième chose, il est recommandé d'avoir un firewall configuré sur votre serveur Linux au moyen de règles Netfilter/iptables. Il existe bon nombre de scripts permettant d'installer facilement un firewall, comme Shorewall.
Voilà une base de firewall qui, je l'espère, vous sera utile:
N'hésitez pas à m'écrire SANS FAUTE si vous ne comprenez pas tout
function Close() { iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP }
function Local() { Clear Close
###################### # Autorise le loopback iptables -A INPUT -i $ETH0 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -i $ETH0 -d 127.0.0.1 -j ACCEPT
######################################## # Autorise le trafic sur le réseau privé global iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################ # Bloque les sorties sur internet pour le réseau privé iptables -A OUTPUT -o $PPP0 -j REJECT iptables -A FORWARD -o $PPP0 -j REJECT
Open }
function Stop() { Clear Open }
function Start() { Clear Close ######################################################################### # Gestion des protections # #########################################################################
############################################# # Loopback ne peut pas transiter par internet iptables -A INPUT -i $PPP0 -s 127.0.0.1 -j DROP iptables -A FORWARD -i $PPP0 -s 127.0.0.1 -j DROP iptables -A INPUT -i $PPP0 -d 127.0.0.1 -j DROP iptables -A FORWARD -i $PPP0 -d 127.0.0.1 -j DROP
################################################## # Adresses privées ne peuvent pas venir d'internet iptables -A INPUT -i $PPP0 -s 10.0.0.0/8 -j DROP iptables -A FORWARD -i $PPP0 -s 10.0.0.0/8 -j DROP iptables -A INPUT -i $PPP0 -s 172.16.0.0/12 -j DROP iptables -A FORWARD -i $PPP0 -s 172.16.0.0/12 -j DROP iptables -A INPUT -i $PPP0 -s 192.168.0.0/16 -j DROP iptables -A FORWARD -i $PPP0 -s 192.168.0.0/16 -j DROP
######################################### # Bloque les sorties Netbios sur internet (ne gêne pas le trafic local) iptables -A FORWARD -o $PPP0 -p TCP --dport 137:139 -j REJECT iptables -A FORWARD -o $PPP0 -p UDP --dport 137:139 -j REJECT iptables -A OUTPUT -o $PPP0 -p TCP --dport 137:139 -j REJECT iptables -A OUTPUT -o $PPP0 -p UDP --dport 137:139 -j REJECT
########################################################### # Les sorties sur internet doivent provenir du réseau privé iptables -A FORWARD -i $ETH0 -s ! $PRIVATE -j DROP
######################################################################### # Gestion des redirections # #########################################################################
######################################################################### # Gestion du réseau privé # #########################################################################
###################### # Autorise le loopback iptables -A INPUT -s 127.0.0.1 -j ACCEPT iptables -A INPUT -d 127.0.0.1 -j ACCEPT
######################################## # Autorise le trafic sur le réseau privé global iptables -A INPUT -i $ETH0 -s $PRIVATE -d $PRIVATE -j ACCEPT
############################################################ # Autorisation des sorties sur internet pour le réseau privé iptables -A FORWARD -o $PPP0 -s $PRIVATE -j ACCEPT
######################################################################### # Gestion des services # ######################################################################### # ping iptables -A INPUT -p ICMP --icmp-type echo-request -j ACCEPT # dns iptables -A INPUT -p TCP --dport 53 -j ACCEPT iptables -A INPUT -p UDP --dport 53 -j ACCEPT # smtp iptables -A INPUT -p TCP --dport 25 -j ACCEPT # pop3 iptables -A INPUT -p TCP --dport 110 -j ACCEPT # ssh iptables -A INPUT -p TCP --dport 22 -j ACCEPT # Trafic VPN iptables -A INPUT -i tun+ -j ACCEPT iptables -A FORWARD -i tun+ -j ACCEPT iptables -A INPUT -i tap+ -j ACCEPT iptables -A FORWARD -i tap+ -j ACCEPT
######################################################################### # Ajustement final # ######################################################################### # Connections venant de l'extérieur iptables -A INPUT -i $PPP0 -p TCP --syn -j LOG --log-level notice iptables -A INPUT -i $PPP0 -p TCP --syn -j DROP # Masquage du réseau privé vers internet iptables -t nat -A POSTROUTING -o $PPP0 -s $PRIVATE -j MASQUERADE # Ouverture du trafic Open }
case "$1" in open) Open ;; close) Close ;; local) Local ;; stop) Stop ;; start) Start ;; *) echo $"Usage: $0 {open | close | local | stop | start}" exit 1 esac Bonjour,
ce petit message simplement pour te remercier. Ca fait 3 semaines que je galere avec shorewall et iptables (j'étais même sur le point d'abandonner et de retourner sous Windows...)
Une fois adapté à mon cas tout s'est mis à fonctionner nickel.
Je sais pas si c'est important, mais je me suis permis de supprimer la ligne : # dns iptables -A INPUT -p TCP --dport 53 -j ACCEPT
pour ne laisser que iptables -A INPUT -p udp --dport 53 -j ACCEPT
Ca rend invisible le port 53 sur le site de test https://grc.com/x/ne.dll?bh0bkyd2
J'oubliai, j'ai pas très bien compris la présence de cette ligne :
PRIVATE12.168.0.0/24 # Réseau privé avec accès internet
puisque PRIVATE1 n'apparait qu'une seule fois au tout début alors que PRIVATE est présent à plusieurs reprises ??
Ne me reste plus qu'à automatiser le lancement de ton script. Mais ça c'est une autre histoire.
Dur dur les débuts sous linux !
Encore Merci pour tout. Hubert Leclercq 75003 Paris