팔코는 시스템 호출을 이용해 시스템을 모니터링하고 보호하는 리눅스 보안 도구이다.
팔코는 쿠버네티스 런타임 보안에 사용할 수 있다. 팔코를 설치하는 가장 안전한 방법은 시스템 손상 시 팔코와 쿠버네티스가 격리되도록 호스트 시스템에 직접 설치하는 것이다. 그 다음 팔코 알림은 쿠버네티스에서 실행되는 읽기 전용 에이전트를 통해 사용할 수 있다.
격리가 문제가 되지 않는 경우에는 팔코를 쿠버네티스에서 직접 실행할 수 있다. Kind, Minikube, Helm 같은 도구를 이용해 팔코를 쿠버네티스에서 직접 실행하는 방법은 써드파티 통합을 참고한다.
아래의 패키지 관리 아티팩트를 이용해 팔코를 설치한 경우에는 다음이 준비되어 있다.
systemd
를 통해 예정된 팔코 사용자 공간 프로그램/etc/falco
에 위치한 기본 설정 파일또는 아래에서 설명하는 바이너리 패키지를 사용할 수도 있다.
falcosecurity GPG 키를 추가하고, apt 리포지터리를 설정하고, 패키지 목록을 업데이트한다.
curl -s https://falco.org/repo/falcosecurity-3672BA8F.asc | apt-key add -
echo "deb https://download.falco.org/packages/deb stable main" | tee -a /etc/apt/sources.list.d/falcosecurity.list
apt-get update -y
커널 헤더를 설치한다.
apt-get -y install linux-headers-$(uname -r)
팔코를 설치한다.
apt-get install -y falco
이제 팔코, 커널 모듈 드라이버, 기본 설정 파일이 설치되었다. 팔코는 systemd 유닛으로 실행 중이다.
팔코를 관리하고, 실행하고, 디버깅하는 방법은 실행을 참고한다.
팔코를 삭제한다.
apt-get remove falco
falcosecurity GPG 키를 추가하고, yum 리포지터리를 설정한다.
rpm --import https://falco.org/repo/falcosecurity-3672BA8F.asc
curl -s -o /etc/yum.repos.d/falcosecurity.repo https://falco.org/repo/falcosecurity-rpm.repo
Note — 다음 명령어는 해당 배포판에서 DKMS와
make
를 사용할 수 없는 경우에만 필요하다. DKMS 사용 여부는yum list make dkms
를 통해 확인할 수 있다. 필요하다면yum install epel-release
를 실행하고yum install make dkms
를 실행해 설치한다.
커널 헤더 설치하기
yum -y install kernel-devel-$(uname -r)
Note — 위 명령어 실행 시 패키지를 찾을 수 없다면,
yum distro-sync
를 실행해 해결할 수도 있다. 이 경우 시스템을 재시작해야 할 수 있다.
팔코 설치하기
yum -y install falco
이제 팔코, 커널 모듈 드라이버, 기본 설정 파일이 설치되었다. 팔코는 systemd 유닛으로 실행 중이다.
팔코를 관리하고, 실행하고, 디버깅하는 방법은 실행을 참고한다.
팔코 삭제하기
yum erase falco
최신 바이너리를 다운로드한다.
curl -L -O https://download.falco.org/packages/bin/x86_64/falco-0.29.0-x86_64.tar.gz
팔코를 설치한다.
tar -xvf falco-0.29.0-x86_64.tar.gz
cp -R falco-0.29.0-x86_64/* /
다음 의존성을 설치한다.
아래 설명된 드라이버를 설치한다.
드라이버가 설치되면 falco
를 수동으로 실행할 수 있다.
드라이버를 설치하는 가장 쉬운 방법은 falco-driver-loader
스크립트를 이용하는 것이다.
기본적으로 해당 스크립트는 먼저 로컬에서 dkms
를 이용해 커널 모듈을 빌드한다. 불가능한 경우, 사전에 빌드된(prebuilt) 파일을 ~/.falco/
경로에 다운로드 한다. 커널 모듈이 발견되면 그것을 삽입한다.
eBPF 프로브(probe) 드라이버를 설치하려면 falco-driver-loader bpf
를 실행한다.
이 명령어는 먼저 로컬에서 eBPF 프로브를 빌드하고, 안될 경우 사진에 빌드된 파일을 ~/.falco/
경로에 다운로드한다.
구성 가능한 옵션은 다음과 같다.
DRIVERS_REPO
- 사전 빌드된 커널 모듈과 eBPF 프로브를 다운로드할 기본 리포지터리 URL을 대체하려면 이 환경 변수를 후행 슬래시 없이 설정한다.
https://myhost.mydomain.com
또는 https://myhost.mydomain.com/drivers
하위 디렉토리 구조 https://myhost.mydomain.com/drivers
가 있는 경우를 예로 들어보자.
드라이버는 /${driver_version}/falco_${target}_${kernelrelease}_${kernelversion}.[ko|o]
와 같은 구조로 호스팅되어야 한다. 여기서 ko
와 o
는 각각 커널 모듈과 eBPF
프로브를 나타낸다.
예를 들면, /a259b4bf49c3330d9ad6c3eed9eb1a31954259a6/falco_amazonlinux2_4.14.128-112.105.amzn2.x86_64_1.ko
이다.
falco-driver-loader
스크립트는 위의 형식을 이용해 드라이버를 가져온다.
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.