본문 바로가기
리눅스/Part1. Ch02. 컨테이너를 구성하는 리눅스 기술

08. (실습) cgroup으로 fork bomb 막아보기

by Engineer-Lee 2022. 6. 23.
반응형

# 시나리오
오래된 버전의 관리 툴의 보안이슈를 이용해 해커에 노출되어,
포크 폭탄 공격을 받게 됨.
* 포크폭탄: 프로세스가 지속적으로 자신을 복제함으로써 이용 가능한 시스템 자원을 고갈시키고
시스템 속도를 떨어트려 결국엔 기아 상태로 인한 시스템 충돌을 일으키는 서비스 거부 공격이다.

 

1. 먼저 sudo su 명령어로 root 사용자로 전환한다.

 

2. cd /sys/fs/cgroup/pids/ 명령어로 프로세스를 관리하는 디렉토리인 pids로 들어가서

    mkdir police 명령어로 police라는 디렉토리를 만든다.

 

3.  echo $$ > tasks 명령어로 현재 수행 중인 bash shell 프로세스를 등록한다.

 

4. echo 20 > pids.max 명령어로 프로세스 생성 갯수를 20개로 제한한다.

 

5. :(){ :|:& };: 명령어로 fork bomb을 실행한다.

그럼 cgroups에서 20개의 프로세스를 넘고나면 추가적인 프로세스 생성을 막는걸 볼 수 있다.

 

6.  ps aux 명령어로 생성 프로세스를 확인하면 20개의 프로세스만 생성된 걸 볼 수 있다.

반응형