How To Using Kspice for Oracle Linux 10 Security -part 1
테크넷 마스터 김재벌 입니다.
Kspice는 제가 블로그에 몇번 포스팅 한 적도 있고, 오라클 리눅스의 가장 큰 장점 중 하나인 라이브 패치를 제공하는 핵심 기술이라서 여러번 언급이 되었는데, 이에 대한 총정리 버전으로 정리하고자 합니다.

지난 포스팅에서 Autonomous Linux 에 대해서 다루었는데, 결국은 OCI 의 허브 기능과 Kspice 의 조합이었죠.
기존에 제가 포스팅한 내용도 대부분 라이브 패치 설정하는 내용이었구요.
1.커널 라이브 패치 ( Kernel Live Patching)
CVE 패치를 시스템 재부팅 없이 실행중인 커널에 즉시 적용 - 99.99%의 가용성을 유지할 수 있습니다.
이는 오라클 리눅스의 9나 10 모두 적용이 가능합니다.
일반적으로 라이브 패치가 없다면 커널 보안 업데이트를 위해 적어도 한달에 1번 정도는 보안 패치 적용을 위해 시스템을 재부팅을 해야 합니다.
Ksplice 는 재부팅 없이 동일한 업데이트를 실시간으로 메모리에 직접 적용합니다.
이를 통해 네트워크 스택의 CVE , 커널 패닉 드라이버 버그 등을 무중단 패치할 수 있게 됩니다.
여타 리눅스와는 차별화 되는 기능이죠.
1-1. 설치 및 기본 구성
| # 1. Ksplice Enhanced Client 설치 (OL9/OL10 공통) sudo dnf install uptrack # 2. ULN Access Key 설정 (/etc/uptrack/uptrack.conf) sudo vi /etc/uptrack/uptrack.conf # accesskey = <ULN에서 발급한 액세스 키> # 3. Ksplice 서비스 활성화 sudo systemctl enable --now uptrack # 또는 ksplice 명령 사용 (uptrack과 동일) sudo systemctl enable --now ksplice-uptrack |
1-2. 패치 관리 명령
| # 적용 가능한 패치 확인 (적용 전) sudo uptrack-show --available # 또는: sudo ksplice kernel show # 현재 적용된 패치 목록 확인 sudo uptrack-show sudo ksplice kernel show --installed # 유효 커널 버전 확인 (패치 반영 버전) sudo uptrack-uname -r # 출력 예: 5.15.0-306.177.6.el9uek.x86_64 (Ksplice) # uname -r의 실제 버전보다 높을 수 있음 # 모든 패치 즉시 적용 (-y: 무인 모드) sudo uptrack-upgrade -y # 특정 subsystem 패치만 확인 sudo ksplice kernel show --available | grep net # 자동 업데이트 설정 (cron 기반, 기본 활성화) cat /etc/uptrack/uptrack.conf | grep autoinstall # autoinstall = yes ← 자동 적용 |
2. 유저스페이스 라이브 패치 ( glibc-OpenSSL )
애플리케이션의 재시작 없이 핵심 공유라이브러리 취약점 실시간 패치
오라클 리눅스만이 배포판 중에 유일하게 유저스페이스(user-space) 핵심 라이브러리의 무중단 패치를 제공한다고 하네요.
glibc나 openssl에 긴급 취약점이 발생하는 경우 대부분의 경우 시스템 재부팅은 하지 않더라도 관련 애플리케이션을 종료 후 패치하고 재시작 했어야 했는데, 오라클 리눅스는 이것이 가능한 것이죠.
따라서, 데이터베이스나 웹서버 등의 다양한 실행중인 서비스 (애플리케이션)을 중단하지 않고 패치가 적용 됩니다.
| # Enhanced Client로 glibc/OpenSSL 패치 확인 sudo ksplice user show --available sudo ksplice user show --installed # 유저스페이스 패치 적용 sudo ksplice user upgrade -y # 통합 명령어로 커널 + 유저스페이스 동시 적용 sudo ksplice all upgrade -y # 패치 적용 여부 확인 (glibc 버전 확인) ldd --version # Ksplice 적용 시 실제 패키지 버전보다 높은 버전 표기 # 패치 로그 확인 sudo journalctl -u uptrack --since "1 hour ago" sudo cat /var/log/uptrack.log |
다음에는 익스플로잇 탐지와 차단하는 방법에 대해서 포스팅 하겠습니다.