Archive pour la catégorie ‘Serveur et Réseau’

openvpn

Mercredi 22 août 2012

Execllent tutorial ici :
http://blog.nicolargo.com/2010/10/installation-dun-serveur-openvpn-sous-debianubuntu.html

Cependant, il s’est avéré qu’une fois le vpn mis en place, impossible notamment de rejoIndre les partages samba autrement que par les ip.
Pour pouvoir utiliser les noms netbios et dns du réseau, Il suffit d’installer dnsmasq (sans rien devoir changer à la configuration par défaut), de renseigner le fichiers hosts du serveur en rajoutant :
adresse_ip_interne_du_serveur nom_du_serveur
10.8.0.1 nom_du_serveur

et dans server.conf :
push "dhcp-option DNS 10.8.0.1"
avant les deux autres DNS

Si on a dans notre configuration samba :
wins support=yes

On peut également rajouter :
push "dhcp-option WINS 10.8.0.1"

Postfix pour un serveur Internet

Mercredi 30 novembre 2011

IL s’agit ici de configurer (sécuriser) Posfix pour un serveur internet susceptible d’envoyer des mails… Mias qui n’étant pas MX n’a pas en recevoir. Il pourra cependant &galement en envoyer en local (ne serait ce que pour les messages de l’administrateur).

Après avoir choisi dans l’assistant comme type d’installation : Site Internet, on va devoir aller modifier à la main le fichier principal de configuration de Postfix.

Dans /etc/postfix/main.cf, il suffit de changer,

inet_interfaces = all

Par

inet_interfaces = 127.0.0.1

et de rajouter la ligne :

smtpd_client_restrictions = permit_inet_interfaces

PDC Samba LDAP

Samedi 22 août 2009

Les demandes sont de plus en plus nombreuses sur Samba couplé à LDAP. C’est suite à une formation que j’ai donnée sur le sujet que je mets ce petit mémo en ligne (inspiré de plusieurs didacticiels sur le net).

Ce tutoriel a été réalisé sur Ubuntu 8.04 LTS avec le compte root activé :
sudo passwd root

A l’installation slapd cherche un nom de domaine, donc pensez à vérifier avant l’installation à l’aide de la commande hostname -f que vous avez bien un nom de domaine complet ou sinon, editez le fichier hosts en conséquences :
par exemple :
127.0.0.1 localhost
192.168.0.1 hôte.domaine.extension hôte

Ensuite vous pouvez procéder à l’installation
apt-get install slapd db4.2-util ldap-utils
et choisir le mot de passe de l’administrateur à l’invite

Si vous n’avez pas le ficher samba-doc d’installé, il vous le faut pour récupérer le schema samba
apt-get install samba-doc

Nous allons maintenant copier le shema dans le sous-répertoire des sxhemas de ldap :
zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema

Et générer un mot de passe crypté (en root) :
slappasswd

copiez le résultat et ouvrez votre fichier de configuration du serveur openladap /etc/ldap/slapd.conf
Décommentez la ligne rootdn et mémorisez la …
et copiez en dessous le résultat de slapasswd
rootdn "cn=admin,dc=domaine,dc=extension"
rootpw {SSHA}mot de passe crypté

Il nous faut maintenant inclure notre shema à la suite des autres schemas et pour cela rajouter à la suite des autres la ligne :
include /etc/ldap/schema/samba.schema

Il nous faut maintenant relancer notre serveur :
/etc/init.d/slapd restart

Nous pouvons maintenant y effectuer une recherche :
ldapsearch -x -b "dc=mondomaine,dc=extension"
Nous devons y trouver deux entrées :
dc=mondomaine,dc=extension
cn=admin

Si vous n’avez pas encore installé samba, il est temps de la faire :
apt-get install samba smbclient smbfs
et d’installer par la même occasion les smbldap-tools
apt-get install smbldap-tools

Voici un smb.conf minimal :
[global]
workgroup = votre domaine (sans l’extension)
wins support = yes
winbind use default domain =yes
domain master = yes
local master = yes
preferred master = yes
domain logons = yes
os level = 65

passdb backend = ldapsam:ldap://127.0.0.1/
obey pam restrictions = yes
encrypt passwords = true

ldap admin dn = cn=admin,dc=votre domaine,dc=extension
ldap suffix = dc=votre domaine,dc=extension
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Machines
add machine script = /usr/sbin/smbldap-useradd -w "%u"

logon path = \\%L\profiles\%U\%m
logon script = logon.bat
logon drive = H:
logon home = \\%L\%U\winprofile\%m

[netlogon]
path = /var/lib/samba/netlogon
writable = no
browseable = no

[profiles]
path = /var/lib/samba/profiles
browseable =no
writable =yes
create mask = 0600
directory mask = 0700


[homes]
browseable= no
read only = no

Il nous faut maintenant indiquer le mot de passe de l’admin de l’annuaire LDAP à Samba :
smbpasswd -w votremotdepasse
et redémarrer samba :
/etc/init.d/samba restart

Copions maintenant les exemples des smbldap-tools à leur emplacement prévu :
zcat /usr/share/doc/smbldap-tools/examples/smbldap.conf.gz > /etc/smbldap-tools/smbldap.conf
cp /usr/share/doc/smbldap-tools/examples/smbldap_bind.conf /etc/smbldap-tools/smbldap_bind.conf

Il faut ensuite les modifier d’après les données de notre smb.conf et de notre slapd.conf…

Configuration de /etc/smbldap-tools/smbldap_bind.conf
Indiquer le nom et le mot de passe de l’administrateur ldap.
Dans ce fichier, le mot de passe est indiqué en clair. Il faut donc changer les droits de celui-ci par mesure de sécurité :
chmod 600 /etc/smbldap-tools/smbldap_bind.conf

Piour configurer le ficher /etc/smbldap-tools/smbldap.conf
il nous faut d’abord récupérer le SID du serveur samba avec la commande :
net getlocalsid
piour l’y copier à la ligne concernée.
Puis faire les modifications qui s’imposent.. Attention à ce que les lignes usersdn, coputersdn et groupsdn correspondent aux suffixes de votre smb.conf ! Vous pouvez commenter les lignes relatives aux certificats si vous n’en n’avez pas ainsi que la partie “SAMBA Configuration” si vous avez défini vos profils, logon path dans votre smb.conf .

On pourra ensuite initialiser l’annuaire avec la commande :
smbldap-populate

Il nous faut maintenant changer le mode d’authentification sur le serveur linux en modifiant le fichier /etc/nsswith.conf et les fichiers de /etc/pam.d/.

Après avoir téléchargé les paquets indispensables :
apt-get install libpam-ldap libnss-ldap
IL nous faut répondre à quelques questions :
LDAP server Uniform Resource Identifier: ldap://127.0.0.1
Ensuite y mettre nos informations et laisser les autres choix par défaut.

Nous allons maintenant nous servir d’un script automatique :
auth-client-config -a -p lac_ldap
qui se chargera également, entre autres, de créer un répertoire Home à chaque utilisateur de notre annuaire LDAP lorsqu’il se connectera pour la première fois sur notre machine.

Et voilà, notre configuration est terminée.

Nous pouvons vérifier que root se connecte bien aux partages samba :
smbclient -L localhost -U root

Il nous suffira ensuite de télécharger LAM, une interface web à LDAP :
apt-get install ldap-account-manager
De se connecter au http://hôte/lam (login : lam, password : lam)
et de configurer les profils conforméménet à nos suffixes pour pouvoir lister, ajouter, modifier les groupes et utilisateurs de notre annuaire LDAP.

Et de vérifier après l’ajout d’utilisateurs qu’ils soient bien pris en compte :
getent passwd
getent group

N.B. Il n’est pas nécessaire d’ajouter les machines qui seront automatiquement rajoutées au domaine par la commande add machine script de votre smb.conf à la première demande d’authentification sur le domaine par root…

NetFilter

Dimanche 22 février 2009

Ayant du formater mon serveur (Ubuntu Server 8.04 LTS), voici un mémo de mes règles iptables sous forme d’un script init… Elles devraient faire partie d’un mémo plus concis sur la mise en place d’une passerelle sous Linux.. un jour, peut-être…

#!/bin/sh
# iptables

case “$1″ in
’start’)
############règles iptables #####################
iptables -t filter -F
iptables -t nat -F
############# Premiere methode #################

## Par default
#iptables -P INPUT DROP
#iptables -P FORWARD DROP
#iptables -P OUTPUT ACCEPT

## Autoriser loopback
#iptables -A INPUT -i lo -j ACCEPT

## Regles fondamentales pour dhcp, dns, routage et ssh : administration
##dhcp
#iptables -A INPUT -i eth0 -p udp –dport 67:68 –sport 67:68 -j ACCEPT
##bind
#iptables -A INPUT -p udp –sport 1024: –dport 53 -j ACCEPT
#iptables -A INPUT -p udp –sport 53 –dport 1024: -j ACCEPT
##routage
#iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
#iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE #table nat
##ssh
#iptables -A INPUT -p tcp –dport 22 -j ACCEPT

## Autres services :
# Certains services (samba…) devraient logiquement n’etre
# accessibles que du réseau interne ( -i eth0) mais sont
#également accessible du réseau externe qui dans ce cas
#précis est un réseau privé derrière une neuf box…

