Heim  >  Artikel  >  Betrieb und Instandhaltung  >  Beispielfreigabe für die Sicherheitshärtung des Linux-NFS-Dienstes

Beispielfreigabe für die Sicherheitshärtung des Linux-NFS-Dienstes

小云云
小云云Original
2018-02-24 10:14:341573Durchsuche

NFS (Network File System) ist ein von FreeBSD unterstütztes Dateisystem, das die gemeinsame Nutzung von Ressourcen zwischen Computern im Netzwerk über das TCP/IP-Netzwerk ermöglicht. Eine unsachgemäße Konfiguration und Verwendung von NFS kann zu Sicherheitsproblemen führen.

Überblick

Die Unsicherheit von NFS spiegelt sich hauptsächlich in den folgenden vier Aspekten wider:

  • Fehlender Zugriffskontrollmechanismus

  • Kein echter Benutzerauthentifizierungsmechanismus, nur Prozessauthentifizierung für RPC/Mount-Anfragen

  • Ältere Versionen von NFS können es nicht autorisierten Benutzern ermöglichen, gültige Dateihandles zu erhalten

  • Bei RPC-Fernaufrufen verfügt das SUID-Programm über Superuser-Berechtigungen

Verstärkungslösung

Um die oben genannten Sicherheitsrisiken effektiv zu bewältigen, ist es Es wird empfohlen, das folgende Härtungsschema zu verwenden.

Konfigurieren Sie das freigegebene Verzeichnis (/etc/exports)

Verwenden Sie anonuid, anongid, um das freigegebene Verzeichnis zu konfigurieren, sodass der auf dem NFS-Server bereitgestellte Client nur über minimale Berechtigungen verfügt. Verwenden Sie nicht no_root_squash.

Verwenden Sie die Netzwerkzugriffskontrolle

Verwenden Sie Sicherheitsgruppenrichtlinien oder eine iptable-Firewall, um den Bereich der Maschinen zu begrenzen, die eine Verbindung zum NFS-Server herstellen können.


iptables -A INPUT -i eth0 -p TCP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 192.168.0.0/24 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p TCP -s 140.0.0.0/8 --dport 111 -j ACCEPT
iptables -A INPUT -i eth0 -p UDP -s 140.0.0.0/8 --dport 111 -j ACCEPT

Kontoüberprüfung
Verwenden Sie Kerberos V5 als Anmeldeüberprüfungssystem, bei dem sich alle Besucher zur Verbesserung der Sicherheit mit einem Konto anmelden müssen .

Legen Sie die Anzahl der COPYs für NFSD fest

Unter Linux wird die Anzahl der COPYs für NFSD in der Startdatei /etc/rc.d/init.d/nfs definiert und der Standardwert ist 8 .

Die optimale Anzahl an COPYs hängt im Allgemeinen von der Anzahl der möglichen Kunden ab. Sie können einen ungefähren optimalen Wert für die Anzahl der KOPIEN ermitteln, indem Sie diesen Parameter manuell testen und einstellen.

Übertragungsprotokoll wählen

Für unterschiedliche Netzwerksituationen wählen Sie gezielt UDP- oder TCP-Übertragungsprotokoll aus. Das Transportprotokoll kann automatisch ausgewählt oder manuell eingestellt werden.

mount -t nfs -o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR

Die Übertragungsgeschwindigkeit des UDP-Protokolls ist schnell. Nicht-Verbindung und Übertragung sind praktisch, aber die Übertragungsstabilität ist nicht so gut wie bei TCP. Wenn das Netzwerk instabil ist oder Hacker eindringen, kann es leicht zu erheblichen Leistungseinbußen bei NFS und sogar zu einer Netzwerklähmung kommen. Im Allgemeinen ist NFS mit TCP stabiler und NFS mit UDP schneller.

  • Wenn weniger Maschinen und gute Netzwerkbedingungen vorhanden sind, kann die Verwendung des UDP-Protokolls zu einer besseren Leistung führen.

  • Wenn viele Maschinen vorhanden sind und die Netzwerksituation komplex ist, wird die Verwendung des TCP-Protokolls empfohlen (V2 unterstützt nur das UDP-Protokoll).

  • Es ist besser, das UDP-Protokoll im LAN zu verwenden, da LAN eine relativ stabile Netzwerkgarantie bietet und die Verwendung von UDP eine bessere Leistung bringen kann.

  • Es wird empfohlen, das TCP-Protokoll im WAN zu verwenden. Das TCP-Protokoll ermöglicht es NFS, die beste Übertragungsstabilität in komplexen Netzwerkumgebungen aufrechtzuerhalten.

Begrenzen Sie die Anzahl der Clients

Ändern Sie /etc/hosts.allow und /etc /hosts.deny , um die Anzahl der Clients zu begrenzen.

/etc/hosts.allow
portmap: 192.168.0.0/255.255.255.0 : erlauben
portmap: 140.116.44.125 : erlauben
/etc/hosts.deny
portmap: ALL : deny

Ändern Sie den Standard-NFS-Port
NFS verwendet standardmäßig Port 111. Verwenden Sie den Port-Parameter, um diesen Portwert zu ändern. Durch Ändern des Standardportwerts kann die Sicherheit bis zu einem gewissen Grad verbessert werden.

Konfigurieren von nosuid und noexec
SUID- (Set User ID) oder SGID- (Set Group ID) Programme können normalen Benutzern die Ausführung mit Berechtigungen ermöglichen, die über ihre eigenen hinausgehen. Viele ausführbare SUID/SGID-Programme sind notwendig, können aber auch von einigen böswilligen lokalen Benutzern ausgenutzt werden, um Berechtigungen zu erhalten, die sie nicht haben sollten.

Minimieren Sie die Anzahl der Dateien, deren Besitzer Root ist, oder Dateien mit SUID/SGID-Attributen in der Root-Gruppe. Sie können eine solche Datei löschen oder ihre Attribute ändern, z. B.:

Verwenden Sie die Option nosuid, um die Ausführung des set-UID-Programms auf dem NFS-Server zu deaktivieren. Sie können eine Zeile zu /etc/exports hinzufügen:

/www www.abc.com(rw, root_squash, nosuid)

Verwenden Sie noexec, um die direkte Ausführung der darin enthaltenen Binärdateien zu verhindern.

Verwandte Empfehlungen:

Was ist NFS? Teilen Sie mit, wie Sie die NFS-Freigabe unter CentOS7 implementieren

Erstellen von FTP-, NFS- und SSH-Servern unter Linux

Einführung und Nutzung des NFS-Dienstes

Das obige ist der detaillierte Inhalt vonBeispielfreigabe für die Sicherheitshärtung des Linux-NFS-Dienstes. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn