2017-12-08

December - OWASP Top Ten - A10 Unvalidated Redirects and Forwards

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A10 Unvalidated Redirects and Forwards

Attacken går ut på att lura användare till att klicka på länkar som omdirigerar användaren till en annan webbsida. Användaren går på det för att länken ser ok ut vid första anblick.

Exempel: När dina användare loggar in på din webbshop så vill du att de ska komma tillbaka till den sida de var på när de tryckte på inloggningsknappen så du skapar en funktion som fixar det. Sidan det implementeras på är redirect.jsp som hittas här: https://www.example.com/redirect.jsp och med parametern url så kan man skicka tillbaka användaren till rätt sida efter inloggning.
Någon upptäcker det här och postar länken https://www.example.com/redirect.jsp?url=evil.com bland exempelvis produktrecensionerna.. De som klickar på länken kommer då att omdirigeras till webbsidan på evil.com även fast de trodde att de klickade på en länk som ledde inom din webbshop.

För att åtgärda det här så bygger man enklast in en kontroll i redirect.jsp som validerar vilka url:er som skickas in så att du har kontroll över var dina användare skickas.


System och tjänster som uppdaterats sedan förra uppdateringen:
  • s02
    • Inga uppdateringar
  • s03
    • Inga uppdateringar
  • s04
    • Bygger server.

2017-11-16

November - OWASP Top Ten - A9 Using Components with Known Vulnerabilities

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A9 Using Components with Known Vulnerabilities

Vilka komponenter använder du för dina tjänster? Allt från större tjänster som Wordpress och alla olika plugins, forum etc. till mindre delar som bibliotek och ramverk kan ha säkerhetshål. För att dina tjänster ska vara säkra så behöver du inte bara ha koll på det du skapat själv utan även det som andra skapat. Säkerhetshålen i de komponenterna sprids snabbt och direkt börjar de utnyttjas för att komma åt känslig information eller för att förstöra.

Kartlägg de komponenter du använder. Följ vilka säkerhetsbrister som upptäcks. Uppdatera alla komponenter när uppdateringar kommer. Använd så få komponenter och funktioner i dem som möjligt för att minimera säkerhetsriskerna.


System och tjänster som uppdaterats sedan förra uppdateringen:

2017-10-13

Oktober - OWASP Top Ten - A8 Cross-Site Request Forgery (CSRF)

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A8 Cross-Site Request Forgery (CSRF)

CSRF är en sårbarhet där man får användaren att skicka en request skapad av attackeraren till en webbtjänst och om användaren är inloggad så kan det få väldigt ödesdigra konsekvenser.
Om vi antar att en webbsida är sårbar för CSRF och de flesta loggar in ut från webbsidor när de är klara med den utan vill fortsätta utan att logga in nästa gång de besöker. Då kan man skapa en request på en annan sida eller skicka i ett mail som när länken eller knappen klickas på så skickas requesten till webbsidan och utföra det som står i requesten om det nu är att byta lösenord eller radera användarens konto eller vad för något som attackeraren hittat på.

Enklaste skyddet mot en sån här attack är att skicka med ett unikt token i varje request som visar för servern att requesten kommer från rätt webbsida och att användaren har skickat in den. CAPTCHA går också att använda.

System och tjänster som uppdaterats sedan förra uppdateringen:
  • s02
    • Inga uppdateringar.
  • s03
    • Inga uppdateringar.
  • s04
    • Bygger server.

2017-09-27

September - OWASP Top Ten - A7 Missing Function Level Access Control

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A7 Missing Function Level Access Control

Går det att komma åt funktioner som den användaren inte ska ha tillgång till genom att ändra i URL:en eller genom att skicka vissa parametrar till applikationen?
Din applikation behöver ha kontroll på och hantera vad anonyma och autentiserade användare kan göra med din applikation. Den här sårbarheten handlar om brist på just såna kontroller.


System och tjänster som uppdaterats sedan förra uppdateringen:

2017-08-06

Augusti - OWASP Top Ten - A6 Sensitive Data Exposure

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A6 Sensitive Data Exposure

Finns det data i din tjänst som behöver skyddas? Exempelvis lösenord, personlig information och kreditkortsuppgifter. All sån information måste skyddas genom kryptering både i vila (när det lagras) och under transport (när det skickas). Krypteringen måste även vara tillräckligt stark och säker.
Bästa sättet att skydda sig från det här är att helt undvika att hantera känslig data, men det är ju inte alltid så lätt eftersom viss data är nödvändig för att tjänsten ska fungera.


System och tjänster som uppdaterats sedan förra uppdateringen:

2017-07-08

Juli - OWASP Top Ten - A5 Security Misconfiguration

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A5 Security Misconfiguration

Sårbarheter på grund av felaktig konfiguration och kravställning på applikationer, servrar, databaser och plattform.
  • Är alla delar uppdaterade? Det inkluderar även operativsystemet där applikationen kör.
  • Är onödiga funktioner aktiverade?
  • Är default-konton fortfarande aktiva?
  • Visas allt för utförliga felmeddelanden och stacktraces för användaren?
  • Är säkerhetsinställningarna korrekta satta i de ramverk som används?
För att minska risken för den här sårbarheten så är det ganska uppenbart vad man behöver göra utifrån ovanstående frågor.

Se till att upprätta en plan och en process för att applicera uppdateringar.
Hitta olika verktyg för att scanna dina webbplatser efter sårbarheter regelbundet.
Ex. Scanna Wordpress - https://sitecheck.sucuri.net/


A new server (s04) is currently being built with Debian 9, PHP 7 and MariaDB 10.

Server s03 (Debian 8) will be discontinued as soon as s04 is completed and all accounts are moved to s04. Accounts on server s02 (Debian 6) will be moved after the move from s03 to s04.

System och tjänster som uppdaterats sedan förra uppdateringen:

2017-06-21

Juni 2017 - OWASP Top Ten - A4 Insecure Direct Object References

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A4 Insecure Direct Object References

Sårbarheten orsakas av att dataaccess inte är skyddad då den behöver vara det.
Exempel: För att få fram sin kontoinformation på en webbplats surfar man till adressen: http://example.com/accountInfo?user=my_username
Tanken var att man skulle vara inloggad för att komma åt den sidan, men genom att ändra adressen till http://example.com/accountInfo?user=other_username så kommer man åt all information för en annan användare. Det saknas alltså kontroll av vem som får tillgång till den sidan.

Hur skyddar man sig?
Enklaste sättet är att man kontrollerar att användaren har rätt behörighet för att accessa begärd resurs. Ett annat sätt är att inte använda det verkliga namnet på en nyckel eller objekt i requesten.


System och tjänster som uppdaterats sedan förra uppdateringen:

2017-05-31

Maj 2017 - OWASP Top Ten - A3 Cross-Site Scripting (XSS)

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A3 Cross-Site Scripting (XSS)

Cross-Site scripting förkortas ofta till XSS. XSS är en sårbarhet där en attackerare lyckas mata in egen kod på andras webbsidor som sedan exekveras av andra ovetande användare. Ett exempel är att man har en gästbok där besökare kan skriva meddelanden. En attackerare lägger in HTML-taggar som tar in Javascript som exekveras av andra besökare.

Undvik den här sårbarheten genom att inte tillåta HTML-taggar i formulär. All data som skrivs ner eller läses in ska vara kontrollerad så att den inte innehåller otillåten eller okontrollerad kod. Tänk på var användargenererad text används.
Se dokumentet nedan för fler tips:


System och tjänster som uppdaterats sedan förra uppdateringen:

2017-04-10

April 2017 - OWASP Top Ten - A2 Broken Authentication and Session Management

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A2 Broken Authentication and Session Management

Sårbarheten handlar om inloggning och hur användardata hanteras.

Lösenord ska ha en minimilängd och krav på utformning för att förhindra att de blir för enkla. De vanligaste lösenord som används är: password, 123456, 12345678, 1234, qwerty. Se till att användare inte kan välja såna lösenord.
Inloggningsinformation ska ej heller skickas okrypterat. Skaffa alltså ett certifikat till din webbplats för att förhindra det. Det kostar en slant, men är värt det om man vill ha en säker webbplats. Det finns även åtminstone ett gratisalternativ som jag dock inte testat än: Let's Encrypt
Spara alla lösenord krypterade i databasen.

Varje användare får ett sessionsid på webbservern som används för att hålla koll på vem användaren är så att man inte behöver logga in på nytt på varje sida. I sessionen går det även att spara mycket annan känslig information. Det sessionsid:et ska skyddas noga eftersom om någon annan får tag i det så kan man utge sig för att vara den användaren som id:et tillhör eller komma åt den information som ligger i sessionen.
Ibland kan sessionsid:et läggas i URL:en för att göras tillgänglig för en annan webbsida. Gör inte det. Om sidan ligger kvar i webbläsarens historik eller om adressen mailas till någon annan så kan sessionen tas över av en annan person.
Även här är det viktigt att man skickar all trafik krypterat så ett certifikat behövs här också.
Sätt en lämplig timeout på alla sessioner så att om användaren glömmer att logga ut från en publik dator så kan ingen annan enkelt använda den användarens konto.
När användaren loggar in ska sessionen skapas om. Även oinloggade användare har sessioner, men de användarna är utanför vår kontroll så lita inte på såna sessioner.
När användaren loggar ut ska sessionen invalideras.


System och tjänster som uppdaterats sedan förra uppdateringen:
  • s02
    • Inget
  • s03
    • Inget

2017-03-13

Mars 2017 - OWASP Top Ten - A1 Injection

OWASP står för The Open Web Application Security Project och är en öppen global organisation som arbetar för säkerhet i mjukvaruapplikationer, främst webbapplikationer.
OWASP Top Ten listar de mest kritiska säkerhetsproblemen för webbapplikationer.

A1 Injection

Injection är då man via en webbsida kan skicka in osäker data som exekveras utan att först kontrolleras. All data som en användare eller ett system kan skicka in måste kontrolleras så att de inte innehåller något skadligt. Om man inte designat webapplikationen rätt så är det enkelt att via exempelvis ett html-formulär skicka in kommandon till databasen som raderar all data. Lita därför aldrig på den data som skickas in. Inte heller om det är dropdowns och checkboxar och andra komponenter med mer fasta värden. Det som skickas till servern går alltid att ändra till precis vad som helst.

För att skydda just din applikation sök på Google för hur man förhindrar injection.
Ex.
prevent sql injection
prevent php injection


System och tjänster som uppdaterats sedan förra uppdateringen:
  • s02
    • Inget
  • s03
    • Apache Webserver 2.4.10

2017-02-15

Februari 2017 - Automatisera mera

Hur ofta gör man inte samma sak om och om igen där det är viktigt att det blir så gott som exakt likadant resultat varje gång? Varje dag, varje vecka, varje månad, varje år... Mest jobb är det som ska göras ofta, men det som nog oftast blir fel är det som man gör mer sällan eftersom man inte kommer ihåg exakt hur man gjorde. Första steget är ofta att skriva en manual så man vet steg för steg vad som ska göras. Nästa steg är sen att automatisera allt eller delar av det.
Det finns många olika automatiseringsverktyg. Det jag har valt är AutoIt. Den är gratis och kör på Windows. Det har funnits i över 18 år och är nu uppe i version 3.3 vilket känns tryggt.

Typiska funktioner som går att automatisera med AutoIt är att starta och stoppa applikationer, klicka på knappar, fylla i text, utföra beräkningar, skriva filer, skicka mail...
Så det är mest ens fantasi som sätter gränserna för vad som går att göra.
Kolla i dokumentationen: https://www.autoitscript.com/wiki

Det går även att skapa hela applikationer i AutoIt. Det är dock inget jag har tittat på.

System och tjänster som uppdaterats sedan förra uppdateringen:
  • Server s03:
    • MySQL 5.5.4
    • PHP 5.6.30

2017-01-19

Januari 2017 - Nytt år!

Som jag skrev för ett år sedan så bör man undvika att stressa in allt som ska avslutas innan årsskiftet Gör istället avsluten i januari och låt nya året "börja" i februari.
Nya året på nettools.se kommer primärt handla om att migrera alla kundkonton till nya servern så att den gamla slutligen kan stängas.
 
System och tjänster som uppdaterats sedan förra uppdateringen: