C'est vrai des paquetages rpm comme des tarballs. Rien ne garantit a priori que le code qu'ils comprennent est exempt de bugs, de parties malicieuses etc ... L'installation d'un rpm se réalise avec les droits root en particulier -comme l'essentiel des tarballs- et l'installation peut corrompre certains programmes (par exemple ls ... commande bien fréquemment utilisée).
La garantie a priori réside dans:
* la signature du paquetage qui permet de prouver que ce dernier a bien été réalisé par telle entité et n'est pas altéré. La signature, pour simplifier, est une fonction tenant compte de la clé privée de celui qui édite le paquetage et du paquetage lui-même -les octets qu'il contient-. Vérifier la signature, ce que rpm / yum font, consiste à exécuter une fonction qui à partir de la signature, du paquetage et de la clé publique correspondant à la clé privé, vérifie que la signature est bien conforme;
* les programmes compris dans le paquetage et le script d'installation.
Le premier point repose sur la confiance que l'on peut accorder à tel ou tel producteur de paquetage; le second point suppose la vigilance de chacun et la relecture du code réalisée par quelques uns.
Rien ne garantit rien. Mais le niveau de sureté est appuyé sur la cohésion et la probité des Linuxiens, développeurs (qui traitent le code), producteurs de paquetages (qui composent leurs paquetages à partir de programmes éprouvés et les certifient en les signant), hébergeurs qui protègent leurs serveurs, utilisateurs qui rapportent les bugs et anomalies de comportement.
Bref, cela reste fragile.
Il reste quelques précautions élémentaires à prendre:
* au préalable, choisir un mot de passe "solide" (non tiré d'un dictionnaire par exemple) pour son compte root et son compte utilisateur (pas le même mot de passe!);
* activer uniquement les services nécessaires au système (ne pas laisser traîner ssh ou ftp par exemple);
* utiliser les dépôts "sûrs": Fedora, Livna, remi ...
* vérifier la signature des paquetages et ne pas installer n'importe quoi n'importe comment,
* activer le firewall et SELinux sur son système,
* travailler en utilisateur et non en root,
* rapporter toutes les anomalies de comportement d'un programme,
* s'informer régulièrement des corrections de bugs et mettre à jour son système en utilisant des dépôts "sûrs".
La garantie a priori réside dans:
* la signature du paquetage qui permet de prouver que ce dernier a bien été réalisé par telle entité et n'est pas altéré. La signature, pour simplifier, est une fonction tenant compte de la clé privée de celui qui édite le paquetage et du paquetage lui-même -les octets qu'il contient-. Vérifier la signature, ce que rpm / yum font, consiste à exécuter une fonction qui à partir de la signature, du paquetage et de la clé publique correspondant à la clé privé, vérifie que la signature est bien conforme;
* les programmes compris dans le paquetage et le script d'installation.
Le premier point repose sur la confiance que l'on peut accorder à tel ou tel producteur de paquetage; le second point suppose la vigilance de chacun et la relecture du code réalisée par quelques uns.
Rien ne garantit rien. Mais le niveau de sureté est appuyé sur la cohésion et la probité des Linuxiens, développeurs (qui traitent le code), producteurs de paquetages (qui composent leurs paquetages à partir de programmes éprouvés et les certifient en les signant), hébergeurs qui protègent leurs serveurs, utilisateurs qui rapportent les bugs et anomalies de comportement.
Bref, cela reste fragile.
Il reste quelques précautions élémentaires à prendre:
* au préalable, choisir un mot de passe "solide" (non tiré d'un dictionnaire par exemple) pour son compte root et son compte utilisateur (pas le même mot de passe!);
* activer uniquement les services nécessaires au système (ne pas laisser traîner ssh ou ftp par exemple);
* utiliser les dépôts "sûrs": Fedora, Livna, remi ...
* vérifier la signature des paquetages et ne pas installer n'importe quoi n'importe comment,
* activer le firewall et SELinux sur son système,
* travailler en utilisateur et non en root,
* rapporter toutes les anomalies de comportement d'un programme,
* s'informer régulièrement des corrections de bugs et mettre à jour son système en utilisant des dépôts "sûrs".