Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Firebird embedded - Sicherheit (https://www.delphipraxis.net/41696-firebird-embedded-sicherheit.html)

HiTi 7. Mär 2005 12:32

Datenbank: Firebird • Version: 1.5 • Zugriff über: embedded mit gds32.dll

Firebird embedded - Sicherheit
 
Hi hi ,

bin grade auch auf dem Firebird trichter gekommen und hab mal n kleines Beispielprogramm geschrieben.
Greife wie in dem Tutorial von http://seegernet.de.vu/ auf die Datenbank zu. un funktioniert auch alles wunderprächtig.
Benutze den IBOLE-Provider für die Verbindung.

Jetzt bin ich aber n SQl-Datenbank DAU - habe bisher immer nur mit Access "Datenbanken" gearbeitet.
Für mich war das bisher ne Datenbank - ihr seit ja größtenteils anderer Meinung <- aber das is n anderes Thema :)
Jedenfalls hab ich nun folgendes Problem:

Ich kann auf die Datenbank mit keinem oder mit dem Benutzer SYSDBA um dem Standardpasswort zugreifen.
Ich will nun aber einen eigenen Benutzer in die Datenbank mitaufnehmen und mich nur mit diesem anmelden können um die Datenbank zu sichern. Sonst kann sich ja jeder die *.fdb-Datei rauskopieren und diese in einem Projekt oder seinem Firebird-Server einbinden und ungehindert auf die Daten zugreifen. Leider weiss ich nicht wie ich einen solchen Benutzer für eine einzelne Datenbankdatei einrichten kann um die Zugriffe zu kontrollieren. Gebt mir doch bitte n kleinen anstoß - oder nen größeren weil sonst muss ich nochma fragen :)

Ahso der Benutzer "SYSDBA" soll dann gelöscht werden...

schonmal danke für eure Hilfe

HiTi

Robert_G 7. Mär 2005 12:37

Re: Firebird embedded - Sicherheit
 
Schaue mal hier . mag krass klingen, aber zum Beispiel aufgrund dieser komischen Extra DB für User kannst du es mit dem Embedded knicken.
Theoretisch solltest du sogar mit jedem Usernamen /passwort per embedded auf eine FB Datenbank kommen können. ;)

HiTi 7. Mär 2005 12:50

Re: Firebird embedded - Sicherheit
 
habs mir jetzt noch nicht angeschuat,
aber ich hab schon probiert mit einem anderen User drauf zu kommen und es hat nicht funktioniert und das obwohl ich es auf einem anderen Rechner (mit firebird Server) ebenfalls probiert habe. Dort habe ich mich in die IBOCONSOLE mit dem entsprechenden anderen Benutzername eingeloggt , eine verbindung mit der datenbank aufgebaut und eine tabelle erstellt ...

*mir jetzt aber mal dienen link anschau*


danke für deine antwort

HiTi


EDIT ################################################## #

