Skip to content

fabianostocco/challenge-soc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 

Repository files navigation

Índice


Introdução

Segue possível resolução para o Teste de SOC.

  • Ambiente EC2 Amazon, se utilizando de comandos “awscli” para provisionamento. Partindo do bate papo, referenciaram a utilização da Amazon como Cloud padrão.

  • Foi utilizado o Docker Compose para Start dos contêineres.

  • (Solicitado) Efetuar uma analise de vulnerabilidade no ambiente (utilizando ferramentas de análise de vulnerabilidade do mercado ou qualquer uma opensource): Sera implementando GVM (Greenbone Vulnerability Manager ). Tal ferramenta consegue detectar aplicações, versões e possíveis vulnerabilidades.

  • (Solicitado) Enviar todos logs para um concentrador de logs (utilizar a stack ELK): Utilizado o Filebeat como ferramenta de coleta e envio dos logs ao ElasticSearch.

  • (Solicitado) Monitorar todo ambiente com IDS/IPS (suricata ou snort): Utilizado o Suricata em contêiner privilegiado para monitoramento da interface de entrada do servidor. Não iremos monitorar a comunicação entre as aplicações(DMZ).

  • (Solicitado) Subir uma aplicação web qualquer - CMS (wp,joomla,phpbb etc..): Iniciado CMS Wordpress conforme exemplo.

  • (Solicitado) O objetivo desse teste é monitorar todos serviços como CMS e o banco de dados, tanto as métricas quanto os logs dos containers. Dashboard de monitoramento de métricas dos recursos das aplicações e do serviço de banco de dados: Utilizado o MetricBeat e HeatBeat para tal solicitação.

  • (Solicitado)Dashboard para monitoramento das aplicações, podendo ser no modelo do APM ou busca de logs/erros via pesquisa (requer documentação caso os logs sejam via pesquisa**): A FAZER

  • (Solicitado)Envio de alertas em caso de problemas: A FAZER


Resolução do Teste

Provisionamento ambiente Amazon EC2

Partindo que possui o AWS Cli configurado iremos:

  • Criar a Security Group liberando o IP de origem:
aws ec2 create-security-group --group-name SocSG --description "Security group minimo para SOC" --vpc-id vpc-da44c4bd
aws ec2 authorize-security-group-ingress --group-id sg-0d756a342ae3e0e21 --protocol tcp --port 1-65535 --cidr 45.235.52.206/32
  • Criar um EBS onde rodara o volume /var/lib/docker:
aws ec2 create-volume --volume-type gp2 --size 32 --availability-zone us-east-1a
  • Criar a instancia:
aws ec2 run-instances --image-id ami-0947d2ba12ee1ff75 --count 1 --instance-type t2.large --key-name soc --security-group-ids sg-0d756a342ae3e0e21 --subnet-id subnet-b41560d1
  • Conectar o EBS a instancia;
aws ec2 attach-volume --volume-id vol-0a37d4825e052b9f1 --instance-id i-005fe4d4469de5c14 --device /dev/sdb
  • Descobrir o IP Publico;
aws ec2 describe-instances --instance-ids i-005fe4d4469de5c14 | grep PublicIp
  • Instalar e configurar pré-requisitos;
ssh -i Downloads/soc.pem [email protected]
#Elevação
sudo su -

#Atualizar S.O
yum update -y

#Particionar o disco
parted -s  /dev/xvdb  mklabel msdos
parted -s /dev/xvdb unit mib mkpart primary 1 100% set 1 lvm on
pvcreate /dev/xvdb1
vgcreate vg00.local /dev/xvdb1
lvcreate -L30G --name lv.docker vg00.local
mkfs.xfs  /dev/vg00.local/lv.docker
mkdir /var/lib/docker
echo "/dev/vg00.local/lv.docker  /var/lib/docker  xfs  defaults  1   1" >> /etc/fstab
mount -a

#Instalar o Docker
yum install docker git -y
systemctl enable docker
systemctl start docker

#Instalar Docker Compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

Docker Compose

cd ~
git clone https://github.com/fabianostocco/challenge-soc.git
cd ~/challenge-soc/infra/
sudo /usr/local/bin/docker-compose --env-file ./config/.env.soc up

Evidências:

Coloquei as imagens evidenciando as execuções sitadas acima. (https://drive.google.com/drive/u/0/folders/1zzcZDiEWsTgJLJR0lIJskKH1V4zkPnnx)

Referências:

(https://medium.com/@0xgradius/containerizing-my-nsm-stack-docker-suricata-and-elk-5be84f17c684)

(https://github.com/Atomicorp/openvas-docker)

(https://hub.docker.com/r/securecompliance/gvm/)

(https://www.sarulabs.com/post/5/2019-08-12/sending-docker-logs-to-elasticsearch-and-kibana-with-filebeat.html)

(https://docs.fluentd.org/container-deployment/docker-compose)

(https://github.com/bulju/suricata-elk/blob/master/docker-compose.yml)

(https://github.com/xeraa/elastic-docker/blob/master/full_stack/docker-compose.yml)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •