google / cloud-forensics-utils

Python library to carry out DFIR analysis on the Cloud
Apache License 2.0
464 stars 88 forks source link

Add instance network quarantine function #275

Closed sa3eed3ed closed 3 years ago

sa3eed3ed commented 3 years ago

Add instance network quarantine function to GCP and CLI, with a list of exempted IPs.

codecov-io commented 3 years ago

Codecov Report

Merging #275 (4c14208) into master (e4448c6) will increase coverage by 0.63%. The diff coverage is 67.89%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #275      +/-   ##
==========================================
+ Coverage   65.39%   66.03%   +0.63%     
==========================================
  Files          14       29      +15     
  Lines         968     2102    +1134     
==========================================
+ Hits          633     1388     +755     
- Misses        335      714     +379     
Flag Coverage Δ
nosetests 66.03% <67.89%> (+0.63%) :arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...cloudforensics/providers/azure/internal/network.py 24.52% <24.52%> (ø)
libcloudforensics/providers/gcp/forensics.py 40.20% <33.33%> (-24.80%) :arrow_down:
libcloudforensics/providers/aws/internal/kms.py 40.00% <40.00%> (ø)
...ibcloudforensics/providers/gcp/internal/compute.py 53.97% <50.77%> (-8.39%) :arrow_down:
libcloudforensics/providers/aws/forensics.py 56.16% <53.06%> (-13.61%) :arrow_down:
...cs/providers/gcp/internal/compute_base_resource.py 37.33% <54.28%> (+0.82%) :arrow_up:
libcloudforensics/providers/aws/internal/log.py 73.07% <55.55%> (-4.20%) :arrow_down:
libcloudforensics/providers/gcp/internal/common.py 56.89% <57.44%> (+0.57%) :arrow_up:
...bcloudforensics/providers/gcp/internal/function.py 40.54% <62.50%> (+8.28%) :arrow_up:
...loudforensics/providers/azure/internal/resource.py 65.38% <65.38%> (ø)
... and 35 more

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update af145aa...4c14208. Read the comment docs.

sa3eed3ed commented 3 years ago

This is really cool! Do the firewall rules also isolate the instance from other instances in the same network? If not, you could create a "quarantine" VPC network and just move the instance there with appropriate firewall rules.

Yes the firewall rules isolate the instance from other instances on the same network and on multiple networks, if the instance has multiple interfaces attached. I added the exempted IP list functionality to allow the analyst connect to the machine if needed, since connecting from the same project/network won't be allowed anymore.