hab mir jetzt dienen Link angeschaut, hilft abe rnicht wirklich weiter :(

Lemmy 7. Mär 2005 14:54

Re: Firebird embedded - Sicherheit
 
Hi,

es gibt keine Sicherheit mit der Userverwaltung von Firebird! Die hilft maximal gegen Leute, die wissen wo man den PC ein- und wieder ausschaltet. Sobald jemand Dateien kopieren kann, ist es ohne Probleme möglich die Sicherheitsfunktionen von Firebird zu umgehen.

Die Userverwaltung dient dem Zweck, dass ein Anwender der KEINEN Zugriff auf den Datenbankserver hat nicht so ohne weiteres auf die Datenbank zugreifen kann (Angriff über ein Netzwerk bzw. Internet).

Die Firebird embedded prüft da aber im Grunde genommen gar nichts ab, da jeder ja direkten Zugriff auf die Datenbankdatei hat, da sie ja lokal auf dem Rechner liegt!

Lemmy

HiTi 8. Mär 2005 09:41

Re: Firebird embedded - Sicherheit
 
Hi hi,


das heißt im klartext, das ich die Firebird Datenbank nichtmal (auch wenns wenig schutz bietet)
wie eine Access-Datenbank (ja streitet euch drum) mit einem Passwort vor unbefugtem Zugriff schützen kann.
Ich muss also kritische Daten in der Datenbank verschlüsselt abspeichern und hab keine möglichkeit diese abgespeicherten Daten vor Zugriffen zu schützen.

boahr, das ist übel...
Übler gehts ja gar nisch...

:( somit fällt die Firebird Datenbank wohl aus...
Aber was hab ich für ne alternative?

brauch ne Datenbank die auch embedded laufen kann udn genügend Schutz bietet.

mfg und vielen Dank auch wenns sehr deprimierend ist

HiTi

PS. aber wie sichert ihr dann eure Daten?
Warenswirtschaftssystem, US-Militär, etc. Das sind doch alles empfindliche Daten.... *ich heul gleich*

Robert_G 8. Mär 2005 09:50

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von HiTi
das heißt im klartext, das ich die Firebird Datenbank nichtmal (auch wenns wenig schutz bietet)
wie eine Access-Datenbank (ja streitet euch drum) mit einem Passwort vor unbefugtem Zugriff schützen kann.
Ich muss also kritische Daten in der Datenbank verschlüsselt abspeichern und hab keine möglichkeit diese abgespeicherten Daten vor Zugriffen zu schützen.
...
boahr, das ist übel...
Übler gehts ja gar nisch...
...
PS. aber wie sichert ihr dann eure Daten?
Warenswirtschaftssystem, US-Militär, etc. Das sind doch alles empfindliche Daten.... *ich heul gleich*

Hast du dir überhaupt durchgelesen, was du für Käse geschrieben hast? :shock:
Vertrauliche Daten werden IMMER verschlüsselt abgelegt. Ob es nun eine Oracle DB ist oder FB embedded.
Der Passwortschutz von Jet ist solch ein dämlicher Mist, da habe ich doch lieber eine fehlende User verwaltung. (Die kann man bei Interbase/Firebird sowieso nicht für irgendwas sinnvolles gebrauchen ;) )
Es ist ja nicht weiter schwierig das selbst zu implementieren.

Stevie 8. Mär 2005 10:02

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von HiTi
PS. aber wie sichert ihr dann eure Daten?
Warenswirtschaftssystem, US-Militär, etc. Das sind doch alles empfindliche Daten.... *ich heul gleich*

Seit wann benutzt das US-Militär Firebird embedded??? :gruebel:

Wenn es um eine solche Sicherheit geht, kannst du jegliches embedded sowieso vergessen, denn dann liegen die Daten auf einem Server, den den Zugriff regelt und aus die Maus! :lol:

Lemmy 8. Mär 2005 10:05

Re: Firebird embedded - Sicherheit
 
Hi,

zudem solltest Du dir mal überlegen was passiert, wenn Du das Passwort vergisst. Oder noch besser, wenn der Benutzer mit dem Zugriffsrecht nicht über den Namen definiert wird sondern mit einer Nummer (wie z.B. beim Windows-Server).
Fällt z.B. der Windows-Server aus und muss komplett neu installiert werden, müssen erst mal alle Client-Rechner sich neu anmelden und zudem verlierst Du (bei Clientgespeicherten Profilen) alle bisherigen Einstellung. Wenn so etwas bei einem Datenbankserver passieren würde könntest Du die Datenbank incl. Daten wegschmeissen! Versuch das mal einem Kunden zu erklären!

Lemmy

HiTi 8. Mär 2005 10:17

Re: Firebird embedded - Sicherheit
 
@Robert_G

Ohne dir nahetreten zu wollen

1. hab ich geschrieben das ich n DAU bin <- sogar wortwörtlich
2. finde ich nicht das deine Beiträge auch nur im entferntesten weiterhelfen.
kritisieren tust du ja gerne, aber helfen?

Natürlich werden vertrauliche Daten verschlüsselt gespeichert, allerdings hatte ich erwartet das
ein Datenbanksystem wie Firebird oder Interbase zusätzlichen Schutz (der auch besser Funktioniert wie bei der Jet)
duch Benutzer und Passwort abfragen bietet. :wall:
seh ich das so falsch? :?:

Zitat:

Der Passwortschutz von Jet ist solch ein dämlicher Mist, da habe ich doch lieber eine fehlende User verwaltung. (Die kann man bei Interbase/Firebird sowieso nicht für irgendwas sinnvolles gebrauchen )
Es ist ja nicht weiter schwierig das selbst zu implementieren.
*doof frag* wie denn?

danke für deine kontruktive Antwort :thumb:

------------------------------------------------------------------------------------
@Stevie

ja, die werden wahrscheinlich nicht den embedded nützen :oops:
steh grad einfach :wall: auf dem Schlauch und :wall: könne wände :wall: einreisen...
will nicht das jeder der n bisschen Ahnung hat in die Datenbank schauen kann,
ob verschlüsselte Daten oder nicht... Hab vielleicht auch zu einfach gedacht, bin ja bisher Jet-Nutzer...

Danke auch dir :)

-------------------------------------------------------------------------------------

@Lemmy

sorry, aber deine antwort versteh ich jetzt nicht wirklich :(
hab doch embedded keinen Datenbankserver...

Wenn aber der User sein Passwort vergessen würde (was er ja in dem Fall gar nich einzugeben braucht),
ja dann - Pech
Wer Sicherheit will muss eben n bisschen was auf sich nehmen (Pin, Tan, Phassphrase, Chipkarten, Verschlüsselung etc. - Airbag :wink: )
was passiert denn wenn du deine PIN von deiner EC Karte vergisst - brauchst auch ne neue und die alte is futsch!
Damit könnt ich also leben - Kunde = selbstverantworlich

Danke auch an dich :) - DANKE

Stevie 8. Mär 2005 10:32

Re: Firebird embedded - Sicherheit
 
Ist zwar jetzt total Off-Topic, aber trotzdem: :lol:
Vor lauter kritisieren usw ;-) sind wir noch gar nicht dazu gekommen! :shock: :oops: :wall:
Herzlich Willkommen in der DP, HiTi!!! :party:

HiTi 8. Mär 2005 10:46

Re: Firebird embedded - Sicherheit
 
DANKE :hello: :hello:


hoffe muss mich in zukunft nicht verstecken
:duck:


liebe Grüße
HiTi

Phoenix 8. Mär 2005 11:24

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von HiTi
@Lemmy

sorry, aber deine antwort versteh ich jetzt nicht wirklich :(
hab doch embedded keinen Datenbankserver...

Hi Sven :mrgreen:
Doch hast Du :wink:. Und zwar 'in-Process'. Das heisst der Datenbankserver der die Firebird-Datendatei nutzt läuft embedded in Deiner Applikation.

Stevie 8. Mär 2005 11:28

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von Phoenix
Doch hast Du :wink:. Und zwar 'in-Process'. Das heisst der Datenbankserver der die Firebird-Datendatei nutzt läuft embedded in Deiner Applikation.

Wenn du dir Lemmys Beitrag durchliest, auf den HiTi oben antwortete, siehst du, dass er einen physischen Server meinte! :roll:

Phoenix 8. Mär 2005 11:33

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von Stevie
Wenn du dir Lemmys Beitrag durchliest, auf den HiTi oben antwortete, siehst du, dass er einen physischen Server meinte! :roll:

Den hat er aber wirklich nicht. Der DB-Server ist in dem Fall doch der lokale Rechner. :gruebel:

Lemmy 8. Mär 2005 12:47

Re: Firebird embedded - Sicherheit
 
Hi,

Zitat:

Zitat von HiTi

@Lemmy

sorry, aber deine antwort versteh ich jetzt nicht wirklich :(
hab doch embedded keinen Datenbankserver...

Wenn aber der User sein Passwort vergessen würde (was er ja in dem Fall gar nich einzugeben braucht),
ja dann - Pech
Wer Sicherheit will muss eben n bisschen was auf sich nehmen (Pin, Tan, Phassphrase, Chipkarten, Verschlüsselung etc. - Airbag :wink: )
was passiert denn wenn du deine PIN von deiner EC Karte vergisst - brauchst auch ne neue und die alte is futsch!
Damit könnt ich also leben - Kunde = selbstverantworlich

Danke auch an dich :) - DANKE

Ich versuchs mal anders rum ;-)

