Nginx öryggis- og herðunarleiðbeiningar fyrir netþjóninn

Bestu vinnubrögð við Nginx öryggi.


Nginx er ört vaxandi netþjónn í greininni og eins og stendur gegnir hann stöðu númer tvö í markaðshlutdeild.

Það kom upphaflega út árið 2004 og síðan þá hefur það aflað sér ágætis orðspor og notað á topp milljón uppteknum vefsvæðum.

Það er ástæða fyrir því – Nginx er logandi hratt.

Í þessari grein mun ég tala um nokkrar nauðsynlegar leiðbeiningar til að tryggja Nginx fyrir framleiðsluumhverfi. Svo skulum koma því af stað.

SSL / TLS

Innleiða SSL vottorð

Fyrsta skrefið í veföryggi er að hafa SSL útfært svo þú getir fengið aðgang að vefforritum með https og bætt við dulkóðunarlagi í samskiptum.

  • Notaðu OpenSSL til að búa til CSR með 2048 bita og sha-2

openssl req -nodes -new -sha256 -newkey rsa: 2048 -keyout bestflare.key -out bestflare.csr

  • Ofangreind skipun mun búa til CSR og lykilskrár sem nú vinna beint. Ekki gleyma að breyta .csr og .key skráarheitinu.

Fáðu CSR undirritað af vottorðaryfirvöldum og þegar þú hefur undirritað vottorðið geturðu framleitt það í Nginx eins og hér að neðan.

  • Innskráning á Nginx netþjóninn
  • Farðu í conf möppuna þar sem þú ert með ssl.conf skrá.

Athugasemd: Í sjálfgefinni uppsetningu á Linux muntu hafa þessa skrá undir /etc/nginx/conf.d.

  • Breyttu skránni og bættu við eftirfarandi, sem gerir Nginx kleift að hlusta á 443 höfn

netþjónn {
hlustaðu 443 ssl;
server_name bestflare.com;
ssl á;
ssl_certificate /opt/cert/bestflare.pem;
ssl_certificate_key /opt/cert/bestflare.key;
}

Athugið: ekki gleyma að breyta vottorðinu og slóðinni á lykilskránni.

  • Vistaðu stillingarnar og endurræstu Nginx. SSL vottorð er hrint í framkvæmd.

bestflare-ssl-cert

SSL / TLS hagræðing

Að hafa SSL þýðir ekki að það sé fullkomlega öruggt og það er þar sem sérfræðingur í veföryggi, þú þarft að beita stillingum til að tryggja netþjóninn.

Til að byrja með myndi ég mæla með því að keyra SSL skanna gegn vefsíðunni til að finna stig og nauðsynleg varnarleysi.

ssl-rannsóknarstofur-mat-c

Svo að núverandi SSL Labs mat er “C” og markmiðið er að gera það „A.“

Slökkva á veikum SSL / TLS samskiptareglum

SSL 3, TLS 1.0 og TLS 1.1 eru viðkvæm og við leyfum aðeins sterka TLS 1.2 siðareglur.

  • Breyta ssl.conf skránni og bættu við hér að neðan í netþjónabálknum

ssl_protocols TLSv1.2;

  • Vistaðu ssl.conf skrána og endurræstu Nginx

Slökkva á veikum dulmálssvítum

Veikar dulmálssvítur geta leitt til varnar eins og logjam og þess vegna þurfum við að leyfa aðeins sterka dulmál.

  • Bættu eftirfarandi við netþjónabálkinn í ssl.conf skránni

ssl_ciphers "EECDH + ECDSA + AESGCM EECDH + aRSA + AESGCM EECDH + ECDSA + SHA384 EECDH + ECDSA + SHA256 EECDH + aRSA + SHA384 EECDH + aRSA + SHA256 EECDH + aRSA + RC4 EECDH EDH + aRSAULL! ! MD5! EXP! PSK! SRP! DSS";

  • Vistaðu skrána og endurræstu Nginx

Settu upp keðjuvottorð

Að hafa ekki keðjuvottorð hefur einnig áhrif á heildarmatið og þetta gæti sýnt villu þegar þú vafrar í nútíma vafra eins og Chrome. Þú verður að fá keðjuvottorð frá yfirvaldi. Aðallega finnur þú á vefsíðu þeirra eða bara Google.

  • Bættu innihald keðjuvottorðsins við í vottorðinu eins og hér að neðan. Í dæminu mínu væri það /opt/cert/bestflare.pem

cert-keðja

  • Vistaðu skrána og endurræstu Nginx

Öruggur Diffie-Hellman fyrir TLS

Diffie-Hellman er minna öruggur en talið var. Ein besta aðferðin sem nýlega hefur verið bætt við á listanum er að tryggja Diffie-hellman. Að búa til einstaka DH GROUP og bæta við ssl_dhparam í ssl.conf skrá gerir þetta.

  • Búðu til Unique DH Group með því að nota OpenSSL

openssl dhparam -out dhparams.pem 4096

  • Það mun taka nokkrar mínútur og mun búa til skrá dhparams.pem á núverandi vinnuskrá
  • Afritaðu dhparams.pem í cert möppuna
  • Breyta ssl.conf og bæta við eftirfarandi í netþjónabálknum

ssl_dhparam /opt/cert/dhparams.pem;

  • Vistaðu skrána og endurræstu Nginx

Þetta ætti að duga fyrir SSL / TLS fínstillingu og við skulum prófa slóðina aftur til að sjá einkunnina.

ssllabs-a-einkunn

Vá ho! Svo nú er hægt að sjá það “A” mat SSLLabs. Vel gert!

Hér er lokið ssl.conf

# HTTPS netþjónstillingar
netþjónn {
hlustaðu 443 ssl;
server_name bestflare.com;
ssl á;
ssl_certificate /opt/cert/bestflare.pem;
ssl_certificate_key /opt/cert/bestflare.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers "EECDH + ECDSA + AESGCM EECDH + aRSA + AESGCM EECDH + ECDSA + SHA384 EECDH + ECDSA + SHA256 EECDH + aRSA + SHA384 EECDH + aRSA + SHA256 EECDH + aRSA + RC4 EECDH EDH + aRSAULL! ! MD5! EXP! PSK! SRP! DSS";
ssl_dhparam /opt/cert/dhparams.pem;
}

Upplýsingaleki

Í sjálfgefnu uppsetningu Nginx muntu hafa mikið af viðkvæmum upplýsingum í ljós sem geta hjálpað tölvusnápur að búa sig undir árás.

Ef þú vinnur að PCI samræmi umhverfi er þetta talið varnarleysi varðandi upplýsingaleka og verður að laga hlutinn.

Þú verður að nota server_tokens til að slökkva á upplýsingaleka. Ég hef skýrt frá þessu í fyrri grein minni. Fjarlægðu útgáfu úr netþjóns borða borði í Nginx

Öryggi vefforrita

Sjálfgefna uppsetning Nginx er ekki fullkomin og getur verið með mörg varnarleysi og þess vegna harðnum við þau til að tryggja það.

Slökkva á óæskilegum HTTP aðferðum

Oftast þarftu bara GET, HEAD & POST HTTP beiðni í vefforritinu þínu. Að leyfa TRACE eða DELETE er áhættusamt þar sem það getur leyft árás á vefsvæði og mögulega gert tölvusnápur kleift að stela upplýsingum um smákökuna.

  • Breyttu nginx.conf og bættu við eftirfarandi undir netþjónablokk

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

Vistaðu skrána og endurræstu Nginx. Þetta sýnir nú 405 Ekki leyfilegt ef einhver er að reyna að nota TRACE, DELETE, PUT, OPTIONS.

Chandans-iMac: ~ chandan $ telnet bestflare.com 80
Reynt 128.199.100.162…
Tengt við bestflare.com.
Flóttapersóna er ‘^]’.
TRACE / HTTP / 1.1
Gestgjafi: próf
HTTP / 1.1 405 ekki leyfð
Miðlarinn: nginx
Dagsetning: lau, 11. júlí 2015 06:04:34 GMT
Innihaldstegund: texti / html
Innihaldslengd: 166
Tenging: nálægt

Clickjacking Attack

Þú getur sprautað X-FRAME-OPTIONS í HTTP haus til að koma í veg fyrir smelluárás.

Þetta er náð með því að bæta við hér að neðan í nginx.conf skránni

add_header X-Frame-Options "SAMEORIGIN";

Fyrir ofan hausinn mun leiðbeina vafranum um að hlaða AÐEINS af sömu uppruna.

X-XSS Vörn

Sprautaðu HTTP haus með X-XSS vörn til að draga úr kross-forskriftarárás.

  • Breyta nginx.conf skránni til að bæta við eftirfarandi

bæta við_header X-XSS-verndun "1; ham = loka";

  • Vistaðu stillingarskrána og endurræstu Nginx. Þú getur notað Próf á hausum tól til að sannreyna eftir framkvæmd.

Þú gætir líka haft áhuga á að útfæra örugga haus OWASP sem mælt er með hér.

Innleiða Öryggi Mod. WAF

Bættu við viðbótaröryggislagi með því að útfæra Web Application Firewall ModSecurity með OWASP Core Rule Set.

Að öðrum kosti, ef þú gætir íhugað að nota skýjabundið öryggi eins og SUCURI fyrir framan Nginx netþjóninn.

Haltu Nginx uppfærðu

Síðast en ekki síst þarftu að halda Nginx uppfærðu þar sem það eru mörg framför til viðbótar, öryggisleiðréttingum og nýjum möguleikum bætt við.

Ég vona að þetta hjálpi þér að halda Nginx þínum öruggum.

Næst gætir þú haft áhuga á að læra smíðaðu Nginx fyrir afkastamikil frá grunni.

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map