##www
#iptables -A INPUT -p tcp –dport 80 -j ACCEPT
##ftp
#iptables -A INPUT -p tcp –dport 21 -j ACCEPT
#iptables -A INPUT -p tcp –dport 20 ! –syn -j ACCEPT #ftp-data
#iptables -A INPUT -p tcp –dport 1024: -j ACCEPT #ftp-passif
##smtp
#iptables -A INPUT -p tcp –dport 25 -j ACCEPT
##imap
#iptables -A INPUT -p tcp –dport 143 -j ACCEPT
#iptables -A INPUT -p udp –dport 143 -j ACCEPT
##samba
#iptables -A INPUT -p tcp –dport 135 -j ACCEPT
#iptables -A INPUT -p udp –dport 135 -j ACCEPT
#iptables -A INPUT -p tcp –dport 137:139 -j ACCEPT
#iptables -A INPUT -p udp –dport 137:139 -j ACCEPT
#iptables -A INPUT -p tcp –dport 445 -j ACCEPT
#iptables -A INPUT -p udp –dport 445 -j ACCEPT
##cups
#iptables -A INPUT -p tcp –dport 631 -j ACCEPT
##ldap
#iptables -A INPUT -p tcp –dport 389 -j ACCEPT
#iptables -A INPUT -p udp –dport 389 -j ACCEPT

############ Deuxième methode ###################

iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -m state –state NEW -p udp –sport 1024: –dport 53 -j ACCEPT #bind
iptables -A INPUT -m state –state NEW -p udp –sport 1024: –dport 67 -j ACCEPT #dhcp
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 22 -j ACCEPT #ssh
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 80 -j ACCEPT #www
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 4080 -j ACCEPT #mldonkey
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 26180 -j ACCEPT #mediacenter
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 443 -j ACCEPT #https

iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 21 -j ACCEPT #ftp
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 25 -j ACCEPT #smtp
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 143 -j ACCEPT #imap
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 631 -j ACCEPT #cups
iptables -A INPUT -m state –state NEW -p udp –sport 1024: –dport 631 -j ACCEPT #cups
iptables -A INPUT -m state –state NEW -p tcp –sport 1024: –dport 389 -j ACCEPT #ldap

iptables -A OUTPUT -m state –state NEW,ESTABLISHED,RELATED -j ACCEPT

iptables -A FORWARD -m state –state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state –state NEW -s 192.168.0.0/24 -j ACCEPT

#iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE #ip dynamique
iptables -t nat -A POSTROUTING -o eth1 -j SNAT –to-source 192.168.1.2 #ip statique

# Samba

# EPMAP => définit toutes les RPC !
iptables -A INPUT -m state –state NEW -p TCP –dport 135 -j ACCEPT
iptables -A INPUT -m state –state NEW -p UDP –dport 135 -j ACCEPT

# NetBios-NS
iptables -A INPUT -m state –state NEW -p TCP –dport 137 -j ACCEPT
iptables -A INPUT -m state –state NEW -p UDP –dport 137 -j ACCEPT

# NetBios-DGM => exploration du réseau (basé sur SMB browser service)
iptables -A INPUT -m state –state NEW -p UDP –dport 138 -j ACCEPT

# NetBios-SSN => partage fichiers, imprimantes par Microsoft
iptables -A INPUT -m state –state NEW -p TCP –dport 139 -j ACCEPT

# SMB/IP => partage fichiers, imprimantes par SaMBa
iptables -A INPUT -m state –state NEW -p TCP –dport 445 -j ACCEPT
iptables -A INPUT -m state –state NEW -p UDP –dport 445 -j ACCEPT

######## Chargement des modules nécessaires########
modprobe ip_nat_ftp
modprobe ip_conntrack
#echo 1 > /proc/sys/net/ipv4/ip_forward # inutile ici car décommenté dans /etc/sysctl.conf

######Exemple de DNAT##########
#iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j DNAT –to-destination 192.168.0.19:80
#iptables -A FORWARD -i eth1 -d 192.168.0.19 -p tcp –dport 80 -j ACCEPT
#iptables -A FORWARD -o eth1 -s 192.168.0.19 -p tcp –sport 80 -m state –state ESTABLISHED -j ACCEPT

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

;;
’stop’)
iptables -t filter -F
iptables -t nat -F
iptables -t filter -P INPUT ACCEPT
iptables -t filter -P FORWARD ACCEPT
iptables -t filter -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -t nat -P OUTPUT ACCEPT
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
;;
*)
echo “Usage: $0 { start | stop }”
;;
esac
exit 0