Hairfeti
Mitglied
Thread Starter
- Dabei seit
- 08.11.2003
- Beiträge
- 464
- Reaktionspunkte
- 0
Teil 1 ...
Wie dieser FTP-Server An - und Abgeschaltet wird wissen wir alle, das muß ich also nicht erklären. Was allerdings interessant ist und jeder wissen sollte:
Mac OS X, als Unix-System enthält mehrere Sicherheits - und Abwehr-Mechanismen welche vor einem Arbeitsprozeß wie eine Schutzmauer fungieren. Das ist auch für den FTP-Server der Fall, da er für das System an sich genommen ein Risikofaktor darstellt. Man ist nicht nur mit dem Netzwerk Internet direkt verbunden, sondern es werden Programme und Prozesse dabei ausgeführt die bei Unachtsamkeit zu Verwüstung und Zerstörung führen können.
Dafür gibt es die Tools "xinetd" und "inetd" welche den Betrieb eines FTP-Server ausreichend absichern und Angriffe auf unser internes Betriebssystem abwehren.
Wenn wir also unseren FTP-Server jetzt starten werden, wird er nicht direkt gestartet, sondern mit Hilfe von "xinetd", welches die TCP und UDP-Ports nach Störungen und Fehlerquellen ablauscht.
Bei Verwendung der in Mac OS X internen FireWall werden automatisch die notwendigen Ports geöffnet, darum muß man sich also nicht kümmern.
Nun öffnen wir zwei Fenster im Programm Terminal und geben ein:
Fenster 1:
Fenster 2:
Eure Dynamische IP-Adresse sollte dazu beim Anbieter http://www.dyndns.org/ bereits geupdatet sein.
Schauen wir uns also an was passiert, "tail" schreibt dazu die Log-Datei mit.
Wir geben unseren Usernamen ein, unser Kennwort und erhalten promt Zugriff.
Bis hierhin alles gut. Nun geben wir mal diesen Befehl ein, damit wird erwirkt daß der FTP-Server uns in unser Homeverzeichnis schickt:
Dann geben wir ein daß wir die Daten aufgelistet erhalten:
Doch was ist das? Das ist ja gar nicht unser Homeverzeichnis. Wir sind ja im Root-Verzeichnis des Systems. Wie kommt das denn und kann das jeder User der sich per Name und Kennwort anmeldet?
Die Antwort: Ja das kann jeder und wenn man dabei geschickt ist, läßt sich so auch komfortabel der Mach-Kernel des Systems löschen ... (Angst ist mein zweiter Vorname)
Bis hierhin zunächst, ich hoffe die Aufmerksamkeit erregt zu haben.
... Kaffe-Pause ...
Ist das nun wirklich ein zweites Sicherheitsproblem was sich da auftut? Ist das von Apple so gewollt oder eine Lücke im Sicherheits-Netz?
Ich würde sagen keines von beiden. Denn:
Erstens benötigt man für einen Zugriff Name und Passwort, zweitens muß der FTP-Server aktiviert sein. Drittens muß der Computer eingeschaltet sein ...
Jetzt mal im Ernst:
Die Firma Apple nimmt wahrscheinlich an, daß man als stinknormaler End-Anwender einen FTP-Server sowieso nicht benutzt. Hiermit ist aber das Gegenteil bewiesen. Weiterhin denkt sich Apple daß jeder der ihn doch benutzt, so schlau sein müßte um ihn auch hundertprozentig sicherheitstechnisch konfigurieren zu können. (Danke für das Vertrauen) Daß das nicht der Fall ist, stellen wir heute auch fest. Eine Erklärung des FTP-Server ist in den Man-Pages über das Terminal abrufbar. Damit ist der FTP-Server jedoch nicht eindeutig beschrieben, zumal noch auf Englisch.
Also ich spreche da jetzt nur für mich, aber mir gefällt einfach der Gedanke nicht daß ein anderer Nutzer meines Computers mir Dateien in meinem Root-Verzeichnis auf diesem Wege löschen oder verändern könnte. Das muß doch nicht sein, dieses Problem werden wir hier ein für alle Mal beseitigen.
Mein FTP-Server hat die kleine Tour bereits hinter sich und ist für jeden erreichbar unter ftp://treff.homeip.net// wohlbemerkt wenn mein iMac online ist.
Was können wir also tun?
Wir werden allen gewünschten Benutzern einen Zugang auf den FTP-Server gewähren so wie gehabt, mit dem einzigen Unterschied jedoch: Jeder Besucher wird auf sein Home-Verzeichnis beschränkt, sprich: dort eingesperrt. Das Home-Verzeichnis wird das Root-Verzeichnis sein, eine höhere Hirarchie zu erreichen ist damit ausgeschlossen.
Dann werden wir einen Anonymous-Zugang einrichten für einen User mit beschränkten Zugriffsmöglichkeiten. Dieser kann sich ebenfalls nur im Rahmen seiner Verzeichnis-Struktur bewegen und wird nur Daten lesen können sowie in ein dafür angelegtes Verzeichnis Daten uploaden dürfen, welche aber eine bestimmte Größe (KB) nicht überschreiten werden.
Zuletzt werden wir dann noch einen Test durchführen und darüber entscheiden welche Clients (FTP-Programme) zur Zeit in Frage kommen um diesen Service FTP auch effizient nutzen zu können. Ich benutze z.B. Captain FTP, ein sehr schönes Programm. Noch in der Entwicklungsphase aber es enthält jetzt schon wesentliche Features die ich heute nicht mehr missen möchte. Version 3.1 liegt seit gestern vor. Ich habe das Programm bereits schon gekauft weil ich meine, daß es große Zukunft hat. Das nur nebenbei ...
Was brauchen wir dazu?
Einige Text-Dateien die zum größten Teil im System fehlen, da Apple wie schon erwähnt diesen Bereich nicht ausreichend supportet.
Drei Verzeichnisse die wir später noch anlegen werden. Ein User den wir mit Hilfe des Programms "Netinfo-Manager" erstellen, nicht im Terminal. Und Einrichten von erforderlichen Benutzer - und Zugriffsrechten, mit dem Terminal. Alle Dateien gehören in das Verzeichnis "/etc/", dafür benötigen wir Root-Rechte oder die eines "sudo".
Als da wären:
ftpusers (Diese Datei, auch wenn sie vom Namen her etwas anderes vermuten läßt, enthält die Namen der Benutzer des Systems die nicht auf den FTP-Server zugreifen dürfen. Das wären root, www und andere die bereits auch schon vorhanden und eingetragen sind. Ihr selbst müßt euren Namen dort entfernen, ansonsten könnt ihr den FTP-Server nicht verwenden.)
ftpchroot (Diese Datei wird die Namen der System-User enthalten die auf ihr Home-Verzeichnis beschränkt werden, außer der Anonymous der nicht)
ftpd.conf (Das ist die eigentliche Konfigurations-Datei des Servers, dort werden wir die nötigen Anweisungen an den FTP-Server eintragen.)
ftpwelcome (Diese Datei ist optional und von jedem Nutzer nach seinen Wünschen zu bestücken, sie wird beim Start des Servers als Information oder Begrüßung an den Client gesendet)
motd (Mit dieser Datei kann man dem Client eine Nachricht anzeigen wenn er ein Verzeichnis besucht in dem bestimmte Voraussetzungen gelten, die Datei muß dazu in jenem Verzeichnis liegen wo sie angezeigt werden soll. Vorgesehen vorallem für den Anonymous-Zugriff.)
Es gibt noch weitaus mehr Dateien die den Betrieb des FTP-Server beinflussen können, diese benötigen wir jedoch für unser Vorhaben nicht.
Fortsetzung folgt ...
Wie dieser FTP-Server An - und Abgeschaltet wird wissen wir alle, das muß ich also nicht erklären. Was allerdings interessant ist und jeder wissen sollte:
Mac OS X, als Unix-System enthält mehrere Sicherheits - und Abwehr-Mechanismen welche vor einem Arbeitsprozeß wie eine Schutzmauer fungieren. Das ist auch für den FTP-Server der Fall, da er für das System an sich genommen ein Risikofaktor darstellt. Man ist nicht nur mit dem Netzwerk Internet direkt verbunden, sondern es werden Programme und Prozesse dabei ausgeführt die bei Unachtsamkeit zu Verwüstung und Zerstörung führen können.
Dafür gibt es die Tools "xinetd" und "inetd" welche den Betrieb eines FTP-Server ausreichend absichern und Angriffe auf unser internes Betriebssystem abwehren.
Wenn wir also unseren FTP-Server jetzt starten werden, wird er nicht direkt gestartet, sondern mit Hilfe von "xinetd", welches die TCP und UDP-Ports nach Störungen und Fehlerquellen ablauscht.
Bei Verwendung der in Mac OS X internen FireWall werden automatisch die notwendigen Ports geöffnet, darum muß man sich also nicht kümmern.
Nun öffnen wir zwei Fenster im Programm Terminal und geben ein:
Fenster 1:
tail -f /var/log/ftp.log
Fenster 2:
ftp Euer Domainname
Eure Dynamische IP-Adresse sollte dazu beim Anbieter http://www.dyndns.org/ bereits geupdatet sein.
Schauen wir uns also an was passiert, "tail" schreibt dazu die Log-Datei mit.
Wir geben unseren Usernamen ein, unser Kennwort und erhalten promt Zugriff.
Bis hierhin alles gut. Nun geben wir mal diesen Befehl ein, damit wird erwirkt daß der FTP-Server uns in unser Homeverzeichnis schickt:
Dann geben wir ein daß wir die Daten aufgelistet erhalten:
Doch was ist das? Das ist ja gar nicht unser Homeverzeichnis. Wir sind ja im Root-Verzeichnis des Systems. Wie kommt das denn und kann das jeder User der sich per Name und Kennwort anmeldet?
Die Antwort: Ja das kann jeder und wenn man dabei geschickt ist, läßt sich so auch komfortabel der Mach-Kernel des Systems löschen ... (Angst ist mein zweiter Vorname)
Bis hierhin zunächst, ich hoffe die Aufmerksamkeit erregt zu haben.
... Kaffe-Pause ...
Ist das nun wirklich ein zweites Sicherheitsproblem was sich da auftut? Ist das von Apple so gewollt oder eine Lücke im Sicherheits-Netz?
Ich würde sagen keines von beiden. Denn:
Erstens benötigt man für einen Zugriff Name und Passwort, zweitens muß der FTP-Server aktiviert sein. Drittens muß der Computer eingeschaltet sein ...
Jetzt mal im Ernst:
Die Firma Apple nimmt wahrscheinlich an, daß man als stinknormaler End-Anwender einen FTP-Server sowieso nicht benutzt. Hiermit ist aber das Gegenteil bewiesen. Weiterhin denkt sich Apple daß jeder der ihn doch benutzt, so schlau sein müßte um ihn auch hundertprozentig sicherheitstechnisch konfigurieren zu können. (Danke für das Vertrauen) Daß das nicht der Fall ist, stellen wir heute auch fest. Eine Erklärung des FTP-Server ist in den Man-Pages über das Terminal abrufbar. Damit ist der FTP-Server jedoch nicht eindeutig beschrieben, zumal noch auf Englisch.
Also ich spreche da jetzt nur für mich, aber mir gefällt einfach der Gedanke nicht daß ein anderer Nutzer meines Computers mir Dateien in meinem Root-Verzeichnis auf diesem Wege löschen oder verändern könnte. Das muß doch nicht sein, dieses Problem werden wir hier ein für alle Mal beseitigen.
Mein FTP-Server hat die kleine Tour bereits hinter sich und ist für jeden erreichbar unter ftp://treff.homeip.net// wohlbemerkt wenn mein iMac online ist.
Was können wir also tun?
Wir werden allen gewünschten Benutzern einen Zugang auf den FTP-Server gewähren so wie gehabt, mit dem einzigen Unterschied jedoch: Jeder Besucher wird auf sein Home-Verzeichnis beschränkt, sprich: dort eingesperrt. Das Home-Verzeichnis wird das Root-Verzeichnis sein, eine höhere Hirarchie zu erreichen ist damit ausgeschlossen.
Dann werden wir einen Anonymous-Zugang einrichten für einen User mit beschränkten Zugriffsmöglichkeiten. Dieser kann sich ebenfalls nur im Rahmen seiner Verzeichnis-Struktur bewegen und wird nur Daten lesen können sowie in ein dafür angelegtes Verzeichnis Daten uploaden dürfen, welche aber eine bestimmte Größe (KB) nicht überschreiten werden.
Zuletzt werden wir dann noch einen Test durchführen und darüber entscheiden welche Clients (FTP-Programme) zur Zeit in Frage kommen um diesen Service FTP auch effizient nutzen zu können. Ich benutze z.B. Captain FTP, ein sehr schönes Programm. Noch in der Entwicklungsphase aber es enthält jetzt schon wesentliche Features die ich heute nicht mehr missen möchte. Version 3.1 liegt seit gestern vor. Ich habe das Programm bereits schon gekauft weil ich meine, daß es große Zukunft hat. Das nur nebenbei ...
Was brauchen wir dazu?
Einige Text-Dateien die zum größten Teil im System fehlen, da Apple wie schon erwähnt diesen Bereich nicht ausreichend supportet.
Drei Verzeichnisse die wir später noch anlegen werden. Ein User den wir mit Hilfe des Programms "Netinfo-Manager" erstellen, nicht im Terminal. Und Einrichten von erforderlichen Benutzer - und Zugriffsrechten, mit dem Terminal. Alle Dateien gehören in das Verzeichnis "/etc/", dafür benötigen wir Root-Rechte oder die eines "sudo".
Als da wären:
ftpusers (Diese Datei, auch wenn sie vom Namen her etwas anderes vermuten läßt, enthält die Namen der Benutzer des Systems die nicht auf den FTP-Server zugreifen dürfen. Das wären root, www und andere die bereits auch schon vorhanden und eingetragen sind. Ihr selbst müßt euren Namen dort entfernen, ansonsten könnt ihr den FTP-Server nicht verwenden.)
ftpchroot (Diese Datei wird die Namen der System-User enthalten die auf ihr Home-Verzeichnis beschränkt werden, außer der Anonymous der nicht)
ftpd.conf (Das ist die eigentliche Konfigurations-Datei des Servers, dort werden wir die nötigen Anweisungen an den FTP-Server eintragen.)
ftpwelcome (Diese Datei ist optional und von jedem Nutzer nach seinen Wünschen zu bestücken, sie wird beim Start des Servers als Information oder Begrüßung an den Client gesendet)
motd (Mit dieser Datei kann man dem Client eine Nachricht anzeigen wenn er ein Verzeichnis besucht in dem bestimmte Voraussetzungen gelten, die Datei muß dazu in jenem Verzeichnis liegen wo sie angezeigt werden soll. Vorgesehen vorallem für den Anonymous-Zugriff.)
Es gibt noch weitaus mehr Dateien die den Betrieb des FTP-Server beinflussen können, diese benötigen wir jedoch für unser Vorhaben nicht.
Fortsetzung folgt ...
Zuletzt bearbeitet: