besoin de protéger le programme server d'être copié illégalement

J'ai un programme server en cours d'exécution sur le operating system linux. Je devrais donner un PC avec ce programme installé à quelqu'un pour utiliser pendant un certain time, mais je dois empêcher le programme d'être copié illégalement. Je sais qu'il est impossible d'empêcher absolument le piratage. Je me request ce que je peux faire pour minimiser les chances.

Voici les conseils que j'ai obtenus en cherchant sur le Web:

  1. verrouiller le châssis de l'ordinateur avec un cadenas
  2. utilisez le mot de passe pour protéger le BIOS.
  3. utiliser un mot de passe pour protéger le grub

Notez que le encryption du directory personnel et la mise en place du programme (server) dans le directory personnel ne sont pas une option car il est possible que l'user de l'ordinateur puisse allumer le PC pour pouvoir accéder au service fourni par le programme.

L'access physique équivaut à tout simplement le remettre sur un plateau en argent. Mais si vous devez, vous devez le faire.

Quelques idées:

  1. Assurez-vous qu'il n'est PAS possible de démarrer à partir de n'importe quoi sauf le disque dur (sans USB, optique, réseau, etc.)
  2. Utilisez SELinux pour rendre le programme uniquement exécutable et empêcher tout autre programme de l'accéder (c.-à-d. Éviter que cat n'ouvre le file). Cela pourrait être difficile ou très simple.
  3. Continuez et chiffrer le système de files. Si le disque est "volé" et que le voleur déchiffre le disque de façon décisive, il doit y avoir une sorte de communication entre quelqu'un et le "voleur"
  4. N'importe qui peut choisir un verrou. Utilisez une sorte de joint anti-effraction qui sera détruit si quelqu'un ouvre la boîte.
  5. Assurez-vous qu'il n'est pas possible de démonter le système de files dans lequel se trouve le programme. Il est possible de lire le périphérique brut ou lv.
  6. Assurez-vous que le process du système de files n'est pas disponible. Cela peut être difficile car certains programmes en dépendent. Il est possible de lire et de modifier la memory du programme et le code exécutable en utilisant proc.

Étant donné que la plupart des recommandations de "protection de votre machine physique" ont été faites, vous voudrez peut-être réfléchir à une autre fonctionnalité de security que vous pourriez append en plus.

Protégez votre logiciel de la dissortingbution sur des machines non autorisées. Plus précisément, vous pouvez comstackr votre colis spécifiquement pour cette personne avec des crochets supplémentaires qui inspectent l'ID du processeur CPU + NIC Mac Adresse | md5sum puis une reference croisée contre votre list prédéfinie de machines valides. Entendez-vous, cela ne fonctionnera évidemment pas avec le code interprété, et ce n'est pas parfait (aucune méthode n'est vraiment donnée, suffisamment de time), mais c'est une pensée.

Assurez-vous de configurer le BIOS afin qu'il ne puisse pas démarrer une key USB ou un démarrage ou un démarrage PXE à partir de n'importe quoi, mais le HD installé.

Mais cela est probablement mieux traité contractuellement avec une pénalité sévère pour la copy du logiciel.

Pour éviter que des logiciels ne soient copiés illégalement, il suffit d'autoriser le destinataire à le copyr. Ensuite, toute copy qu'il fait sera légal.

Si vous voulez éviter qu'il ne soit copié du tout, que ce soit légalement ou illégalement, ce serait une question différente.

Je me rends count que vous demandiez des solutions techniques, mais dans mon expérience, les couches 8 et 9 sont tout aussi importantes et souvent plus efficaces.

Configurez des accords qui stipulent clairement ce qu'ils ne peuvent pas faire, et ce qu'ils doivent faire pour protéger votre code. Mettre en place des contrats qui imposent de lourdes peines.

Aussi, préférez-le, ce n'est pas dans le meilleur intérêt d'essayer de saisir la source. Essayez d'établir une relation à long terme, et fi rendre la garantie expirer si elles ouvrent la boîte ou exécuter le code ailleurs.

Si vous utilisez TPM, vous pouvez avoir une protection ultime. Vous pouvez utiliser GRUB approuvé avec une partition cryptée pour votre programme. Cela vous protégera même si le disque dur est physiquement supprimé et connecté à un autre hôte – le operating system ne peut pas être démarré et la partition cryptée ne peut pas être lue. Vous n'aurez même pas besoin de verrouiller votre châssis. De toute évidence, l'user ne devrait pas avoir access 'root' en aucune circonstance.

Envisager de réintégrer votre programme en tant que service Web auquel ils se connectent par Internet?

Tant que vous n'avez pas besoin de pousser trop de données en va-et-vient, cela vous permettra de garder votre «programme» isolé de quelque chose qu'ils contrôlent.

Si vous ne pouvez pas le faire, vous pouvez faire save votre programme sur un server central sur Internet. Si votre programme ne peut pas accéder à votre server, il se désactive. Fondamentalement, il pourrait vérifier et répondre à un algorithm de défi … (vous voulez empêcher le server d'être falsifié)

Il y a déjà eu de très bonnes idées postées par d'autres, alors je vais simplement développer la security physique.

J'ai déjà été chargé d'get des sceaux tamper évidement et je n'ai trouvé rien que je puisse reorder. Dans tous les cas, l'adhésif peut être adouci, généralement avec de la térébenthine ou du kérosène, l'label a été retirée et plus tard réappliquée. Fait avec soin, vous ne pourrez jamais dire que le sceau a été retiré.

Oubliez le padlocking de l'affaire. Comme on l'a déjà signalé (presque), tout le monde peut choisir des verrous.

Je vous suggère d'utiliser des joints physiques à la place. Je préfère le type à l'ancienne composé de fil et d'un joint de plomb serti. Primitif, mais étonnamment efficace, c'est pourquoi ils sont encore utilisés pour de nombreuses situations de security.