Scheck 모범 사례¶
- 버전: 1.0.7-7-g251eead
- 릴리스 날짜: 2023-04-06 11:17:57
- 지원 OS: windows/amd64, windows/386, linux/arm, linux/arm64, linux/386, linux/amd64
개요¶
일반적으로 운영 및 유지보수 과정에서 시스템, 소프트웨어, 로그 등 일련의 상태를 점검하는 것은 매우 중요한 작업입니다. 기존 방식은 엔지니어가 쉘(bash) 스크립트를 작성하여 유사한 작업을 수행하고, 원격 스크립트 관리 도구를 통해 클러스터를 관리하는 경우가 많습니다. 그러나 이 방법은 실제로 매우 위험합니다. 시스템 점검 작업은 권한이 너무 높은 문제가 있어 주로 root 권한으로 실행되며, 악성 스크립트가 실행될 경우 그 결과는 상상하기 어렵습니다. 실제 상황에서는 두 가지 유형의 악성 스크립트가 존재합니다. 하나는 `rm -rf`와 같은 악성 명령어이고, 다른 하나는 네트워크 I/O를 통해 데이터를 외부로 유출하는 데이터 도난 스크립트입니다. 따라서 Security Checker는 명령어 실행 제한, 로컬 I/O 제한, 네트워크 I/O 제한을 통해 모든 동작이 안전하고 통제 가능하도록 보장하는 새로운 유형의 안전한 스크립트 방식을 제공하고자 합니다. 또한 Security Checker는 로그 방식으로 통합 네트워크 모델을 통해 점검 이벤트를 수집합니다. 동시에 Security Checker는 시스템, 컨테이너, 네트워크, 보안 등 일련의 점검을 포함한 방대하고 업데이트 가능한 규칙 라이브러리 스크립트를 제공합니다.
scheck은 Security Checker의 약어입니다.
scheck은 보안 점검 이벤트만 전송하며, 복구 알림은 보내지 않습니다.
전제 조건¶
| 서비스명 | 버전 | 필수 설치 여부 | 용도 |
|---|---|---|---|
| Datakit | 1.1.6 이상 설치 방법 | 필수 | scheck 신호 수신 |
| DataFlux | DataFlux SaaS 또는 기타 프라이빗 배포 버전 | 필수 | 보안 점검 결과 확인 |
설정¶
1 Scheck 설치¶
2 설치 상태 및 Datakit 실행 상태 확인¶
- scheck 상태 확인
$systemctl status scheck ● scheck.service - security checker with lua script Loaded: loaded (/usr/lib/systemd/system/scheck.service; enabled; vendor preset: disabled) Active: active (running) since 2021-07-03 00:13:15 CST; 2 days ago Main PID: 15337 (scheck) Tasks: 10 Memory: 12.4M CGroup: /system.slice/scheck.service └─15337 /usr/local/scheck/scheck -config /usr/local/scheck/scheck.conf - datakit 상태 확인
$ systemctl status datakit ● datakit.service - Collects data and upload it to DataFlux. Loaded: loaded (/etc/systemd/system/datakit.service; enabled; vendor preset: disabled) Active: active (running) since 2021-07-03 01:07:44 CST; 2 days ago Main PID: 27371 (datakit) Tasks: 9 Memory: 29.6M CGroup: /system.slice/datakit.service └─27371 /usr/local/datakit/datakit
3 DataFlux 콘솔에 로그인하여 보안 점검 기록 확인 (SaaS 플랫폼)¶
- 왼쪽 탐색 창에서 보안 점검 선택하여 점검 내용 확인
관련 명령어¶
Security Checker 명령어 - 도움말 보기
$scheck -h Usage of scheck: -check-md5 md5 checksum -config string configuration file to load -config-sample show config sample -funcs show all supported lua-extend functions -test string the name of a rule, without file extension -testc int test rule count -version show version -doc Generate doc document from manifest file -tpl Generate doc document from template file -dir `-doc` `-tpl`과 함께 사용하여 파일을 지정된 디렉터리로 출력 -luastatus 모든 lua 실행 상태를 표시하고 현재 디렉터리에 Markdown 형식 파일로 출력 -sort `-luastatus`와 함께 사용하며, 정렬 매개변수: 이름: name, 실행 시간: time, 실행 횟수: count, 기본값은 count ./scheck -luastatus -sort=time -check 사용자 디렉터리의 모든 lua 파일을 사전 컴파일하여 코드 구문 오류 확인 -box 바이너리에 로드된 모든 파일 목록 표시
- 시작/중지 명령어
