Heim > Artikel > Betrieb und Instandhaltung > So konfigurieren Sie ein CentOS-System zum Schutz von Webanwendungen vor SQL-Injection-Angriffen
So konfigurieren Sie das CentOS-System zum Schutz von Webanwendungen vor SQL-Injection-Angriffen
Einführung:
Mit der Entwicklung des Internets wird die Verwendung von Webanwendungen immer weiter verbreitet, bringt jedoch auch Sicherheitsprobleme von Webanwendungen mit sich. Unter diesen ist der SQL-Injection-Angriff die häufigste Angriffsmethode. Um unsere Webanwendungen zu schützen, müssen wir eine Reihe von Konfigurationen und Optimierungen am CentOS-System durchführen. In diesem Artikel wird beschrieben, wie Sie ein CentOS-System konfigurieren, um Webanwendungen vor SQL-Injection-Angriffen zu schützen.
Webserver installieren und konfigurieren
Zuerst müssen wir einen zuverlässigen Webserver installieren und konfigurieren, um unsere Webanwendung zu hosten. Hier wählen wir als Beispiel den häufig verwendeten Apache-Server. Das Folgende ist ein Beispiel für den Befehl zum Installieren des Apache-Servers unter CentOS:
sudo yum install httpd
Nach Abschluss der Installation müssen wir einige Sicherheitskonfigurationen auf Apache durchführen. Zunächst deaktivieren wir das Durchsuchen von Verzeichnissen auf dem Server, um zu verhindern, dass Angreifer vertrauliche Informationen auf dem Server erhalten. Hier ist ein Beispiel für das Deaktivieren des Durchsuchens von Verzeichnissen durch Ändern der Datei httpd.conf:
sudo vi /etc/httpd/conf/httpd.conf
Finden Sie diese Zeile in der Datei:
Options Indexes FollowSymLinks
Ändern Sie sie in:
Options -Indexes FollowSymLinks
Speichern und beenden Sie die Datei. Anschließend starten wir den Apache-Server neu, damit er wirksam wird:
sudo systemctl restart httpd
Konfigurieren des Datenbankservers
Webanwendungen müssen häufig eine Datenbank zum Speichern und Verwalten von Daten verwenden. Hier wählen wir MySQL als Datenbankserver zum Speichern unserer Daten. Das Folgende ist ein Beispielbefehl zum Installieren des MySQL-Servers unter CentOS:
sudo yum install mysql-server
Nach Abschluss der Installation müssen wir einige Sicherheitskonfigurationen für MySQL vornehmen. Zunächst deaktivieren wir den Fernzugriff und erlauben nur den lokalen Zugriff auf die Datenbank. Hier ist ein Beispiel für die Deaktivierung des Fernzugriffs durch Ändern der Datei my.cnf:
sudo vi /etc/my.cnf
Suchen Sie die folgende Zeile:
bind-address = 127.0.0.1
Fügen Sie das Kommentarsymbol „#“ vor der Zeile hinzu, um daraus eine Kommentarzeile zu machen:
#bind-address = 127.0.0.1
Speichern und beenden die Datei. Anschließend starten wir den MySQL-Server neu, damit die Konfiguration wirksam wird:
sudo systemctl restart mysqld
Verwenden Sie parametrisierte Abfrageanweisungen: Bei der Ausführung von SQL-Abfragen sollten wir parametrisierte Abfrageanweisungen anstelle verketteter Zeichenfolgen verwenden. Dadurch wird verhindert, dass Angreifer durch böswillige Eingaben zusätzlichen SQL-Code einschleusen. Hier ist ein Beispiel für die Verwendung einer parametrisierten Abfrage:
import pymysql conn = pymysql.connect(host='localhost', user='username', password='password', database='dbname') cursor = conn.cursor() sql = "SELECT * FROM users WHERE username = %s" username = 'admin' cursor.execute(sql, (username,)) result = cursor.fetchall() for row in result: print(row) conn.close()
Eingabe filtern und validieren: Beim Empfang von Benutzereingaben sollten wir die Eingabe filtern und validieren, um sicherzustellen, dass die Eingabe dem erwarteten Format und Typ entspricht. Hier ist ein Beispiel für Eingabefilterung und -validierung:
username = input("请输入用户名:") # 过滤非法字符 for char in username: if char not in ('abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-_'): username = username.replace(char, '') # 验证用户名长度 if len(username) > 20: username = username[:20] print("处理后的用户名为:", username)
Fazit:
Mit der oben genannten Konfiguration und Codeoptimierung können wir unsere Webanwendung effektiv vor SQL-Injection-Angriffen schützen. Dies ist natürlich nur ein Teil der Schutzmaßnahmen. Wir müssen auch auf andere Sicherheitsaspekte achten und das System rechtzeitig aktualisieren und warten. Durch die Kombination verschiedener Sicherheitsmaßnahmen können wir die Sicherheit unserer Webanwendungen und Daten wirksamer schützen.
Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie ein CentOS-System zum Schutz von Webanwendungen vor SQL-Injection-Angriffen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!