Opdracht 2
Opdrachtomschrijving: Het Security Dashboard¶
Welkom bij het tweede project, waar je de taak hebt om een security dashboard van een website te ontwikkelen. Het doel: potentiele dreigingen signaleren, zodat de Security afdeling adequaat kan reageren. In dit dashboard moet je in één oogopslag de status kunnen zien.
Om dreigingen te kunnen herkennen, moet je eerst de juiste data tot je beschikking hebben. Met gegevens die worden aangeleverd door een ETL (Extract-Transform-Load) laag ga je met grafieken, tabellen, en meldingen laten zien of er actuele dreigingen zijn voor jullie organisatie.
Wat ga je maken¶
In dit project ga je een essentiële tool ontwikkelen: het Security dashboard.\ Dit dashboard dient waardevolle inzichten te bieden in mogelijke beveiligingsincidenten door historische en actuele gegevens te tonen.\ Om het dashboard zinvol en relevant te maken, ga je eerst nadenken over de wensen van je gebruikers. De uitkomsten hiervan hebben invloed op de inhoud en het ontwerp van je dashboard.
Hier is wat je gaat doen:¶
- Analyse van logdata.\ Je zult de logfiles en overige aangeleverde logfiles bekijken en bepalen welke informatie beschikbaar en gewenst is. Hierbij helpen ERDs en kennis van het SQL Relationeel model
- Wireframe/Dashboard/Database Ontwerpen:\ Zet de verzamelde informatie om in een wireframe en een blauwdruk voor je dashboard. De user-stories en de beschikbare kennis in de knowledge database, het internet en de docenten helpen je om tot goede requirements en een goed ontwerp en implementatie te komen.
- Dashboard Ontwikkeling in Flask:\ Visualisatie & Analyse. Creëer een interactief dashboard met Flask, perfect om je netwerkdata niet alleen weer te geven, de basis vormen voor de functionaliteiten en het ontwerp van je dashboard, zodat de gebruikers de data kunnen interpreteren.
- Data geautomatiseerd in de dashboard database: Op basis van een voorbeeld en de kennis die je gaat leren over SQL ontwikkel je Extract, Transfer en Load logica. Deze logica zorgen dat de logfile van ongeveer 200.000 regels en de overige logfiles omgezet worden in diverse tabellen in de database van de dashboard website.\
Aan de slag¶
Met deze richtlijnen ben je klaar om de uitdaging aan te gaan en je vaardigheden in cybersecurity en netwerkbeheer te verdiepen. Zet een robuuste ontwikkelomgeving op en bouw een dashboard dat niet alleen informatief en interactief is, maar ook belangrijke en correcte beveiligingsinzichten biedt.
Eigen User Stories¶
Deze opdracht is een kans om je technische expertise te verdiepen en je vaardigheden in gebruikersgericht ontwerp te verfijnen. Met deze kennis en tools kun je een veilige, betrouwbare en gebruiksvriendelijke website creëren en onderhouden. Het uiteindelijke doel is om je te wapenen met de kennis en middelen om je website proactief te beheren in het dynamische landschap van cybersecurity.
Je krijgt een aantal issues aangeleverd die een globaal beeld geven van wat je moet maken. Deze issues zijn te groot om als goede user stories te zien. Je zult dus zelf user stories moeten gaan definieren op basis van alle geleverde informatie. Het zal niet mogelijk zijn om aan het begin van het project alle user stories te bedenken. Je zult de lijst van user stories dus tijdens het project bij moeten houden.
Je gaat samenwerken meteen medestudent uit je klas. Zorg voor een goede werkverdeling, zodat elke User-Story door één student gerealiseerd wordt.
Zelf User story’s maken¶
Voor de opdracht moet je zelf user story’s opstellen, die ga je gebruiken om de applicatie te bouwen. Maar wat is een user story eigenlijk? Op scrumguide.nl vind je de volgende definitie:
“Een User Story is een korte beschrijving (Story) van wat een gebruiker (User) wil. User Stories worden gebruikt bij het ontwikkelen van producten of software binnen Agile raamwerken, waaronder Scrum. Een User Story bestaat uit enkele zinnen waarin staat wat de gebruiker van het product moet / wil doen. Een User Story is eigenlijk weinig gedetailleerd en zou moeten kunnen passen op een post-it. Via de User Story heeft de gebruiker invloed op het ontwikkelen van een systeem of product en uiteindelijk de functionaliteit ervan.”
Een user story noteer je volgens een vast format:
Als … (soort gebruiker) wil ik … (feature/actie), zodat … (doel/voordeel).
Een voorbeeld van een user story:
“Als security specialist wil ik alle inbreuken op de netwerksecurity zien, zodat ik weet wat ik moet aanpassen in mijn systemen en netwerken om deze te beveiligen.”
Sprints¶
Je werkt in zogeheten sprints. Aan het begin van elke Sprint selecteren jullie samen de user stories waarvan jullie denken dat jullie die samen te kunnen gaan bouwen in 3 weken (de duur van een sprint in deze opdracht).\
In totaal zijn er 3 sprints. Om een user story toe te wijzen aan een sprint voeg je een Milestone
toe aan de story met de naam van de Sprint. Dit kun je doen bij de eigenschappen van een user story of via het Issue board.\
Aan het eind van een sprint moet er altijd een bruikbaar product zijn voor de eindgebruiker. User stories die niet af zijn gaan door naar de volgende sprint. Test een user story dus goed voordat je deze op done zet!