리눅스 관리에서 커널 모듈 관리는 시스템 기능을 강화하고 보안을 유지하는 데 중요한 역할을 합니다. 커널 모듈은 리눅스 커널이 동적으로 확장 기능을 추가할 수 있게 해주는 코드 조각입니다. 특히 새로운 하드웨어 장치 지원이나 특정 기능 활성화를 가능하게 합니다.
커널 모듈은 시스템을 다시 부팅하지 않고 커널에 로드하거나 언로드할 수 있는 코드입니다. 이 유연성은 관리자가 필요할 때마다 장치 드라이버를 통합하거나 새로운 커널 기능을 활성화하는 데 유용합니다. 모듈은 modprobe
또는 insmod
와 같은 명령을 사용하여 수동으로 로드할 수 있습니다.
Kubernetes 환경에서는 여러 워크로드와 애플리케이션이 동시에 실행되므로, 불법 프로세스가 커널 모듈을 로드하는 위험이 있습니다. 예를 들어, 파드가 네트워크 작업을 시작하여 네트워크 프로토콜 관련 모듈을 로드할 수 있습니다. 이러한 작업은 보안 취약점을 노출시킬 수 있습니다.
이러한 위험을 줄이기 위해 모듈 블랙리스트를 사용하는 것이 효과적입니다. 블랙리스트는 특정 커널 모듈이 시스템에 로드되지 않도록 방지합니다. 특히 Kubernetes 클러스터 환경에서 필요하지 않거나 사용해서는 안 되는 모듈에 중점을 두어야 합니다.
lsmod
명령을 사용합니다.$ lsmod
Module Size Used by
floppy 69417 0
xt_conntrack 16384 1
ipt_MASQUERADE 16384 1
nf_nat_masquerade_ipv4 16384 1 ipt_MASQUERADE
nf_conntrack_netlink 40960 0
nfnetlink 16384 2 nf_conntrack_netlink
xfrm_user 32768 1
xfrm_algo 16384 1 xfrm_user
xt_addrtype 16384 2
iptable_filter 16384 1
iptable_nat 16384 1
nf_conntrack_ipv4 16384 3
nf_defrag_ipv4 16384 1 nf_conntrack_ipv4
nf_nat_ipv4 16384 1 iptable_nat
nf_nat 32768 2 nf_nat_masquerade_ipv4,nf_nat_ipv4
nf_conntrack 131072 7
bluetooth 544768 43 btrtl,btintel,btbcm,bnep,btusb,rfcomm
블랙리스트 구성 파일 생성:
/etc/modprobe.d/
디렉토리로 이동합니다 (필요시 생성).blacklist.conf
와 같은 .conf
확장자를 가진 구성 파일을 생성합니다. 이 파일에는 블랙리스트할 모듈 항목을 추가합니다.블랙리스트 파일에 항목 추가:
blacklist.conf
파일을 편집하고 특정 모듈을 블랙리스트에 추가합니다. 예시:
# SCTP 모듈 블랙리스트
blacklist sctp
# DCCP 모듈 블랙리스트
blacklist dccp
변경 사항 적용 및 시스템 재부팅:
blacklist.conf
파일을 저장합니다. shutdown –r now
lsmod
명령을 사용하여 모듈이 효과적으로 블랙리스트되었는지 확인합니다. lsmod | grep sctp
lsmod | grep dccp
리눅스 환경에서 모듈 블랙리스트를 적용함으로써 Kubernetes 클러스터에서의 시스템 보안을 크게 강화할 수 있습니다. 이 프로액티브 접근은 불법 모듈 로드를 방지하고 공격 가능성을 줄여 시스템의 안정성과 신뢰성을 확보하는 데 기여합니다.