IP gebundene Software

Lord_Icon

Member
Hi,

ich werde demnächst ein Problem mit einer Software bekommen.
Grund: Diese ist per ioncube auf eine IP gebunden. Der Hersteller soll wohl schon seit ca. 6 Jahren nicht mehr geben (verstorben).

Nun soll ein 2ter Server aufgesetzt werden um das ganze BS mal wieder Up-to-date zu bekommen. Logisches Problem dabei: Man bekommt eine neu IP Adresse.
Somit wäre die Software nicht mehr lauffähig.

Nun hätte ich folgendes gedacht. Ob ioncube da mitspielt, wäre erstmal eine 2t rangige Frage.

eth0 bekommt die neu IP Adresse zugeteilt.
eth0:1 wird angelegt und die alte IP wird zugeteilt. Allerdings ohne Gateway um keine IP Kollision zu Verursachen.

Könnte das klappen ?
Müsste ja dann irgendwie eine (Firewall?)-Regel erzeugen, dass der Server über eth0:1 und dann über eth0 rausgeht.
Oder NAT ??

Hat einer eine Idee, wie man das umsetzen könnte ?
 
Ehrlich gesagt würde ich als erstes versuchen, die fragliche IP-Addresse (die ja bekannt ist) als 32bit-Dword-Wert in der Software wiederzuerkennen und entsprechend zu patchen.

Sollte das nicht erfolgreich sein (zu komplexe Selbstprüfungsmechanismen und Prüfsummen) kann man immer noch mit NAT experimentieren.

Ist bekannt, wie die entsprechende Addresse geprüft wird?
Muß sie nur im System vorhanden und an irgendein Interface gebunden sein oder ist es zwingend die primäre IP?

Wenn die Software schon 6 Jahre alt ist und vermutlich auch eine veraltete (unsichere?) Umgebung (Libraries?) erfordert, wäre es dann nicht vernünftig, sie in eine virtuelle Umgebung (z.B. per XEN) einzusperren und per NAT mit der gewünschten Addresse anzusprechen?
 
Hi Whistler,

das encoden der Software habe ich schon versucht. Hat auch weitesgehend geklappt. Aber es gibt eine function.php die im entschlüsselten zustand über 4.200 Zeilen hat. Das entschlüsseln selbst war hier zwar kein Problem... aber nach dem ersetzen mit der Originalen Datei gibt es viele Fehler im Programm.

Neue Software ?
Ginge wohl nicht. Es wurde mal individuell für diese Firma geschrieben.
Es wurde wohl damals schon bei einer anderen Programmierfirma angefragt ob diese das bestehende Programm nicht nachbauen kann. Aber der Preis war wohl abartig hoch. (5-stellig sagte man mir nur).

Nun kann ich den Server als Admin zwar weiterlaufen lassen und regelmässig Backups machen (für den Fall der Fälle [Hardware defekt etc.]).
Aber das Teil hat Suse 9.3 drauf. Sicherheitstechnisch graust es mir, sowas im internen und auch (bedingt: nur port 80) im externen Netzwerk zu lassen.


Xen... schöne Idee. Der dicke hier (Server ;-) )läuft selbst auch auf Xen.
Wäre also kein Problem da ne neue DomU zu erstellen.
Problem dabei: Dom0 (also das Wirtssystem) arbeitet nicht auf NAT... soweit ich weiß im Bridge-Modus. Oder anders gesagt: So wie Xen bei Debian ausgeliefert wird. Wenn NAT, dann im Gast selbst.


MEin aktueller Tagessstand.
Teststation ist ein Laptop.
eth0 = nichts angeschlossen. Wird als Dummy-Adresse verwendet [mit der IP Adresse mit der die Software lauffähig ist]
wlan0 = die Inet-Verbindung

Wlan => geht an eine Fritz.Box => diese an ein Kabel Deutschland Router.
Die Fritz.Box ist so eingestellt, dass die IP Adresse vom WLAN blank ins Web durchgereicht wird.
Sprich: Von aussen komme ich mit meiner öffendlichen Adresse: 188.164.xx.74 direkt auf den Laptop durch (192.168.0.21 [wlan0]).


So: Aktuell hab ich folgendes Notiert / gemacht.
Code:
echo 1 > /proc/sys/net/ipv4/ip_forward      // Aktiviert NAT

## Sollte nun eth0 Anfragen über die Schnittstelle wlan0 umleiten
/sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
/sbin/iptables -A FORWARD -i eth0 -o wlan0 -m state
   --state RELATED,ESTABLISHED -j ACCEPT
/sbin/iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT

Getestet hab ich es jetzt aber noch nicht im Detail. Jetzt is erstmal Feierabend :D

Bis denne. und danke fürs Lesen :->
 
Last edited by a moderator:
eth0:1 mit alter IP sollte als /32 funktionieren.

Versteh ich nicht ganz. /32 wird doch bei der Maske verwendet.
Die Software ist auf 2 IP Adressen registriert worden.
Einmal auf eine firmen interne. 192.168.2.57
Die andere ist eine IP von einen Provider. 89.xxx.144.12.
Bei der öffendlichen IP handelt es sich um ein 32er IP Kreis. Also /27


Aber mal anders gefragt. So ganz verstehe ich trotz Stunden langen einlesens NAT noch nicht.

Das Script möchte ins Web funken.
Das BS wird dem Script also eine Netzwerkkarte zuweisen, die das gewährleistet. In meinen Fall ja wlan0.
Somit erreichen die Daten doch garnicht eth0 wo dann iptables greifen kann um diese dann auf die wlan0-schnittstelle umbiegen kann.

Oder habe ich mit den iptables Befehl genau das gesagt?
Sprich: Sämtliche Kommunikation hat über eth0 zu erfolgen... auch wenn diese für sich gesehen garnichts ins web kommen kann, weil eine Dummy IP-Adresse verwendet worden ist. iptables biegt das dann wieder zurecht, indem er den Datenstrom über wlan0 leitet.. die ja tatsächlich eine I-Net Verbindung hat.
 
Individuellen Code IMMER bei einem Notar hinterlegen (oder anderen vertrauenswürdigen Personen respekiv Lokalitäten) für genau solche Fälle.
Erinnert mich irgendwie an das Disaster mit "Space Pinball" =) http://blogs.msdn.com/b/oldnewthing/archive/2012/12/18/10378851.aspx

Ziemlich sicher verwendet Ioncube zum Abgleich die Env-Variable SERVER_ADDR, das System muss also - bei ungepatchtem Apache- die IP-Adresse verwenden und diese auch der Empfänger sein. NATen wird hier nicht helfen da dann weiterhin die neue IP verwendet wird.


das encoden der Software habe ich schon versucht. Hat auch weitesgehend geklappt. Aber es gibt eine function.php die im entschlüsselten zustand über 4.200 Zeilen hat. Das entschlüsseln selbst war hier zwar kein Problem... aber nach dem ersetzen mit der Originalen Datei gibt es viele Fehler im Programm.
Es gibt professionelle Ioncube-Decoder welche -gegen gutes Geld- die Datei funktionsfähig zurückwandeln können.
Beachte aber dass selbst nach dem Dahinscheiden des Autors die Lizenzrechte und Autorenrechte an die Erben weitergegeben werden, es also vermutlich illegal ist den Kopierschutz zu umgehen. Diese haben möglicherweise auch noch den Sourcecode.
 
Back
Top