Frage:
Kann ein alter Betriebssystem-Webserver sicher gemacht werden?
Katastic Voyage
2015-03-19 02:29:47 UTC
view on stackexchange narkive permalink

Ich habe einen alten Laptop mit viel zu wenig RAM, um Linux auszuführen (einschließlich Spezialdistributionen). Es kann jedoch problemlos Windows 98 ausführen, und ich möchte daraus einen winzigen Retro-Webserver machen.

Ist es möglich, zu verhindern, dass ein alter Betriebssystem-Webserver gehackt wird? Ich suche lediglich eine einfache statische Port 80-Website ohne Verwaltungsfunktionen über das Web.

Ich habe keine wesentlichen Erfahrungen mit Sicherheit oder der Ausnutzung von Sicherheitslücken. Ich bin mir also nicht sicher, wo ich suchen soll. Kann eine DOS / WIN95 / WIN98-Box ausgenutzt werden, wenn sie nur auf einfache HTTP-Anforderungen reagiert?

Sie werden viele Fragen dazu bekommen, warum Sie denken, dass Sie nicht genug RAM haben, um Linux auszuführen, aber genug, um Win98 auszuführen.
Unterstützt Windows 98 überhaupt das moderne WEB?
Win98 unterstützt HTTP - das OP gibt "statische Website" an, daher gehe ich von keinem dynamischen Code aus.
Ich bezweifle die Prämisse dieser Frage, dass Windows 98 mindestens 16 MB RAM benötigt, um "Fd Linux" auf einem 386 mit 8 MB RAM ausführen zu können. Daher frage ich mich, welches System existiert, das genug RAM hat, um Windows 98, aber nicht Linux auszuführen? Vielleicht könnten Sie dies bitte klären.
Können Sie nicht eine Linux-Distribution ab dem Zeitpunkt ausführen, an dem Windows 98 herauskam?
Selbst wenn Sie einen alten Laptop unbenutzt haben, lohnt es sich nicht, ihn als Webserver zu verwenden. Sie können ein modernes Betriebssystem in einer virtuellen Maschine genauso einfach auf moderner Hardware ausführen und möglicherweise weniger Strom verbrauchen.
Was sind Ihre Hardwarespezifikationen?
Sind Sie sicher, dass Sie nicht genug RAM haben? Ich verwende einen Webserver unter Linux, der derzeit Python-gestützte "statische" Seiten bereitstellt und 28 MB RAM benötigt. Einschließlich SSH-Server und E-Mail-Server, die Sie wahrscheinlich nicht benötigen. Wenn ich Python, uWSGI, SSH und Postfix kratzt, schätze ich, dass ungefähr 20-25 MB benötigt werden.
Ist BSD eine Option? Die minimalen RAM-Anforderungen sind extrem gering. ([NetBSDs "Vollständige Installation"] (http://www.netbsd.org/ports/i386/hardware.html) erfordert nur 8 MB RAM, und die minimale Installation erfordert nur 4 MB.) Es wäre einen Versuch wert Zumindest und es wäre wahrscheinlich weitaus sicherer als ** Windows 98 **.
Während es ein interessantes Projekt ist, ist die Verwendung eines modernen Mini-Computers (Raspberry Pi oder ähnliches) wahrscheinlich sowohl praktischer als auch wirtschaftlicher. Die Energieeinsparungen allein überwiegen wahrscheinlich den Kaufpreis (z. B. kostet Raspberry Pi Model A + 20 US- $ und verbraucht 1 W).
Auch ein Low-End-VPS kann den Zweck viel besser erfüllen als alte Hardware zu einem sehr niedrigen Preis. Allerdings gebe ich zu, dass es nicht so cool ist.
Einfacher statischer Dateiserver - http://cr.yp.to/publicfile.html Ich würde es nicht öffentlich machen, wenn Sie nicht wissen, wie Sie den Rest des Systems sichern können, aber mit einem minimalen Satz an Bibliotheken und RAM Damit können Sie Linux ausführen und statische Dateien bereitstellen.
-1 für falsche Prämisse. Es gibt viele moderne Betriebssysteme, die viel weniger Speicher benötigen als Win98 und die tatsächlich zum Ausführen eines Servers geeignet sind. Das VPS, das ich für ein reales Projekt verwende, "verwendet" nur 3 Megabyte; Dies zählt natürlich nicht die Kernel-Nutzung, den Cache, die Socket-Puffer usw., aber Sie können trotzdem mit sehr niedrigen Summen auskommen.
Komisch, das. Ich habe Linux vor Windows 95 und noch viel weniger unter Windows 98 ausgeführt. Der Tiny Core Linux-Befehlszeilen-Download läuft übrigens mit 9 MB ...
Ich habe Linux mit 4 MB RAM ausgeführt. Was für Windows98 nicht einmal ausreicht. Sie müssen jedoch spezielle Distributionen finden, wenn Sie so klein werden möchten. Dies kann mit neueren Kerneln durchgeführt werden, wenn Sie diese sorgfältig kompilieren, um alle unnötigen Module wie USB- oder SATA-Treiber auszuschließen. Aber im Allgemeinen ist es einfacher, mit einem älteren Kernel so klein zu werden.
Es stört mich immer, wenn eine Frage von allen * außer * dem Fragesteller so viel Aufmerksamkeit erhält.
Ich gebe zu, dass Bare-Bones-Linux wahrscheinlich auf einem Laptop mit RAM-Mangel laufen wird. Es wird höchstwahrscheinlich keine Treiberunterstützung für die proprietäre PCMCIA-Ethernet-Karte, -Maus usw. geben. (Ich bin ein aktiver Linux-Benutzer.) Modernes Linux auf dem Laptop verstößt auch ein wenig gegen die Retro-Qualität. Diese Frage sollte wirklich Perspektive gewinnen. Ich könnte leicht einen einfachen HTTP-Server schreiben, aber ich habe gelernt, dass es keine Möglichkeit gibt, den Rest des TCP / IP-Stacks zu schützen. Warum ich auf diesen Beitrag nicht geantwortet habe, habe ich anscheinend zwei SO-Konten und habe es gerade erkannt Dies. Ich entschuldige mich für die Spannung.
Neun antworten:
armani
2015-03-19 02:40:53 UTC
view on stackexchange narkive permalink

Wahrscheinlich nicht. Um auf HTTP-Anforderungen zu antworten, muss das Betriebssystem in der Lage sein, einen TCP / IP-Stack auszuführen, Pakete zu verarbeiten und einen TCP-Handshake durchzuführen. Dies alles erfordert, dass das System Threads im Speicher, Aufrufbibliotheken usw. verwendet oder erzeugt. Das System ist weiterhin anfällig für Protokollangriffe, für die es möglicherweise nicht gepatcht wird (die Vorhersage der TCP-Sequenz ist eine, die für einen Webserver in Betracht kommt, der möglicherweise unter Win98 ausgeführt wird).

Sie könnten einen modernen Server wie Nginx oder Apache kompilieren und ausführen (müsste ihn wahrscheinlich stark ändern, da er nicht sofort unter Win98 ausgeführt wird), aber ältere Betriebssysteme befinden sich in einem Netzwerk sind von Natur aus anfällig für Netzwerkprüfungen und Netzwerkangriffe. Selbst wenn TCP 80 über eine Firewall über einen Port weitergeleitet würde, würde der Webserverprozess immer noch in einem System ausgeführt, dem moderne Schutzfunktionen wie DEP, ASLR usw. fehlen.

[Pufferüberläufe im Low-Level-Netzwerkcode kommen ebenfalls in den Sinn.] (Http://en.wikipedia.org/wiki/Ping_of_death)
Er könnte einen User-Space-TCP-Stack ausführen und den OS-Stack zumindest theoretisch vollständig ignorieren ...
@armb - ein guter Vorschlag, aber alles, was im Benutzerbereich kompromittiert wird (besonders bei einem älteren, weniger gesicherten Betriebssystem), ist immer noch anfällig für Eskalationstechniken für Privilegien (ganz zu schweigen vom Ziel, Webseiten bereitzustellen).
@armb Unter Win9x ist die Benutzer- / Kernel-Space-Grenze keine Sicherheitsgrenze. (Win9x hat effektiv * keine Sicherheitsgrenzen *. Es wurde entwickelt, um Dinge möglich zu machen, nicht um Dinge unmöglich zu machen)
Robert Munn
2015-03-19 14:50:14 UTC
view on stackexchange narkive permalink

Haben Sie Erfahrung mit CLI (Befehlszeilenschnittstelle) wie der Windows-Eingabeaufforderung? Wenn ja, warum nicht einen Raspberry Pi? Der Pi wird kleiner, schneller und effizienter als Ihr alter Laptop. Sie können einen Pi für ~ $ 50 bekommen. Dann laden Sie die NOOBS-Software herunter (oder erhalten eine vorinstallierte SD-Karte mit) und installieren Raspbian OS, eine Debian-Gabel, installieren Nginx und Sie haben einen Webserver von der Größe Ihrer Brieftasche, der 3 Watt Strom verbraucht.

Wenn CLI ein bisschen viel für Sie ist, empfehle ich Linux mit XCFE-Desktop, anstatt sich auf Windows 98 zu verlassen, obwohl ich nicht empfehle, alte Hardware wie Ihren Laptop zu verwenden. Ein minimales Ubuntu (wie Lubuntu) wäre angemessen, wenn das Installationsprogramm den größten Teil der Arbeit für Sie erledigen soll.

Dies gibt keine Antwort auf die Frage. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag.
@M'vy Stimmt, aber es ist ein bisschen ein [XY-Problem] (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem).
CLI ist in Ordnung. Danke für die Antwort. Dies war speziell das, was im Titel gefragt wurde. "Kann ein alter Retro-Computer ein funktionsfähiger Server sein, ohne kompromittiert zu werden?"
Wenn Sie ein paar Infosec-Leuten auf Twitter folgen, werden Sie feststellen, dass jedes System aufgrund der Zeit und der Ressourcen für einen Angriff kompromittiert werden kann. In der Antwort von armani finden Sie Details dazu, warum ältere Betriebssysteme wahrscheinlich keine gute Wahl sind. Mitte der 90er Jahre habe ich einige Webserver unter Windows NT ausgeführt, was eine bessere Wahl als 95/98 wäre, aber immer noch bekannte Sicherheitslücken aufweist: https://www.cvedetails.com/vulnerability-list/vendor_id-26/ product_id-39 / cvssscoremin-4 / cvssscoremax-4.99 / Microsoft-Windows-Nt.html Sie sollten besser eine moderne minimale Linux / BSD-Distribution installieren.
user70664
2015-03-19 14:43:29 UTC
view on stackexchange narkive permalink

Ich frage mich auch, wie auf diesem Computer Win98 ausgeführt werden kann (was zu seiner Zeit noch kein effizientes Betriebssystem war), aber Linux nicht. Wie wäre es, wenn Sie eine Linux Live-CD (bootfähiges "eingefrorenes" Betriebssystem) nehmen, die ISO so bearbeiten, dass sie die Webseiten enthält, die Sie bereitstellen möchten, den lokalen Speicher entfernen (die Festplatte herausziehen), dann von der Linux Live-CD booten und täglich neu starten ? Selbst wenn der Computer angegriffen wird, bleibt in dieser Konfiguration nichts über den Neustart hinaus bestehen (außer bei theoretischen Blue-Pill-Angriffen).

Natürlich möchten Sie den Computer zumindest auch in Ihren Computer stecken DMZ, isolieren Sie es von der Kommunikation mit anderen Computern in Ihrem LAN und führen Sie mindestens eine Firewall mit nur geöffnetem Port 80 aus (und 443, wenn Sie TLS / "HTTPS" unterstützen).

Ich denke, Sie sollten "theoretisch" in "nationaler Sicherheitsdienst" ändern, da es Beweise dafür gibt, dass die Gespenster diese Technologie verwenden.
Tim X
2015-03-20 02:48:23 UTC
view on stackexchange narkive permalink

Dies ist einfach eine schlechte Idee, es sei denn, Sie möchten sie nur zum Spaß ausprobieren.

Jeder, der dies vorschlägt, macht zu viele Annahmen. Es gibt nicht genügend Informationen, um einen Anruf zu tätigen.

Zu den Hauptproblemen gehören wahrscheinlich

  • Win98 ist alt, nicht mehr gepatcht und wahrscheinlich anfällig für viele vorhandene Penetrationstechniken, an die damals noch nicht einmal gedacht wurde es wurde zuletzt gepatcht / getestet. Unterm Strich ist es ein riesiges Unbekanntes und hat mit ziemlicher Sicherheit Schwachstellen.

  • Welchen Webserver würden Sie ausführen? Es ist wahrscheinlich, dass Sie aufgrund des Alters der Bibliotheken usw. nur einen alten Webserver erhalten können, dh eine alte Version von IIS oder ähnlichem. Dies bedeutet, dass ein alter Server ausgeführt wird, der mit ziemlicher Sicherheit erhebliche Schwachstellen aufweist.

  • Mehr Aufwand als es wert ist. Ich vermute, sobald Sie versuchen, dies zum Laufen zu bringen, werden Sie auf alle möglichen Probleme stoßen. Dies klingt nach einer sehr schwierigen Aufgabe im Vergleich zu dem Nutzen / Ergebnis, das Sie erhalten.

Andere haben sich auf den Kommentar konzentriert, dass es zu alt ist, um Linux auszuführen. Das ist nicht wahr. Wenn es win98 ausführen kann, kann es Linux ausführen. Es könnte Schwierigkeiten mit aktuellen Distributionen geben, aber Sie könnten es mit wahrscheinlich dem gleichen Aufwand tun, aber dies ist immer noch mehr Aufwand als es wert ist.

Angesichts des Alters des Systems werden Sie höchstwahrscheinlich Stunden investieren, um es zum Laufen zu bringen, und dann feststellen, dass es einen Hardwarefehler aufweist. Es könnte eine interessante Sache sein, als Experiment und Lernübung zu arbeiten, aber es ist sicherlich nicht die Mühe wert, wenn Sie tatsächlich möchten, dass es nützlich ist

Ich glaube, win98 unterstützt nur PWS (Personal Web Server) und unterstützt bis zu klassischem ASP (dort lerne ich etwas über dynamische Seiten) :)
@vasin1987 Das ist vielleicht das, was darin eingebaut ist, aber das Portieren eines anderen Webservers (oder sogar das Schreiben eines eigenen) sollte keine schwierige Aufgabe sein. (Hinweis Ich sagte "Portierung"; wahrscheinlich verwendet jeder moderne Webserver * einige * APIs, die in Win9x nicht verfügbar sind.)
Die Idee war wirklich nur zum Spaß und zur Neugier. Ein Pi wäre eine billige Lösung, wenn Retro / Wiederverwendung nicht die Einschränkung wäre.
schroeder
2015-03-19 02:43:58 UTC
view on stackexchange narkive permalink

Letztendlich geht es nicht um das Betriebssystem, sondern um die Anwendung und den Dienst, auf dem es ausgeführt wird. Wenn Ihre Firewall fest verschlossen ist, der Computer physisch gesichert ist und das EINZIGE, was Sie tun, um eine statische Seite bereitzustellen, hängt es vom Webserver ab und was "sonst" die statische Seite tun könnte. P. >

Dies kann durchgeführt werden, aber der von Ihnen ausgewählte Webserver, die Art und Weise, wie Sie ihn konfigurieren, und die Technologie, mit der Sie die Webseite anzeigen, sind alle wichtig.

Selbst dann Sie müssen sich im Falle eines Kompromisses entschärfen, einschließlich der Trennung des Computers vom Rest des Netzwerks und der Möglichkeit, ihn wegzublasen und von der Sicherung wiederherzustellen, falls die Dinge schlecht laufen.

Das Betriebssystem ist Teil des Problems. In der Vergangenheit waren in Windows standardmäßig viele Netzwerkdienste aktiviert. Ich bin mir bei Windows 98 nicht sicher, aber ich scanne es definitiv mit dem Port und stelle sicher, dass nur der Port geöffnet ist, von dem Sie erwarten, dass er geöffnet ist.
Was ist mit Problemen im Netzwerkstapel selbst? Sie sind betriebssystemabhängig und nicht anwendungsabhängig.
@Cybergibbons Also, DoS? Ich bin mir nicht sicher, ob das ein Problem für das OP ist.
Warum ist es auf DoS beschränkt? Etherleak hat ein Problem im Netzwerkstapel ausgenutzt, das nicht DoS ist und von der Anwendung unabhängig ist.
@Cybergibbons DoS und Info-Leckage scheinen für das OP nicht wichtig zu sein. Warum? Weil die Seite statisch und HTTP ist. Der MOMENT, die Seite soll dynamisch sein, oder es gibt ein Login, dann fällt mein Rat auseinander. Wenn man das OP zum Nennwert nimmt, ist ein Kompromiss des Betriebssystems mithilfe des Netzwerkstapels die Bedrohung, über die man sich Sorgen machen muss, und ich weiß nicht, wie ich das tun kann.
Vergessen wir nicht, dass unter Windows 98 grundsätzlich alles als root ausgeführt wird.
Mein Punkt ist, dass es ein Unbekannter ist - wir können Probleme mit dem Netzwerkstapel nicht ausschließen. Das Betriebssystem / die Hardware bedeutet auch, dass DEP, ASLR und NX nicht verwendet werden können. Es gibt kein Konzept für Benutzerkonten und keine ordnungsgemäße Dateiberechtigung. Wenn beispielsweise ein Überlauf vorliegt, ist die Ausnutzung viel einfacher . Ich kann keine Forschung zur Windows 98-Sicherheit finden - sie wird einfach nicht mehr verwendet.
@ash daher meine Forderung, dass die "Firewall fest verschlossen ist"
@Cybergibbons ja, Sie sind mit all diesen Dingen richtig. Ist es dennoch möglich, über eine statische Seite, die über Port 80 bereitgestellt wird, genügend Zugriff auf eine Win98-Box zu erhalten? Ich sage NICHT, dass es klug ist. Ich sage, dass es möglich ist, mit einigen sehr engen Einschränkungen.
Ich sage nur, dass die Aussage "Es ist nicht das Betriebssystem, um das es geht" nicht wahr zu sein scheint.
Ich bin der Meinung, dass Sie einen Wiederherstellungsplan ablehnen. Wie man sich aus der Katastrophe zurückzieht ....
A T
2015-03-19 09:54:17 UTC
view on stackexchange narkive permalink

Wie wäre es mit KolibriOS und schreiben Sie Ihren eigenen Webserver?

Oder Tinfoil Hat Linux und pflegen Sie ihn? (sollte nicht zu lange dauern, aktualisieren Sie einfach alles auf die neuesten Versionen und hacken Sie mit Abhängigkeiten herum, bis Sie es zum Kompilieren bekommen.)

Was ist Ihre Hardwarespezifikation, bevor ich andere Vorschläge machen kann? und persönliches Können?

SPRBRN
2015-03-19 20:13:10 UTC
view on stackexchange narkive permalink

Werde diese alte Kiste los! Es ist zu viel Aufwand. Kaufen Sie einen Raspberry Pi B +. Es ist schnell für Ihre Bedürfnisse, günstig zu kaufen und innerhalb von fünf bis zehn Monaten bringt es die Investition zurück, indem es Strom spart . Diese alte Box verbraucht vielleicht bis zu 10 US-Dollar pro Monat für Strom, das RPi vielleicht 1 US-Dollar.

paul
2015-03-19 19:29:39 UTC
view on stackexchange narkive permalink

Wenn man bedenkt, dass ein moderner Computer (oder sogar ein Smartphone) Kreise um einen 15 Jahre alten Laptop berechnen kann, müsste man sich fragen, warum? Es wird erwartet, dass die alte Hardware jederzeit mehr oder weniger ausfällt.

Wenn dies ein "weil ich kann" -Projekt ist, dann haben Sie es und viel Glück.

Wenn Sie Sie möchten einfach Ihren eigenen Webserver, es ist sehr einfach, einen auf Ihrem aktuellen Desktop einzurichten. Wenn Sie einen Mac haben, wird dieser von Apple mit der gesamten Software geliefert, die Sie zum Ausführen Ihrer eigenen Wikipedia-Kopie benötigen. Wenn Sie Fenster haben, holen Sie sich XAMPP. In jedem Fall ist alles auf dem neuesten Stand, Sicherheitspatches werden regelmäßig bereitgestellt, anständige Schnittstellensoftware usw. usw. Windows 98 hat seit 2006 kein Update mehr gesehen.

Serge Ballesta
2015-03-20 13:20:47 UTC
view on stackexchange narkive permalink

Dies ist hauptsächlich eine Ergänzung zu Armanis Antwort.

Da Win98 seit Jahren nicht mehr gewartet wird, können Sie nicht erwarten, dass der TCP / IP-Stapel des Betriebssystems von Fehlern befreit ist.

Aber Sie können sicherlich ein aktuelles (anständiges) Betriebssystem finden, das akzeptiert, auf einem alten Computer ausgeführt zu werden. NanoBSD erklärt beispielsweise, dass es an niedrige Anforderungen angepasst werden kann: Es ist möglich, das System zu reduzieren, sodass es nur auf 64 MB passt.

Aber Vorsicht, die Leistungen entsprechen nicht denen einer neueren Hardware!



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...