Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
elearning:workbooks:solaris:10:junior:l121 [2020/01/05 16:56] – modification externe 127.0.0.1 | elearning:workbooks:solaris:10:junior:l121 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
~~PDF: | ~~PDF: | ||
+ | |||
+ | Version : **2020.01** | ||
Dernière mise-à-jour : ~~LASTMOD~~ | Dernière mise-à-jour : ~~LASTMOD~~ | ||
- | ======SO215 - Gestion de la sécurité====== | + | ======SO215 - Gestion |
- | ====Surveillance Sécuritaire==== | + | =====LAB #1 - Installation et Configuration du Serveur DNS bind===== |
+ | Le principe du DNS est basé sur l' | ||
- | ===La commande who=== | + | Le **DNS** ( Domain Name Service ) est né peu après l' |
- | La commande | + | Lorque un ordinateur souhaite communiquer avec un autre par le biais de son nom, par exemple avec www.ittraining.center, |
- | < | + | Ce processus tente d' |
- | # who | + | |
- | root | + | |
- | root | + | |
- | </ | + | |
+ | Si cette tentative échoue, le serveur DNS cherche le serveur de domaine pour le **TLD** ( Top Level Domain ) dans son cache afin de lui demander l' | ||
- | ===La commande whodo=== | + | Si cette recherche échoue, le serveur s' |
- | La commande **whodo** indique qui fait quoi sur le système | + | Le serveur DNS sert à faire la résolution de noms. Autrement dit de traduire une adresse Internet telle **www.ittraining.center |
- | < | + | Le serveur DNS peut être configuré de trois façons différentes: |
- | # whodo | + | |
- | jeudi 19 mars 2009 17 h 20 CET | + | |
- | unknown | + | |
- | console | + | * **Serveur DNS Primaire ou Maitre** |
- | ? | + | |
- | pts/2 875 0:00 sdt_shell | + | * **Serveur DNS Secondaire** |
- | pts/2 893 0:00 sh | + | |
- | pts/2 905 0:00 Xsession2.jds | + | * **Serveur DNS Cache** |
- | | + | |
- | | + | |
- | pts/2 928 0:00 gnome-keyring-d | + | |
- | | + | |
- | ? | + | |
- | ? | + | |
- | pts/3 root | + | Le serveur DNS nécessite à ce que la machine sur laquelle il est installé possède un nom FQDN et une adresse IP fixe. Il est également important à noter que le service de bind ne démarrera **pas** dans le cas où le fichier **/etc/hosts** comporte une anomalie. Deux étapes préparatoires sont donc nécessaires |
- | ? | + | |
- | pts/3 | + | |
- | pts/3 | + | |
- | ? | + | |
- | ? | + | |
- | ? | + | |
- | ? | + | |
- | </ | + | |
+ | * Modification de l' | ||
+ | * Définition d'un nom FQDN (Fully Qualified Domain Name) | ||
+ | Afin d' | ||
- | ===La commande last=== | + | * **FQDN** - solaris.i2tch.loc |
+ | * **Adresse IP** - 10.0.2.15 | ||
- | Cette commande indique les dates et heures des dernières connexions des utilisateurs lues à partir du fichier | + | <WRAP center round important 60%> |
+ | **Important** - Il est important de noter que la configuration du serveur DNS dépend du nom de votre machine. Dans le cas où vous changeriez ce nom, vous devez re-configurer votre serveur DNS en éditant les fichiers de configuration directement. | ||
+ | </ | ||
+ | |||
+ | ====Installation==== | ||
+ | |||
+ | Les deux paquets nécessaires pour la mise en place d'un serveur DNS sont : | ||
< | < | ||
- | # last | + | # pkginfo | grep -i SUNWbind |
- | root pts/3 :0.0 Thu Mar 19 13:18 | + | system |
- | root pts/3 :0.0 Thu Mar 19 11:44 - 11:47 (00:02) | + | system |
- | root console | + | |
- | reboot | + | |
- | reboot | + | |
- | root pts/3 :0.0 Tue Mar 17 18:57 - arrêté | + | |
- | root pts/4 :0.0 Tue Mar 17 17:47 - arrêté | + | |
- | root pts/3 :0.0 Tue Mar 17 15:23 - 17:50 (02:26) | + | |
- | root console | + | |
- | reboot | + | |
- | reboot | + | |
- | root console | + | |
- | reboot | + | |
- | reboot | + | |
- | root pts/3 :0.0 Sat Feb 28 13:29 - 13:49 (00:19) | + | |
- | root pts/3 :0.0 Sat Feb 28 13:13 - 13:29 (00:15) | + | |
- | root console | + | |
- | reboot | + | |
- | reboot | + | |
- | reboot | + | |
- | reboot | + | |
- | root console | + | |
- | reboot | + | |
</ | </ | ||
- | <WRAP center round important 60%> | + | Par défaut, le service **svc:/network/ |
- | Consultez les manuels de ces trois commandes afin de vous familiariser avec les options disponibles. | + | |
- | </WRAP> | + | |
- | ====Types de Sécurité==== | + | < |
+ | # svcs -a | grep dns | ||
+ | disabled | ||
+ | disabled | ||
+ | </ | ||
- | Les différentes approches à la sécurité sont les suivantes : | + | ====Les fichiers de configuration génériques==== |
- | ^ Type de Sécurité ^ Nom ^ Description ^ | + | * /var/run/named.pid |
- | | DAC | | + | |
- | | MAC | //Mandatory Access Control// | L' | + | |
- | | RBAC | //Role Based Access Control// | + | |
- | | TE | //Type enforcement// | + | |
- | | MLS | // | + | |
- | Dans sa conception de base, Unix utilise une approche sécurité de type **DAC**. Cette approche est maintenue dans Solaris, complimentée par la mise en place et l' | + | ===/ |
+ | Ce fichier contiendra le numéro du processus de named. | ||
- | ====PAM==== | + | ===/ |
- | ===pam.conf=== | + | Ce fichier se trouve dans /var/named. Il est aussi appelé le fichier **root.hints** car il contient les adresses des serveurs DNS root de l' |
- | **PAM** ( //Pluggable Authentification Modules// ou Modules d' | + | Pour créer ce fichier, il convient d' |
- | Le fichier de configuration est **/etc/pam.conf** : | + | < |
+ | # mkdir / | ||
+ | # cd / | ||
+ | # / | ||
+ | # cat named.ca | ||
+ | |||
+ | ; <<>> | ||
+ | ; (1 server found) | ||
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13 | ||
+ | ;; WARNING: recursion requested but not available | ||
+ | |||
+ | ;; QUESTION SECTION: | ||
+ | ;. IN NS | ||
+ | |||
+ | ;; ANSWER SECTION: | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | |||
+ | ;; ADDITIONAL SECTION: | ||
+ | a.root-servers.net. | ||
+ | a.root-servers.net. | ||
+ | b.root-servers.net. | ||
+ | b.root-servers.net. | ||
+ | c.root-servers.net. | ||
+ | c.root-servers.net. | ||
+ | d.root-servers.net. | ||
+ | d.root-servers.net. | ||
+ | e.root-servers.net. | ||
+ | e.root-servers.net. | ||
+ | f.root-servers.net. | ||
+ | f.root-servers.net. | ||
+ | g.root-servers.net. | ||
+ | |||
+ | ;; Query time: 111 msec | ||
+ | ;; SERVER: 192.36.148.17# | ||
+ | ;; WHEN: Fri Jan 17 03:58:54 2020 | ||
+ | ;; MSG SIZE rcvd: 508 | ||
+ | </ | ||
+ | |||
+ | ===/ | ||
+ | |||
+ | Le fichier de configuration | ||
< | < | ||
- | # cat /etc/pam.conf | + | # vi /etc/named.conf |
- | # | + | # cat /etc/named.conf |
- | # | + | options { |
- | # | + | directory "/var/named"; |
- | # Copyright 2007 Sun Microsystems, | + | |
- | # Use is subject to license terms. | + | |
- | # | + | |
- | # PAM configuration | + | |
- | # | + | }; |
- | # Unless explicitly defined, all services use the modules | + | |
- | # defined in the "other" section. | + | zone " |
- | # | + | type master; |
- | # Modules are defined with relative pathnames, i.e., they are | + | file " |
- | # relative to /usr/lib/security/ | + | }; |
- | # present in this file in previous releases are still acceptable. | + | |
- | # | + | zone "0.0.127.in-addr.arpa" { |
- | # Authentication management | + | type master; |
- | # | + | file " |
- | # login service (explicit because of pam_dial_auth) | + | }; |
- | # | + | |
- | login auth requisite | + | zone "." { |
- | login auth required | + | |
- | login auth required | + | |
- | login auth required | + | }; |
- | login auth required | + | |
- | # | + | zone "2.0.10.in-addr.arpa" { |
- | # rlogin service (explicit because of pam_rhost_auth) | + | type master; |
- | # | + | |
- | rlogin | + | |
- | rlogin | + | }; |
- | rlogin | + | |
- | rlogin | + | zone "i2tch.loc" { |
- | rlogin | + | type master; |
- | # | + | file " |
- | # Kerberized rlogin service | + | |
- | # | + | }; |
- | krlogin auth required | + | |
- | krlogin auth required | + | |
- | # | + | |
- | # rsh service (explicit because of pam_rhost_auth, | + | |
- | # and pam_unix_auth for meaningful pam_setcred) | + | |
- | # | + | |
- | rsh auth sufficient | + | |
- | rsh auth required | + | |
- | # | + | |
- | # Kerberized rsh service | + | |
- | # | + | |
- | krsh auth required | + | |
- | krsh auth required | + | |
- | # | + | |
- | # Kerberized telnet service | + | |
- | # | + | |
- | ktelnet auth required | + | |
- | ktelnet auth required | + | |
- | # | + | |
- | # PPP service (explicit because of pam_dial_auth) | + | |
- | # | + | |
- | ppp auth requisite | + | |
- | ppp auth required | + | |
- | ppp auth required | + | |
- | ppp auth required | + | |
- | ppp auth required | + | |
- | # | + | |
- | # Default definitions for Authentication management | + | |
- | # Used when service name is not explicitly mentioned for authentication | + | |
- | # | + | |
- | other auth requisite | + | |
- | other auth required | + | |
- | other auth required | + | |
- | other auth required | + | |
- | # | + | |
- | # passwd command (explicit because of a different authentication module) | + | |
- | # | + | |
- | passwd | + | |
- | # | + | |
- | # cron service (explicit because of non-usage of pam_roles.so.1) | + | |
- | # | + | |
- | cron account required | + | |
- | # | + | |
- | # Default definition for Account management | + | |
- | # Used when service name is not explicitly mentioned for account management | + | |
- | # | + | |
- | other | + | |
- | other | + | |
- | # | + | |
- | # Default definition for Session management | + | |
- | # Used when service name is not explicitly mentioned for session management | + | |
- | # | + | |
- | other | + | |
- | # | + | |
- | # Default definition for Password management | + | |
- | # Used when service name is not explicitly mentioned for password management | + | |
- | # | + | |
- | other | + | |
- | other | + | |
- | other | + | |
- | other | + | |
- | # | + | |
- | # Support for Kerberos V5 authentication and example configurations can | + | |
- | # be found in the pam_krb5(5) man page under the " | + | |
- | # | + | |
</ | </ | ||
- | Le contenu de ce fichier | + | Vérifiez le fichier **/etc/named.conf** : |
< | < | ||
- | # ls /usr/lib/security | + | # /usr/sbin/named-checkconf |
- | 64 | + | # |
- | amd64 pam_deny.so.1 | + | |
- | audit_binfile.so | + | |
- | audit_binfile.so.1 | + | |
- | audit_syslog.so | + | |
- | audit_syslog.so.1 | + | |
- | crypt_bsdbf.so | + | |
- | crypt_bsdbf.so.1 | + | |
- | crypt_bsdmd5.so | + | |
- | crypt_bsdmd5.so.1 | + | |
- | crypt_sunmd5.so | + | |
- | crypt_sunmd5.so.1 | + | |
- | kmf_nss.so.1 | + | |
- | kmf_openssl.so.1 | + | |
- | kmf_pkcs11.so.1 | + | |
- | pam_authtok_check.so | + | |
- | pam_authtok_check.so.1 | + | |
- | pam_authtok_get.so | + | |
- | pam_authtok_get.so.1 | + | |
- | pam_authtok_store.so | + | |
- | pam_authtok_store.so.1 | + | |
</ | </ | ||
- | Chaque section dans / | + | Dans ce fichier on trouve des sections ayant la forme suivante |
< | < | ||
- | # | + | section { |
- | # PPP service (explicit because of pam_dial_auth) | + | variable1 |
- | # | + | variable2 |
- | ppp auth requisite | + | }; |
- | ppp auth required | + | |
- | ppp auth required | + | |
- | ppp auth required | + | |
- | ppp auth required | + | |
</ | </ | ||
- | Tout autre service non-indiqué utilise la section | + | Il existe différentes sections dont une des plus importantes est **options**. C'est dans cette section que nous définissons les options globales: |
< | < | ||
- | # | + | options { |
- | # Default definitions for Authentication management | + | |
- | # Used when service name is not explicitly mentioned for authentication | + | |
- | # | + | |
- | other auth requisite | + | |
- | other auth required | + | |
- | other auth required | + | |
- | other auth required | + | |
</ | </ | ||
- | Chaque ligne comporte cinq champs séparés par un espace dont les quatre premiers champs sont obligatoires. | + | D' |
- | Le **premier champs** est le nom du service. | + | < |
+ | directory "/ | ||
+ | </ | ||
- | Le **deuxième champs** est le **type de règle**. Il en existe quatre | + | Ensuite |
- | ^ Type ^ Description ^ | + | < |
- | | **auth** | Utilisé pour authentifier un utilisateur ou les pré-requis système | | + | pid-file "/ |
- | | **account** | Utilisé pour vérifier si l' | + | </ |
- | | **password** | Utilisé pour vérifier si l' | + | |
- | | **session** | Utilisé pour gérer la session après l' | + | |
- | Le **troisème champs** est le //**Control-flag**//. Il en existe quatre | + | Afin de limiter les machines qui peuvent et qui ne peuvent pas utiliser notre DNS, nous utilisons la valeur |
- | ^ Control-flag ^ Description ^ | + | < |
- | | **required** | La réussite de ce module est indispensable. L' | + | allow-query { any; }; |
- | | **requisite** | La réussite de ce module est indispensable. L' | + | </file> |
- | | **sufficient** | La réussite de ce module est suffisant pour authoriser l' | + | |
- | | **optional** | La réussite ou l' | + | |
- | Le **quatrième champs** stipule le **module** associé à la règle. Sans chemin absolu, le fichier est supposé être dans le répertoire **/ | + | Dans l'**exemple** qui suit nous autorisons toutes les machines de notre réseau sauf la machine 10.0.2.5, ainsi que la machine locale : |
- | Le **cinquième champs** contient des options éventuelles. | + | < |
+ | | ||
+ | 127/8; | ||
+ | 10.0.2/24; | ||
+ | !10.0.2.5; | ||
+ | }; | ||
+ | </ | ||
- | Par exemple, considérez la section | + | La valeur |
< | < | ||
- | # | + | allow-transfer { any;}; |
- | # rlogin service (explicit because of pam_rhost_auth) | + | |
- | # | + | |
- | rlogin | + | |
- | rlogin | + | |
- | rlogin | + | |
- | rlogin | + | |
- | rlogin | + | |
</ | </ | ||
- | Dans cette section, si la règle **sufficient** réussit, les modules suivants ne sont pas invoqués. | + | Dernièrement, nous définissons l' |
- | ===Modules=== | + | < |
+ | forwarders { 10.0.2.3; }; | ||
+ | }; | ||
+ | </ | ||
- | Certains modules | + | La valeur " |
- | **/ | + | |
+ | * Ce type définit le serveur DNS comme serveur maître ayant **autorité** sur la zone concernée. | ||
+ | * **slave** | ||
+ | * Ce type définit le serveur DNS comme serveur esclave pour la zone concernée. Ceci implique que la zone est une replication d'une zone maître. Un type de zone esclave contiendra aussi une directive | ||
+ | * **stub** | ||
+ | * Ce type définit le serveur DNS comme serveur esclave pour la zone concernée mais uniquement pour les **enregistrements** de type **NS**. | ||
+ | * **forward** | ||
+ | * Ce type définit le serveur DNS comme serveur de transit pour la zone concernée. Ceci implique que toute requête est re-transmise vers un autre serveur. | ||
+ | * **hint** | ||
+ | * Ce type définit la zone concernée comme une zone racine. Ceci implique que lors du démarrage du serveur, cette zone est utilisée pour récupérer les adresses des serveurs DNS racine. | ||
- | Les options | + | La valeur " |
- | < | + | La deuxième directive dans une section de zone comporte la valeur **file**. Il indique l' |
- | # man pam_rhosts_auth | + | |
- | Mise en page en cours. | + | |
- | Standards, Environments, | + | Chaque section de zone, à l' |
- | NAME | + | < |
- | pam_rhosts_auth - authentication management PAM module using | + | zone " |
- | ruserok() | + | type hint; |
+ | file " | ||
+ | }; | ||
+ | </ | ||
- | SYNOPSIS | + | La section de zone fait correspondre un nom avec une adresse IP tandis que la section de zone inversée fait l' |
- | / | + | |
- | DESCRIPTION | + | < |
- | The | + | adresse_réseau_inversée.in-addr.arpa. |
- | / | + | </ |
- | | + | |
- | pam_sm_authenticate() | + | |
- | | + | |
- | | + | |
- | | + | |
- | / | + | Par exemple, la zone suivante correspond à notre domaine, ici appelée "i2tch.loc". Une valeur de {!*} interdirait tout transfert de requête de zone. Celui-ci fait correspondre le nom de la machine avec son adresse IP: |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | | + | |
- | to this service module: | + | |
- | | + | < |
- | LOG_DEBUG level. | + | zone " |
+ | type master; | ||
+ | file " | ||
+ | forwarders { }; | ||
+ | }; | ||
+ | </ | ||
- | ATTRIBUTES | + | La zone suivante est également celle de notre machine mais dans le sens inverse. Le fichier **zone/ |
- | See attributes(5) for descriptions of the following | + | |
- | | + | |
- | | + | < |
- | | + | zone " |
- | | + | |
- | | + | |
+ | | ||
+ | }; | ||
+ | </ | ||
- | SEE ALSO | + | Cette zone est la zone créée pour le réseau loopback : |
- | | + | |
- | | + | |
- | NOTES | + | < |
- | The interfaces in libpam() are MT-Safe only if each thread | + | zone " |
- | within the multi-threaded application uses its own PAM han- | + | type master; |
- | dle. | + | file " |
+ | }; | ||
+ | </ | ||
- | SunOS 5.10 Last change: 28 Oct 1996 1 | + | La zone suivante est la zone créée pour le réseau loopback mais dans le sens inverse. Le fichier **zone/db.127.0.0.1** fait correspondre l' |
- | </code> | + | |
- | Ce manuel indique l' | + | <file> |
- | + | zone "0.0.127.in-addr.arpa" | |
- | <WRAP center round important 60%> | + | type master; |
- | Passez en revue les manuels des autres modules PAM appelés par le fichier pam.conf. | + | file " |
- | </WRAP> | + | }; |
+ | </file> | ||
+ | ====Les fichiers de configuration des zones==== | ||
- | ====RBAC==== | + | * / |
+ | * / | ||
+ | * / | ||
+ | * / | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | Si ce n'est pas déjà fait, créez deux utilisateurs | + | **Important** - Chacun de ses fichiers a besoin d' |
</ | </ | ||
- | Le service **RBAC** (**R**ole **B**ased **A**ccess **C**ontrol) permet à un utilisateur autorisé à exécuter | + | Les fichiers de zone sont composées de lignes d'une forme: |
- | L' | + | | nom | TTL | classe |
- | Des autorisations et des commandes sont regroupés dans des **profils** ou **// | + | où |
- | Un **rôle** est un pseudo-compte | + | |
+ | * Le nom DNS. | ||
+ | * **TTL** | ||
+ | * La durée de vie en cache de cet enregistrement. | ||
+ | * **classe** | ||
+ | * Le réseau de transport utilisé. Dans notre cas, le réseau | ||
+ | * **type** | ||
+ | * Le type d' | ||
+ | * SOA - Start of Authority - se trouve au début du fichier et contient des informations générales | ||
+ | * NS - Name Server | ||
+ | * A - Address - indique une résoltuion de nom vers une adresse IP. Ne se trouve | ||
+ | * PTR - %%PoinTeR%% - indique une résoltuion d'une adresse IP vers un nom. Ne se trouve que dans les fichiers inversés. | ||
+ | * MX - Mail eXchange - le nom d'un serveur de mail. | ||
+ | * CNAME - Canonical Name - un alias d'une machine. | ||
+ | * HINFO - Hardware Info - fournit des informations sur le matériel de la machine | ||
+ | * **donnée** | ||
+ | * La donnée de la ressource: | ||
+ | * Une adresse IP pour un enregistrement de type A | ||
+ | * Un nom de machine pour un eregistrement de type PTR | ||
- | Les autorisations sont définies dans le fichier | + | Créez |
- | <file> | + | <code> |
- | # cat /etc/security/auth_attr | + | # mkdir /var/named/zone |
- | # | + | </code> |
- | # Copyright 2007 Sun Microsystems, | + | |
- | # Use is subject to license terms. | + | |
- | # | + | |
- | # / | + | |
- | # | + | |
- | # execution attributes for profiles. see auth_attr(4) | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | ::::: | + | |
- | solaris.::: | + | |
- | solaris.admin.dcmgr.::: | + | |
- | solaris.admin.dcmgr.admin::: | + | |
- | solaris.admin.dcmgr.clients::: | + | |
- | solaris.admin.dcmgr.read::: | + | |
- | solaris.admin.diskmgr.::: | + | |
- | solaris.admin.diskmgr.read::: | + | |
- | solaris.admin.diskmgr.write::: | + | |
- | solaris.admin.fsmgr.::: | + | |
- | solaris.admin.fsmgr.read::: | + | |
- | solaris.admin.fsmgr.write::: | + | |
- | solaris.admin.logsvc.::: | + | |
- | solaris.admin.logsvc.purge::: | + | |
- | solaris.admin.logsvc.read::: | + | |
- | solaris.admin.logsvc.write::: | + | |
- | solaris.admin.patchmgr.::: | + | |
- | solaris.admin.patchmgr.read::: | + | |
- | solaris.admin.patchmgr.write::: | + | |
- | solaris.admin.printer.::: | + | |
- | solaris.admin.printer.delete::: | + | |
- | solaris.admin.printer.modify::: | + | |
- | solaris.admin.printer.read::: | + | |
- | solaris.admin.privilege.::: | + | |
- | solaris.admin.privilege.write::: | + | |
- | solaris.admin.procmgr.::: | + | |
- | solaris.admin.procmgr.admin::: | + | |
- | solaris.admin.procmgr.user::: | + | |
- | solaris.admin.serialmgr.::: | + | |
- | solaris.admin.serialmgr.delete::: | + | |
- | solaris.admin.serialmgr.modify::: | + | |
- | solaris.admin.serialmgr.read::: | + | |
- | solaris.admin.usermgr.::: | + | |
- | solaris.admin.usermgr.audit::: | + | |
- | solaris.admin.usermgr.labels::: | + | |
- | solaris.admin.usermgr.pswd::: | + | |
- | solaris.admin.usermgr.read::: | + | |
- | solaris.admin.usermgr.write::: | + | |
- | solaris.admin.volmgr.::: | + | |
- | solaris.admin.volmgr.read::: | + | |
- | solaris.admin.volmgr.write::: | + | |
- | solaris.audit.::: | + | |
- | solaris.audit.config::: | + | |
- | solaris.audit.read::: | + | |
- | solaris.compsys.::: | + | |
- | solaris.compsys.read::: | + | |
- | solaris.compsys.write::: | + | |
- | solaris.device.::: | + | |
- | solaris.device.allocate::: | + | |
- | solaris.device.cdrw::: | + | |
- | solaris.device.config::: | + | |
- | solaris.device.grant::: | + | |
- | solaris.device.revoke::: | + | |
- | solaris.dhcpmgr.::: | + | |
- | solaris.dhcpmgr.write::: | + | |
- | solaris.file.::: | + | |
- | solaris.file.chown::: | + | |
- | solaris.file.owner::: | + | |
- | solaris.grant::: | + | |
- | solaris.jobs.::: | + | |
- | solaris.jobs.admin::: | + | |
- | solaris.jobs.grant::: | + | |
- | solaris.jobs.user::: | + | |
- | solaris.label.::: | + | |
- | solaris.label.file.downgrade::: | + | |
- | solaris.label.file.upgrade::: | + | |
- | solaris.label.print::: | + | |
- | solaris.label.range::: | + | |
- | solaris.label.win.downgrade::: | + | |
- | solaris.label.win.noview::: | + | |
- | solaris.label.win.upgrade::: | + | |
- | solaris.login.::: | + | |
- | solaris.login.enable::: | + | |
- | solaris.login.remote::: | + | |
- | solaris.mail.::: | + | |
- | solaris.mail.mailq::: | + | |
- | solaris.network.hosts.::: | + | |
- | solaris.network.hosts.read::: | + | |
- | solaris.network.hosts.write::: | + | |
- | solaris.print.::: | + | |
- | solaris.print.admin::: | + | |
- | solaris.print.cancel::: | + | |
- | solaris.print.list::: | + | |
- | solaris.print.nobanner::: | + | |
- | solaris.print.ps::: | + | |
- | solaris.print.unlabeled::: | + | |
- | solaris.profmgr.::: | + | |
- | solaris.profmgr.assign::: | + | |
- | solaris.profmgr.delegate::: | + | |
- | solaris.profmgr.execattr.write::: | + | |
- | solaris.profmgr.read::: | + | |
- | solaris.profmgr.write::: | + | |
- | solaris.project.::: | + | |
- | solaris.project.read::: | + | |
- | solaris.project.write::: | + | |
- | solaris.role.::: | + | |
- | solaris.role.assign::: | + | |
- | solaris.role.delegate::: | + | |
- | solaris.role.write::: | + | |
- | solaris.smf.::: | + | |
- | solaris.smf.manage.::: | + | |
- | solaris.smf.manage.autofs::: | + | |
- | solaris.smf.manage.bind::: | + | |
- | solaris.smf.manage.cde.::: | + | |
- | solaris.smf.manage.cde.calendar::: | + | |
- | solaris.smf.manage.cde.printinfo::: | + | |
- | solaris.smf.manage.cde.spc::: | + | |
- | solaris.smf.manage.cde.tooltalk::: | + | |
- | solaris.smf.manage.cron::: | + | |
- | solaris.smf.manage.dt.::: | + | |
- | solaris.smf.manage.dt.login::: | + | |
- | solaris.smf.manage.font::: | + | |
- | solaris.smf.manage.inetd::: | + | |
- | solaris.smf.manage.labels::: | + | |
- | solaris.smf.manage.name-service-cache::: | + | |
- | solaris.smf.manage.postgres::: | + | |
- | solaris.smf.manage.power::: | + | |
- | solaris.smf.manage.routing::: | + | |
- | solaris.smf.manage.rpc.bind::: | + | |
- | solaris.smf.manage.sendmail::: | + | |
- | solaris.smf.manage.servicetags::: | + | |
- | solaris.smf.manage.ssh::: | + | |
- | solaris.smf.manage.system-log::: | + | |
- | solaris.smf.manage.tnctl::: | + | |
- | solaris.smf.manage.tnd::: | + | |
- | solaris.smf.manage.x11::: | + | |
- | solaris.smf.modify.::: | + | |
- | solaris.smf.modify.application::: | + | |
- | solaris.smf.modify.dependency::: | + | |
- | solaris.smf.modify.framework::: | + | |
- | solaris.smf.modify.method::: | + | |
- | solaris.smf.value.::: | + | |
- | solaris.smf.value.cde.::: | + | |
- | solaris.smf.value.cde.calendar::: | + | |
- | solaris.smf.value.cde.login::: | + | |
- | solaris.smf.value.cde.printinfo::: | + | |
- | solaris.smf.value.cde.spc::: | + | |
- | solaris.smf.value.cde.tooltalk::: | + | |
- | solaris.smf.value.inetd::: | + | |
- | solaris.smf.value.postgres::: | + | |
- | solaris.smf.value.routing::: | + | |
- | solaris.smf.value.servicetags::: | + | |
- | solaris.smf.value.tnd::: | + | |
- | solaris.snmp.::: | + | |
- | solaris.snmp.read::: | + | |
- | solaris.snmp.write::: | + | |
- | solaris.system.::: | + | |
- | solaris.system.date::: | + | |
- | solaris.system.shutdown::: | + | |
- | </file> | + | |
- | + | ||
- | Chaque ligne est divisée en 7 champs. Seuls le premier, le quatrième et le dernier sont utilisées : | + | |
- | ^ Champs ^ Description ^ | + | ==db.i2tch.loc.hosts== |
- | | 1 | Nome de l' | + | |
- | | 4 | Bref description | | + | |
- | | 7 | Fichier d'aide | | + | |
- | Les fichiers d' | + | Ce fichier |
< | < | ||
- | # ls /usr/lib/help/auths/ | + | # vi /var/named/zone/db.i2tch.loc.hosts |
- | AllSolAuthsHeader.html | + | # cat / |
- | AuditConfig.html | + | $TTL 3D |
- | AuditHeader.html | + | @ |
- | AuditRead.html | + | 20200117 |
- | AuthCompSysHeader.html | + | 8H ; Refresh |
- | AuthCompSysRead.html | + | 2H ; Retry |
- | AuthCompSysWrite.html | + | 4W ; Expire |
- | AuthDcmgrAdmin.html | + | 1D) ; Minimum TTL |
- | AuthDcmgrClients.html | + | IN NS solaris.i2tch.loc. |
- | AuthDcmgrHeader.html | + | localhost |
- | AuthDcmgrRead.html | + | dnsmaster |
- | AuthDiskmgrHeader.html | + | solaris.i2tch.loc. IN A 10.0.2.15 |
- | AuthDiskmgrRead.html | + | |
- | AuthDiskmgrWrite.html | + | |
- | AuthFsmgrHeader.html | + | |
- | AuthFsmgrRead.html | + | |
- | AuthFsmgrWrite.html | + | |
- | AuthJobsAdmin.html | + | |
- | AuthJobsUser.html | + | |
- | AuthLogsvcHeader.html | + | |
- | AuthLogsvcPurge.html | + | |
- | AuthLogsvcRead.html | + | |
- | AuthLogsvcWrite.html | + | |
- | AuthPatchmgrRead.html | + | |
- | AuthPatchmgrWrite.html | + | |
- | AuthPrinterDelete.html | + | |
- | AuthPrinterHeader.html | + | |
- | AuthPrinterModify.html | + | |
- | AuthPrinterRead.html | + | |
- | AuthPrivilegeHeader.html | + | |
- | AuthPrivilegeWrite.html | + | |
- | AuthProcmgrAdmin.html | + | |
- | AuthProcmgrHeader.html | + | |
- | AuthProcmgrUser.html | + | |
- | AuthProfmgrAssign.html | + | |
- | </ | + | |
- | Les profils prédéfinis sont stockés dans le fichier **/ | + | ftp IN CNAME solaris.i2tch.loc. |
+ | www IN CNAME solaris.i2tch.loc. | ||
+ | mail IN CNAME solaris.i2tch.loc. | ||
+ | news IN CNAME solaris.i2tch.loc. | ||
- | < | ||
- | # cat / | ||
- | # | ||
- | # Copyright 2007 Sun Microsystems, | ||
- | # Use is subject to license terms. | ||
- | # | ||
- | # / | ||
- | # | ||
- | # execution attributes for profiles. see prof_attr(4) | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | :::: | ||
- | ........ | ||
- | User Management::: | ||
- | ........ | ||
</ | </ | ||
- | Cette ligne, toute comme les autres, contient 5 champs | + | La première |
- | ^ Champs ^ Description ^ | + | < |
- | | 1 | Nom du profil | | + | $TTL 3D |
- | | 2 | Inutilisé | | + | </ |
- | | 3 | Inutilisé | | + | |
- | | 4 | Brève description | | + | |
- | | 5 | Attributs séparés par des points-virgules | | + | |
- | Dans notre ligne d'exemple, l' | + | Cette ligne indique aux autres serveurs DNS pendant combien de temps ils doivent garder en cache les enregistrements de cette zone. La durée peut s'exprimer en jours (**D**), en heures (**H**) ou en secondes (**S**). |
- | Les profiles majeurs sont : | + | La deuxième ligne définit une **classe** **IN**ternet, |
< | < | ||
- | Primary Administrator::: | + | @ |
</ | </ | ||
+ | |||
+ | Le caractère **@** corréspond au nom de la zone et est une abréviation pour le nom de la zone décrit par le fichier de la zone, soit dans ce cas db.**i2tch.loc**.hosts, | ||
< | < | ||
- | System Administrator::: | + | zone " |
+ | type master; | ||
+ | file " | ||
+ | forwarders { }; | ||
+ | }; | ||
</ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** - Notez le point à la fin de chaque nom de domaine. Notez bien le remplacement du caractère @ dans l' | ||
+ | </ | ||
+ | |||
+ | **Le numéro de série** doit être modifié chaque fois que le fichier soit changé. Il faut noter que dans le cas de plusieurs changements dans la même journée il est necessaire d' | ||
< | < | ||
- | Operator::: | + | |
</ | </ | ||
+ | |||
+ | La ligne suivante fixe le temps de rafraichissement, | ||
< | < | ||
- | Basic Solaris User::: | + | |
</ | </ | ||
- | Le associations de commandes avec les profils sont stockées dans le fichier **/ | + | La ligne suivante fixe le temps entre de nouveaux essaies, soit 2 heures: |
< | < | ||
- | # | + | |
- | # Copyright 2007 Sun Microsystems, | + | |
- | # Use is subject to license terms. | + | |
- | # | + | |
- | # / | + | |
- | # | + | |
- | # execution attributes for profiles. see exec_attr(4) | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | .......... | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Management: | + | |
- | User Security: | + | |
- | User Security: | + | |
- | User Security: | + | |
- | User Security: | + | |
- | User Security: | + | |
- | .......... | + | |
</ | </ | ||
- | Les attributions des rôles et/ou des autorisations à des utilisateurs se trouvent dans le fichier **/ | + | La ligne suivante fixe le temps d' |
< | < | ||
- | # | + | |
- | # Copyright 2007 Sun Microsystems, | + | |
- | # Use is subject to license terms. | + | |
- | # | + | |
- | # / | + | |
- | # | + | |
- | # execution attributes for profiles. see user_attr(4) | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | adm:::: | + | |
- | lp:::: | + | |
- | postgres:::: | + | |
- | root:::: | + | |
</ | </ | ||
- | Le fichier **/ | + | La ligne suivante fix le temps minimum pour la valeur TTL, soit un jour: |
< | < | ||
- | # | + | 1D) ; Minimum TTL |
- | # Copyright 2004 Sun Microsystems, | + | </file> |
- | # Use is subject to license terms. | + | |
- | # | + | |
- | # / | + | |
- | # | + | |
- | # security policy configuration for user attributes. see policy.conf(4) | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | AUTHS_GRANTED=solaris.device.cdrw | + | |
- | PROFS_GRANTED=Basic Solaris User | + | |
- | # crypt(3c) Algorithms Configuration | + | Cette ligne identifie notre serveur de noms : |
- | # | + | |
- | # CRYPT_ALGORITHMS_ALLOW specifies the algorithms that are allowed to | + | |
- | # be used for new passwords. | + | |
- | # | + | |
- | CRYPT_ALGORITHMS_ALLOW=1, | + | |
- | # To deprecate use of the traditional unix algorithm, uncomment below | + | < |
- | # and change CRYPT_DEFAULT= to another algorithm. For example, | + | IN NS solaris.i2tch.loc. |
- | # CRYPT_DEFAULT=1 for BSD/Linux MD5. | + | </file> |
- | # | + | |
- | # | + | |
- | # The Solaris default is the traditional UNIX algorithm. This is not | + | Dans le cas où notre serveur était également un serveur mail. Nous trouverions aussi une entrée du type SMTP (MX) : |
- | # listed in crypt.conf(4) since it is internal to libc. The reserved | + | |
- | # name __unix__ is used to refer to it. | + | < |
- | # | + | IN MX 10 mail.i2tch.loc. |
- | CRYPT_DEFAULT=__unix__ | + | </ |
- | # | + | |
- | # These settings determine the default privileges users have. If not set, | + | Ci-dessous |
- | # the default privileges are taken from the inherited set. | + | |
- | # There are two different settings; PRIV_DEFAULT determines the default | + | < |
- | # set on login; PRIV_LIMIT defines the Limit set on login. | + | localhost |
- | # Individual users can have privileges assigned or taken away through | + | solaris.i2tch.loc. IN A 10.0.2.15 |
- | # user_attr. | + | |
- | # the users with those profiles can use those privileges through pfexec(1m). | + | |
- | # For maximum future compatibility, | + | |
- | # always include " | + | |
- | # the negation. E.g., PRIV_LIMIT=all, | + | |
- | # sys_linkdir privilege, regardless of future additional privileges. | + | |
- | # Similarly, PRIV_DEFAULT=basic, | + | |
- | # file_link_any privilege from the basic privilege set; only that notation | + | |
- | # is immune from a future addition of currently unprivileged operations to | + | |
- | # the basic privilege set. | + | |
- | # NOTE: removing privileges from the the Limit set requires EXTREME care | + | |
- | # as any set-uid root program may suddenly fail because it lacks certain | + | |
- | # privilege(s). | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # | + | |
- | # LOCK_AFTER_RETRIES specifies the default account locking policy for local | + | |
- | # user accounts (passwd(4)/ | + | |
- | # a user's user_attr(4) " | + | |
- | # YES enables local account locking, NO disables local account locking. | + | |
- | # The default value is NO. | + | |
- | # | + | |
- | # | + | |
</ | </ | ||
- | Pour visualiser les roles, profiles et auths attribués à un utilisateur, | + | Ci-dessous on définit des **Alias** avec des entrées du type CNAME. Les alias servent à identifier une machine. |
+ | |||
+ | < | ||
+ | dnsmaster IN CNAME solaris.i2tch.loc. | ||
+ | ftp IN CNAME solaris.i2tch.loc. | ||
+ | www IN CNAME solaris.i2tch.loc. | ||
+ | mail IN CNAME solaris.i2tch.loc. | ||
+ | news IN CNAME solaris.i2tch.loc. | ||
+ | </ | ||
+ | |||
+ | Il est possible de vérifier ce fichier grâce à la commande | ||
< | < | ||
- | # roles | + | # cd / |
- | Pas de rôles | + | # / |
- | # profiles | + | zone i2tch.loc/IN: loaded serial 20200117 |
- | Web Console Management | + | OK |
- | All | + | |
- | Basic Solaris User | + | |
- | # auths | + | |
- | solaris.* | + | |
- | # roles user1 | + | |
- | Pas de rôles | + | |
- | # profiles user1 | + | |
- | Basic Solaris User | + | |
- | All | + | |
- | # auths user1 | + | |
- | solaris.device.cdrw, | + | |
</ | </ | ||
- | ===LAB#1 - Créer un rôle=== | + | ==db.2.0.10.hosts== |
- | Trois principales commandes sont utilisées pour la gestion | + | Ce fichier se trouve dans / |
- | | + | < |
- | | + | # vi db.2.0.10.hosts |
- | | + | # cat db.2.0.10.hosts |
- | * modifie l’information de la connexion d’un rôle, | + | $TTL 3D |
- | * **useradd** | + | @ |
- | * ajoute un compte utilisateur sur le système | + | 20200117 ; Serial |
+ | 10800 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | 15 | ||
+ | </ | ||
- | ==roleadd== | + | Il est possible de vérifier ce fichier grâce à la commande **/ |
- | La commande roleadd ajoute une entrée aux fichiers **/etc/passwd**, **/etc/ | + | < |
+ | # /usr/sbin/named-checkzone 2.0.10.in-addr.arpa db.2.0.10.hosts | ||
+ | zone 2.0.10.in-addr.arpa/ | ||
+ | OK | ||
+ | </ | ||
- | ^ Option ^ Description ^ | + | ==db.127.0.0.1== |
- | | -c comment | brève description du rôle | | + | |
- | | -d dir | répertoire local du rôle | | + | |
- | | -m | créer le répertoire local si c’est nécessaire | | + | |
- | | -A authorization | affecter des autorisations au rôle | | + | |
- | | -P profile | affecter des profils au rôle | | + | |
- | Vous allez maintenant créer un compte de rôle pour un gestionnaire de sauvegardes. Saisissez donc la commande suivante | + | Ce fichier se trouve dans / |
- | | + | < |
+ | # vi db.127.0.0.1 | ||
+ | # cat db.127.0.0.1 | ||
+ | $TTL 3D | ||
+ | @ | ||
+ | 20200117 ; Serial | ||
+ | 28800 | ||
+ | 7200 ; Retry | ||
+ | 604800 | ||
+ | 86400) | ||
+ | NS solaris.i2tch.loc. | ||
+ | localhost | ||
+ | </code> | ||
- | Vous obtiendrez un résultat similaire à celui-ci | + | Vérifier la syntaxe de ce fichier |
< | < | ||
- | # roleadd -m -d /export/home/tarback | + | # /usr/sbin/named-checkzone 0.0.127.in-addr.arpa db.127.0.0.1 |
- | 64 blocs | + | zone 0.0.127.in-addr.arpa/ |
+ | OK | ||
</ | </ | ||
- | Consultez maintenant les fichiers **/etc/user_attr**, **/etc/passwd** et **/ | + | ==db.localhost== |
+ | |||
+ | Ce fichier se trouve dans /var/named/zone. Il est le fichier qui définit la correspondance du nom **localhost | ||
< | < | ||
- | # cat / | + | # vi db.localhost |
- | tarback:::: | + | # cat db.localhost |
- | # cat /etc/passwd | grep tarback | + | $TTL 3D |
- | tarback: | + | @ |
- | # cat /etc/shadow | grep tarback | + | |
- | tarback: | + | 8H ; Refresh |
+ | 2H ; Retry | ||
+ | 4W ; Expire | ||
+ | 1D) ; Minimum TTL | ||
+ | | ||
+ | 1 IN PTR | ||
</ | </ | ||
- | Veuillez noter qu'un compte | + | Vérifier la syntaxe |
- | Les shells des profils sont **pfsh**, **pfcsh**, **pfksh** pour respectivement le Bourne, le C, et le Korn shell. | + | < |
+ | # / | ||
+ | zone localhost/ | ||
+ | OK | ||
+ | </ | ||
- | Un shell de profil | + | Il est maintenant possible |
- | La commande ou application privilégiée est exécutée avec les attributs spécifiés dans la base de données par la commande **pfexec**. | + | < |
+ | # / | ||
+ | </ | ||
- | <WRAP center round important 60%> | + | Avant de pouvoir tester votre serveur DNS, vous avez besoin d' |
- | Consultez le manuel | + | |
- | </ | + | |
- | Dernièrement, créez un mot de passe pour tarback | + | Pour le faire, il convient d' |
< | < | ||
- | # passwd tarback | + | # vi / |
- | Nouveau mot de passe : | + | # cat / |
- | Entrez de nouveau le mot de passe : | + | nameserver 10.0.2.15 |
- | passwd: mot de passe correctement modifié pour tarback | + | nameserver 10.0.2.3 |
</ | </ | ||
- | ==rolemod== | + | Testez maintenant votre serveur DNS grâce à les commandes **nslookup** et **dig**: |
- | Les options les plus fréquentes sont : | + | < |
+ | # nslookup www.ittraining.center | ||
+ | Server: 10.0.2.15 | ||
+ | Address: | ||
- | ^ Option ^ Description ^ | + | Non-authoritative answer: |
- | | -e expire | date d’expiration pour un rôle | | + | Name: |
- | | -l new_logname | + | Address: 217.160.0.225 |
- | | -s | shell | | + | |
- | | -A authorization | une ou plusieurs autorisations séparées par une virgule | | + | |
- | | -P profile | un ou plusieurs profils séparés par une virgule | | + | |
- | Par exemple : | + | # dig www.ittraining.center |
- | # rolemod –A auth1,auth2 –P profile1,profile2 | + | ; <<>> |
+ | ;; global options: +cmd | ||
+ | ;; Got answer: | ||
+ | ;; ->> | ||
+ | ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 11 | ||
- | Cette ligne de commande ajoute les autorisations **auth1** et **auth2** aux profils **profile1** et **profile2**. | + | ;; QUESTION SECTION: |
+ | ;www.ittraining.center. | ||
+ | ;; ANSWER SECTION: | ||
+ | www.ittraining.center. | ||
- | ==useradd== | + | ;; AUTHORITY SECTION: |
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
+ | . | ||
- | La commande useradd peut être utilisée pour ajouter un nouvel utilisateur avec des autorisations et des profils aux fichiers / | + | ;; ADDITIONAL SECTION: |
+ | l.root-servers.net. | ||
+ | l.root-servers.net. | ||
+ | m.root-servers.net. | ||
+ | m.root-servers.net. | ||
+ | k.root-servers.net. | ||
+ | k.root-servers.net. | ||
+ | h.root-servers.net. | ||
+ | h.root-servers.net. | ||
+ | i.root-servers.net. | ||
+ | i.root-servers.net. | ||
+ | j.root-servers.net. | ||
- | Voici quelques options intéressantes | + | ;; Query time: 0 msec |
+ | ;; SERVER: 10.0.2.15# | ||
+ | ;; WHEN: Fri Jan 17 11:12:56 2020 | ||
+ | ;; MSG SIZE rcvd: 502 | ||
+ | </ | ||
- | ^ Option ^ Description ^ | + | =====LAB #2 - Installation et Configuration du Serveur |
- | | -R role | spécifie un ou plusieurs profils | + | |
- | | -A authorization | une ou plusieurs autorisations séparées par une virgule | | + | |
- | | -P profile | un ou plusieurs profils séparés par une virgule | | + | |
- | Saisissez la commande suivante pour ajouter l' | + | ====Introduction==== |
- | # useradd -d / | + | Dans le cas d'un serveur de réseau, il est souvent important de maintenir l' |
- | Vous obtiendrez un résultat similaire à celui-ci : | + | Le protocole utilisé s' |
+ | |||
+ | Pour connaître le fuseau d' | ||
< | < | ||
- | # useradd -d / | + | # date |
- | 64 blocs | + | Fri Jan 17 11:23:14 CET 2020 |
</ | </ | ||
- | Consultez maintenant les fichiers | + | <WRAP center round important> |
+ | **Important** - Vous pouvez consulter la liste des codes des zones à l' | ||
+ | </ | ||
+ | |||
+ | Vous pouvez modifier le fuseau d' | ||
< | < | ||
- | # cat / | + | # tzselect |
- | tarback:::: | + | Please identify a location so that time zone rules can be set correctly. |
- | admin:::: | + | Please select a continent or ocean. |
- | # cat /etc/passwd | grep admin | + | 1) Africa |
- | admin: | + | 2) Americas |
- | # cat /etc/shadow | grep admin | + | 3) Antarctica |
- | admin: | + | 4) Arctic Ocean |
- | </ | + | 5) Asia |
+ | 6) Atlantic Ocean | ||
+ | 7) Australia | ||
+ | 8) Europe | ||
+ | 9) Indian Ocean | ||
+ | 10) Pacific Ocean | ||
+ | 11) none - I want to specify the time zone using the POSIX TZ format. | ||
+ | #? | ||
+ | </ | ||
- | Créez maintenant le mot de passe pour **admin**. Indiquez un mot de passe identique au nom du compte : | + | ====Installation==== |
- | # passwd admin [Entrée] | + | Sous **Solaris**, |
- | Devenez maintenant l' | + | < |
+ | # svcs -a | grep ntp | ||
+ | disabled | ||
+ | disabled | ||
+ | </ | ||
- | # su - admin [Entrée] | + | Activez ensuite le serveur ntp et vérifiez son fonctionnement |
- | + | ||
- | Pour visualiser les roles, profiles | + | |
< | < | ||
- | $ roles | + | # svcadm enable network/ntp |
- | tarback | + | # svcadm enable network/ |
- | $ profiles | + | # svcs -a | grep ntp |
- | Basic Solaris User | + | maintenance |
- | All | + | maintenance |
- | $ auths | + | |
- | solaris.device.cdrw, | + | |
</ | </ | ||
- | En tant qu' | + | <WRAP center round important> |
+ | **Important** - Ces services sont respectivement NFSv3 et NFSv4. Les services sont **mutuellement exclusifs**. | ||
+ | </ | ||
- | | + | A ce stade on peut constater que les services sont en **maintenance**. Consultez donc chaque service pour connaître la raison : |
+ | |||
+ | < | ||
+ | # svcs -l network/ | ||
+ | fmri | ||
+ | name | ||
+ | enabled | ||
+ | state maintenance | ||
+ | next_state | ||
+ | state_time | ||
+ | logfile | ||
+ | restarter | ||
+ | contract_id | ||
+ | dependency | ||
+ | dependency | ||
+ | dependency | ||
+ | dependency | ||
+ | # svcs -l network/ | ||
+ | fmri | ||
+ | name | ||
+ | enabled | ||
+ | state maintenance | ||
+ | next_state | ||
+ | state_time | ||
+ | logfile | ||
+ | restarter | ||
+ | contract_id | ||
+ | dependency | ||
+ | dependency | ||
+ | </ | ||
- | Les commandes maintenant utilisables par **admin** // | + | Vous pouvez constater que le problème du service |
< | < | ||
- | $ cat /etc/security/exec_attr | grep Backup | + | # cat /var/svc/log/ |
- | Media Backup: | + | [ Nov 29 13:26:33 Disabled. ] |
- | Media Backup:solaris:act::: | + | [ Nov 29 13:26:33 Rereading configuration. ] |
- | Media Backup:solaris: | + | [ Jan 17 11:24:51 Enabled. ] |
- | Media Backup:suser: | + | [ Jan 17 11:24:51 Executing start method ("/lib/svc/method/xntp") ] |
- | Media Backup:suser:cmd:::/usr/lib/fs/ufs/ufsdump: | + | [ Jan 17 11:24:51 Method " |
- | Media Backup:suser:cmd:::/ | + | # cat /var/svc/log/ |
- | $ cat /etc/security/exec_attr | grep Restore | + | [ Nov 29 13:26:33 Disabled. ] |
- | Media Restore: | + | [ Nov 29 13:26:33 Rereading configuration. ] |
- | Media Restore:solaris:act::: | + | [ Jan 17 11:25:17 Enabled. ] |
- | Media Restore: | + | [ Jan 17 11:25:17 Executing start method ("/lib/svc/method/ntp start" |
- | Media Restore: | + | Error: Configuration file '/etc/inet/ntp.conf' |
- | Media Restore: | + | [ Jan 17 11:25:17 Method " |
- | Media Restore: | + | |
- | Media Restore:suser: | + | |
</ | </ | ||
- | Notez que les commandes sont exécutées avec un UID effectif de O. | + | <WRAP center round important 60%> |
+ | **Important** - La sortie nous indique une mauvaise configuration (exited with status 96) du au fait que le fichier **/ | ||
+ | </ | ||
+ | |||
+ | ====Le fichier ntp.conf==== | ||
- | Quittez le rôle **tarback** ainsi que le compte | + | Le service |
< | < | ||
- | $ exit | + | # cp / |
- | $ exit | + | |
- | # | + | |
</ | </ | ||
- | ===LAB#2 - Rôles et Profils=== | + | Ouvrez ce fichier afin de consulter son contenu : |
- | Dans ce LAB vous allez permettre à l' | + | < |
+ | # cat / | ||
+ | # ident " | ||
+ | # | ||
+ | # Copyright 1996-2003 Sun Microsystems, | ||
+ | # Use is subject to license terms. | ||
+ | # | ||
+ | # / | ||
+ | # | ||
+ | # An example file that could be copied over to / | ||
+ | # edited; it provides a configuration template for a server that | ||
+ | # listens to an external hardware clock, synchronizes the local clock, | ||
+ | # and announces itself on the NTP multicast net. | ||
+ | # | ||
- | Vous allez : | + | # This is the external clock device. |
+ | # recognized by xntpd 3-5.93e: | ||
+ | # | ||
+ | # XType Device | ||
+ | # ------------------------------------------------------- | ||
+ | # 1 local | ||
+ | # 2 trak GPS TRAK 8820 GPS Receiver | ||
+ | # 3 pst | ||
+ | # 4 wwvb WWVB | ||
+ | # 5 true TRUE | ||
+ | # 6 irig IRIG IRIG Audio Decoder | ||
+ | # 7 chu | ||
+ | # 8 parse | ||
+ | # 9 mx4200 | ||
+ | # 10 as2201 | ||
+ | # 11 arbiter | ||
+ | # 12 tpro IRIG | ||
+ | # 13 leitch | ||
+ | # 15 * | ||
+ | # 17 datum | ||
+ | # 18 acts ACTS NIST Automated Computer Time Service | ||
+ | # 19 heath | ||
+ | # 20 nmea GPS Generic NMEA GPS Receiver | ||
+ | # 22 atom PPS PPS Clock Discipline | ||
+ | # 23 ptb | ||
+ | # 24 usno USNO USNO Modem Time Service | ||
+ | # 25 * | ||
+ | # 26 hpgps | ||
+ | # 27 arc | ||
+ | # | ||
+ | # * All TrueTime receivers are now supported by one driver, type 5. | ||
+ | # Types 15 and 25 will be retained only for a limited time and may | ||
+ | # be reassigned in future. | ||
+ | # | ||
+ | # Some of the devices benefit from " | ||
+ | # documentation. | ||
- | * Créer un rôle, | + | # Either a peer or server. |
- | * Créer le mot de passe pour le rôle, | + | # table above. |
- | * Ajouter le rôle aux rôles utilisables par un utilisateur, | + | server 127.127.XType.0 |
- | * Créer un profil, | + | fudge 127.127.XType.0 stratum 0 |
- | * Ajouter le profil au rôle, | + | |
- | * Ajouter une commande au profil, | + | |
- | * Tester votre configuration. | + | |
- | Pour commencer, utilisez la commande **roles** : | + | broadcast 224.0.1.1 ttl 4 |
- | #roles user1 [Entrée] | + | enable auth monitor |
+ | driftfile / | ||
+ | statsdir / | ||
+ | filegen peerstats file peerstats type day enable | ||
+ | filegen loopstats file loopstats type day enable | ||
+ | filegen clockstats file clockstats type day enable | ||
+ | |||
+ | keys / | ||
+ | trustedkey 0 | ||
+ | requestkey 0 | ||
+ | controlkey 0 | ||
+ | </ | ||
- | Vous obtiendrez les résultat suivant | + | Les directives actives de ce fichier sont : |
< | < | ||
- | # roles user1 | + | # egrep -v ' |
- | Pas de rôles | + | # cat / |
+ | server 127.127.XType.0 | ||
+ | fudge 127.127.XType.0 stratum 0 | ||
+ | broadcast 224.0.1.1 ttl 4 | ||
+ | enable auth monitor | ||
+ | driftfile / | ||
+ | statsdir / | ||
+ | filegen peerstats file peerstats type day enable | ||
+ | filegen loopstats file loopstats type day enable | ||
+ | filegen clockstats file clockstats type day enable | ||
+ | keys / | ||
+ | trustedkey 0 | ||
+ | requestkey 0 | ||
+ | controlkey 0 | ||
</ | </ | ||
- | Assumez | + | Les directives suivantes stipulent que votre serveur doit se synchroniser sur l'horloge locale, une horloge fictive, utilisée lors de l' |
- | #su - user1 [Entrée] | + | < |
+ | server 127.127.XType.0 | ||
+ | fudge 127.127.XType.0 stratum 0 | ||
+ | </ | ||
- | Vous obtiendrez les résultat suivant : | + | La valeur de **XType** doit être prise du tableau fourni dans le fichier lui-même. |
- | < | + | La directive suivante permet le broadcast au client |
- | # su - user1 | + | |
- | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | |
- | $ / | + | |
- | reboot | + | |
- | </ | + | |
- | Notez que dans l' | + | < |
+ | broadcast 224.0.1.1 ttl 4 | ||
+ | </ | ||
- | # roleadd -m -d / | + | La fonction suivante active le monitoring et fait que le serveur se synchronise avec les clients seulement si ceux-ci se sont bien authentifiés en utilisant une clé d' |
- | Vous obtiendrez les résultat suivant : | + | < |
+ | enable auth monitor | ||
+ | </ | ||
- | < | + | La directive suivante identifie le fichier contenant la déviation moyenne: |
- | # roleadd -m -d / | + | |
- | 64 blocs | + | |
- | </ | + | |
- | Créez maintenant un mot de passe pour reboot. Utilisez un mot de passe identique au nom du rôle : | + | < |
+ | driftfile / | ||
+ | </ | ||
- | # passwd reboot [Entrée] | + | La directive suivante indique le répertoire qui stocke les clefs symétriques lors d' |
- | Vous obtiendrez les résultat suivant : | + | < |
+ | keys / | ||
+ | trustedkey 0 | ||
+ | requestkey 0 | ||
+ | controlkey 0 | ||
+ | </ | ||
- | < | + | La directive suivante indique |
- | # passwd reboot | + | |
- | Nouveau mot de passe : | + | |
- | Entrez de nouveau | + | |
- | passwd: mot de passe correctement modifié pour reboot | + | |
- | </ | + | |
- | Vérifiez maintenant que le rôle a bien été créé : | + | < |
+ | statsdir / | ||
+ | </ | ||
- | # grep reboot /etc/passwd [Entrée] | + | La directive suivante indique les statistiques voulues : |
- | Vous obtiendrez les résultat suivant : | + | < |
+ | statistics loopstats peerstats clockstats | ||
+ | </ | ||
- | < | + | Les directives suivantes indiquent les statistiques à générer |
- | # grep reboot / | + | |
- | reboot:x: | + | |
- | </ | + | |
- | Ajoutez maintenant le rôle **reboot** aux rôles utilisables par **user1** : | + | < |
+ | filegen loopstats file loopstats type day enable | ||
+ | filegen peerstats file peerstats type day enable | ||
+ | filegen clockstats file clockstats type day enable | ||
+ | </ | ||
- | # usermod -R reboot user1 [Entrée] | + | Ce fichier a besoin d' |
- | Vérifiez maintenant que le rôle a bien été ajouté : | + | < |
+ | server 192.43.244.18 | ||
+ | server 192.203.230.41 | ||
+ | server 128.115.14.97 | ||
+ | server 128.252.19.1 | ||
+ | </ | ||
- | # grep " | + | Modifiez ensuite les lignes suivantes : |
+ | |||
+ | < | ||
+ | server 127.127.XType.1 | ||
+ | fudge 127.127.XType.1 stratum 0 | ||
+ | </file> | ||
- | Vous obtiendrez | + | Vous obtiendrez |
< | < | ||
- | # usermod -R reboot user1 | + | # vi / |
- | # grep " | + | # cat /tmp/ntp.conf |
- | user1::::type=normal; | + | server 192.43.244.18 |
+ | server 192.203.230.41 | ||
+ | server 128.115.14.97 | ||
+ | server 128.252.19.1 | ||
+ | server 127.127.XType.1 | ||
+ | fudge 127.127.XType.1 stratum 0 | ||
+ | broadcast 224.0.1.1 ttl 4 | ||
+ | enable auth monitor | ||
+ | driftfile / | ||
+ | statsdir / | ||
+ | filegen peerstats file peerstats | ||
+ | filegen loopstats file loopstats type day enable | ||
+ | filegen clockstats file clockstats type day enable | ||
+ | keys / | ||
+ | trustedkey 0 | ||
+ | requestkey 0 | ||
+ | controlkey 0 | ||
</ | </ | ||
- | Actuellement ce rôle ne possède aucun profil. Pour créer un profil, il convient d' | + | Mettez en place le fichier /etc/inet/ntp.conf |
- | | + | < |
+ | # cp / | ||
+ | # cp / | ||
+ | </ | ||
- | Il est maintenant nécessaire d' | + | Créez ensuite |
- | | + | < |
+ | # touch / | ||
+ | </ | ||
- | Vérifiez maintenant que le profil a bien été ajouté au rôle : | + | Démarrez ensuite |
- | | + | < |
+ | # svcadm clear svc:/network/ntp4: | ||
+ | # svcadm enable svc:/ | ||
+ | </ | ||
- | Vous obtiendrez les résultat suivant | + | Constatez l' |
< | < | ||
- | # grep reboot | + | # svcs -a | grep ntp |
- | reboot::::type=role; | + | disabled |
- | user1::::type=normal; | + | online |
+ | # svcs -l svc:/ | ||
+ | fmri svc:/ | ||
+ | name | ||
+ | enabled | ||
+ | state online | ||
+ | next_state | ||
+ | state_time | ||
+ | logfile | ||
+ | restarter | ||
+ | contract_id | ||
+ | dependency | ||
+ | dependency | ||
</ | </ | ||
- | Le profil REBOOT est actuellement vide. Il est nécessaire d' | + | Dernièrement, constatez la présence des statistiques |
- | + | ||
- | # echo " | + | |
- | + | ||
- | Le rôle ainsi que le profil ayant été configurés, assumez l' | + | |
< | < | ||
- | # su - user1 | + | # cd /var/ntp/ntpstats |
- | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | # ls |
- | $ /usr/sbin/reboot | + | loopstats |
- | reboot : autorisation refusée | + | |
</ | </ | ||
- | Vous noterez que vous n'avez pas l' | + | =====LAB #3 - Installation et Configuration du Serveur FTP===== |
- | $ su reboot [Entrée] | + | ====Introduction==== |
- | Fermez toutes vos fenêtres et essayez ensuite de redémarrer | + | Solaris 10 à un serveur FTP pré-installé. Ce serveur est basé sur le serveur **WU-FTPd** de l' |
+ | |||
+ | ====installation==== | ||
+ | |||
+ | Vérifiez donc l' | ||
< | < | ||
- | $ /usr/sbin/reboot | + | # svcs ftp |
+ | STATE STIME FMRI | ||
+ | online | ||
</ | </ | ||
- | Quand votre système a redémarré, | + | Le serveur FTP est géré par inetd. Consultez donc sa configuration |
< | < | ||
- | # su - user2 | + | # inetadm |
- | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | SCOPE NAME=VALUE |
- | $ su reboot | + | |
- | Mot de passe : | + | |
- | Les rôles ne peuvent être assumés que par des utilisateurs autorisés | + | |
- | su: Désolé | + | |
+ | | ||
+ | exec="/ | ||
+ | user=" | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
</ | </ | ||
- | Notez que ceci n'est pas possible. | + | <WRAP center round important 60%> |
+ | **Important** - L'option **-a** passé à l' | ||
+ | </ | ||
- | Quittez le compte | + | ====Configuration de la Journalisation==== |
+ | |||
+ | Pour rendre la journalisation plus détaillé il faut passé la valeur de la directive | ||
< | < | ||
- | $ exit | + | # inetadm -m svc:/ |
- | # | + | # inetadm -l svc:/ |
+ | SCOPE NAME=VALUE | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | default | ||
+ | | ||
+ | default | ||
+ | default | ||
</ | </ | ||
- | ===LAB# | + | <WRAP center round important 60%> |
+ | **Important** | ||
+ | </ | ||
- | Dans ce LAB vous allez associer une autorisation à un service. Chaque utilisateur ou rôle ayant cette autorisation pourras travailler avec le service. | + | Consulte maintenant |
- | Vous allez : | + | < |
+ | # cat / | ||
+ | # ident " | ||
+ | # | ||
+ | # FTP server configuration file, see ftpaccess(4). | ||
+ | # | ||
- | | + | class |
- | * Informer Apache2 de la création de l' | + | class |
- | * Associer l' | + | class |
- | * Tester votre configuration. | + | |
- | Tout d' | + | loginfails |
+ | passwd-check | ||
+ | private | ||
+ | shutdown | ||
+ | # email | ||
+ | # guestuser | ||
+ | # rhostlookup | ||
- | | + | keepalive |
+ | recvbuf | ||
+ | sendbuf | ||
+ | # flush-wait | ||
+ | # passive | ||
+ | # timeout | ||
+ | # timeout | ||
- | Vous obtiendrez le résultat suivant : | + | banner |
+ | greeting | ||
+ | message | ||
+ | message | ||
+ | readme | ||
+ | readme | ||
+ | # quota-info | ||
- | < | + | chmod |
- | # su - user1 | + | delete |
- | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | overwrite |
- | $ / | + | rename |
- | svcadm: svc:/ | + | umask |
- | $ exit | + | |
- | # | + | |
- | </ | + | |
- | Créez maintenant une autorisation pour gérer le service d' | + | compress |
+ | tar | ||
- | # echo " | + | path-filter |
- | Actuellement Apache n'est pas au courant de cette autorisation. Pour vérifier ce point,il convient d' | + | noretrieve |
+ | allow-retrieve | ||
- | | + | upload |
+ | # upload | ||
- | Vous obtiendrez le résultat suivant | + | # log |
+ | # log | ||
+ | # log | ||
+ | # xferlog | ||
+ | |||
+ | # limit-time | ||
+ | # limit | ||
+ | # limit | ||
+ | </ | ||
+ | |||
+ | Pour activer la journalisation il convient de décommenter les deux lignes suivantes | ||
< | < | ||
- | # svcprop -p general apache2 | + | # vi /etc/ |
- | general/enabled boolean false | + | # cat /etc/ |
- | general/entity_stability astring Evolving | + | ... |
+ | log | ||
+ | xferlog | ||
+ | ... | ||
</ | </ | ||
- | Notez que l' | + | Ajoutez maintenant les options **-l**, **-L**, **-X** et **-w** à la valeur |
- | | + | < |
+ | # svccfg | ||
+ | svc:> select ftp | ||
+ | svc:/ | ||
+ | svc:/ | ||
+ | general | ||
+ | general/ | ||
+ | general/ | ||
+ | inetd framework | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd/ | ||
+ | inetd_start | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_start/ | ||
+ | inetd_disable | ||
+ | inetd_disable/exec | ||
+ | inetd_disable/ | ||
+ | inetd_disable/ | ||
+ | tm_common_name | ||
+ | tm_common_name/ | ||
+ | tm_man_in_ftpd | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_in_ftpd/ | ||
+ | tm_man_ftpd | ||
+ | tm_man_ftpd/ | ||
+ | tm_man_ftpd/ | ||
+ | tm_man_ftpd/ | ||
+ | svc:/ | ||
+ | </ | ||
<WRAP center round important 60%> | <WRAP center round important 60%> | ||
- | A l'aide du manuel, expliquez-vous cette ligne de commande. | + | **Important** - L' |
</ | </ | ||
- | Vérifiez maintenant | + | Le serveur FTP envoie des traces à syslog en utilisant |
- | + | ||
- | # svcadm refresh apache2; svcprop -p general apache2 [Entrée] | + | |
< | < | ||
- | # svcadm refresh apache2; svcprop -p general apache2 | + | # vi /etc/syslog |
- | general/enabled boolean true | + | # cat /etc/syslog |
- | general/action_authorization astring solaris.smf.manage.apache/server | + | ... |
- | general/entity_stability astring Evolving | + | *.err; |
+ | *.err;kern.debug; | ||
+ | daemon.info | ||
+ | ... | ||
</ | </ | ||
- | Notez que l'**action_authorization** a bien été associée avec le service. | + | Créez le fichier |
- | Vous pouvez maintenant associer cette autorisation à l' | + | < |
+ | # touch / | ||
+ | # svcadm restart inetd | ||
+ | # svcadm restart network/ | ||
+ | # svcadm restart system-log | ||
+ | </ | ||
- | # usermod | + | Connectez-vous maintenant au serveur FTP en tant qu'user1 et tapez quelques commandes |
- | + | ||
- | Devenez | + | |
< | < | ||
- | # su - user1 | + | # ftp localhost |
- | Sun Microsystems Inc. SunOS 5.10 Generic January 2005 | + | Connected to localhost. |
- | $ svcs apache2 | + | 220 solaris.i2tch.loc FTP server ready. |
- | STATE STIME FMRI | + | Name (localhost: |
- | online | + | 331 Password required for user1. |
+ | Password: | ||
+ | 230 User user1 logged in. | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> pwd | ||
+ | 257 "/export/home/ | ||
+ | ftp> ls | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening ASCII mode data connection for file list. | ||
+ | local.cshrc | ||
+ | local.login | ||
+ | local.profile | ||
+ | 226 Transfer complete. | ||
+ | 41 bytes received in 0.0016 seconds (25.43 Kbytes/s) | ||
+ | ftp> quit | ||
+ | 221-You have transferred 0 bytes in 0 files. | ||
+ | 221-Total traffic for this session was 512 bytes in 1 transfers. | ||
+ | 221-Thank you for using the FTP service on solaris.i2tch.loc. | ||
+ | 221 Goodbye. | ||
</ | </ | ||
- | L' | + | Connectez-vous maintenant |
- | | + | < |
+ | # ftp localhost | ||
+ | Connected to localhost. | ||
+ | 220 solaris.i2tch.loc FTP server ready. | ||
+ | Name (localhost: | ||
+ | 331 Guest login ok, send your complete e-mail address as password. | ||
+ | Password: | ||
+ | 230-The response ' | ||
+ | 230-Next time please use your e-mail address as your password | ||
+ | 230- for example: joe@localhost.network | ||
+ | 230 Guest login ok, access restrictions apply. | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> pwd | ||
+ | 257 "/" is current directory. | ||
+ | ftp> !pwd | ||
+ | / | ||
+ | ftp> !touch test | ||
+ | ftp> !ls | ||
+ | Desktop | ||
+ | Documents | ||
+ | bin | ||
+ | boot etc | ||
+ | core export | ||
+ | ftp> put test | ||
+ | 200 PORT command successful. | ||
+ | 553 test: Permission denied on server. (Upload) | ||
+ | ftp> quit | ||
+ | 221-You have transferred 0 bytes in 1 files. | ||
+ | 221-Total traffic for this session was 745 bytes in 1 transfers. | ||
+ | 221-Thank you for using the FTP service on solaris.i2tch.loc. | ||
+ | 221 Goodbye. | ||
+ | </code> | ||
- | Vous obtiendrez | + | Consultez |
< | < | ||
- | $ /usr/sbin/svcadm disable apache2 | + | # cat /var/adm/ftplog |
- | svcadm: svc:/ | + | Jan 18 16:50:16 solaris.i2tch.loc inetd[1421]: [ID 317013 daemon.notice] ftp[1587] from 127.0.0.1 32826 |
+ | Jan 18 16:59:38 solaris.i2tch.loc in.ftpd[1660]: | ||
+ | Jan 18 16:59:38 solaris.i2tch.loc inetd[1421]: | ||
+ | Jan 18 16:59:42 solaris.i2tch.loc ftpd[1660]: [ID 165209 daemon.info] USER user1 | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 125383 daemon.info] PASS password | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 124999 daemon.info] FTP LOGIN FROM localhost [127.0.0.1], | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 470890 daemon.info] SYST | ||
+ | Jan 18 16:59:47 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 16:59:50 solaris.i2tch.loc ftpd[1660]: [ID 924372 daemon.info] PWD | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 313182 daemon.info] PORT | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE ASCII | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 188419 daemon.info] NLST | ||
+ | Jan 18 16:59:52 solaris.i2tch.loc ftpd[1660]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 16:59:55 solaris.i2tch.loc ftpd[1660]: [ID 225560 daemon.info] QUIT | ||
+ | Jan 18 16:59:55 solaris.i2tch.loc ftpd[1660]: [ID 528697 daemon.info] FTP session closed | ||
+ | Jan 18 17:00:01 solaris.i2tch.loc in.ftpd[1664]: | ||
+ | Jan 18 17:00:01 solaris.i2tch.loc inetd[1421]: | ||
+ | Jan 18 17:00:04 solaris.i2tch.loc ftpd[1664]: [ID 165209 daemon.info] USER anonymous | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 351301 daemon.info] PASS dfghj | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 210975 daemon.info] ANONYMOUS FTP LOGIN FROM localhost [127.0.0.1], | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 470890 daemon.info] SYST | ||
+ | Jan 18 17:00:06 solaris.i2tch.loc ftpd[1664]: [ID 307055 daemon.info] TYPE Image | ||
+ | Jan 18 17:00:08 solaris.i2tch.loc ftpd[1664]: [ID 924372 daemon.info] PWD | ||
+ | Jan 18 17:00:43 solaris.i2tch.loc ftpd[1664]: [ID 313182 daemon.info] PORT | ||
+ | Jan 18 17:00:43 solaris.i2tch.loc ftpd[1664]: [ID 206289 daemon.info] STOR test | ||
+ | Jan 18 17:00:59 solaris.i2tch.loc ftpd[1664]: [ID 225560 daemon.info] QUIT | ||
+ | Jan 18 17:00:59 solaris.i2tch.loc ftpd[1664]: [ID 528697 daemon.info] FTP session closed | ||
</ | </ | ||
- | Notez que l' | + | ====Configuration des Connexions Anonymes==== |
- | # svccfg -s apache2 setprop general/ | + | Solaris 10 contient un script dénommé **ftpconfig** qui permet de configurer automatiquement un chroot pour les connexions anonymes |
< | < | ||
- | $ exit | + | # ftpconfig / |
- | # svccfg -s apache2 setprop general/value_authorization=astring: | + | Updating user ftp |
+ | Creating directory / | ||
+ | Updating directory /export/home/ftp_pub | ||
</ | </ | ||
- | <WRAP center round important 60%> | + | Consultez le contenu |
- | A l' | + | |
- | </WRAP> | + | |
- | + | ||
- | Essayez de nouveau à démarrer le service apache2 en tant que l' | + | |
< | < | ||
- | # su - user1 | + | # ls -l / |
- | Sun Microsystems Inc. | + | total 12 |
- | $ /usr/sbin/svcadm disable apache2 | + | lrwxrwxrwx |
- | $ svcs apache2 | + | d--x--x--x |
- | STATE STIME FMRI | + | d--x--x--x |
- | disabled | + | d--x--x--x |
+ | drwxr-xr-x | ||
+ | d--x--x--x | ||
</ | </ | ||
- | Activez de nouveau | + | Pour activer |
< | < | ||
- | $ /usr/sbin/svcadm enable apache2 | + | # vi /etc/ftpd/ftpaccess |
- | $ svcs apache2 | + | # cat / |
- | STATE STIME FMRI | + | ... |
- | online | + | upload |
+ | # upload | ||
+ | # upload | ||
+ | ... | ||
</ | </ | ||
- | L' | + | Modifiez |
- | ===LAB#4 - RBAC et les Privilèges=== | + | < |
+ | # chmod 777 / | ||
+ | </ | ||
- | Dans ce LAB vous allez associer un privilège à un utilisateur | + | Postionnez-vous dans le répertoire **/ |
- | Vous allez : | + | < |
+ | # cd /tmp | ||
+ | # touch ftptest | ||
+ | # ls | ||
+ | ftptest | ||
+ | </ | ||
- | * Attribuer directement des privilèges à un utilisateur, | + | Connectez-vous au serveur FTP en tant que l'utilisateur **anonymous** et téléversez le fichier **ftptest** : |
- | | + | |
- | Les **Privilèges** permettent à un utilisateur de faire quelque chose avec le noyau. Il existe 70 privilèges | + | < |
+ | # ftp localhost | ||
+ | Connected to localhost. | ||
+ | 220 solaris.i2tch.loc FTP server ready. | ||
+ | Name (localhost:root): anonymous | ||
+ | 331 Guest login ok, send your complete e-mail address as password. | ||
+ | Password: | ||
+ | 230-The response ' | ||
+ | 230-Next time please use your e-mail address as your password | ||
+ | 230- for example: joe@localhost.network | ||
+ | 230 Guest login ok, access restrictions apply. | ||
+ | Remote system type is UNIX. | ||
+ | Using binary mode to transfer files. | ||
+ | ftp> ls | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening ASCII mode data connection for file list. | ||
+ | bin | ||
+ | dev | ||
+ | etc | ||
+ | lib | ||
+ | pub | ||
+ | usr | ||
+ | 226 Transfer complete. | ||
+ | 30 bytes received in 0.00016 seconds (180.11 Kbytes/s) | ||
+ | ftp> cd /pub | ||
+ | 250 CWD command successful. | ||
+ | ftp> !ls | ||
+ | ftptest | ||
+ | ftp> put ftptest | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening BINARY mode data connection for ftptest. | ||
+ | 226 Transfer complete. | ||
+ | ftp> ls | ||
+ | 200 PORT command successful. | ||
+ | 150 Opening ASCII mode data connection for file list. | ||
+ | ftptest | ||
+ | 226 Transfer complete. | ||
+ | 9 bytes received in 0.00012 seconds (71.52 Kbytes/s) | ||
+ | </ | ||
- | < | + | ====Sécurisation du Serveur FTP==== |
- | contract_event contract_observer cpc_cpu dtrace_kernel dtrace_proc dtrace_user file_chown file_chown_self file_dac_execute file_dac_read file_dac_search file_dac_write file_downgrade_sl file_flag_set file_link_any file_owner file_setid file_upgrade_sl graphics_access graphics_map ipc_dac_read ipc_dac_write ipc_owner net_bindmlp net_icmpaccess net_mac_aware net_privaddr net_rawaccess proc_audit proc_chroot proc_clock_highres proc_exec proc_fork proc_info proc_lock_memory proc_owner proc_priocntl proc_session proc_setid proc_taskid proc_zone sys_acct sys_admin sys_audit sys_config sys_devices sys_ip_config sys_ipc_config sys_linkdir sys_mount sys_net_config sys_nfs sys_res_config sys_resource sys_smb sys_suser_compat sys_time sys_trans_label win_colormap win_config win_dac_read win_dac_write win_devices win_dga win_downgrade_sl win_fontpath win_mac_read win_mac_write win_selection win_upgrade_sl | + | |
- | </ | + | |
- | Chaque processus dans le système possède 4 jeux de privilèges. Pour consulter | + | Afin de sécuriser |
- | + | ||
- | # ppriv -v $$ [Entrée] | + | |
- | + | ||
- | Vous obtiendrez | + | |
< | < | ||
- | $ exit | + | # cat / |
- | # ppriv -v $$ | + | # ident " |
- | 1137: sh | + | # |
- | flags = < | + | # List of users denied access to the FTP server, see ftpusers(4). |
- | E: contract_event,contract_observer, | + | # |
- | I: file_link_any, | + | root |
- | P: contract_event, | + | daemon |
- | L: contract_event, | + | bin |
+ | sys | ||
+ | adm | ||
+ | lp | ||
+ | uucp | ||
+ | nuucp | ||
+ | smmsp | ||
+ | listen | ||
+ | gdm | ||
+ | webservd | ||
+ | unknown | ||
+ | nobody | ||
+ | noaccess | ||
+ | nobody4 | ||
</ | </ | ||
- | Les quatre jeux sont identifiés par une lettre : | + | =====LAB #4 - Installation et Configuration du Serveur DHCP===== |
- | ^ Lettre ^ Description ^ | + | ====Introduction==== |
- | | E | Privilèges effectifs | | + | |
- | | I | Privilèges par héritage | | + | |
- | | P | Privilèges autorisés | | + | |
- | | L | Privilèges Limités | | + | |
- | Pour faciliter | + | Un serveur DHCP (**Dynamic Host Configuration Protocol**) est un ordinateur exécutant un logiciel serveur DHCP. L’avantage de la présence d’un serveur DHCP sur le réseau local est que celui-ci permet de spécifier à un niveau central |
+ | |||
+ | ====Installation==== | ||
+ | |||
+ | Sous **Solaris** le serveur DHCP est installé par défaut mais il n'est pas activé | ||
< | < | ||
- | # ppriv $$ | + | # svcs -a | grep dhcp |
- | 1137: sh | + | disabled |
- | flags = < | + | |
- | E: all | + | |
- | I: basic | + | |
- | P: all | + | |
- | L: all | + | |
- | # su user2 | + | |
- | $ ppriv $$ | + | |
- | 1193: sh | + | |
- | flags = < | + | |
- | E: basic | + | |
- | I: basic | + | |
- | P: basic | + | |
- | L: all | + | |
</ | </ | ||
- | L' | + | Il convient donc de l'activer grâce à la commande |
< | < | ||
- | $ exit | + | # svcadm enable svc:/ |
- | # ppriv -v $$ | + | # svcs -a | grep dhcp |
- | 1137: sh | + | offline |
- | flags = < | + | |
- | | + | |
- | I: file_link_any, | + | |
- | P: contract_event, | + | |
- | L: contract_event, | + | |
</ | </ | ||
- | Dans notre cas, nous souhaitons donner les privilèges de l' | + | Notez que le statut du service passe de ***disabled** à **offline**. Commençons par cannaître la raison |
- | | + | < |
- | * dtrace_proc | + | # svcs -l svc:/ |
- | * dtrace_user | + | fmri |
+ | name DHCP server | ||
+ | enabled | ||
+ | state offline | ||
+ | next_state | ||
+ | state_time | ||
+ | restarter | ||
+ | dependency | ||
+ | dependency | ||
+ | </ | ||
+ | |||
+ | <WRAP center round important 60%> | ||
+ | **Important** - La sortie nous informe que la raison du statut **offline** est l' | ||
+ | </ | ||
- | Afin d' | + | ====Configuration==== |
- | # usermod -K defaultpriv=basic, | + | ===Création du Fichier / |
- | Devenez maintenant user2 et contrôlez ses privilèges | + | Pour créer le fichier **/ |
< | < | ||
- | # su user2 | + | # / |
- | $ ppriv $$ | + | Created DHCP configuration file. |
- | 1228: sh | + | Created dhcptab. |
- | flags = < | + | Added " |
- | E: basic, | + | Added server macro to dhcptab - solaris. |
- | I: basic, | + | DHCP server started. |
- | P: basic, | + | |
- | L: all | + | |
</ | </ | ||
- | Vous noterez que les privilèges ont été ajoutés. | + | Consultez le contenu du fichier **/ |
- | Dans l' | + | < |
+ | # cat / | ||
+ | DAEMON_ENABLED=TRUE | ||
+ | RESOURCE=SUNWfiles | ||
+ | RUN_MODE=server | ||
+ | PATH=/ | ||
+ | CONVER=1 | ||
+ | </ | ||
- | Dans le cas de ce LAB, nous allons d'abord créer un rôle appelé **chbogues** en utilisant le profil **Process Management**: | + | Il est possible d' |
+ | |||
+ | < | ||
+ | # vi / | ||
+ | # cat / | ||
+ | DAEMON_ENABLED=TRUE | ||
+ | RESOURCE=SUNWfiles | ||
+ | RUN_MODE=server | ||
+ | PATH=/ | ||
+ | CONVER=1 | ||
+ | INTERFACES=e1000g0 | ||
+ | </ | ||
- | # roleadd -m -d / | + | ===Création de la Table de Réseau=== |
- | Saisissez donc la commande. Vous obtiendrez | + | Configurez maintenant une table réseau pour le serveur DHCP en utilisant l' |
< | < | ||
- | $ exit | + | # /usr/sbin/dhcpconfig -N 10.0.2.0 -t 10.0.2.2 |
- | # roleadd -m -d /export/home/chbogues | + | Added network macro to dhcptab |
- | 64 blocs | + | Created network table. |
</ | </ | ||
- | Attribuez maintenant le mot de passe **chbogues** au rôle chbogue | + | Listez les tables réseau du serveur DHCP : |
< | < | ||
- | # passwd chbogues | + | # pntadm -L |
- | Nouveau mot de passe : | + | 10.0.2.0 |
- | Entrez de nouveau le mot de passe : | + | |
- | passwd: mot de passe correctement modifié pour chbogues | + | |
</ | </ | ||
- | Il est maintenant nécessaire | + | La table réseau prend la forme d'un fichier nommé **SUNWfiles1_10_0_2_0** dans le répertoire **/ |
- | | + | < |
+ | # ls /var/dhcp | grep 10 | ||
+ | SUNWfiles1_10_0_2_0 | ||
+ | # cat / | ||
+ | # SUNWfiles1_10_0_2_0 | ||
+ | # | ||
+ | # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead | ||
+ | # | ||
+ | # | ||
+ | </ | ||
- | et ensuite d' | + | <WRAP center round important 60%> |
+ | **Important** - Notez que la table est actuelleemnt vide. | ||
+ | </ | ||
- | # usermod -R chbogues user1 [Entrée] | + | Consultez les informations concernant la table réseau |
- | + | ||
- | Devenez maintenant user1 et contrôlez ses privilèges | + | |
< | < | ||
- | # su user1 | + | # dhtadm -P |
- | $ ppriv $$ | + | Name Type Value |
- | 1254: sh | + | ================================================== |
- | flags = < | + | 10.0.2.0 |
- | E: basic | + | solaris |
- | I: basic | + | Locale |
- | P: basic | + | |
- | L: all | + | |
</ | </ | ||
- | Vous noterez que l' | + | Ajoutez une entrée à la table **10.0.2.0** de la machine **solaris** en utilisant l'option **-A** |
- | + | ||
- | En tant qu'user1, assumez le rôle chbogues et contrôlez les privilèges | + | |
< | < | ||
- | $ su chbogues | + | # pntadm -A 10.0.2.50 -m solaris 10.0.2.0 |
- | Mot de passe : | + | # pntadm -P 10.0.2.50 |
- | $ ppriv $$ | + | Client ID Flags Client IP Server IP Lease Expiration |
- | 1263: | + | |
- | flags = < | + | 00 00 10.0.2.50 10.0.2.15 Zero |
- | E: basic, | + | |
- | I: basic, | + | |
- | P: basic, | + | |
- | L: all | + | |
</ | </ | ||
- | Grâce au rôle, user1 peut maintenant utiliser les privilèges dtrace_kernel, | + | Consultez |
- | + | ||
- | L' | + | |
< | < | ||
- | $ exit | + | # cat /var/dhcp/SUNWfiles1_10_0_2_0 |
- | $ exit | + | # SUNWfiles1_10_0_2_0 |
- | # ps -ef | grep " | + | # |
- | daemon | + | # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead |
- | | + | # |
- | # ppriv -v 120 | + | 10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| |
- | 120: / | + | |
- | flags = PRIV_AWARE | + | |
- | E: file_owner, | + | |
- | I: none | + | |
- | P: file_owner, | + | |
- | L: none | + | |
</ | </ | ||
- | Notez ici que le démon ne possède que les privilèges minimums pour pouvoir exécuter correctement. | + | Ajoutez neuf autres entrées : |
+ | < | ||
+ | # pntadm -A 10.0.2.51 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.52 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.53 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.54 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.55 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.56 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.57 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.58 -m solaris 10.0.2.0 | ||
+ | # pntadm -A 10.0.2.59 -m solaris 10.0.2.0 | ||
+ | </ | ||
- | =====Références===== | + | Vérifez maintenant le contenu du fichier **/ |
- | * **[[http://www.oracle.com/ | + | < |
+ | # cat /var/dhcp/ | ||
+ | # SUNWfiles1_10_0_2_0 | ||
+ | # | ||
+ | # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead | ||
+ | # | ||
+ | 10.0.2.50|00|00|10.0.2.15|0|2945917106253725697|solaris| | ||
+ | 10.0.2.51|00|00|10.0.2.15|0|5726608401178296321|solaris| | ||
+ | 10.0.2.52|00|00|10.0.2.15|0|92886742314516481|solaris| | ||
+ | 10.0.2.53|00|00|10.0.2.15|0|251075679225905153|solaris| | ||
+ | 10.0.2.54|00|00|10.0.2.15|0|14762799578520485889|solaris| | ||
+ | 10.0.2.55|00|00|10.0.2.15|0|14206886499516940289|solaris| | ||
+ | 10.0.2.56|00|00|10.0.2.15|0|18410996751667298305|solaris| | ||
+ | 10.0.2.57|00|00|10.0.2.15|0|6406933419887951873|solaris| | ||
+ | 10.0.2.58|00|00|10.0.2.15|0|12357877377504641025|solaris| | ||
+ | 10.0.2.59|00|00|10.0.2.15|0|12228117413241028609|solaris| | ||
+ | </ | ||
----- | ----- | ||
< | < | ||
- | < | + | <div align=" |
- | Copyright © 2011-2018 I2TCH LIMITED.< | + | Copyright © 2020 Hugh Norris. |
- | </ | + | |
</ | </ | ||
+ |