Wenn Du die PIN deiner EC-Karte vergisst, gehts Du zur Bank und lässt Dir ne neue bzw. die alte wieder geben. Wenn Du aber das Zugriffspasswort für die Datenbank vergisst, ist nicht nur die Struktur weg, sonder alle Daten! Nimm das nicht auf die leichte Schulter! Hast Du schon mal 100 oder 200 Adressen in ne Datenbank eingegeben - einfach mal so aus Spaß? Wie lange hast Du dafür gebraucht? Jetzt stell Dir mal vor, ein Unternehmen kauft bei Dir ne Datenbankapplikation ein und kann, wie in meinem oben skizzierten Fall, nicht mehr auf die Datenbank zugreifen (ja, ich weiß noch, dass Du "nur" den embedded hast, aber das spielt hier keine Rolle!). Alle Daten sind jetzt weg. Aufträge, Adressen, Zeiterfassung und Rechnungen der letzten 10 Jahre - und das einzigste was Du dem aufgelösten Kunden sagen kannst ist: installieren Sie halt neu??? Das Backup kannst Du ja auch nicht einspielen ohne das Passwort! Wäre ja sonst ne Sicherheitslücke (wie in Firebird!!!).

Es macht Sinn, dass gewisse Benutzer (darunter eben der SysDBA bei Firebird) auf alles Zugriff haben und es somit auch keinen Schutz für Daten oder Struktur (wie Trigger oder StoredProcedures) gibt! Bei der FB embedded ist das Problem noch etwas größer, da diese allen Benutzern auch ohne Passwort den Zugriff auf die Daten gestattet. Allerdings macht das auch wieder Sinn, denn dort hat der User sowieso direkten Zugriff auf die Datenbankdatei und könnte durch ein Backup-Restore oder im schlimmsten Falle durch einfaches kopieren, die Datenbank auf einen Rechner kopieren, bei dem er kompletten Zugriff auf Firebird hat.

Nochmal: Es ist wichtiger, dass der Zugang zu den Daten in der Datenbank zu jeder Zeit möglich ist, als eine Absicherung der Daten! Diese kann z.B. durch Verschlüsselung durch den Client erfolgen.

HiTi 8. Mär 2005 15:09

Re: Firebird embedded - Sicherheit
 
hehe, Hi Lemmy :)

Gut OK - ich geb dir recht
[[aber im normalfall bekommst ne neue EC Karte - weil keiner die PIN ändern kann (ausser vielleicht die Spardabank :) und selbst das geht nur mit alter PIN... ]]

Will dem Kunden nicht zumuten alles neu einzugeben, aber ursprünglich hatte ich es auch so vor:

Die Datenbank bekommt einen Benutzernamen und ein beliebiges Passwort, diese sidn aber dem Kunden selbst nicht bekannt sondern nur den Entwicklern des Programms und so kann der Kunde nur über das Programm auf die Datenbank zugreifen. D.h. der Kunde kann sein Passwort nicht vergessen - weil er es gar nicht weiss.
Das Programm an sich ist natürlich schon mit einem PW gesichert welches als Hash in der durch Entwicklungs-PW gesicherten DB liegt. Wenn er also sein Passwort vergisst kann ich als entwickler rein theoretisch - sollte ich tatsächlich so nett sein :) udn das bin ich hin und wieder - sein passwort löschen, zurücksetzten etc...

So hatte ich das mit den Jet Datenbanken auch immer schon erledigt (das die PW von Jet nicht sicher sind ignorieren wir bitte an der Stelle). Rechtlich gesehen spielt es jedenfalls keine Rolle ob es schwer war das PW zu knacken oder nicht. Das Hacken von Passwörtern ist illegal und das reicht ja eigentlich schon :)
Jedenfalls hat mir das bisher gereicht. Jetzt hab ich ja keins mehr!?

Andere Frage:

Wenn ich also nicht den embedded nehme, also auch auf jeder Einzelplatzinstallation den Server mitinstallier (ursprünglich wollt ich dafür den embedded nehmen) bekomm ich meine Datenbank dann so gesichert wie ich das gerne möchte? Also das nicht jeder der die Datenbank kopiert auf die Daten zugreifen kann? oder kann wieder jeder mit dem embedded auf die DB zugreiffen und daten auslesen bzw. mit dem server?


