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/17 14:27] – admin | elearning:workbooks:solaris:10:junior:l121 [2020/01/30 03:28] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 965: | Ligne 965: | ||
| Constatez l' | Constatez l' | ||
| - | |||
| < | < | ||
| Ligne 993: | Ligne 992: | ||
| </ | </ | ||
| - | =====Le Serveur FTP===== | + | =====LAB #3 - Installation et Configuration du Serveur FTP===== |
| - | ==== Installation | + | ====Introduction==== |
| - | Sous **Solaris**, un serveur | + | Solaris |
| - | < | + | ====installation==== |
| - | # svcs -a | grep ftp | + | |
| - | online | + | |
| - | online | + | |
| - | </ | + | |
| - | Le serveur FTP de Sun ne peut pas être configuré et n'est pas dans un **chroot**. Désactivez | + | Vérifiez |
| < | < | ||
| - | # svcadm disable svc:/ | + | # svcs ftp |
| - | # svcs -a | grep ftp | + | STATE STIME FMRI |
| - | disabled | + | online |
| - | online | + | |
| </ | </ | ||
| - | Le paquet | + | Le serveur FTP est géré par inetd. Consultez donc sa configuration en utilisant la commande |
| < | < | ||
| - | # /opt/csw/bin/pkgutil | + | # inetadm -l svc:/network/ftp: |
| - | ... | + | SCOPE NAME=VALUE |
| - | L' | + | |
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| + | default | ||
| </ | </ | ||
| - | ====Configuration de base==== | + | <WRAP center round important 60%> |
| + | **Important** - L' | ||
| + | </ | ||
| - | Le fichier / | + | ====Configuration de la Journalisation==== |
| - | # cp / | + | Pour rendre la journalisation plus détaillé il faut passé la valeur de la directive |
| - | + | ||
| - | / | + | |
| - | + | ||
| - | Ouvrez le fichier | + | |
| < | < | ||
| - | # cat /opt/csw/etc/proftpd.conf | + | # inetadm -m svc:/network/ftp:default tcp_trace=TRUE |
| - | # This is a basic ProFTPD configuration file (rename it to | + | # inetadm -l svc:/network/ftp |
| - | # ' | + | SCOPE NAME=VALUE |
| - | # and a single anonymous login. | + | name="ftp" |
| - | # "nobody" | + | |
| - | + | proto="tcp6" | |
| - | ServerName | + | isrpc=FALSE |
| - | ServerType | + | wait=FALSE |
| - | DefaultServer | + | exec="/ |
| - | + | | |
| - | # Port 21 is the standard FTP port. | + | default |
| - | Port 21 | + | default |
| - | + | default | |
| - | # Don't use IPv6 support by default. | + | default |
| - | UseIPv6 | + | default |
| - | + | default | |
| - | # Umask 022 is a good standard umask to prevent new dirs and files | + | default |
| - | # from being group and world writable. | + | default |
| - | Umask 022 | + | default |
| - | + | tcp_trace=TRUE | |
| - | # To prevent DoS attacks, set the maximum number of child processes | + | default |
| - | # to 30. If you need to allow more than 30 concurrent connections | + | default |
| - | # at once, simply increase this value. | + | |
| - | # in standalone mode, in inetd mode you should use an inetd server | + | |
| - | # that allows you to limit maximum number of processes per service | + | |
| - | # (such as xinetd). | + | |
| - | MaxInstances | + | |
| - | + | ||
| - | # Set the user and group under which the server will run. | + | |
| - | User nobody | + | |
| - | Group | + | |
| - | + | ||
| - | # To cause every FTP user to be "jailed" | + | |
| - | # directory, uncomment this line. | + | |
| - | # | + | |
| - | + | ||
| - | # Normally, we want files to be overwriteable. | + | |
| - | AllowOverwrite | + | |
| - | + | ||
| - | # Bar use of SITE CHMOD by default | + | |
| - | <Limit SITE_CHMOD> | + | |
| - | DenyAll | + | |
| - | </ | + | |
| - | + | ||
| - | # A basic anonymous configuration, | + | |
| - | # want anonymous users, simply delete this entire < | + | |
| - | < | + | |
| - | User ftp | + | |
| - | Group ftp | + | |
| - | + | ||
| - | # We want clients to be able to login with "anonymous" | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + | ||
| - | | + | |
| - | | + | |
| - | DenyAll | + | |
| - | </ | + | |
| - | </ | + | |
| </ | </ | ||
| - | |||
| - | Dans ce fichier, la directive suivante contient le nom de votre serveur FTP: | ||
| - | |||
| - | < | ||
| - | ServerName | ||
| - | </ | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | **Important** - Ce nom sera visible au client ftp utilisé pour la connexion. Vous pouvez modifier ce nom. | + | **Important** - Notez la directive **tcp_trace=TRUE**. |
| </ | </ | ||
| - | La directive suivante définit que le processus proftpd ne dépendra pas de xinetd: | + | Consulte maintenant |
| - | <file> | + | <code> |
| - | ServerType | + | # cat / |
| - | </file> | + | # ident " |
| + | # | ||
| + | # FTP server configuration | ||
| + | # | ||
| - | <WRAP center round important 60%> | + | class |
| - | **Important** - Cette directive est importante dans la mesure où les directives de sécurité détaillées ci-dessous ne fonctionne **pas** en mode inetd. | + | class |
| - | </ | + | class |
| - | La directive suivante indique que vous utilisez le serveur par défaut: | + | loginfails |
| + | passwd-check | ||
| + | private | ||
| + | shutdown | ||
| + | # email | ||
| + | # guestuser | ||
| + | # rhostlookup | ||
| - | < | + | keepalive |
| - | DefaultServer | + | recvbuf |
| - | </file> | + | sendbuf |
| + | # flush-wait | ||
| + | # passive | ||
| + | # timeout | ||
| + | # timeout | ||
| - | <WRAP center round important 60%> | + | banner |
| - | **Important** - En effet, proftpd est capable de gérer, tout comme apache, des serveurs virtuels. | + | greeting |
| - | </ | + | message |
| + | message | ||
| + | readme | ||
| + | readme | ||
| + | # quota-info | ||
| - | La directive suivante stipule le port d' | + | chmod |
| + | delete | ||
| + | overwrite | ||
| + | rename | ||
| + | umask | ||
| - | < | + | compress |
| - | Port 21 | + | tar |
| - | </ | + | |
| - | <WRAP center round important 60%> | + | path-filter |
| - | **Important** | + | |
| - | </ | + | |
| - | La directive suivante indique que les nouveaux fichiers seront créés avec un mask de 0644 et les nouveaux répertoires avec un mask de 0755: | + | noretrieve |
| + | allow-retrieve | ||
| - | < | + | upload |
| - | Umask 022 | + | # upload |
| - | </file> | + | |
| - | La directive suivante stipule que chaque utilisateur ayant un compte système valide, sauf les membres du groupe **adm**, | + | # log |
| + | # log | ||
| + | # log | ||
| + | # xferlog | ||
| - | < | + | # limit-time anonymous |
| - | #DefaultRoot ~ | + | # limit |
| - | </ | + | # limit |
| - | + | ||
| - | <WRAP center round important 60%> | + | |
| - | **Important** | + | |
| - | </ | + | |
| - | + | ||
| - | La directive suivante ne fonctione qu'en mode **standalone**. Sa fonction est d' | + | |
| - | + | ||
| - | < | + | |
| - | MaxInstances | + | |
| - | </ | + | |
| - | + | ||
| - | Les directives suivantes indiquent l' | + | |
| - | + | ||
| - | < | + | |
| - | User | + | |
| - | Group nogroup | + | |
| - | </ | + | |
| - | + | ||
| - | La directive **%%AllowOverwrite%%** indique qu'un fichier déjà présent peut être écrasé lors du téléversement d'un fichier du **même nom** : | + | |
| - | + | ||
| - | < | + | |
| - | AllowOverwrite | + | |
| - | </ | + | |
| - | + | ||
| - | La directive **<Limit SITE_CHMOD> | + | |
| - | + | ||
| - | < | + | |
| - | # Bar use of SITE CHMOD by default | + | |
| - | <Limit SITE_CHMOD> | + | |
| - | DenyAll | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Editez le fichier /opt/csw/etc/proftpd.conf et otez le caractère **#** devant la directive **DefaultRoot ~** : | + | |
| - | + | ||
| - | < | + | |
| - | DefaultRoot ~ | + | |
| - | </file> | + | |
| - | + | ||
| - | Ensuite ajoutez les deux directives **AllowRetrieveRestart** et **AllowStoreRestart** **avant** la section suivante : | + | |
| - | + | ||
| - | < | + | |
| - | # A basic anonymous configuration, | + | |
| - | # want anonymous users, simply delete this entire < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | AllowRetrieveRestart offre la possibilité aux clients de continuer un téléchargement suite à une coupure de la connexion avec celui-ci sans avoir à tout recommencer : | + | |
| - | + | ||
| - | < | + | |
| - | AllowRetrieveRestart | + | |
| - | </file> | + | |
| - | + | ||
| - | AllowStoreRestart offre la possibilité aux clients de continuer un téléversement suite à une coupure de la connexion avec celui-ci sans avoir à tout recommencer. | + | |
| - | + | ||
| - | < | + | |
| - | AllowStoreRestart | + | |
| - | </file> | + | |
| - | + | ||
| - | Sauvegardez votre fichier et démarrez ensuite le serveur proftpd : | + | |
| - | + | ||
| - | # /opt/ | + | |
| - | + | ||
| - | Connectez-vous à votre serveur proftpd en tant qu' | + | |
| - | + | ||
| - | < | + | |
| - | # ftp localhost | + | |
| - | Connected to localhost. | + | |
| - | 220 ProFTPD 1.3.5b Server (ProFTPD Default Installation) [127.0.0.1] | + | |
| - | Name (localhost: | + | |
| - | 331 Password required for user2 | + | |
| - | Password: | + | |
| - | 230 User user2 logged in | + | |
| - | 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 | + | |
| - | local.cshrc | + | |
| - | local.login | + | |
| - | local.profile | + | |
| - | 226 Transfer complete | + | |
| - | 41 bytes received in 0.00053 seconds (75.31 Kbytes/s) | + | |
| </ | </ | ||
| - | <WRAP center round important 60%> | + | Pour activer la journalisation il convient |
| - | **Important** - Lors de votre connexion en utilisant un compte de votre système, vous devez arriver dans le dossier **home** de cet utilisateur. | + | |
| - | </ | + | |
| - | + | ||
| - | ====Serveur proftpd Anonyme==== | + | |
| - | + | ||
| - | ===Créer l' | + | |
| - | + | ||
| - | Créez un groupe **ftp** dont le GID est, par exemple, 3000 : | + | |
| < | < | ||
| - | # groupadd -g 3000 ftp | + | # vi / |
| + | # cat / | ||
| + | ... | ||
| + | log | ||
| + | xferlog | ||
| + | ... | ||
| </ | </ | ||
| - | Créez ensuite | + | Ajoutez maintenant les options **-l**, **-L**, **-X** |
| < | < | ||
| - | # useradd | + | # svccfg |
| + | svc:> select ftp | ||
| + | svc:/ | ||
| + | svc:/network/ftp> listprop | ||
| + | general | ||
| + | general/entity_stability | ||
| + | general/restarter | ||
| + | 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/ | ||
| + | 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%> | ||
| - | **Important** - Notez que le shell de l'utilisateur est **/bin/false**. | + | **Important** - L' |
| </ | </ | ||
| - | Editez ensuite | + | Le serveur FTP envoie des traces à syslog en utilisant le Sélecteur **daemon.info**. Modifiez donc le fichier **/etc/syslog** afin que syslog envoie les traces dans le fichier |
| - | + | ||
| - | < | + | |
| - | ftp: | + | |
| - | </ | + | |
| - | + | ||
| - | Dernièrement, | + | |
| < | < | ||
| - | # mkdir /var/ftp | + | # vi /etc/syslog |
| - | # chown ftp: | + | # cat /etc/syslog |
| - | </ | + | ... |
| - | + | *.err; | |
| - | ===Configuration=== | + | *.err; |
| - | + | daemon.info | |
| - | La configuration de votre serveur anonyme se trouve dans la suite du fichier **/opt/csw/etc/proftpd.conf** : | + | |
| - | + | ||
| - | < | + | |
| ... | ... | ||
| - | # A basic anonymous configuration, | ||
| - | # want anonymous users, simply delete this entire < | ||
| - | < | ||
| - | User ftp | ||
| - | Group ftp | ||
| - | |||
| - | # We want clients to be able to login with " | ||
| - | UserAlias | ||
| - | |||
| - | # Limit the maximum number of anonymous logins | ||
| - | MaxClients | ||
| - | |||
| - | # We want ' | ||
| - | # in each newly chdired directory. | ||
| - | DisplayLogin | ||
| - | DisplayFirstChdir | ||
| - | |||
| - | # Limit WRITE everywhere in the anonymous chroot | ||
| - | <Limit WRITE> | ||
| - | DenyAll | ||
| - | </ | ||
| - | </ | ||
| - | </ | ||
| - | |||
| - | Vérifiez votre fichier de configuration grâce à l' | ||
| - | |||
| - | < | ||
| - | # / | ||
| - | Checking syntax of configuration file | ||
| - | Syntax check complete. | ||
| </ | </ | ||
| - | Redémarrez votre serveur proftpd | + | Créez le fichier **/ |
| < | < | ||
| - | # svcs -a | grep ftp | + | # touch /var/adm/ftplog |
| - | disabled | + | # svcadm restart inetd |
| - | disabled | + | # svcadm |
| - | online | + | # svcadm restart system-log |
| - | # ps -ef | grep proftp | + | |
| - | nobody | + | |
| - | root 2607 | + | |
| - | # kill 2557 | + | |
| - | # ps -ef | grep proftp | + | |
| - | root 2609 | + | |
| - | # svcadm | + | |
| - | # svcs -a | grep ftp | + | |
| - | disabled | + | |
| - | online | + | |
| - | online | + | |
| </ | </ | ||
| - | Testez ensuite votre serveur ftp anonyme. Lors de votre connexion anonyme, | + | Connectez-vous maintenant au serveur FTP en tant qu'user1 et tapez quelques commandes |
| < | < | ||
| # ftp localhost | # ftp localhost | ||
| Connected to localhost. | Connected to localhost. | ||
| - | 220 ProFTPD 1.3.0 Server (ProFTPD Default Installation) [127.0.0.1] | + | 220 solaris.i2tch.loc FTP server ready. |
| - | Name (localhost: | + | Name (localhost: |
| - | 331 Anonymous login ok, send your complete email address as your password. | + | 331 Password required for user1. |
| Password: | Password: | ||
| - | 230 Anonymous access granted, restrictions apply. | + | 230 User user1 logged in. |
| Remote system type is UNIX. | Remote system type is UNIX. | ||
| Using binary mode to transfer files. | Using binary mode to transfer files. | ||
| + | ftp> pwd | ||
| + | 257 "/ | ||
| + | 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 | 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. | 221 Goodbye. | ||
| </ | </ | ||
| - | ====Serveur proftpd et Hôtes Virtuels==== | + | Connectez-vous maintenant au serveur FTP en tant qu' |
| - | + | ||
| - | ===Introduction=== | + | |
| - | + | ||
| - | Le serveur proftpd peut gérer des hôtes virtuels. Les hôtes virtuels sont des couples **adresse IP/site** hébergés sur la même machine physique ou virtuelle. | + | |
| - | + | ||
| - | ===Configuration=== | + | |
| - | + | ||
| - | Pour configurer des hôtes virtuels, il convient de créer un fichier de configuration à part, appelé **proftpd-vhosts.conf** | + | |
| < | < | ||
| - | # touch /opt/csw/etc/proftpd-vhosts.conf | + | # 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 | ||
| + | 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. | ||
| </ | </ | ||
| - | Modifiez ensuite les permissions sur ce fichier : | + | Consultez le fichier |
| < | < | ||
| - | # chmod 600 /opt/csw/etc/ | + | # cat /var/adm/ftplog |
| + | Jan 18 16:50:16 solaris.i2tch.loc inetd[1421]: | ||
| + | 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 | ||
| </ | </ | ||
| - | Ensuite il faut ajouter une ligne au fichier **/ | + | ====Configuration des Connexions Anonymes==== |
| - | < | + | Solaris 10 contient un script dénommé |
| - | Include | + | |
| - | </ | + | |
| - | + | ||
| - | Le fichier | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | ... | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | où x.x.x.x représente un numéro IP. | + | |
| - | + | ||
| - | ===Hôte virtuel par adresse IP=== | + | |
| - | + | ||
| - | Vous allez maintenant procéder à la création d'un site anonyme sur un hôte virtuel par adresse IP. Normalement, | + | |
| - | + | ||
| - | Saisissez donc les commandes suivantes dans une fenêtre de console en tant que root : | + | |
| < | < | ||
| - | # echo " | + | # ftpconfig |
| - | # ifconfig e1000g0:1 plumb | + | Updating user ftp |
| - | # ifconfig e1000g0:1 192.168.1.1 | + | Creating directory / |
| - | # ifconfig e1000g0:1 netmask 255.255.255.0 | + | Updating directory / |
| - | # ifconfig e1000g0:1 up | + | |
| - | # ifconfig -a | + | |
| - | lo0: flags=2001000849< | + | |
| - | inet 127.0.0.1 netmask ff000000 | + | |
| - | e1000g0: flags=1004843< | + | |
| - | inet 10.0.2.15 netmask ffffff00 broadcast 10.0.2.255 | + | |
| - | ether 8: | + | |
| - | e1000g0:1: flags=1000843< | + | |
| - | inet 192.168.1.1 netmask ffffff00 broadcast 192.168.1.255 | + | |
| </ | </ | ||
| - | Créez maintenant | + | Consultez |
| - | + | ||
| - | < | + | |
| - | # mkdir -p /ftp/site2 | + | |
| - | </code> | + | |
| - | + | ||
| - | Créez un fichier de test: | + | |
| < | < | ||
| - | # touch /ftp/site2/site2.txt | + | # ls -l /export/home/ftp_pub |
| + | total 12 | ||
| + | lrwxrwxrwx | ||
| + | d--x--x--x | ||
| + | d--x--x--x | ||
| + | d--x--x--x | ||
| + | drwxr-xr-x | ||
| + | d--x--x--x | ||
| </ | </ | ||
| - | Editez maintenant | + | Pour activer |
| < | < | ||
| - | # vi /opt/csw/etc/ | + | # vi /etc/ftpd/ftpaccess |
| - | # cat /opt/csw/etc/ | + | # cat /etc/ftpd/ftpaccess |
| - | < | + | ... |
| - | | + | upload |
| - | DefaultRoot | + | # upload |
| - | | + | # upload |
| - | < | + | ... |
| - | User ftp | + | |
| - | Group | + | |
| - | UserAlias | + | |
| - | RequireValidShell | + | |
| - | DisplayLogin | + | |
| - | DisplayFirstChdir | + | |
| - | | + | |
| - | AllowAll | + | |
| - | </Limit> | + | |
| - | </ | + | |
| - | </ | + | |
| </ | </ | ||
| - | Redémarrez | + | Modifiez |
| < | < | ||
| - | # svcadm restart svc:/network/cswproftpd: | + | # chmod 777 /export/home/ |
| </ | </ | ||
| - | Testez votre serveur ftp : | + | Postionnez-vous dans le répertoire **/tmp** et créez le fichier **ftptest** |
| < | < | ||
| - | # ftp 192.168.1.1 | + | # cd /tmp |
| - | Connected to 192.168.1.1. | + | # touch ftptest |
| - | 220 ProFTPD 1.3.0 Server (Hote Virtuel sur 192.168.1.99) [192.168.1.1] | + | # ls |
| - | Name (192.168.1.1: | + | ftptest |
| - | 331 Anonymous login ok, send your complete email address as your password. | + | |
| - | Password: | + | |
| - | 230 Anonymous access granted, restrictions apply. | + | |
| - | Remote system type is UNIX. | + | |
| - | Using binary mode to transfer files. | + | |
| - | ftp> | + | |
| - | 200 PORT command successful | + | |
| - | 150 Opening ASCII mode data connection for file list | + | |
| - | site2.txt | + | |
| - | 226 Transfer complete. | + | |
| - | 11 bytes received in 0,00049 seconds (21,73 Kbytes/s) | + | |
| </ | </ | ||
| - | ==Hôte virtuel par port== | + | Connectez-vous |
| - | + | ||
| - | Proftpd gère aussi les hôtes virtuels par port. Cette capacité est possible grâce à la directive **port**. | + | |
| - | + | ||
| - | Afin de tester ceci, ajoutez la ligne suivante | + | |
| - | + | ||
| - | < | + | |
| - | Port | + | |
| - | </ | + | |
| - | + | ||
| - | Votre fichier **/ | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | Port 2121 | + | |
| - | ServerName | + | |
| - | DefaultRoot | + | |
| - | MaxClients | + | |
| - | < | + | |
| - | User ftp | + | |
| - | Group ftp | + | |
| - | UserAlias | + | |
| - | RequireValidShell | + | |
| - | DisplayLogin | + | |
| - | DisplayFirstChdir | + | |
| - | <Limit LOGIN> | + | |
| - | AllowAll | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Créez un fichier de test: | + | |
| - | + | ||
| - | #touch / | + | |
| - | + | ||
| - | Redémarrez le serveur proftpd. | + | |
| - | + | ||
| - | Essayez maintenant de vous connecter au hôte virtuel 192.168.1.1 sur le port 21: | + | |
| < | < | ||
| - | # ftp 192.168.1.1 | + | # ftp localhost |
| - | Connected to 192.168.1.1. | + | Connected to localhost. |
| - | 220 ProFTPD 1.3.0 Server (ProFTPD Default Installation) [192.168.1.1] | + | 220 solaris.i2tch.loc FTP server ready. |
| - | Name (192.168.1.1: | + | Name (localhost: |
| - | 331 Anonymous | + | 331 Guest login ok, send your complete |
| Password: | Password: | ||
| - | 230 Anonymous access granted, restrictions apply. | + | 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 | ||
| Remote system type is UNIX. | Remote system type is UNIX. | ||
| Using binary mode to transfer files. | Using binary mode to transfer files. | ||
| ftp> ls | ftp> ls | ||
| - | 200 PORT command successful | + | 200 PORT command successful. |
| - | 150 Opening ASCII mode data connection for file list | + | 150 Opening ASCII mode data connection for file list. |
| - | uploads | + | 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. | 226 Transfer complete. | ||
| - | 9 bytes received in 0,0013 seconds (6,55 Kbytes/s) | ||
| - | </ | ||
| - | |||
| - | Vous constaterez que le serveur vous retourne le contenu du site par défaut, à savoir le répertoire /var/ftp. | ||
| - | |||
| - | Essayez maintenant de vous connecter au hôte virtuel 192.168.1.99 sur le port **2121**: | ||
| - | |||
| - | < | ||
| - | # ftp 192.168.1.1 2121 | ||
| - | Connected to 192.168.1.1. | ||
| - | 220 ProFTPD 1.3.0 Server (Hote Virtuel sur 192.168.1.1) [192.168.1.1] | ||
| - | Name (192.168.1.1: | ||
| - | 331 Anonymous login ok, send your complete email address as your password. | ||
| - | Password: | ||
| - | 230 Anonymous access granted, restrictions apply. | ||
| - | Remote system type is UNIX. | ||
| - | Using binary mode to transfer files. | ||
| ftp> ls | ftp> ls | ||
| - | 200 PORT command successful | + | 200 PORT command successful. |
| - | 150 Opening ASCII mode data connection for file list | + | 150 Opening ASCII mode data connection for file list. |
| - | site2.txt | + | ftptest |
| - | port2121.txt | + | |
| 226 Transfer complete. | 226 Transfer complete. | ||
| - | 25 bytes received in 0,0015 seconds (16,54 Kbytes/s) | + | 9 bytes received in 0.00012 |
| </ | </ | ||
| - | Vous constaterez que le serveur vous retourne le contenu de l' | + | ====Sécurisation du Serveur FTP==== |
| - | ==Importer proftpd dans SMF== | + | Afin de sécuriser le serveur FTP, insérez les noms de tous les comptes système |
| - | + | ||
| - | Il est nécessaire | + | |
| < | < | ||
| - | # echo " | + | # cat /etc/ftpd/ftpusers |
| - | # cat /inetd.proftpd | + | # ident " |
| - | ftp | + | # |
| - | # inetconv | + | # List of users denied access to the FTP server, see ftpusers(4). |
| - | ftp -> / | + | # |
| - | Importation de ftp-tcp.xml ...Terminé | + | root |
| + | daemon | ||
| + | bin | ||
| + | sys | ||
| + | adm | ||
| + | lp | ||
| + | uucp | ||
| + | nuucp | ||
| + | smmsp | ||
| + | listen | ||
| + | gdm | ||
| + | webservd | ||
| + | unknown | ||
| + | nobody | ||
| + | noaccess | ||
| + | nobody4 | ||
| </ | </ | ||
| - | A l' | + | =====LAB #4 - Installation |
| - | < | + | ====Introduction==== |
| - | # cat / | + | |
| - | <?xml version=' | + | |
| - | < | + | |
| - | <!-- | + | |
| - | Service manifest for the ftp service. | + | |
| - | + | ||
| - | Generated by inetconv(1M) from inetd.conf(4). | + | |
| - | --> | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | < | + | |
| - | name=' | + | |
| - | type=' | + | |
| - | version=' | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- | + | |
| - | Set a timeout of 0 to signify to inetd that we don't want to | + | |
| - | timeout this service, since the forked process is the one that | + | |
| - | does the service' | + | |
| - | inetd services; for services written to take advantage of SMF | + | |
| - | capabilities, | + | |
| - | handle the request and return a success code. | + | |
| - | --> | + | |
| - | < | + | |
| - | type=' | + | |
| - | name=' | + | |
| - | exec='/ | + | |
| - | timeout_seconds=' | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- | + | |
| - | Use inetd' | + | |
| - | --> | + | |
| - | < | + | |
| - | type=' | + | |
| - | name=' | + | |
| - | exec=': | + | |
| - | timeout_seconds=' | + | |
| - | </ | + | |
| - | + | ||
| - | <!-- | + | |
| - | This property group is used to record information about | + | |
| - | how this manifest was created. | + | |
| - | detail which should not be modified or deleted. | + | |
| - | --> | + | |
| - | < | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | 'ftp stream tcp nowait root / | + | |
| - | /> | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | <propval name=' | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | <loctext xml: | + | |
| - | ftp | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | </ | + | |
| - | </ | + | |
| - | + | ||
| - | Activez maintenant le service proftp au sein d' | + | |
| - | + | ||
| - | < | + | |
| - | # inetadm -e svc: | + | |
| - | </ | + | |
| - | + | ||
| - | et constatez ses propriétés : | + | |
| - | + | ||
| - | < | + | |
| - | # inetadm -l svc: | + | |
| - | SCOPE NAME=VALUE | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | default | + | |
| - | </ | + | |
| - | + | ||
| - | <WRAP center round important 60%> | + | |
| - | Réamorcez votre machine virtuel. | + | |
| - | </ | + | |
| - | + | ||
| - | ===Le Serveur DHCP=== | + | |
| - | + | ||
| - | ==Introduction== | + | |
| 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 les paramètres TCP/ | 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 les paramètres TCP/ | ||
| - | + | ====Installation==== | |
| - | ==Installation== | + | |
| Sous **Solaris** le serveur DHCP est installé par défaut mais il n'est pas activé : | Sous **Solaris** le serveur DHCP est installé par défaut mais il n'est pas activé : | ||
| Ligne 1699: | Ligne 1449: | ||
| < | < | ||
| # svcs -a | grep dhcp | # svcs -a | grep dhcp | ||
| - | disabled | + | disabled |
| </ | </ | ||
| Ligne 1707: | Ligne 1457: | ||
| # svcadm enable svc:/ | # svcadm enable svc:/ | ||
| # svcs -a | grep dhcp | # svcs -a | grep dhcp | ||
| - | offline | + | offline |
| </ | </ | ||
| - | Notez que le statut du service passe de //disabled// à //offline//. Commençons par cannaître la raison de ce statut : | + | Notez que le statut du service passe de ***disabled** à **offline**. Commençons par cannaître la raison de ce statut : |
| < | < | ||
| # svcs -l svc:/ | # svcs -l svc:/ | ||
| fmri | fmri | ||
| - | nom | + | name DHCP server |
| - | activé | + | enabled |
| - | état offline | + | state |
| next_state | next_state | ||
| - | state_time | + | state_time |
| - | redémarreur | + | restarter |
| dependency | dependency | ||
| dependency | dependency | ||
| Ligne 1726: | Ligne 1476: | ||
| <WRAP center round important 60%> | <WRAP center round important 60%> | ||
| - | La sortie nous informe que la raison du statut | + | **Important** - La sortie nous informe que la raison du statut |
| </ | </ | ||
| - | ==LAB #5== | + | ====Configuration==== |
| - | <WRAP center round important 60%> | + | ===Création |
| - | La procédure de configuration | + | |
| - | </ | + | Pour créer le fichier **/ |
| < | < | ||
| # / | # / | ||
| - | Le fichier de configuration | + | Created |
| - | dhcptab | + | Created |
| - | La macro " | + | Added " |
| - | La macro serveur a été ajoutée à dhcptab - solaris. | + | Added server |
| - | Serveur | + | DHCP server started. |
| </ | </ | ||
| + | |||
| + | Consultez le contenu du fichier **/ | ||
| < | < | ||
| Ligne 1753: | Ligne 1505: | ||
| </ | </ | ||
| - | <file> | + | Il est possible d' |
| + | |||
| + | <code> | ||
| + | # vi / | ||
| + | # cat / | ||
| + | DAEMON_ENABLED=TRUE | ||
| + | RESOURCE=SUNWfiles | ||
| + | RUN_MODE=server | ||
| + | PATH=/ | ||
| + | CONVER=1 | ||
| INTERFACES=e1000g0 | INTERFACES=e1000g0 | ||
| - | </file> | + | </code> |
| + | |||
| + | ===Création de la Table de Réseau=== | ||
| + | |||
| + | Configurez maintenant une table réseau pour le serveur DHCP en utilisant l' | ||
| < | < | ||
| # / | # / | ||
| - | La macro réseau a été ajoutée à dhcptab - 10.0.2.0. | + | Added network |
| - | La table réseau a été créée. | + | Created network |
| </ | </ | ||
| + | |||
| + | Listez les tables réseau du serveur DHCP : | ||
| < | < | ||
| Ligne 1767: | Ligne 1534: | ||
| 10.0.2.0 | 10.0.2.0 | ||
| </ | </ | ||
| + | |||
| + | La table réseau prend la forme d'un fichier nommé **SUNWfiles1_10_0_2_0** dans le répertoire **/ | ||
| < | < | ||
| Ligne 1778: | Ligne 1547: | ||
| # | # | ||
| </ | </ | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Important** - Notez que la table est actuelleemnt vide. | ||
| + | </ | ||
| + | |||
| + | Consultez les informations concernant la table réseau : | ||
| < | < | ||
| # dhtadm -P | # dhtadm -P | ||
| - | Nom Type | + | Name Type |
| ================================================== | ================================================== | ||
| - | 10.0.2.0 | + | 10.0.2.0 |
| - | solaris | + | solaris |
| - | Locale | + | Locale |
| </ | </ | ||
| + | |||
| + | Ajoutez une entrée à la table **10.0.2.0** de la machine **solaris** en utilisant l' | ||
| < | < | ||
| # pntadm -A 10.0.2.50 -m solaris 10.0.2.0 | # pntadm -A 10.0.2.50 -m solaris 10.0.2.0 | ||
| # pntadm -P 10.0.2.50 | # pntadm -P 10.0.2.50 | ||
| - | ID Client | + | Client |
| - | 00 00 10.0.2.50 | + | 00 00 10.0.2.50 10.0.2.15 Zero solaris |
| </ | </ | ||
| + | |||
| + | Consultez le contenu du fichier **/ | ||
| < | < | ||
| Ligne 1804: | Ligne 1583: | ||
| 10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| | 10.0.2.50|00|00|10.0.2.15|0|4338936765994762241|solaris| | ||
| </ | </ | ||
| + | |||
| + | Ajoutez neuf autres entrées : | ||
| < | < | ||
| Ligne 1816: | Ligne 1597: | ||
| # pntadm -A 10.0.2.59 -m solaris 10.0.2.0 | # pntadm -A 10.0.2.59 -m solaris 10.0.2.0 | ||
| </ | </ | ||
| + | |||
| + | Vérifez maintenant le contenu du fichier **/ | ||
| < | < | ||
| Ligne 1823: | Ligne 1606: | ||
| # Do NOT edit this file by hand -- use pntadm(1M) or dhcpmgr(1M) instead | # 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|4338936765994762241|solaris| | + | 10.0.2.50|00|00|10.0.2.15|0|2945917106253725697|solaris| |
| - | 10.0.2.51|00|00|10.0.2.15|0|8997066155579408385|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|15856329863041384449|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|8651977834132144129|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|5386868104288534529|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|2835860390359859201|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|2934376632208588801|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|8219632269904576513|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|12797259816149975041|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|6448873191417839617|solaris| | + | 10.0.2.59|00|00|10.0.2.15|0|12228117413241028609|solaris| |
| </ | </ | ||
| - | |||
| - | ==LAB #6== | ||
| - | |||
| - | <WRAP center round todo 60%> | ||
| - | Testez votre serveur DHCP afin de vous assurer que ce dernier soit bien configuré. | ||
| - | </ | ||
| ----- | ----- | ||
| < | < | ||
| <div align=" | <div align=" | ||
| - | Copyright © 2019 Hugh Norris. | + | Copyright © 2020 Hugh Norris. |
| </ | </ | ||