Introduktion

Nginx är en av de mest populära webbservrarna som används på några av de mest trafikerade platserna världen över och är verkligen en mycket snabb och lätt server. Med några av sina standardinställningar blir det sårbart för hackattacker. I den här artikeln illustrerar vi hur man kan förhindra flera attacker på Nginx webbserver på Ubuntu 18.04 genom skript över flera webbplatser, informationsläckage, stjäla cookieinformation och klickjackingattacker.


Förutsättningar

Se till att du har utfört följande innan du startar denna tutorial.

  • Ubuntu 18.04 VPS-installation
  • Installerad senaste nginx webbserver (1.14.0 vid publiceringen av denna artikel)
  • Skapade en kopia av följande konfigurationsfiler: /etc/nginx/nginx.conf, / etc / nginx / sites-available / default
  • Icke-root-användare har sudo privilegier

1. Dölj information om Nginx

Som standard visas nginx-versionen i svarsrubrikerna som visas nedan.

Att ha sådan information kommer att underlätta en hacker i ett försök att attackera webbservern.

$ curl -I http://35.226.204.122/
HTTP / 1.1 200 OK
Server: nginx / 1.14.0 (Ubuntu)
Datum: ons, 06 juni 2018 14:35:24 GMT
Innehållstyp: text / html
Innehållslängd: 612
Senast uppdaterad: ons, 06 juni 2018 14:34:09 GMT
Anslutning: fortsätt
ETag: "5b17f0e1-264"
Acceptera intervall: byte

Inaktivera informationsläckaget genom att avmarkera raden nedan i avsnittet http i huvudfilen nginx config /etc/nginx/nginx.conf

http {
server_tokens off;

Spara filen och ladda om nginx

$ sudo systemctl ladda om nginx

Bekräfta att nginx-versionerna inte längre visas.

$ curl -I http://35.226.204.122/
HTTP / 1.1 200 OK
Server: nginx
Datum: ons, 06 juni 2018 14:44:20 GMT
Innehållstyp: text / html
Innehållslängd: 612
Senast uppdaterad: ons, 06 juni 2018 14:34:09 GMT
Anslutning: fortsätt
ETag: "5b17f0e1-264"
Acceptera intervall: byte

2. Aktivera X-XSS-skydd

X-XSS skyddar webbservern mot skriptattacker över flera webbplatser. Lägg till raden nedan i http-avsnittet i huvudnginx-konfigurationsfilen /etc/nginx/nginx.conf

add_header X-XSS-skydd "1; mode = blocket";

Enligt nedanstående:

http {
server_tokens off;
add_header X-XSS-skydd "1; mode = blocket";

Spara filen och ladda om nginx-tjänsten

3. Inaktivera oönskade HTTP-metoder

De önskvärda HTTP-metoderna inkluderar POST, HEAD, GET medan de oönskade är DELETE eller TRACE. Dessa är ganska riskabla eftersom de ger tillhandahållande av att stjäla information om kakor genom attacker över hela webbplatsen.

För att inaktivera detta lägg till raden nedan i serversektionen i nginx config-fil / etc / nginx / sites-available / default

if ($ request_method! ~ ^ (GET | HEAD | POST) $)
{
retur 405;
}

Lägg till raderna som visas nedan:

server {
lyssna 80 default_server;
lyssna [::]: 80 default_server;
# SSL-konfiguration
#
# lyssna 443 ssl default_server;
# lyssna [::]: 443 ssl default_server;
#
# Obs! Du bör inaktivera gzip för SSL-trafik.
# Se: https://bugs.debian.org/773332
#
# Läs upp på ssl_ciphers för att säkerställa en säker konfiguration.
# Se: https://bugs.debian.org/765782
#
# Självsignerade certifikat genererade av ssl-cert paketet
# Använd dem inte i en produktionsserver!
#
# inkludera utdrag / snakeoil.conf;
root / var / www / html;
# Lägg till index.php i listan om du använder PHP
index index.html index.htm index.nginx-debian.html;
server namn _;
plats / {
# Första försök att servera begäran som fil, sedan
# som katalog, faller sedan tillbaka till att visa en 404.
try_files $ uri $ uri / = 404;
}
if ($ request_method! ~ ^ (GET | HEAD | POST) $)
{
retur 405;
}

Spara filen och ladda om nginx-tjänsten

4. Förhindra Clickjacking Attacks

Clickjacking-attack innebär att hacker placerar dold länk under den legitima knappen på webbplatsen och användaren klickar omedvetet på angriparens länk och orsakar ondska. I de flesta fall görs detta med iframes. I nginx rekommenderas därför att du sätter in X-FRAME-ALTERNATIV "SAMEORIGIN" i rubriken för att begränsa webbläsaren att ladda resurser endast från webbservern.

Lägg till raden nedan i http-avsnittet i huvudnginx-konfigurationsfilen /etc/nginx/nginx.conf

add_header X-Frame-Options "SAMEORIGIN";

Enligt nedanstående:

http {
server_tokens off;
add_header X-XSS-skydd "1; mode = blocket";
add_header X-Frame-Options "SAMEORIGIN";

Spara filen och ladda om nginx-tjänsten

5. Håll alltid Nginx uppdaterad

Nginx-uppdateringarna kommer alltid att säkerställa att alla säkerhetsproblem i tidigare versioner eller utgåvor har lösts. Kör bara kommandona nedan:

$ sudo add-apt-repository ppa: nginx / stable
# Tryck på enter för att fortsätta med förvaretillägget när du får en fråga om att fortsätta eller inte

Uppdatering av $ sudo apt

$ sudo apt install nginx -y

Slutsats

De nämnda fem stegen är de grundläggande metoderna för att säkra nginx webbserver. Några ytterligare åtgärder du kan vidta för att säkra din nginx webbserver inkluderar:

  • Installera SSL-certifikat i nginx-webbservern för att kryptera all kommunikation via internet
  • Implementera NGINX WAF (NGINX Plus med ModSecurity WAF (Web Application Firewall), som är PCI-DSS 6.6-kompatibel och skyddar webbservern mot DDoS, utför svartlistning i realtid utför revisionsloggar
  • Säkra Diffie-Hellman för TLS som en del av SSL / TLS-optimering
  • Inaktivera svaga chiffer-sviter så att endast starka cifrar därmed minskar sårbarheten

Efter att ha genomfört alla dessa steg har du framgångsrikt härdat din Nginx webbserver som körs på din Ubuntu 18.04-server.

Kolla in dessa topp 3 dedikerade serverhotelltjänster:

A2 Hosting

Startpris:
$ 99,59


Pålitlighet
9,3


Prissättning
9,0


Användarvänlig
9,3


Stöd
9,3


Funktioner
9,3

Läs recensioner

Besök A2 Hosting

FastComet

Startpris:
$ 139.00


Pålitlighet
9,7


Prissättning
9,5


Användarvänlig
9,7


Stöd
9,7


Funktioner
9,6

Läs recensioner

Besök FastComet

Hostwinds

Startpris:
$ 99.00


Pålitlighet
9,3


Prissättning
9,2


Användarvänlig
9,2


Stöd
9,3


Funktioner
9,2

Läs recensioner

Besök Hostwinds

Relaterade artiklar om hur man gör

  • Hur du hårdnar din Apache webbserver på en Ubuntu 18.04 dedikerad server eller VPS
    expert-
  • Hur man konfigurerar Nginx för att använda självsignerat SSL / TLS-certifikat på Ubuntu 18.04 VPS eller dedikerad server
    mellanliggande
  • Hur du installerar ett låtts krypteringscertifikat på din Ubuntu 18.04 dedikerade server eller VPS
    mellanliggande
  • Hur man ställer in WordPress Multisite på Ubuntu 18.04 med Apache webbserver
    mellanliggande
  • Hur du installerar Fail2ban på din Ubuntu 18.04 VPS-server eller dedikerade server
    mellanliggande
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me