RHEL8 what's new ?

Actions menées

  • Récupération de l'iso sur le site de RedHat
  • Installation dans une VM

Contenu de l'ISO

Racine de l'ISO

  • extra_files.json: contient les nomx, tailles et sum des fichiers KEY, EULA et GPL
  • EULA: licence
  • GPL: licence
  • media.repo: configuration yum
  • RPM-GPG-KEY-redhat-beta : clef de signature
  • RPM-GPG-KEY-redhat-release : clef de signature
  • TRANS.TBL: pour l'iso

AppStream

Contient des RPM: quelle est la dif avec BaseOS ?

BaseOS

TODO: faire le point sur le contenu et l'usage mais vue le nom, il semble que ce soit le minimum pour faire l'installation.

EFI/BOOT

Contient les bootrom uefi

Images

Images pour les types de boot, uefi, install ou pxe.

Isolinux

Fichiers pour le démarrage depuis l'ISO

Général

Il ne semble pas y avoir de grand changement dans l'outil d'installation. L'interface reste la même, il y a un changement mineur au niveau du récapitulatif.

On voit aussi apparaître un menu pour définir l'usage de la machine. Ces options sont utilisées par subscription-manager.

Chose intéressante, on trouve la notion de rôle qui qui se rapproche de ce que l'on trouve dans Puppet. ... En fait pas du tout, la notion de rôle Ansible correspond aux profils de Puppet.

Le fichier kickstart généré ne semble pas avoir changé sauf pour les noms des groupes de packages qui doivent certainement être cohérents avec les rôles.

$ yum info rhel-system-roles
Updating Subscription Management repositories.
Dernière vérification de l’expiration des métadonnées effectuée il y a 0:01:31 le mer. 08 mai 2019 17:37:24 EDT.
Paquets disponibles
Nom          : rhel-system-roles
Version      : 1.0
Publication  : 5.el8
Architecture : noarch
Taille       : 127 k
Source       : rhel-system-roles-1.0-5.el8.src.rpm
Dépôt        : rhel-8-for-x86_64-appstream-rpms
Résumé       : Set of interfaces for unified system management
URL          : https://github.com/linux-system-roles/
Licence      : GPLv3+ and MIT and BSD
Description  : Collection of Ansible roles and modules that provide a stable and
             : consistent configuration interface for managing multiple versions
             : of Red Hat Enterprise Linux.

En post installation, si on ne choisi pas de réseau durant l'installation, il suffit d'utiliser nmcli c up ens1

Souscription

Pour les souscriptions

subscription-manager register --auto-attach

La souscription génère les fichiers:

  • /etc/yum.repos.d/redhat.repo

  • /etc/pki/consumer/{key,cert}.pem

Le certificat sert ensuite pour les transactions.

TODO: quel est le niveau d'intrusion du mécanisme ??

Dans la crontab daily, /usr/libexec/rhsmd -s et en service /usr/bin/rhsmcertd

Gestion des paquets

Le syslog montre que dnf est utilisé comme gestion de paquets.

TODO: à creuser

Python

Apparition de plateform-python, certainement pour éviter le conflit avec la version mise à disposition des utilisateurs.

ls -al /usr/libexec/platform-python*
lrwxrwxrwx. 1 root root    20  3 avril 13:28 /usr/libexec/platform-python -> ./platform-python3.6
-rwxr-xr-x. 2 root root 12448  3 avril 13:28 /usr/libexec/platform-python3.6
-rwxr-xr-x. 2 root root 12448  3 avril 13:28 /usr/libexec/platform-python3.6m

TODO: à creuser

Firewall

/!\ Passage à nftables C'est le backend par défaut de firewalld. TODO: prendre en compte

Les règles sont dans /etc/nftables, mais ici, c'est la conf de firewalld qui compte. Le service nftables est disabled.

Système core

Choix de la VM

2vCPU, 2048 BG RAM, 10GB DD

Point post installation

Prend 1,4GB de disque Il faut faire une souscription pour avoir accès aux dépôts. Ou alors créer un fichier de configuration yum pour utiliser les rpm présents sur l'ISO.

Groupe paquets

@^minimal-environment

Processus

USER       PID     STAT START   TIME COMMAND
root         1     Ss   13:34   0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
root         2     S    13:34   0:00 [kthreadd]
root         3     I<   13:34   0:00 [rcu_gp]
root         4     I<   13:34   0:00 [rcu_par_gp]
root         6     I<   13:34   0:00 [kworker/0:0H-kblockd]
root         8     I<   13:34   0:00 [mm_percpu_wq]
root         9     S    13:34   0:00 [ksoftirqd/0]
root        10     I    13:34   0:00 [rcu_sched]
root        11     S    13:34   0:00 [migration/0]
root        12     S    13:34   0:00 [watchdog/0]
root        13     S    13:34   0:00 [cpuhp/0]
root        14     S    13:34   0:00 [cpuhp/1]
root        15     S    13:34   0:00 [watchdog/1]
root        16     S    13:34   0:00 [migration/1]
root        17     S    13:34   0:00 [ksoftirqd/1]
root        19     I<   13:34   0:00 [kworker/1:0H]
root        21     S    13:34   0:00 [kdevtmpfs]
root        22     I<   13:34   0:00 [netns]
root        23     S    13:34   0:00 [kauditd]
root        25     S    13:34   0:00 [khungtaskd]
root        26     S    13:34   0:00 [oom_reaper]
root        27     I<   13:34   0:00 [writeback]
root        28     S    13:34   0:00 [kcompactd0]
root        29     SN   13:34   0:00 [ksmd]
root        30     SN   13:34   0:00 [khugepaged]
root        31     I<   13:34   0:00 [crypto]
root        32     I<   13:34   0:00 [kintegrityd]
root        33     I<   13:34   0:00 [kblockd]
root        34     I<   13:34   0:00 [md]
root        35     I<   13:34   0:00 [edac-poller]
root        36     S    13:34   0:00 [watchdogd]
root        48     S    13:34   0:00 [kswapd0]
root        99     I<   13:34   0:00 [kthrotld]
root       100     S    13:34   0:00 [irq/24-pciehp]
root       101     S    13:34   0:00 [irq/25-pciehp]
root       102     S    13:34   0:00 [irq/26-pciehp]
root       103     S    13:34   0:00 [irq/27-pciehp]
root       104     S    13:34   0:00 [irq/28-pciehp]
root       105     S    13:34   0:00 [irq/29-pciehp]
root       106     S    13:34   0:00 [irq/30-pciehp]
root       107     I<   13:34   0:00 [acpi_thermal_pm]
root       108     S    13:34   0:00 [hwrng]
root       109     I<   13:34   0:00 [kmpath_rdacd]
root       110     I<   13:34   0:00 [kaluad]
root       112     I<   13:34   0:00 [ipv6_addrconf]
root       379     I<   13:34   0:00 [kworker/1:1H-kblockd]
root       390     I<   13:34   0:00 [ata_sff]
root       395     S    13:34   0:00 [scsi_eh_0]
root       399     I<   13:34   0:00 [scsi_tmf_0]
root       400     S    13:34   0:00 [scsi_eh_1]
root       401     I<   13:34   0:00 [ttm_swap]
root       402     I<   13:34   0:00 [scsi_tmf_1]
root       403     S    13:34   0:00 [scsi_eh_2]
root       404     I<   13:34   0:00 [scsi_tmf_2]
root       405     S    13:34   0:00 [scsi_eh_3]
root       406     I<   13:34   0:00 [scsi_tmf_3]
root       407     S    13:34   0:00 [scsi_eh_4]
root       408     I<   13:34   0:00 [scsi_tmf_4]
root       409     S    13:34   0:00 [scsi_eh_5]
root       410     I<   13:34   0:00 [scsi_tmf_5]
root       413     R    13:34   0:00 [kworker/u4:4-events_unbound]
root       414     I    13:34   0:00 [kworker/u4:5-events_unbound]
root       443     I<   13:34   0:00 [kworker/0:1H-kblockd]
root       479     I<   13:34   0:00 [kdmflush]
root       487     I<   13:34   0:00 [kdmflush]
root       514     I<   13:34   0:00 [xfsalloc]
root       515     I<   13:34   0:00 [xfs_mru_cache]
root       518     I<   13:34   0:00 [xfs-buf/dm-0]
root       519     I<   13:34   0:00 [xfs-data/dm-0]
root       520     I<   13:34   0:00 [xfs-conv/dm-0]
root       521     I<   13:34   0:00 [xfs-cil/dm-0]
root       522     I<   13:34   0:00 [xfs-reclaim/dm-]
root       523     I<   13:34   0:00 [xfs-log/dm-0]
root       524     I<   13:34   0:00 [xfs-eofblocks/d]
root       525     S    13:34   0:00 [xfsaild/dm-0]
root       618     Ss   13:34   0:00 /usr/lib/systemd/systemd-journald
root       657     Ss   13:34   0:00 /usr/lib/systemd/systemd-udevd
root       687     I<   13:34   0:00 [xfs-buf/vda1]
root       689     I<   13:34   0:00 [xfs-data/vda1]
root       692     I<   13:34   0:00 [xfs-conv/vda1]
root       693     I<   13:34   0:00 [xfs-cil/vda1]
root       694     I<   13:34   0:00 [xfs-reclaim/vda]
root       695     I<   13:34   0:00 [xfs-log/vda1]
root       699     I<   13:34   0:00 [xfs-eofblocks/v]
root       702     S    13:34   0:00 [xfsaild/vda1]
root       747     S<sl 13:34   0:00 /sbin/auditd
dbus       773     Ssl  13:34   0:00 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
polkitd    774     Ssl  13:34   0:00 /usr/lib/polkit-1/polkitd --no-debug
root       776     Ssl  13:34   0:00 /usr/sbin/irqbalance --foreground
root       780     Ss   13:34   0:00 /usr/sbin/sssd -i --logger=files
root       781     Ss   13:34   0:00 /usr/bin/qemu-ga --method=virtio-serial --path=/dev/virtio-ports/org.qemu.guest_agent.0 --blacklist=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-fi
root       782     Ssl  13:34   0:02 /sbin/rngd -f
chrony     792     S    13:34   0:00 /usr/sbin/chronyd
root       823     Ssl  13:34   0:00 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
root       827     S    13:34   0:00 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files
root       828     S    13:34   0:00 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
root       829     Ss   13:34   0:00 /usr/lib/systemd/systemd-logind
root       840     Ssl  13:34   0:00 /usr/sbin/NetworkManager --no-daemon
root       852     Ss   13:34   0:00 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@o
root       854     Ssl  13:34   0:01 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P
root       860     Ss   13:34   0:00 /usr/bin/rhsmcertd
root       868     Ss   13:34   0:00 /usr/sbin/crond -n
root       872     Ss   13:34   0:00 login -- root
root       888     Ssl  13:34   0:00 /usr/sbin/rsyslogd -n
root      6425     Ss   13:34   0:00 /usr/lib/systemd/systemd --user
root      6430     S    13:34   0:00 (sd-pam)
root      6436     Ss+  13:34   0:00 -bash
root      6519     S    13:37   0:00 /usr/libexec/platform-python /usr/libexec/rhsmd
root      6551     Ss   13:40   0:00 sshd: root [priv]
root      6555     R    13:41   0:00 sshd: root@pts/0
root      6556     Ss   13:41   0:00 -bash
root      6601     I    13:55   0:08 [kworker/1:2-events]
root      6690     I    15:01   0:00 [kworker/0:0-kdmflush]
root      6691     I    15:01   0:00 [kworker/1:3-cgroup_destroy]
root      6694     I    15:07   0:00 [kworker/0:2-events_power_efficient]

Organisation de l'isolation systemd

TODO: creuser systemd et les slices.

 localhost.localdomain
    State: running
     Jobs: 0 queued
   Failed: 0 units
    Since: Wed 2019-05-08 13:36:58 EDT; 1h 49min ago
   CGroup: /
           ├─user.slice
            └─user-0.slice
              ├─session-3.scope
               ├─6551 sshd: root [priv]
               ├─6555 sshd: root@pts/0
               ├─6556 -bash
               ├─6718 systemctl status
               └─6719 less
              ├─session-1.scope
               ├─ 872 login -- root
               └─6436 -bash
              └─user@0.service
                └─init.scope
                  ├─6425 /usr/lib/systemd/systemd --user
                  └─6430 (sd-pam)
           ├─init.scope
            └─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 18
           └─system.slice
             ├─rngd.service
              └─782 /sbin/rngd -f
             ├─irqbalance.service
              └─776 /usr/sbin/irqbalance --foreground
             ├─systemd-udevd.service
              └─657 /usr/lib/systemd/systemd-udevd
             ├─polkit.service
              └─774 /usr/lib/polkit-1/polkitd --no-debug
             ├─chronyd.service
              └─792 /usr/sbin/chronyd
             ├─auditd.service
              └─747 /sbin/auditd
             ├─tuned.service
              └─854 /usr/libexec/platform-python -Es /usr/sbin/tuned -l -P
             ├─systemd-journald.service
              └─618 /usr/lib/systemd/systemd-journald
             ├─sshd.service
              └─852 /usr/sbin/sshd -D -oCiphers=aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,aes256-ctr,aes256-cbc,aes128-gcm@openssh.com,aes128-ctr,aes128-cbc -oMACs=hmac-sha2-256-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-1>
             ├─crond.service
              └─868 /usr/sbin/crond -n
             ├─NetworkManager.service
              └─840 /usr/sbin/NetworkManager --no-daemon
             ├─rsyslog.service
              └─888 /usr/sbin/rsyslogd -n
             ├─firewalld.service
              └─823 /usr/libexec/platform-python -s /usr/sbin/firewalld --nofork --nopid
             ├─qemu-guest-agent.service
              └─781 /usr/bin/qemu-ga --method=virtio-serial --path=/dev/virtio-ports/org.qemu.guest_agent.0 --blacklist=guest-file-open,guest-file-close,guest-file-read,guest-file-write,guest-file-seek,guest-file-flush,guest-exec,guest-e>
             ├─sssd.service
              ├─780 /usr/sbin/sssd -i --logger=files
              ├─827 /usr/libexec/sssd/sssd_be --domain implicit_files --uid 0 --gid 0 --logger=files
              └─828 /usr/libexec/sssd/sssd_nss --uid 0 --gid 0 --logger=files
             ├─rhsmcertd.service
              └─860 /usr/bin/rhsmcertd
             ├─dbus.service
              ├─ 773 /usr/bin/dbus-daemon --system --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
              └─6519 /usr/libexec/platform-python /usr/libexec/rhsmd
             └─systemd-logind.service
               └─829 /usr/lib/systemd/systemd-logind

Sécurité

Selinux est activé par défaut en Enforcing

TODO: voir les namespaces

   Namespace   Constant          Isolates
   Cgroup      CLONE_NEWCGROUP   Cgroup root directory
   IPC         CLONE_NEWIPC      System V IPC, POSIX message queues
   Network     CLONE_NEWNET      Network devices, stacks, ports, etc.
   Mount       CLONE_NEWNS       Mount points
   PID         CLONE_NEWPID      Process IDs
   User        CLONE_NEWUSER     User and group IDs
   UTS         CLONE_NEWUTS      Hostname and NIS domain name

lsns 
        NS TYPE   NPROCS   PID USER   COMMAND
4026531835 cgroup    116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531836 pid       116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531837 user      116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531838 uts       116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531839 ipc       116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531840 mnt       111     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026531860 mnt         1    21 root   kdevtmpfs
4026531992 net       116     1 root   /usr/lib/systemd/systemd --switched-root --system --deserialize 18
4026532258 mnt         1   657 root   /usr/lib/systemd/systemd-udevd
4026532379 mnt         1   747 root   /sbin/auditd
4026532380 mnt         1   792 chrony /usr/sbin/chronyd
4026532381 mnt         1   840 root   /usr/sbin/NetworkManager --no-daemon

TODO: approfondir les commandes lsxxx