Comment créer un package RPM personnalisé SELinux
Articles techniques ID:
KB94454
Date de la dernière modification : 23/09/2021
Environnement
McAfee Agent (MA) 5.7.x
Security-Enhanced Linux (SELinux)
Synthèse
Cet article décrit les étapes à suivre pour build un package RPM personnalisé SELinux avec McAfee Agent. Le package contient une stratégie SELinux, de sorte que le processus de McAfee Agent puisse lire, écrire et exécuter dans un chemin d’accès au dossier personnalisé.
IMPORTANT:
- Cette package ne peut pas être déployée via ePO. Vous devez suivre la procédure d’installation manuelle ci-dessous.
- Ce package n’est pas un agent managé. Vous devez disposer d’une agent managée sur la version. 5.7.x déjà installé et géré par ePO.
- Programme McAfeeAgent-selinux-5.7.x-ReleasePackages.tar.gz dans la Téléchargements de produits inter.
- Copiez le package dans un emplacement de votre système Linux et extrayez le package à l’aide de la commande ci-dessous :
[root@root selinux]# tar -xvf McAfeeAgent-selinux-5.7.0-ReleasePackages.tar.gz
Packages extraits :
McAfeeAgent-selinux-5.7.0-ReleasePackages/
McAfeeAgent-selinux-5.7.0-ReleasePackages/MFEma-selinux-5.7.0-1.src.rpm
McAfeeAgent-selinux-5.7.0-ReleasePackages/MFEma-selinux-5.7.0-1.el7.noarch.rpm
McAfeeAgent-selinux-5.7.0-ReleasePackages/MFEma-selinux-5.7.0-1.el8.noarch.rpm
- Recherchez le dossier dans lequel les fichiers ci-dessus ont été extraits. Utilisez les commandes ci-dessous :
[root@root selinux]# cd McAfeeAgent-selinux-5.7.0-ReleasePackages/
[root@root McAfeeAgent-selinux-5.7.0-ReleasePackages]# ls -lsa
Exemple de sortie d’écran
total 160
0 drwxrwxr-x. 2 500 500 131 Feb 11 12:51 .
0 drwxr-xr-x. 3 root root 111 May 26 10:39 ..
64 -. 1 500 500 62564 Feb 11 12:51 MFEma-selinux-5.7.0-1.el7.noarch.rpm
56 -. 1 500 500 55692 Feb 11 12:51 MFEma-selinux-5.7.0-1.el8.noarch.rpm
40 -. 1 500 500 40675 Feb 11 12:51 MFEma-selinux-5.7.0-1.src.rpm
- Exécutez la commande ci-dessous pour installer le package :
rpm -ivh MFEma-selinux-5.7.xx.src.rpm
Comment
[root@root McAfeeAgent-selinux-5.7.0]# rpm -ivh MFEma-selinux-5.7.0-1.src.rpm
Exemple de sortie d’écran :
1:MFEma-selinux-5.7.0-1 ## [100%]
Veuillez Si nous attribuons le chemin de réplication SA, /test3/test3/test3, le contexte de ce dossier est le suivant : root_t. Nous devons donc autoriser l' masvc et macmnsvc processus de gestion des dossiers et des fichiers dans ce contexte.
Comment
[root@root SOURCES]# ls -alZ
Exemple de sortie d’écran
total 168
drwxr-xr-x. 3 root root unconfined_u:object_r:admin_home_t:s0 240 May 26 11:05 .
drwxr-xr-x. 8 root root unconfined_u:object_r:admin_home_t:s0 89 Jan 20 11:01
-. 1 bserver bserver unconfined_u:object_r:admin_home_t:s0 53454 Feb 11 12:50 license.txt
- Exécutez la commande ci-dessous pour passer à la SOURCES arborescence.
pushd ${HOME}/rpmbuild/SOURCES
Veuillez rpmbuild doit être installé sur le système Linux.
- Vérification de l’existence des fichiers à partir de la commande rpm
[root@root SOURCES]# ls -lsa
Exemple de sortie d’écran
total 168
0 drwxr-xr-x. 3 root root 240 May 26 11:05
0 drwxr-xr-x. 8 root root 89 Jan 20 11:01
56 -. 1 bserver bserver 53454 Feb 11 12:50 license.txt
4 -. 1 bserver bserver 1711 Feb 11 12:50 Makefile
8 -. 1 bserver bserver 5890 Feb 11 12:50 mfe_ma.fc
20 -. 1 bserver bserver 19039 Feb 11 12:50 mfe_ma.if
4 -. 1 bserver bserver 935 Feb 11 12:50 mfe_ma_perm.if
4 -. 1 bserver bserver 1041 Feb 11 12:50 mfe_ma_rt.fc
8 -. 1 bserver bserver 4735 Feb 11 12:50 mfe_ma_rt.if
4 -. 1 bserver bserver 2186 Feb 11 12:50 mfe_ma_rt.te
0 drwxr-xr-x. 2 root root 6 May 14 12:17 MFEma-selinux
4 -. 1 bserver bserver 1034 Feb 11 12:50 MFEma-selinux.tar.gz
52 -. 1 bserver bserver 50456 Feb 11 12:50 mfe_ma.te
4 -. 1 bserver bserver 3566 Feb 11 12:50 README.md
- Définissez le type de contexte dans la liste gen_require section fonction de la section mfe_ma.te fichier à l’aide d’un éditeur VI.
Veuillez mfe_ma.te se trouve dans ${HOME}/rpmbuild/SOURCES.
Comment
Avant de définir :
an. Obligatoire
all_passwd_perms de la classe passwd ;
Saisissez unconfined_service_t, crond_t, crontab_exec_t, crontab_t, user_cron_spool_t, crond_var_run_t, systemd_unit_file_t, useradd_t, groupadd_t, shell_exec_t, usr_t, var_t, etc_t, ldconfig_cache_t, rhsmcertd_t, system_dbusd_t, system_dbusd_var_run_t, rpm_script_t, net_conf_t, sysfs_t,,, pstore_t, configfs_t, sysctl_fs_t, binfmt_misc_fs_t, system_map_t ; '
)
Après avoir défini :
gen_require ('
an. Obligatoire
all_passwd_perms de la classe passwd ;
type root_t, unconfined_service_t, crond_t, crontab_exec_t, crontab_t, user_cron_spool_t, crond_var_run_t, systemd_unit_file_t, useradd_t, groupadd_t, shell_exec_t, usr_t, var_t, etc_t, ldconfig_cache_t, rhsmcertd_t, system_dbusd_t, system_dbusd_var_run_t, rpm_script_t, net_conf_t, sysfs_t, pstore_t, configfs_t, sysctl_fs_t, binfmt_misc_fs_t, system_map_t ;
')
- Ajoutez les lignes ci-dessous à la fin du fichier à l’aide d’un éditeur VI (appuyez sur Maj + G):
autoriser les mfe_ma_masvc_t root_t : dir {manage_dir_perms};
autoriser les mfe_ma_masvc_t root_t : file {manage_file_perms};
autoriser les mfe_ma_macmnsvc_t root_t : dir {manage_dir_perms};
autoriser les mfe_ma_macmnsvc_t root_t : file {manage_file_perms};
- Quittez l’éditeur VI (appuyez sur la touche ESC clé et symbole deux-points :), puis enregistrez le fichier.
- Saisissez la commande ci-dessous si vous n’êtes pas dans la /rpmbuild/SOURCES arborescence
cd ${HOME}/rpmbuild/SOURCES
- Exécutez la commande make commande ci-dessous. Il place les fichiers de stratégie ciblés dans le selinux-* dossier dans /rpmbuild/SOURCES.
[root@root SOURCES]# make
Exemple de sortie d’écran
SOURCES is mfe_ma.te mfe_ma_rt.te mfe_ma.fc mfe_ma_rt.fc
TARGETS is mfe_ma.pp mfe_ma_rt.pp
- Exécutez les commandes ci-dessous séquentiellement :
mkdir-p $ {DÉBUT}/rpmbuild/SOURCES/MFEma-selinux
CP-f License. txt $ {DÉBUT}/rpmbuild/SOURCES/MFEma-selinux
rediffusion de SELinux-*
CP-f mfe_ma * ciblée $ {DÉBUT}/rpmbuild/SOURCES/MFEma-selinux
envoi en mode push sur $ {DÉBUT}/rpmbuild/SPECS
rpmbuild--définition de’pkg_version '-définition de' _src 1 '-ba MFEma-SELinux. spec
Veuillez Là est égal à un nombre supérieur à la version du package rpm.
Comment
[root@root SOURCES]#rpmbuild --define 'pkg_version 2' --define '_src 1' -ba MFEma-selinux.spec
Veuillez Ce qui précède rpmbuild la commande crée un package RPM personnalisé avec la version MA 5.7.0 l' ${HOME}/rpmbuild/RPMS/noarch/.
Exemple :
[root@root SOURCES] #cd $ {DÉBUT}/rpmbuild/RPMS/noarch/
[root@root noarch] ls
MFEma-SELinux-5.7.02. noarch. rpm
La version #. #. # doit être supérieure à la version déjà installée.
- Mettez à jour l’agent MA SELinux à l’aide de la commande ci-dessous :
rpm -uvh MFEma-selinux-5.7.0-2.noarch.rpm
Pour plus d’informations, consultez ${HOME}/rpmbuild/SOURCES/README.md.
Clause d'exclusion de responsabilité
Le contenu du présent article a été rédigé en anglais. En cas de divergences entre la version anglaise et sa traduction, la version en anglais prévaut. Certaines parties de ce contenu ont été traduites par le moteur de traduction automatique de Microsoft.
|