Gast
2010-04-05, 17:40:06
Hallo,
kennt jemand eine Möglichkeit einem Prozess unter Linux zu verbieten, daß seine Datensegmente im RAM ausgelagert ("geswappt") werden?
Der Hintergrund ist, daß ich ein kleines selbstkompiliertes PHP4 verwende, um einen simplen Schlüsselserver (mittels PHP-Skript) im Netzwerk laufen zu lassen. Der ist nur gegen mcrypt gelinkt und verteilt jene auf Anfrage aus seinem Schlüsselbund. Das Teil läuft komplett im RAM und holt nichts von oder schreibt auf die Festplatte. Bei jedem Start des Prozesses müssen der Bund über das Netzwerk (aus einer verschlüsselten Quelle) einspielt werden.
Jetzt wäre es praktisch (bzw. notwendig), daß die Daten nicht ausgelagert werden - dem VMM auf die Finger klopfen. Natürlich könnte ich das Swap-File selber verschlüsseln. Oder die Schlüssel im RAM selbst. Was aber auch blöd wäre, da der zugehörige Schlüssel ja auch im Prozessraum vom PHP(-Skript) liegt. Aber vielleicht gibt es eine andere Methode ohne gleich zum Beispiel PHP zu patchen oder dergleichen. So eine Art Umgebungsvariable, ein Wrapper etc.?
Hat jemand einen Rat?
--------
PS: Für die PHP-Hasser - Warum PHP4? Ganz einfach. Weil ich nur das kann. Das Teil könnte auch in Python, Perl, C oder [deiner Lieblingssprache] laufen. Vielleicht sogar in Brainfuck. Das steht nicht zur Debatte und mir geht es um sparsamen Ressourcenverbrauch. Das ist mein bestmöglichstes. In C mit dietlibc wäre es wahrscheinlich schnieker ;)
kennt jemand eine Möglichkeit einem Prozess unter Linux zu verbieten, daß seine Datensegmente im RAM ausgelagert ("geswappt") werden?
Der Hintergrund ist, daß ich ein kleines selbstkompiliertes PHP4 verwende, um einen simplen Schlüsselserver (mittels PHP-Skript) im Netzwerk laufen zu lassen. Der ist nur gegen mcrypt gelinkt und verteilt jene auf Anfrage aus seinem Schlüsselbund. Das Teil läuft komplett im RAM und holt nichts von oder schreibt auf die Festplatte. Bei jedem Start des Prozesses müssen der Bund über das Netzwerk (aus einer verschlüsselten Quelle) einspielt werden.
Jetzt wäre es praktisch (bzw. notwendig), daß die Daten nicht ausgelagert werden - dem VMM auf die Finger klopfen. Natürlich könnte ich das Swap-File selber verschlüsseln. Oder die Schlüssel im RAM selbst. Was aber auch blöd wäre, da der zugehörige Schlüssel ja auch im Prozessraum vom PHP(-Skript) liegt. Aber vielleicht gibt es eine andere Methode ohne gleich zum Beispiel PHP zu patchen oder dergleichen. So eine Art Umgebungsvariable, ein Wrapper etc.?
Hat jemand einen Rat?
--------
PS: Für die PHP-Hasser - Warum PHP4? Ganz einfach. Weil ich nur das kann. Das Teil könnte auch in Python, Perl, C oder [deiner Lieblingssprache] laufen. Vielleicht sogar in Brainfuck. Das steht nicht zur Debatte und mir geht es um sparsamen Ressourcenverbrauch. Das ist mein bestmöglichstes. In C mit dietlibc wäre es wahrscheinlich schnieker ;)