8 essentiële tips om de webtoepassingsserver te beveiligen

In de meeste gevallen moeten webtoepassingsservers openbaar toegankelijk zijn, wat betekent dat ze worden blootgesteld aan allerlei soorten bedreigingen.

Veel van deze bedreigingen zijn voorspelbaar en gemakkelijk te vermijden, terwijl andere onbekend zijn en u kunnen overrompelen. Om de mogelijkheid van dit laatste geval te minimaliseren, bieden we een lijst met essentiële tips om webtoepassingsservers zo veilig mogelijk te houden.

Voordat u begint met de lijst met tips, moet u begrijpen dat een webtoepassingsserver geen eiland is. De server is het centrale onderdeel in de webapplicatiefarm die het hosten en exploiteren van een webapplicatie mogelijk maakt. Daarom moet u voor de beveiliging rekening houden met alle componenten eromheen en de hele webtoepassingsomgeving beveiligen.

Een basisomgeving voor het hosten en uitvoeren van webapplicaties omvat het besturingssysteem (Linux, Windows), de webserversoftware (Apache, Nginx), een databaseserver. Als er in een van deze componenten wordt ingebroken, kunnen aanvallers toegang krijgen en alle kwaadaardige acties uitvoeren die ze willen.

Een eerste en basistip om een ​​omgeving zoals hierboven beschreven te beveiligen, is om de beveiligingsrichtlijnen en lijst met best practices voor elk van de componenten te lezen. Dat gezegd hebbende, laten we een aantal gezond verstand beveiligingsrichtlijnen bekijken die van toepassing zijn op bijna elke webtoepassingsomgeving.

De firewall gedemystificeerd

U komt misschien in de verleiding om dit item snel te controleren en denkt: “gelukkig, ik heb al een firewall die mijn netwerk beschermt.” Maar je kunt beter je paarden vasthouden.

Uw firewall zorgt misschien voor de grenzen van uw netwerk, houdt de slechteriken buiten en de goeden binnen, maar het laat zeker een deur wijd open voor aanvallers om in uw webtoepassingsserver in te breken.

Hoe?

Simpel: je netwerkfirewall moet minimaal inkomend verkeer op poort 80 en 443 (dat is HTTP en HTTPS) toestaan ​​en weet niet wie of wat er door die poorten gaat.

Wat u nodig hebt om uw toepassing te beschermen, is een webtoepassingsfirewall (WAF) die specifiek het webverkeer analyseert en elke poging tot misbruik van kwetsbaarheden zoals cross-site scripting of code-injectie blokkeert. Een WAF werkt als een typische antivirus- en antimalware: het zoekt naar bekende patronen in de gegevensstroom en blokkeert het wanneer het een kwaadaardig verzoek detecteert.

Om effectief te zijn, moet de WAF zijn database voortdurend hebben bijgewerkt met nieuwe dreigingspatronen, om ze te kunnen blokkeren. Het probleem met op patronen gebaseerde aanvalspreventie is dat uw webtoepassing een van de eerste doelen kan zijn van een nieuwe dreiging waarvan uw WAF zich nog niet bewust is.

  Hoe werken muziekidentificatie-apps zoals Shazam?

Om deze redenen heeft uw webtoepassing naast de netwerkfirewall extra beschermingslagen nodig.

Scannen op webspecifieke kwetsbaarheden

Nogmaals, denk niet dat uw webtoepassingsserver kwetsbaar is omdat uw netwerkbeveiligingsscanner dat zegt.

Netwerkscanners kunnen geen applicatiespecifieke kwetsbaarheden detecteren. Om deze kwetsbaarheden te detecteren en te elimineren, moet u de applicaties aan een reeks tests en audits onderwerpen, zoals penetratietests, black box-scanning en broncode-audits. Geen van deze methoden is echter kogelvrij. Idealiter voert u er zoveel mogelijk uit om alle kwetsbaarheden te elimineren.

Bijvoorbeeld beveiligingsscanners, zoals: invicti, zorg ervoor dat er geen exploiteerbare code in de productieomgeving terechtkomt. Maar er kunnen logische kwetsbaarheden zijn die alleen kunnen worden gedetecteerd door handmatige code-audit. Handmatige auditing kost niet alleen veel, maar is ook een menselijke en dus foutgevoelige methode. Een goed idee om dit soort audits te doen zonder veel geld te verspillen, is het in te bedden in het ontwikkelingsproces, meestal door uw ontwikkelaars op te leiden.

Leid uw ontwikkelaars op

Ontwikkelaars hebben de neiging om te denken dat hun applicaties in ideale werelden draaien, waar de middelen onbeperkt zijn, gebruikers geen fouten maken en er geen mensen zijn met meedogenloze bedoelingen. Helaas moeten ze op een gegeven moment met echte problemen worden geconfronteerd, vooral die met betrekking tot informatiebeveiliging.

Bij het ontwikkelen van webapplicaties moeten codeurs beveiligingsmechanismen kennen en implementeren om ervoor te zorgen dat deze vrij zijn van kwetsbaarheden. Die beveiligingsmechanismen moeten deel uitmaken van de best practices-gids waaraan het ontwikkelteam moet voldoen.

Softwarekwaliteitscontrole wordt gebruikt om naleving van best practices te garanderen. Best practices en auditing zijn de enige manieren om logische kwetsbaarheden te detecteren, zoals (bijvoorbeeld) het doorgeven van niet-versleutelde en zichtbare parameters binnen een URL, die een aanvaller gemakkelijk kan wijzigen om te doen wat hij of zij wil.

Schakel onnodige functionaliteit uit

Ervan uitgaande dat de webapplicaties zo foutloos mogelijk zijn en de webfarm is beveiligd, laten we eens kijken wat er op de server zelf kan worden gedaan om deze te beschermen tegen aanvallen.

Een eenvoudige, gezond verstand tip is om het aantal potentieel kwetsbare toegangspunten te verminderen. Als aanvallers een van de componenten van de webserver kunnen misbruiken, kan de hele webserver in gevaar komen.

Maak een lijst van alle open poorten en draaiende services of daemons op uw server en sluit, deactiveer of schakel de onnodige uit. De server mag voor geen enkel ander doel worden gebruikt dan het uitvoeren van uw webapplicaties, dus overweeg om alle extra functionaliteit naar andere servers in uw netwerk te verplaatsen.

  12 Beste netwerkbewakingssoftware en -hulpmiddelen beoordeeld in 2020

Gebruik aparte omgevingen voor ontwikkeling, testen en productie

Ontwikkelaars en testers hebben privileges nodig op de omgevingen waarin ze werken die ze niet zouden moeten hebben op de live applicatieserver. Zelfs als u ze blindelings vertrouwt, kunnen hun wachtwoorden gemakkelijk lekken en in ongewenste handen vallen.

Naast wachtwoorden en privileges zijn er in de ontwikkel- en testomgevingen meestal achterdeuren, logbestanden, broncode of andere foutopsporingsinformatie die gevoelige gegevens kunnen blootleggen, zoals databasegebruikersnamen en wachtwoorden. Het implementatieproces van de webapplicatie moet worden uitgevoerd door een beheerder, die ervoor moet zorgen dat er geen gevoelige informatie wordt vrijgegeven nadat de applicatie op de live server is geïnstalleerd.

Hetzelfde segregatieconcept moet worden toegepast op de gegevens van de applicatie. Testers en ontwikkelaars geven altijd de voorkeur aan echte data om mee te werken, maar het is geen goed idee om ze toegang te geven tot de productiedatabase, of zelfs maar tot een kopie ervan. Naast voor de hand liggende privacykwesties, kan de database configuratieparameters bevatten die interne serverinstellingen onthullen, zoals eindpuntadressen of padnamen, om er maar een paar te noemen.

Houd uw serversoftware up-to-date

Hoe vanzelfsprekend het ook lijkt, dit is een van de meest over het hoofd geziene taken. SUCURI ontdekte dat 59% van de CMS-applicaties verouderd waren, wat risico’s met zich meebrengt.

Elke dag verschijnen er nieuwe bedreigingen en de enige manier om te voorkomen dat ze uw server in gevaar brengen, is door altijd de nieuwste beveiligingspatches te installeren.

We hebben eerder vermeld dat netwerkfirewalls en netwerkbeveiligingsscanners niet voldoende zijn om aanvallen op webapplicaties te voorkomen. Maar ze zijn nodig om uw server te beschermen tegen veelvoorkomende cyberbeveiligingsbedreigingen, zoals DDoS-aanvallen. Zorg er dus voor dat u dergelijke applicaties altijd up-to-date houdt en dat ze uw bedrijfsapplicatie effectief beschermen.

Toegang en privileges beperken

Een basisbeveiligingsmaatregel is om verkeer op afstand, zoals RDP en SSH, versleuteld en getunneld te houden. Het is ook een goed idee om een ​​kortere lijst met IP-adressen bij te houden waar externe toegang is toegestaan, en ervoor te zorgen dat elke poging om op afstand in te loggen vanaf een ander IP-adres wordt geblokkeerd.

Beheerders geven serviceaccounts af en toe alle mogelijke privileges omdat ze weten dat door dit te doen “alles zal werken”. Maar dit is geen goede gewoonte, omdat aanvallers kwetsbaarheden in de services kunnen gebruiken om de server binnen te dringen. Als die services met beheerdersrechten worden uitgevoerd, kunnen ze de hele server in beslag nemen.

  Download bestanden en kopieer bestandsinhoud van een Github-repository met één klik [Chrome]

Een goede balans tussen veiligheid en bruikbaarheid vereist dat elk account – zowel inlogaccounts als serviceaccounts – de privileges heeft die het nodig heeft om zijn werk te doen, en niets anders.

U kunt bijvoorbeeld verschillende accounts definiëren voor een beheerder om verschillende taken uit te voeren: één om back-ups te maken, andere om logbestanden op te schonen, andere om de configuratie van services te wijzigen, enzovoort. Hetzelfde geldt voor database-accounts: een toepassing heeft meestal alleen de machtigingen nodig om gegevens te lezen en te schrijven, en niet om tabellen te maken of neer te zetten. Daarom zou het moeten werken met een account met beperkte privileges om de taken uit te voeren die het moet uitvoeren.

Houd serverlogboeken in de gaten

Logbestanden zijn er niet voor niets.

Beheerders moeten ze regelmatig controleren om verdacht gedrag te detecteren voordat het enige schade aanricht. Door logbestanden te analyseren, kunt u veel informatie ontdekken om u te helpen de toepassing beter te beschermen. Als er een aanval zou plaatsvinden, kunnen logbestanden u laten zien wanneer en hoe deze is begonnen, waardoor u de schade beter kunt beheersen.

U moet ook een geautomatiseerde procedure hebben om oude logbestanden te verwijderen of verouderde informatie op te ruimen, om te voorkomen dat ze alle beschikbare opslagruimte op de server in beslag nemen.

Bonustip: blijf op de hoogte

Op internet is veel gratis en nuttige informatie te vinden die u ten behoeve van uw webapplicatie kunt gebruiken. Mis geen enkel nieuw bericht op gerenommeerde beveiligingsblogs (zoals deze) en blijf op de hoogte van wat er gebeurt in de beveiligings- en webindustrie.

Tutorials, cursussen, video’s en boeken zijn ook bronnen van nuttige kennis. Oefen een of twee uur per week om op de hoogte te blijven van nieuws uit de branche. Het geeft u de gemoedsrust dat u weet dat u het juiste doet om uw applicaties te beveiligen.

gerelateerde berichten