Da Computernetzwerke heute immer beliebter werden, erfordert die Computersicherheit nicht nur die Verhinderung von Computerviren, sondern auch die Verbesserung der Widerstandsfähigkeit des Systems gegen illegale Eingriffe durch Hacker. Außerdem muss die Vertraulichkeit der Fernübertragung von Daten verbessert werden, um illegalen Diebstahl während der Übertragung zu verhindern. In diesem Artikel werden nur einige Situationen erläutert, die beim Aufbau eines Webservers auftreten können, in der Hoffnung, Aufmerksamkeit zu erregen.
1. Sicherheitslücken
Schwachstellen auf dem Webserver können unter folgenden Gesichtspunkten betrachtet werden:
1. Geheime Dateien, Verzeichnisse oder wichtige Daten auf dem Webserver, auf die Sie anderen keinen Zugriff gewähren.
2. Beim Senden von Informationen von einem Remote-Benutzer an den Server, insbesondere beim Senden von Informationen wie Kreditkarten, werden diese auf halbem Weg illegal von Kriminellen abgefangen.
3. Es gibt einige Schwachstellen im Webserver selbst, die es einigen Personen ermöglichen, in das Hostsystem einzudringen, einige wichtige Daten zu zerstören und sogar eine Systemlähmung zu verursachen.
4. Zu den CGI-Sicherheitslücken gehören:
(1) Das absichtliche oder unabsichtliche Unterlassen von Bugs im Hostsystem schafft Bedingungen für illegale Hacker.
(2) Mit CGI-Skripten geschriebene Programme können eine Web-Gefahr für das Hostsystem darstellen.
5. Es gibt auch einige einfache Webserver, die ohne Berücksichtigung einiger Sicherheitsfaktoren aus dem Internet heruntergeladen werden und nicht für kommerzielle Anwendungen verwendet werden können.
Unabhängig davon, ob Sie den Server konfigurieren oder CGI-Programme schreiben, müssen Sie daher auf die Sicherheit des Systems achten. Versuchen Sie, bestehende Lücken zu schließen und eine sichere Umgebung zu schaffen.
2. Verbessern Sie die Systemsicherheit und -stabilität
Sicherheitsvorkehrungen für Webserver:
1. Beschränken Sie die Kontoeröffnung auf dem Webserver und löschen Sie regelmäßig einige Benutzer, die den Vorgang unterbrechen.
2. Stellen Sie für Konten, die auf dem Webserver eröffnet werden, Anforderungen an die Passwortlänge und regelmäßige Änderungen, um Diebstahl zu verhindern.
3. Versuchen Sie, FTP, MAIL und andere Server von ihnen zu trennen und einige irrelevante Anwendungen wie FTP, Sendmail, TFTP, NIS, NFS, Finger, Netstat usw. zu entfernen.
4. Entfernen Sie einige absolut unnötige Interpreter wie SHELL auf dem Webserver. Das heißt, wenn PERL nicht in Ihrem CGI-Programm verwendet wird, versuchen Sie, PERL im Systeminterpreter zu löschen.
5. Überprüfen Sie regelmäßig die Protokolldatei auf dem Server und analysieren Sie alle verdächtigen Ereignisse. Wenn Einträge wie rm, login, /bin/perl, /bin/sh usw. im Fehlerprotokoll erscheinen, wurde Ihr Server möglicherweise von illegalen Benutzern angegriffen.
6. Legen Sie die Berechtigungen und Attribute der Systemdateien auf dem Webserver fest, weisen Sie dem Dokument eine öffentliche Gruppe wie WWW zu, auf die andere zugreifen können, und weisen Sie ihm nur Leserechte zu. Alle HTML-Dateien gehören zur WWW-Gruppe und die WWW-Gruppe wird vom Webadministrator verwaltet. Nur Webadministratoren haben Schreibzugriff auf die Webkonfigurationsdateien.
7. Wenn einige Webserver das Webdokumentverzeichnis und das FTP-Verzeichnis auf dasselbe Verzeichnis verweisen, sollten Sie darauf achten, das FTP-Verzeichnis und CGI-BIN nicht im selben Verzeichnis anzugeben. Dadurch soll verhindert werden, dass einige Benutzer einige Programme wie PERL oder SH über FTP hochladen und die CGI-BIN des Webs verwenden, um sie auszuführen, was nachteilige Folgen haben würde.
8. Greifen Sie auf die Benutzer-IP oder DNS zu, indem Sie die Berechtigung einschränken, z. B. durch Hinzufügen von: zur access.conf in NCSA:
„Verzeichnis /vollständiger/Pfad/zu/Verzeichnis“
„GET POST begrenzen“
gegenseitiges Scheitern anordnen
von allen leugnen
zulassen ab 168.160.142
"/Limit"
"/Verzeichnis"
Auf diese Weise können nur Kunden mit dem Domainnamen abc.net.cn oder der zu 168.160.142 gehörenden IP auf den Webserver zugreifen.
Fügen Sie für CERN- oder W3C-Server Folgendes zu httpd.conf hinzu:
Schutz LOCAL-USERS {
GetMask @(*.capricorn.com, *.zoo.org, 18.157.0.5)
}
Schützen Sie /relative/path/to/directory/* LOCAL-USERS
9.HTTPD unter WINDOWS
(1)Netscape-Kommunikationsserver für NT
Schwachstellen im PERL-Interpreter:
Netscape Communications Server kann die Erweiterung und ihre Anwendungsbeziehung unter CGI-BIN nicht erkennen. Beispielsweise ist die .pl-Datei eine vom PERL-Codeprogramm automatisch aufgerufene Datei. Die Datei perl.exe kann derzeit nur im CGI gespeichert werden -BIN-Verzeichnis. Ausführen wie: /cgi-bin/perl.exe? &mein_skript.pl. Aber das ist
Kann jemand PERL ausführen, wenn jemand etwas wie /cgi-bin/perl.exe zur URL seines Browsers hinzufügt? -e unlink <*> kann dazu führen, dass Dateien im aktuellen Verzeichnis des Servers gelöscht werden. Andere wie O'Reilly WebSite oder Purveyor weisen diese Schwachstelle jedoch nicht auf.
Sicherheitslücken bei der CGI-Ausführung von Batchdateien:
Der Inhalt der Datei test.bat ist wie folgt:
@echo aus
echo Inhaltstyp: Text/Plain
Echo
echo Hallo Welt!
Was passiert, wenn die URL des Browsers des Kunden lautet:/cgi-bin/test.bat? &dir, dann wird der Befehlsinterpreter ausgeführt, um die DIR-Liste zu vervollständigen. Dadurch erhält der Besucher die Möglichkeit, weitere Befehle auszuführen.
(2)O′Reilly WebSite-Server für Windows NT/95
Bei der Verwendung von Batchdateien in Versionen vor WebSite1.1B besteht die gleiche Schwachstelle wie bei Netscape. Die neue Version schließt jedoch die Rolle von .bat in CGI aus. Unterstützt PERL und die neue Version verwendet VB und C als CGI-Entwicklungstools.
(3)Der IIS-Webserver von Microsoft
IIS vor dem 5. März 1996 weist unter NT schwerwiegende Fehler auf, und Sie können den Befehlsbefehl beliebig verwenden. Die Sicherheitslücke wurde jedoch inzwischen behoben und Sie können das Erstellungsdatum Ihrer ausführbaren Datei überprüfen. Es gibt noch einige Sicherheitslücken in IIS 3.0, hauptsächlich die Gewährung von Rechten unter CGI-BIN. Darüber hinaus weisen viele Webserver selbst einige Sicherheitslücken auf, die während des Versionsaktualisierungsprozesses kontinuierlich aktualisiert werden. Ich werde sie hier nicht einzeln auflisten.
[Seite ausschneiden]
3. Betrachten Sie die Sicherheit aus der Perspektive der CGI-Programmierung
1. Es ist sicherer, kompilierte Sprache als interpretierte Sprache zu verwenden, und CGI-Programme sollten unabhängig vom HTML-Speicherverzeichnis unter CGI-BIN abgelegt werden. Dies soll verhindern, dass einige illegale Besucher die Quelle der interpretierten Sprache aus dem Browser erhalten im Code.
2. Wenn Sie CGI-Programme in C schreiben, sollten Sie versuchen, popen(), system(), alle SHELL-Befehle mit /bin/sh sowie system(), exec(), open(), eval( in PERL) zu verwenden. und andere Befehle wie exec oder eval.
Wenn das vom Benutzer ausgefüllte Formular an CGI zurückgegeben wird, rufen Sie Funktionen wie system() nicht direkt auf.
Darüber hinaus gibt es für die Datenverschlüsselung und -übertragung derzeit SSL, SHTTP, SHEN und andere Protokolle, die jeder studieren kann.
4. Firewall
1. Das Konzept der Firewall
Unter Firewall versteht man ein Gerät, das aus Software oder einer Kombination aus Software- und Hardwaregeräten besteht. Es befindet sich zwischen den Computern eines Unternehmens oder einer Netzwerkgruppe und dem externen Kanal (Internet). Es schränkt den Zugriff externer Benutzer auf das interne Netzwerk ein verwaltet die Zugriffsberechtigungen interner Benutzer auf das externe Netzwerk.
2. Firewall-Maßnahmen
(1)Proxy-Host
„Internes Netzwerk – Proxy-Gateway – Internet“
Auf diese Weise kommuniziert das interne Netzwerk nicht direkt mit dem Internet. Das heißt, die internen Netzwerkcomputerbenutzer und das Proxy-Gateway übernehmen eine Kommunikationsmethode, die interne Netzwerkprotokolle (Netbios, TCP/IP usw.) bereitstellt, und das Standard-TCP/IP-Netzwerkkommunikationsprotokoll wird zwischen dem Gateway und dem Proxy-Gateway übernommen das Internet. Dadurch wird verhindert, dass Netzwerkdatenpakete direkt zwischen internen und externen Netzwerken übertragen werden. Interne Computer müssen über ein Proxy-Gateway auf das Internet zugreifen, wodurch es einfach ist, interne Netzwerkcomputer daran zu hindern, auf externe Computer auf dem Proxyserver zuzugreifen. Da der Proxyserver außerdem an beiden Enden unterschiedliche Protokollstandards verwendet, kann er außerdem illegale Eingriffe von außen direkt verhindern. Darüber hinaus kann das Gateway des Proxyservers Sicherheitskontrollen wie die Überprüfung von Datenpaketen und die Bestätigung von Passwörtern durchführen. Auf diese Weise können Benutzer auf beiden Seiten besser kontrolliert und verwaltet werden und fungieren als Firewall.
Da diese Firewall-Maßnahme über einen Proxyserver implementiert wird, wird die Effizienz zwangsläufig beeinträchtigt, wenn viele Online-Benutzer vorhanden sind. Der Proxyserver ist stark ausgelastet, sodass viele Client-Software, die auf das Internet zugreift, möglicherweise nicht normal auf das Internet zugreifen kann Netzwerkcomputer.
(2) Das Hinzufügen des Filters durch den Router ist abgeschlossen
„Internes Netzwerk – Filter – Router – Internet“
Diese Struktur verwendet Router und Filter, um den Zugriff externer Computer auf das interne Netzwerk basierend auf IP-Adressen oder Domänennamen zu beschränken. Außerdem kann der Zugriff auf das Internet vom internen Netzwerk aus festgelegt oder eingeschränkt werden. Der Router leitet die Datenkommunikation nur an einen bestimmten PORT auf dem Host weiter, während der Filter Filterung, Filterung, Überprüfung und Sicherheitsüberwachung durchführt, wodurch abnormale Zugriffsanmeldungen zwischen internen und externen Netzwerken weitgehend isoliert werden können.
[Seite ausschneiden]3. Betrachten Sie die Sicherheit aus der Perspektive der CGI-Programmierung
1. Es ist sicherer, kompilierte Sprache als interpretierte Sprache zu verwenden, und CGI-Programme sollten unabhängig vom HTML-Speicherverzeichnis unter CGI-BIN abgelegt werden. Dies soll verhindern, dass einige illegale Besucher die Quelle der interpretierten Sprache aus dem Browser erhalten im Code.
2. Wenn Sie CGI-Programme in C schreiben, sollten Sie versuchen, popen(), system(), alle SHELL-Befehle mit /bin/sh sowie system(), exec(), open(), eval( in PERL) zu verwenden. und andere Befehle wie exec oder eval.
Wenn das vom Benutzer ausgefüllte Formular an CGI zurückgegeben wird, rufen Sie Funktionen wie system() nicht direkt auf.
Darüber hinaus gibt es für die Datenverschlüsselung und -übertragung derzeit SSL, SHTTP, SHEN und andere Protokolle, die jeder studieren kann.
4. Firewall
1. Das Konzept der Firewall
Unter Firewall versteht man ein Gerät, das aus Software oder einer Kombination aus Software- und Hardwaregeräten besteht. Es befindet sich zwischen den Computern eines Unternehmens oder einer Netzwerkgruppe und dem externen Kanal (Internet). Es schränkt den Zugriff externer Benutzer auf das interne Netzwerk ein verwaltet die Zugriffsberechtigungen interner Benutzer auf das externe Netzwerk.
2. Firewall-Maßnahmen
(1)Proxy-Host
„Internes Netzwerk – Proxy-Gateway – Internet“
Auf diese Weise kommuniziert das interne Netzwerk nicht direkt mit dem Internet. Das heißt, die internen Netzwerkcomputerbenutzer und das Proxy-Gateway übernehmen eine Kommunikationsmethode, die interne Netzwerkprotokolle (Netbios, TCP/IP usw.) bereitstellt, und das Standard-TCP/IP-Netzwerkkommunikationsprotokoll wird zwischen dem Gateway und dem Proxy-Gateway übernommen das Internet. Dadurch wird verhindert, dass Netzwerkdatenpakete direkt zwischen internen und externen Netzwerken übertragen werden. Interne Computer müssen über ein Proxy-Gateway auf das Internet zugreifen, wodurch es einfach ist, interne Netzwerkcomputer daran zu hindern, auf externe Computer auf dem Proxyserver zuzugreifen. Da der Proxyserver außerdem an beiden Enden unterschiedliche Protokollstandards verwendet, kann er außerdem illegale Eingriffe von außen direkt verhindern. Darüber hinaus kann das Gateway des Proxyservers Sicherheitskontrollen wie die Überprüfung von Datenpaketen und die Bestätigung von Passwörtern durchführen. Auf diese Weise können Benutzer auf beiden Seiten besser kontrolliert und verwaltet werden und fungieren als Firewall.
Da diese Firewall-Maßnahme über einen Proxyserver implementiert wird, wird die Effizienz zwangsläufig beeinträchtigt, wenn viele Online-Benutzer vorhanden sind. Der Proxyserver ist stark ausgelastet, sodass viele Client-Software, die auf das Internet zugreift, möglicherweise nicht normal auf das Internet zugreifen kann Netzwerkcomputer.
(2) Das Hinzufügen des Filters durch den Router ist abgeschlossen
„Internes Netzwerk – Filter – Router – Internet“
Diese Struktur verwendet Router und Filter, um den Zugriff externer Computer auf das interne Netzwerk basierend auf IP-Adressen oder Domänennamen zu beschränken. Außerdem kann der Zugriff auf das Internet vom internen Netzwerk aus festgelegt oder eingeschränkt werden. Der Router leitet die Datenkommunikation nur an einen bestimmten PORT auf dem Host weiter, während der Filter Filterung, Filterung, Überprüfung und Sicherheitsüberwachung durchführt, wodurch abnormale Zugriffsanmeldungen zwischen internen und externen Netzwerken weitgehend isoliert werden können.