Danke für eure Hilfe

mfg

HiTi <- Firebird DAU *zugeb*

Lemmy 8. Mär 2005 16:22

Re: Firebird embedded - Sicherheit
 
Hi,

auch die Verwendung des Servers bringt Dir nichts. Ein etwas intelligenter User kann, wenn er Zugriff auf den Datenbankserver hat (und das hat zumindest der Administrator) ein Backup der Datenbank anfertigen bzw. die Datenbankdatei einfach kopieren. Diese kopiert er dann auf ein System auf dem er den FB-Server oder die embedded installiert hat und öffnet diese mit einem bel. Admin-Programm und dem Standard-Sysdba-User.

Wenn Du also wirklich vermeiden willst, dass irgend jemand Zugriff auf die Daten hat, dann musst Du was anderes nehmen.

Hinweis: Selbstverständlich ist Firebird kein Sicherheitsrisiko! Bei Verwendung des Servers kann kein Unbefugter auf die Daten zugreifen wenn:

1. es keinen direkten Zugriff auf den Server gibt, d.h. nur der Admin und andere befugte Personen können sich am Server-PC anmelden
2. das Passwort des SysDBA nach der Installation geändert wurde
3. eine Firewall den Zugriff übers Netz (Internet) beschränkt (Fehler gibt es immer wieder, auch bei Firebird!)

Grüße
Lemmy

HiTi 9. Mär 2005 07:50

Re: Firebird embedded - Sicherheit
 
:cry: ok - Danke Lemmy!

hast denn ne idee was ich für ne Datenbank nehmen könnte?

mfg
HiTi

mikhal 9. Mär 2005 08:02

Re: Firebird embedded - Sicherheit
 
Schau dir vielleicht mal die PostgreSQL an. Vielleicht entspricht die eher deinen Vorstellungen. Allerdings ist mir nicht bekannt, daß es davon eine Embedded-Version gibt.

Grüße
Mikhal

Stevie 9. Mär 2005 08:06

Re: Firebird embedded - Sicherheit
 
Ich kann mir nicht vorstellen, dass es irgendeine embedded-Lösung gibt, die sicher wäre.
Wirklich sicher ist nur eine Client/Server-Lösung!

Lemmy 9. Mär 2005 08:31

Re: Firebird embedded - Sicherheit
 
Hi,

da kann ich Stevie nur beipflichten.

Interessant wäre allerdings zu wissen, weshalb Du so dringend auf ne komplett abgeschottete Datenbank bestehst....


Lemmy

P.S.: Ich wüsste auf die Schnelle keine Datenbank die eine solche Sicherheit bietet!

HiTi 9. Mär 2005 14:06

Re: Firebird embedded - Sicherheit
 
Hi,

bei dem Programm für das ich meine Kenntnisse in richtung Firebird ausweite handelt es sich um Finanzsoftware.
Das heißt in den Datenbanken werden nicht nur irgendwelche Termine und Adresse verwaltet sondern Kontoumsätze, Salden, überweisungen etc. .

Ich versteh nicht, warum es so schwer verständlich ist, dass ich nicht will das jemand ausser mir auf die Datenbank zugreifen kann. Egal ob diese irgendwo anders hinkopiert wird oder nicht - sie soll nur von mir - dem Entwickler - geöffnet werden können.

sogar Jet bietet dies an, wenn auch das Passwort leicht zu hacken ist. Aber ich dachte das dies mit anderen Datenbanken besser wird, jetzt stell ich fest - mit anderen Datenbanken geht es gar nicht... Die dinger sind zwar sau schnell, aber nur sicher wenn man nen server dazu hat - der das KOpieren der Datenbankdatei verhindert - also nur über gewisse Ports zu erreichen ist. Muss ich nun auf jedem Kundensystem mit nem PII 333Mhz, wegen 100 Datensätzen einen Server Installieren - Firewall und andere Sicherheitsverfahren die das Kopieren der Datei verhindern, dazu? wie soll das denn gehen?

ich mein überleg mal du hast ne kleine Finanzbuchhaltung installiert, ne Homebankingsoftware, oder n Rechnungsprogramm
udn ich kann einfach auf deine Daten zugreifen wenn ich als kleiner hacker nur deine Datenbankdatei geklaut bekomme.
Und muss die dann noch nichtmal mit einem Passwort öffnen. sondern einfach nur doppelklicken...

muss doch eine einfache möglichkeit geben...

*ihr merkt mir meine Verwunderung bestimmt immernoch an* - sorry

*jetzt andere Datenbanksysteme genauer unter die Lupe nehm*

mfg
HiTi


Ps. ich glaub ja irgendwie das wir aneinander vorbeireden...

Lemmy 9. Mär 2005 18:57

Re: Firebird embedded - Sicherheit
 
Hi,

Du brauchst Dich nicht zu entschuldigen :-)

Vielleicht gehst Du aber falsch an das Problem ran. Wenn Du absolute Sicherheit haben willst, dass nur Du an die Daten rankommst, dann gibt es nur eine Lösung: Schreib Dir deine Datenbank selber! Ich habe mir gerade StarMoney angeschaut, das Teil hat auch irgendeine eigene "Datenbank", Du bist also nicht allein! Eines kannst Du aber von vornherein ausschließen: Alle Datenbanken die öffentlich auf dieser Welt verfügbar sind!

Lemmy

HiTi 10. Mär 2005 08:24

Re: Firebird embedded - Sicherheit
 
Ja StarMoney hat seine eigen gestrickte Datenbank :)
aus gutem Grund wie ich feststellte...

Ich danke dir für deine Geduld und Mühe!

Habs verstanden und ihr habt mir sehr weitergeholfen,
wenn es auch nicht ganz meinen Vorstellungen entsprach,
aber dafür könnt ihr ja nichts :)
erschreckend finde ich es trotzdem noch immer...

naja, manchmal muss man wohl doch das Rad neu erfinden!

nochmals vielen Dank
HiTi

nieurig 10. Mär 2005 08:34

Re: Firebird embedded - Sicherheit
 
Hi HiTi,
also ich würde trotzdem bei einer "öffentlichen" DB bleiben. Den Aufwand eine vernünftige Lösung selbst zu programmieren würde ich nicht unternehmen.

Stattdessen würde ich in der Datenbank die sensiblen Daten verschlüsselt abspeichern. Wenn es denn so geheim sein soll, dann kann man auch Zahlen als vershlüsselte Strings speichern. Ich denke der Aufwand ist deutlich geringer und Du kannst die schnellen Verknüpfungsmöglichkeiten einer kommerziellen DB nutzen.

Niels

Michael_Bayer 29. Mär 2005 10:57

Re: Firebird embedded - Sicherheit
 
Zitat:

Zitat von HiTi
Habs verstanden und ihr habt mir sehr weitergeholfen,
wenn es auch nicht ganz meinen Vorstellungen entsprach,
aber dafür könnt ihr ja nichts :)
erschreckend finde ich es trotzdem noch immer...

naja, manchmal muss man wohl doch das Rad neu erfinden!

nochmals vielen Dank
HiTi

Du hast das grundlegende Prinzip nicht verstanden. Es geht nicht darum, die Daten vor Leuten zu VERSTECKEN, sondern die Daten so umzutüddeln, dass sie kein anderer ausser den Auserwählten VERSTEHT.

Kruemel_02 22. Sep 2007 01:33

Re: Firebird embedded - Sicherheit
 
Was ist mit DISQLite3 such mal hier nach den Stichworten Database Encryption.

Ich weiss, dass ich etwas spaet dran bin. :wink:

mkinzler 22. Sep 2007 08:15

Re: Firebird embedded - Sicherheit
 
Zitat:

Ja StarMoney hat seine eigen gestrickte Datenbank Smile
Und ich dachte immer Access sei von Mircosoft.
Eine Alternative wäre es vielleicht die Daten verschlüsselt in die Datenbank abzulegen.
Datenbank-Encryption soll aber ja mit FireBird 3 kommen, der Termin ist allerdings unsicher. (Sollte eigentlich diesen Herbst kommen, allerdings ist die Zwischenversion 2.1, weelche man im Frühjahr eingeschoben hat, immer noch nicht Stable)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:45 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz