Aus was besteht ein Firewall, und kann ich eine Firewall selbst mit Java programmieren?
Ich würde gern eine Firewall programmieren nur weis ich leider nicht einmal wie so eine Firewall aufgebaut ist? Und welche Programmiersprache dafür die beste ist oder ob das mit Java geht!
4 Antworten
Das Thema ist etwas Mächtig für GF.
Aber mal so. Java läuft immer in einer VM und ist damit nicht sehr Systemnah. Einfach ausm Gefühl raus würde ich native Sprachen verwenden. An manchen Stellen wirst du auch nicht um Treiberkomponeten und so rumkommen. Da ist Java auch nicht gerade die Wahl.
Bedenke, es gibt nicht um sonst Firmen, die nicht anderes als Firewalls entwickeln. Du kannst unglaublich viel Falsch machen und so Angreifern Tür und Tor öffnen. Du wirst auch nicht die Kapazitäten haben, alles zu PenTesten, bzw. das Geld.
Gruß
Bleiben wir beim Du :)
Ja, es muss nicht C++ sein, aber der Weg ist der Richtige. Was haste denn genau vor? Einfach ein IO für den Netzwerkstrom? Ports und so einstellen?
Na dann fang mit einem einfach IO filter an, dass kannste auch in Java machen (stichwort Sockets zB). Ich würde dann auf Frameworks verzichten und direkt natives Java nehmen. Sollst ja was lernen und leicht nachvollziehen können.
Natürlich kann man eine Firewall programmieren, aber Java ist sicher nicht die beste Sprache dafür. Alleine das man auf jedem PC zuerst Java installieren müsste würde es unnötig verkomplizieren.
Außerdem muss eine Firewall auf sehr tiefe Ebenen des Systems zugreifen, daher würde ich eher C oder C++ nehmen.
Wenn du aber noch nicht einmal weißt wie eine Firewall aufgebaut ist und funktioniert, dann wirst du es auch nicht schaffen eine zu entwickeln.
Außerdem ist eine Firewall extrem wichtig für die Sicherheit des Computers. Wenn in deiner eigenen Firewall ein Programmierfehler sein sollte, würde es den Weg für Angreifer extreme vereinfachen!
Es gibt unglaublich viele (kostenlose) Firewalls mit der man die im Betriebssystem installierte ersetzen kann.
In diesem nicht-technischen Forum gibt es vieleicht 10 Leute, die dir genau sagen können wie man eine Firewall programmiert, aber keiner würde so viel Zeit investieren um dir so viel beizubringen. So komplexe Themen würden hier auch garnicht reinpassen.
Lern erstmal die Grundlagen, bevor du dich an so schwere Projekte ranwagst ;)
Ok, vielen dank für deine umfangreiche Antwort.
Ich habe nur noch eine kleine Frage un zwar ob du mir zu C/C++ ein gutes Tut empfehlen könntest also nur wenn du eins kennst denn ich wollte mich eh mit C/C++ beschäftigen den Java mach ich schon fast 2 Jahre. Ehm, ich hatte auch nicht vor die Firewall wirklich zu nutzen sondern nur zu entwickeln um zu lernen...
Nochmals danke für deine Antwort ;)
from zero to hero von dirk louis(buch) ist ganz gut und preiswert, so hab ichs mit 12 jahren gelernt:p
ansonsten hat "galileo computing" damals mal schöne referenzen gehabt(einfach mal googlen)
Gute Tutorials kenn ich leider keine, ich hab alles in meiner Ausbildung gelernt. Du solltest dir überlegen ob C oder C++, denn C++ ist objektorientiert und C ist prozedural!
Ansonsten viel Spaß beim programmieren! :)
Danke sehr werde mir alles mal anschauen...
Ich habe noch eine etwas privatere Frage, als was arbeiten Sie? Das frage ich deswegen weil ich auch 12 war als ich angefangen hatte Java/PHP zu programmieren, jetzt bin ich 14 und will wenn ich groß bin mal Programmierer oder ähnliches werden und wollte wissen ob das in der Zukunft noch so bleibt (ich gehe mal davon aus das Sie älter sind)...
Es kommt auf das System an, Windows würde ich dir c++ emphelen ansonsten Unix lernen und da auch als Anfang erst einmal einen eigenen Treiber programmieren.
Die Firewall ist im Prinzip ein Sammelbegriff für jede Sicherheitsfunktion des Betriebsystems in Bezug auf Netzwerkverbindungen. Eine Firewall macht nicht nur eine Sache sondern sorgt in jeder Ecke von Windows für Schutz und Sicherheit. Wenn du selbst eine "Firewall" programmierst dann programmierst du eher ein "Antivirus" Programm oder besser gesagt ein Programm was zur Sicherheit dient. Es geht auf jeden fall mit Java bloß ob es nicht in anderen Sprachen praktischer wäre ist ne andere Frage.
Was du tuen müsstest wäre eine Sicherheitslücke finden und diese füllen. Dann hast du eine Firewall :D
Naja, eine Firewall kann aber auch erstmal ganz Grundsetztliche Dinge machen wie zb. Ports oder Dateien "scannen".
Danke für die schnelle Antwort ;)
Dateien Scannen ist aber schon ein Schritt weiter. Das geht dann in die Richtung: https://de.wikipedia.org/wiki/Deep_Packet_Inspection
Ok danke für die schnelle Antwort.
Also meinen Sie das man wenn dann auch mit C++ da ran gehen sollte...?