Winning Contribution of Michael Schwabe and David Lassig to BWI Data Analytics Hackathon 2020 in the Category Cyber Security. Proof of Concept Intrusion Detection using Zeek with selfmade MachineLearning in a nice WebApp.
and
Monitoring Dashboard | Model Performance | Anomaly Training | Application of Models |
---|---|---|---|
analysis contains all stuff Michael did for
app contains all stuff David did for
CircleCI Branch CI/CD Pipeline | CircleCI Main CI/CD Pipeline |
---|---|
Clone the repository:
git clone https://github.com/herrfeder/AI_Cybersecurity_IDS_PoC.git
Go into Deploy Folder and run_compose.sh
to run file
-based or kafka
-based Stack:
deploy/run_compose.sh kafka
# OR
deploy/run_compose.sh file
upload-docker.sh
script or you relying on my public-built Container:You have to prepare and start minikube and run run_kube_local.sh
:
cd deploy
./run_kube_local.sh file
# OR (you can run booth as well)
./run_kube_local.sh file
Now add local Ingress Rule to reach the broai endpoint:
kubectl apply -f broai_kubernetes/ingress-local-service.yaml
# Check now these ingress service with
kubectl get svc
Now add green.broai
and blue.broai
with your minikube IP to your /etc/hosts
and visit this domains.
upload-docker.sh
script or you relying on my public-built Container:Install aws-cli
and deploy the Network and Cluster Requirements with the provided AWS Cloudformation Scripts:
cd .circleci
scripts/push_cloudformation_stack.sh broainetwork cloudformation/network.yaml <your individual id>
scripts/push_cloudformation_stack.sh broaicluster cloudformation/cluster.yaml <your individual id>
Get Access Token to acess your AWS EKS Cluster with kubectl:
cd deploy
mkdir .kube
aws eks --region us-west-2 update-kubeconfig --kubeconfig .kube/config-aws --name AWSK8SCluster
Deploy Kubernetes Manifests:
./run_kube_aws.sh
Go to http://127.0.0.1:8050/
Wait for finishing and check with kubectl --kubeconfig .kube/config-aws get svc
the resulting Loadbalancer Hostnames and access them. :)