lundi 10 décembre 2012

Edubuntu et kubuntu 13.04 disponibles en Alpha 1, Raring Ringtail adopte un nouveau cycle qui met fin aux versions Alpha pour Ubuntu

Canonical vient de publier la première Alpha de Raring Ringtail, qui marque le début du cycle des sorties des préversions d’Ubuntu 13.04, qui aboutira à la publication de la version finale l’année prochaine.

Si Ubuntu 13.04 se distingue surtout par l’adoption d’une nouvelle méthode de développement à huis clos des nouvelles fonctionnalités, l’OS introduit également un nouveau cycle de sorties des préversions de l’OS.

Ce nouveau cycle a essentiellement pour but de réduire le nombre d’étapes de génération du système d’exploitation et de permettre des tests de qualité tous les jours.

Ainsi, la sortie des Alpha est remplacée par la publication quotidienne des ISO mises à jour pour des tests. Uniquement une bêta finale (FinalBetaRelease) de l’OS sera publiée le 23 mars 2013. 

Ce nouveau calendrier ne s’applique pas aux autres déclinaisons d’Ubuntu. Ainsi, les versions Alpha 1 d’Edubuntu et Kubuntu 13.04 sont disponibles afin d’avoir un aperçu des améliorations apportées à l’OS.


Le développement d’Ubuntu 13.04 est essentiellement centré sur la mobilité. Le cœur du système d’exploitation sera nettoyé au maximum afin que celui-ci puisse s’exécuter sur les smartphones, les tablettes et les PC. Les développeurs de l’OS accorderont une attention particulière à la vie de la batterie, le nombre de processus en cours d’exécution et l’empreinte mémoire.

 Les ISO mises à jour d'Ubuntu 13.04 sont disponibles sur cette page

 Télécharger Edubuntu 13.04 (Raring Ringtail) Alpha 1

 Télécharger Kubuntu 13.04 (Raring Ringtail) Alpha 1

Source : Ubuntu.com

jeudi 6 décembre 2012

Installation et configuration d'un Serveur DHCP sous Linux



L'objectif de ce tutoriel est d'apprendre à mettre en place un serveur DHCP sous Linux.

Un serveur DHCP (Dynamic Host Configuration Protocol) a pour rôle de distribuer de façon automatique, des adresses IP à des clients pour une durée déterminée.

Au lieu d'affecter manuellement à chaque hôte une adresse statique, ainsi que tous les paramètres tels que (serveur de noms, passerelle par défaut, nom du réseau), un serveur DHCP alloue à un client, un bail d'accès au réseau, pour une durée déterminée (durée du bail). Le serveur passe en paramètres au client toutes les informations dont il a besoin.

C'est quoi un bail ? Il s'agit d'un "contrat" passé entre le serveur et le client qui inclue notamment la durée de vie de l'adresse Ip qu'attribue le serveur au client.


Une fois le serveur démarré, un client voulant se connecter, diffuse un message dhcp-discover pour "trouver" un serveur DHCP. Lorsque le client trouve le serveur DHCP, ce dernier lui attribue automatiquement une adresse IP.

Les manipulations de ce tutoriel ont été réalisées sous la distribution Debian. Il est à noté que les commandes utilisées peuvent différées quelques peut selon la distribution utilisée.


Avant de démarrer la configuration DHCP, assurez-vous que le "network manager", un outil simplifié pour la configuration d'un réseau sous Linux, soit désactivé. Par défaut, c'est bien le cas ! ;)


Rappel sur la configuration statique d'une adresse IP

:o Oula, pas trop vite ! Ca veut dire quoi statique?

Le mot clé statique indique que c'est l'utilisateur qui va lui même choisir quelle adresse attribuer à sa machine. En réalité, on attribue une adresse IP à une interface réseau d'une machine. C'est à dire, que si votre machine dispose d'un seule carte réseau, nous pouvons attribuer une seule adresse IP, si elle en possède deux, on peut attribuer deux adresses IP, etc ..

En réalité, nous ne sommes pas contraints au niveau des interfaces physiques. Il est possible de créer des interfaces virtuelles (vlans par exemple). Au passage, si vous ne le savez pas encore, votre ordinateur dispose déjà d'une interface virtuelle: la boucle locale ou "loopback" identifié par l'adresse IP 127.0.0.1


Voici la commande pour lister les interfaces présentes sur votre ordinateur:

Code : Console - Lister les interfaces de mon ordinateur -
ifconfig


Vous obtenez ce résultat :

Image utilisateur

Vous ne comprenez pas grand chose à ce que vous voyez ! Pas de panique, ces quelques explications vont pouvoir vous aider:

En fait, la commande indique que votre ordinateur possède deux interfaces: eth0 et lo. Cette dernière est en fait la boucle locale, une interface virtuelle présente sur tous les ordinateurs. Celle qui va nous intéresser est l'interface eth0. Voici les informations que l'on peut extraire pour cette interface:

"Le lien de l'interface est de type Ethernet et son adresse MAC est 00:0c:29:f3:89:0e. Son adresse IP est 192.168.69.139"

Évidemment, il y a beaucoup plus d'informations disponibles dans cette capture, mais les informations précédentes suffisent à la compréhension du tutoriel.


Étudions maintenant comment attribuer une adresse IP statique;

Il existe deux façons de le faire:


A l'aide de la commande "ifconfig" :


Cette méthode est rapide mais présente le désavantage que votre configuration sera effacée à chaque redémarrage de votre machine. Cependant elle reste un bon compromis si vous souhaitez faire une configuration rapide.
Voici la commande a utiliser:

Code : Console - A l'aide de ifconfig - 
ifconfig eth0 192.168.21.2 netmask 255.255.255.0

Vérification de l'adresse:

Constatez par vous même que votre adresse IP a bien été prise en compte:

Code : Console - Vérification - 
ifconfig eth0


Explications:

eth0: il s'agit de l'interface que l'on veut configurer.
192.168.21.2: il s'agit de l'adresse IP que l'on souhaite attribuer à cette interface. Ici, il s'agit d'une adresse de classe C.
netmask: il s'agit d'un mot clé qui précise que l'adresse suivante sera le masque de sous réseau utilisé avec cette adresse.
255.255.255.0: il s'agit du masque de sous-réseau par défaut d'une adresse IP de classe C.

Si vous ne connaissez pas les types de classes d'adresses IP, voici un schéma vous permettant de les identifier:

Image utilisateur

:soleil: C'est fait ! Votre interface possède désormais une adresse IP. Voyons maintenant comment faire pour que cette adressage deviennent persistant, c'est à dire qu'il soit le même après redémarrage de votre ordinateur.


A l'aide du fichier "interfaces" :


Ce fichier "interfaces" contient la configuration réseau de chaque interface de votre ordinateur. Pour l'ouvrir, tapez simplement cette ligne:

Code : Console - Ouvrir le fichier interfaces - 
vi /etc/network/interfaces


C'est quoi "vi": il s'agit d'un éditeur de texte présent sous Linux, qui va nous permettre d'ouvrir notre fichier.


Une fois le fichier ouvert, remplacez simplement les quelques lignes présentes à l'intérieur, par celles-ci:

Code : Console - Dans le fichier interfaces -
iface eth0 inet static
address 192.168.21.2
netmask 255.255.255.0
broadcast 192.168.21.255


Explications:

iface eth0 inet static: pensez à bien préciser le nom de l'interface que vous souhaitez configurer (ici eth0). Remarquez également le mot clé static, celui-ci nous sera utile par la suite :)
address 192.168.21.2: il s'agit de l'adresse que l'on souhaite attribuer.
netmask 255.255.255.0: il s'agit du masque de sous réseau.
broadcast 192.168.21.255: il s'agit de l'adresse de broadcast de notre réseau. Voyez comment on constitue l'adresse de broadcast: On prend les 3 premiers octets de l'adresse IP de classe C et on rajoute le 4 octet comme étant à 255. Si nous avions choisi d'utiliser une adresse de classe B, l'adresse de broadcast aurait été X.X.255.255 ! Facile non? :magicien:

Si vous vérifier maintenant l'adressage grâce à la commande "ifconfig", vous vous rendrez compte que l'adressage n'a pas changé!


En fait, lorsque l'on effectue un changement dans le fichier de configuration interfaces, il est nécessaire de redémarrer l'interface réseau afin qu'elle s'initialise avec les nouveaux paramètres IP.


Voici la commande a utiliser sous Linux Debian:

Code : Console - Redémarrage - 
/etc/init.d/networking restart


Constatez par vous même que votre adresse IP a bien été prise en compte:

Code : Console - Vérification - 
ifconfig eth0


Voilà, vous savez désormais attribuer une adresse IP de manière statique! Passons maintenant à la partie plus intéressante, sur l'adressage dynamique et la mise en œuvre d'un serveur DHCP.



Configuration dynamique: mise en place d'un serveur DHCP

Installation du serveur sous Linux Debian :

Il suffit simplement de taper cette commande en mode root:

Code : Console - Installation du serveur DHCP - 
sudo apt-get install server-dhcp3


Prenons un exemple concret pour expliquer l'intérêt de la mise en place d'un serveur DHCP.

Citation : Exemple
Vous avez êtes connectés à Internet à l'aide d'un câble ethernet car votre fournisseur d'accès à Internet ne vous a pas vous fournit de routeur wifi. Et c'est embêtant car si un ami vient chez vous, pour lui donner la connexion internet, soit votre routeur dispose suffisamment de prise ethernet, soit il faut faire des sacrifices.
Vous avez plus d'un tour dans votre sac, vous décidez de transformer votre pc en un routeur wifi.
Dans ce tuto nous ne parlerons pas de comment faire ceci, mais supposons que vous avez réussi à le faire.
Sans serveur DHCP, votre ami doit choisir judicieusement une adresse IP, qui d'un doit correspondre au bon réseau, et de deux ne doit pas être déjà utilisée par une autre machine.
Grâce au serveur DHCP, votre ami se voit attribuer une adresse IP automatiquement pour pouvoir surfer sur le net, sans se poser de questions sur le choix de l'IP.


1, 2, 2 ... c'est parti ! :p 

Du côté client :


Il va être nécessaire d'ouvrir le fichier sur chaque ordinateur client; c'est à dire sur chaque ordinateur qui veut se voir attribuer une adresse IP:

Code : Console - Accès au fichier interfaces - 
vi /etc/network/interfaces


A l'intérieur, copiez simplement cette ligne (en l'adaptant suivant l'interface de chaque ordinateur):

Code : Console - Fichier interfaces - 
iface eth0 inet dhcp


Explications:

iface eth0 inet dhcp: Vous voyez ce qui change par rapport à l'attribution statique? C'est uniquement le mot clé "dhcp" qui indique que l'interface va se voir attribuée une adresse IP automatiquement! Facile non? :-° 


Du côté Serveur :



C'est le serveur que l'on va configurer pour qu'il attribue automatiquement une adresse IP à chaque client. Nous avons choisi de le configurer de la manière suivante:

Citation : Notre configuration !
Configuration du serveur dhcp pour qu’il attribue un bail par défaut de 220s, d’une durée maximale de 360s, pour le nom de domaine sdz.net, avec une plage d’adresses IP allant de 192.168.21.30 à 192.168.21.70.


La configuration du serveur se fait dans un fichier où l'on va renseigner tous les paramètres nécessaires. Ce fichier est accessible en tapant cette ligne de commande:

Code : Console - Fichier dhcpd.conf -
vi /etc/dhcp3/dhcpd.conf


Une fois le fichier ouvert, il suffit d'y ajouter les informations suivantes:

Code : Console - Remplir le fichier dhcpd.conf -
Option domain-name « sdz.net » ;
Default-lease-time 220 ;
Max-lease-time 360 ;
Subnet 192.168.21.0 netmask 255.255.255.0 {
Range 192.168.21.30 192.168.21.70
}


Explications:

Option domain-name « sdz.net » ;: Indiquez ici le nom de domaine que vous utiliserez.
Default-lease-time 220 ;: Indiquez ici la durée du bail par défaut. Il s'agit du temps de vie d'une adresse IP. Il s'exprime en secondes.
Max-lease-time 360 ;: Il s'agit du temps de vie maximum d'une adresse IP. Il s'exprime en secondes.
Subnet 192.168.21.0 netmask 255.255.255.0 {: Indiquez sur cette ligne l'adresse réseau que vous souhaitez utiliser et son masque associé.
Range 192.168.21.30 192.168.21.70 }: Il s'agit de la plage d'adresses IP que vous souhaitez utiliser dans le réseau 192.168.21.0. Euhh, c'est quoi une plage ? En français, ça veut dire: "Mon serveur attribue des adresses IP à partir de cette adresse là, jusqu'à cette adresse ci". Ainsi un client peut, par exemple, se voir attribuer l'adresse 192.168.21.41

Vous suivez jusqu'ici? Très bien, il ne nous reste plus qu'a configurer manuellement l'adresse IP de notre serveur:

Code : Console -
ifconfig eth0 192.168.21.2 netmask 255.255.255.0


Voilà, toute la configuration est prête, tant du côté serveur que du côté client! :)

La dernière étape, est la mise en service de notre serveur DHCP:

Du côté Serveur :



Il est nécessaire de démarrer notre serveur DHCP:

Code : Console - 
/etc/init.d/dhcp3-server start


Du côté client :



Il est nécessaire de redémarrer les interfaces réseaux de chaque ordinateur client afin qu'elles se voient attribuer une adresse IP. Vous pouvez le faire de cette façon, que vous devez connaître maintenant :) :

Code : Console -
/etc/init.d/networking restart


ou bien de cette façon: (trou trou, ce sera toi que je vais utiliser ..) :p 

Code : Console - 
dhclient eth0

Vérification de l'adresse:

Constatez par vous même que votre adresse IP a bien été prise en compte sur chaque client :
Code : Console - Vérification -
ifconfig eth0



Encore plus loin !

Si l'on veut allez plus loin dans la configuration, il est possible d'attribuer de façon automatique une adresse IP à un ordinateur donné ! Oui, oui c'est possible, je vous assure !


En fait, l'interface de votre ordinateur, à laquelle on attribue une adresse IP, n'est autre que l'interface de votre carte réseau. Votre carte réseau possède un identifiant unique, appellé adresse MAC.

L'objectif est de dire au serveur: "Quand ce messieurs, avec cette adresse MAC là, demande à se voir attribué une adresse IP automatiquement, tu lui attribues l'adresse IP configuré en fonction de cette adresse MAC".

Du côté Serveur :



La configuration de fait toujours au niveau du fichier dhcpd.conf:

Code : Console - 
vi /etc/dhcp3/dhcpd.conf


Il suffit simplement d'ajouter ce bloc de lignes pour chaque attribution automatique d'adresse IP en fonction de l'adresse MAC:

Code : Console - 
Host salon{
Hardware ethernet 00 :19 :d1 :72 :d8 :72 ;
Fixed address 192.168.21.40 ;
}


Comment trouver l'adresse Mac de mon interface ? Il suffit simplement d'exécuter la commande ifconfig, vous la connaissez maintenant ;). Celle-ci listera les interfaces disponibles et leurs adresses MAC associées.


Vous allez dire que je radote mais encore une fois, n'oubliez pas de redémarrer le serveur après avoir fait des modifications dans le fichier dhcpd.conf


Code : Console -
/etc/init.d/dhcp3-server restart


Explications:

Host salon{: Le nom de la machine
Hardware ethernet 00 :19 :d1 :72 :d8 :72 ;: L'adresse MAC de l'interface
Fixed address 192.168.21.40 ;}: On fixe l'adresse 192.168.21.40 pour cette interface donnée.


Tutoriel Vidéo:

vendredi 30 novembre 2012

Securing a Samba File and Print Server


Samba Security Modes

There are two security levels available to the Common Internet Filesystem (CIFS) network protocol user-level and share-level. Samba's security mode implementation allows more flexibility, providing four ways of implementing user-level security and one way to implement share-level:
  • security = user: requires clients to supply a username and password to connect to shares. Samba user accounts are separate from system accounts, but the libpam-smbpass package will sync system users and passwords with the Samba user database.
  • security = domain: this mode allows the Samba server to appear to Windows clients as a Primary Domain Controller (PDC), Backup Domain Controller (BDC), or a Domain Member Server (DMS). See Samba as a Domain Controller for further information.
  • security = ADS: allows the Samba server to join an Active Directory domain as a native member. See Samba Active Directory Integration for details.
  • security = server: this mode is left over from before Samba could become a member server, and due to some security issues should not be used. See the Server Security section of the Samba guide for more details.
  • security = share: allows clients to connect to shares without supplying a username and password.
The security mode you choose will depend on your environment and what you need the Samba server to accomplish.

Security = User

This section will reconfigure the Samba file and print server, from Samba File Server and Samba Print Server, to require authentication.
First, install the libpam-smbpass package which will sync the system users to the Samba user database:
sudo apt-get install libpam-smbpass
If you chose the Samba Server task during installation libpam-smbpass is already installed.
Edit /etc/samba/smb.conf, and in the [share] section change:
    guest ok = no
Finally, restart Samba for the new settings to take effect:
sudo restart smbd
sudo restart nmbd
Now when connecting to the shared directories or printers you should be prompted for a username and password.
If you choose to map a network drive to the share you can check the “Reconnect at Logon” check box, which will require you to only enter the username and password once, at least until the password changes.

Share Security

There are several options available to increase the security for each individual shared directory. Using the [share] example, this section will cover some common options.

Groups

Groups define a collection of computers or users which have a common level of access to particular network resources and offer a level of granularity in controlling access to such resources. For example, if a group qa is defined and contains the users fredadanika, and rob and a second group support is defined and consists of users danikajeremy, and vincent then certain network resources configured to allow access by the qa group will subsequently enable access by freda, danika, and rob, but not jeremy or vincent. Since the user danika belongs to both the qaand support groups, she will be able to access resources configured for access by both groups, whereas all other users will have only access to resources explicitly allowing the group they are part of.
By default Samba looks for the local system groups defined in /etc/group to determine which users belong to which groups. For more information on adding and removing users from groups see Adding and Deleting Users.
When defining groups in the Samba configuration file, /etc/samba/smb.conf, the recognized syntax is to preface the group name with an "@" symbol. For example, if you wished to define a group named sysadmin in a certain section of the /etc/samba/smb.conf, you would do so by entering the group name as @sysadmin.

File Permissions

File Permissions define the explicit rights a computer or user has to a particular directory, file, or set of files. Such permissions may be defined by editing the /etc/samba/smb.conf file and specifying the explicit permissions of a defined file share.
For example, if you have defined a Samba share called share and wish to give read-only permissions to the group of users known as qa, but wanted to allow writing to the share by the group called sysadmin and the user named vincent, then you could edit the/etc/samba/smb.conf file, and add the following entries under the [share] entry:
    read list = @qa
    write list = @sysadmin, vincent
Another possible Samba permission is to declare administrative permissions to a particular shared resource. Users having administrative permissions may read, write, or modify any information contained in the resource the user has been given explicit administrative permissions to.
For example, if you wanted to give the user melissa administrative permissions to the share example, you would edit the/etc/samba/smb.conf file, and add the following line under the [share] entry:
    admin users = melissa
After editing /etc/samba/smb.conf, restart Samba for the changes to take effect:
sudo restart smbd
sudo restart nmbd
For the read list and write list to work the Samba security mode must not be set to security = share
Now that Samba has been configured to limit which groups have access to the shared directory, the filesystem permissions need to be updated.
Traditional Linux file permissions do not map well to Windows NT Access Control Lists (ACLs). Fortunately POSIX ACLs are available on Ubuntu servers providing more fine grained control. For example, to enable ACLs on /srv an EXT3 filesystem, edit /etc/fstab adding the acl option:
UUID=66bcdd2e-8861-4fb0-b7e4-e61c569fe17d /srv  ext3    noatime,relatime,acl 0       1
Then remount the partition:
sudo mount -v -o remount /srv
The above example assumes /srv on a separate partition. If /srv, or wherever you have configured your share path, is part of the /partition a reboot may be required.
To match the Samba configuration above the sysadmin group will be given read, write, and execute permissions to /srv/samba/share, theqa group will be given read and execute permissions, and the files will be owned by the username melissa. Enter the following in a terminal:
sudo chown -R melissa /srv/samba/share/
sudo chgrp -R sysadmin /srv/samba/share/
sudo setfacl -R -m g:qa:rx /srv/samba/share/
The setfacl command above gives execute permissions to all files in the /srv/samba/share directory, which you may or may not want.
Now from a Windows client you should notice the new file permissions are implemented. See the acl and setfacl man pages for more information on POSIX ACLs.

Samba AppArmor Profile

Ubuntu comes with the AppArmor security module, which provides mandatory access controls. The default AppArmor profile for Samba will need to be adapted to your configuration. For more details on using AppArmor see AppArmor.
There are default AppArmor profiles for /usr/sbin/smbd and /usr/sbin/nmbd, the Samba daemon binaries, as part of the apparmor-profilespackages. To install the package, from a terminal prompt enter:
sudo apt-get install apparmor-profiles apparmor-utils
This package contains profiles for several other binaries.
By default the profiles for smbd and nmbd are in complain mode allowing Samba to work without modifying the profile, and only logging errors. To place the smbd profile into enforce mode, and have Samba work as expected, the profile will need to be modified to reflect any directories that are shared.
Edit /etc/apparmor.d/usr.sbin.smbd adding information for [share] from the file server example:
  /srv/samba/share/ r,
  /srv/samba/share/** rwkix,
Now place the profile into enforce and reload it:
sudo aa-enforce /usr/sbin/smbd
cat /etc/apparmor.d/usr.sbin.smbd | sudo apparmor_parser -r
You should now be able to read, write, and execute files in the shared directory as normal, and the smbd binary will have access to only the configured files and directories. Be sure to add entries for each directory you configure Samba to share. Also, any errors will be logged to/var/log/syslog.

Resources

Share

Twitter Delicious Facebook Digg Stumbleupon Favorites