안녕하세요. 주식회사 서버몬 입니다.
서버와 시스템의 보안은 모든 IT 환경에서 가장 중요한 요소로, 이를 위해서는 시스템 상태를 지속적으로 점검하고, 보안 위협을 빠르게 감지할 수 있는 도구가 필수적입니다.
특히, 보안 위협은 빠르게 변화하고 있기 때문에, 이를 실시간으로 모니터링하고 잠재적인 위협을 신속하게 파악하는 것이 중요한데요.
시스템의 보안 상태를 실시간으로 확인하고, 다양한 보안 데이터를 SQL 쿼리문을 통해 분석하여 위협을 감지할 수 있는 기능을 하는 OSQuery에 대해 알아보겠습니다.
OSQuery
Osquery는 운영 체제를 고성능 관계형 데이터베이스처럼 활용할 수 있게 해주는 오픈 소스 운영 체제 계측 프레임워크로 SQL 기반의 쿼리를 통해 Windows, Mac, Linux와 같은 여러 OS에서 운영 체제 데이터를 탐색할 수 있습니다.
특징 & 구성 요소
주요 특징
- Osquery는 여러 운영 체제와 Docker 컨테이너에서 풍부한 데이터를 수집할 수 있는 단일 에이전트 제공
- SQL기반 쿼리 사용하여 실행 중인 프로세스, 로드된 커널 모듈, 열린 네트워크 연결, 브라우저 플러그인, 하드웨어 이벤트 등 탐지 가능
- Osquery는 다양한 운영 체제에서 작동하므로 동일한 쿼리를 여러 환경에서 사용 가능해 용이하게 사용 가능
- 운영 체제에 상관없이 데이터를 표준화하여 각 플랫폼에 맞는 커스텀 스크립트를 제작하지 않아도 됨
구성 요소
- Osqueryi: 운영 체제를 탐색하고 즉석에서 쿼리를 실행할 수 있는 대화형 콘솔 셸
- Osqueryd: 고성능 경량 데몬으로, 쿼리를 예약하고 OS 상태 변경을 기록할 수 있는 모니터링 데몬
장단점
항목 | 장점 | 단점 |
실시간 모니터링 | 보안 위협을 신속하게 탐지하고 대응 가능. | 최적화되지 않은 쿼리는 시스템 성능에 영향을 줄 수 있음. |
SQL 쿼리 | 직관적인 SQL 문법으로 시스템 정보 조회 용이. | 수집된 데이터를 해석하려면 추가 도구나 전문 지식이 필요할 수 있음. |
크로스 플랫폼 | Windows, macOS, Linux 등 다양한 운영 체제에서 사용 가능. | 하루에 엔드포인트당 약 110MB의 데이터 생성, 저장 비용 증가 가능. |
확장성 | Kolide Fleet과 연동하여 중앙에서 시스템을 관리할 수 있음. |
OSQuery 설치
운영 체제 : Ubuntu 24.04.2 LTS (Noble Numbat)
// OSQuery 패키지를 안전하게 설치필요
// OSQuery의 공개 GPG 키를 다운로드하기 위해 폴더를 생성하고 curl 명령어를 통해 Key를 다운로드
root@osquery:~# mkdir -p /etc/apt/keyrings
root@osquery:/etc/apt/keyrings# curl -L https://pkg.osquery.io/deb/pubkey.gpg | sudo tee /etc/apt/keyrings/osquery.asc
// OSQuery의 최신 패키지와 업데이트를 APT 패키지 관리자를 통해 쉽게 설치 및 관리 필요
// APT 소스 목록에 OSQuery 저장소를 추가 및 설치 진행
root@osquery:~# echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/osquery.asc] https://pkg.osquery.io/deb deb main" | tee /etc/apt/sources.list.d/osquery.list
root@osquery:~# apt-get update
root@osquery:~# apt-get install osquery
// 설치된 OSQuery의 버전 확인
root@osquery:~# /etc/apt/sources.list.d# osqueryi --version
osqueryi version 5.16.0
// OSQuery 데몬을 시작해 지속적인 시스템 모니터링 활성화
root@osquery:~# service osqueryd start
OSQuery 기능
// OSQuery 실행
root@osquery:~# osqueryi
Using a virtual database. Need help, type '.help'
// OSQuery 기능 및 사용법
osquery> .help
Welcome to the osquery shell. Please explore your OS!
You are connected to a transient 'in-memory' virtual database.
.all [TABLE] 테이블에서 모든 항목 선택
.bail ON|OFF 오류 발생 시 실행 중단 여부 설정
.connect PATH OSQuery 확장 소켓 연결
.disconnect 연결된 확장 소켓 연결 해제
.echo ON|OFF 명령어 실행 결과 화면 출력 여부 설정
.exit 프로그램 종료
.features OSQuery 기능과 상태 나열
.headers ON|OFF 결과에서 헤더 표시 여부 설정
.help 해당 내용 출력
.mode MODE 출력 모드를 설정 (가능 모드)
csv 쉼표로 구분된 값
column 왼쪽 정렬된 열 (.width로 열 너비 설정)
line 한 줄에 하나의 값
list .separator 문자열로 구분된 값
pretty SQL 결과를 예쁘게 출력 (기본값)
.nullvalue STR NULL 값을 대체할 문자열을 설정
.print STR... 문자열을 그대로 출력
.quit 프로그램을 종료
.schema [TABLE] 테이블의 CREATE 문을 표시
.separator STR 출력 모드에서 사용할 구분자를 변경
.socket 로컬 OSQuery 확장 소켓 경로를 표시
.show 다양한 설정값의 현재 상태를 표시
.summary show meta 명령어의 별칭
.tables [TABLE] 테이블 이름을 나열
.types [SQL] 주어진 쿼리에 대한 getQueryColumns 결과를 표시
.width [NUM1]+ "column" 모드에서 열의 너비를 설정
.timer ON|OFF CPU 타이머 측정 여부 설정
OSQuery 사용법
일반적인 SQL 쿼리문처럼 작성해 빠르게 운영 체제 데이터를 탐지가 가능합니다.
// 루프백 인터페이스(lo)를 제외한 모든 네트워크 인터페이스 값 출력
osquery> select interface,address,mask from interface_addresses where interface not like '%lo';
+-----------+--------------------------------+-----------------------+
| interface | address | mask |
+-----------+--------------------------------+-----------------------+
| ens33 | 172.16.10.172 | 255.255.255.0 |
| ens33 | fe80::250:56ff:fe2f:18ac%ens33 | ffff:ffff:ffff:ffff:: |
+-----------+--------------------------------+-----------------------+
// 각 프로세스의 네트워크 정보와 함께 프로세스 실행에 사용된 명령줄을 포함하여, 시스템에서 수신 대기 중인 포트와 관련된 세부 정보 출력
osquery> SELECT p.pid, p.name AS process_name, lp.port, lp.protocol, lp.family, lp.address, lp.fd, lp.socket, lp.path AS listening_path, p.cmdline AS process_cmdline FROM processes p JOIN listening_ports lp ON p.pid = lp.pid LIMIT 10;
+------+-----------------+------+----------+--------+---------------+----+--------+-----------------------------+---------------------------------------------------------+
| pid | process_name | port | protocol | family | address | fd | socket | listening_path | process_cmdline |
+------+-----------------+------+----------+--------+---------------+----+--------+-----------------------------+---------------------------------------------------------+
| 707 | systemd-resolve | 53 | 6 | 2 | 127.0.0.53 | 15 | 14544 | | /usr/lib/systemd/systemd-resolved |
| 707 | systemd-resolve | 53 | 6 | 2 | 127.0.0.54 | 17 | 14546 | | /usr/lib/systemd/systemd-resolved |
| 1103 | sshd | 6010 | 6 | 2 | 127.0.0.1 | 7 | 17431 | | sshd: root@pts/0 |
| 1103 | sshd | 6010 | 6 | 10 | ::1 | 6 | 17430 | | sshd: root@pts/0 |
| 1101 | sshd | 22 | 6 | 10 | :: | 3 | 15582 | | sshd: /usr/sbin/sshd -D [listener] 0 of 10-100 startups |
| 707 | systemd-resolve | 53 | 17 | 2 | 127.0.0.54 | 16 | 14545 | | /usr/lib/systemd/systemd-resolved |
| 707 | systemd-resolve | 53 | 17 | 2 | 127.0.0.53 | 14 | 14543 | | /usr/lib/systemd/systemd-resolved |
| 559 | systemd-network | 68 | 17 | 2 | 172.16.10.172 | 21 | 10846 | | /usr/lib/systemd/systemd-networkd |
| 559 | systemd-network | 58 | 255 | 10 | :: | 22 | 10866 | | /usr/lib/systemd/systemd-networkd |
| 474 | systemd-journal | 0 | 0 | 1 | | 24 | 0 | /run/systemd/journal/stdout | /usr/lib/systemd/systemd-journald |
+------+-----------------+------+----------+--------+---------------+----+--------+-----------------------------+---------------------------------------------------------+
osqueryi에 진입 후 간단한 테스트를 통해 시스템 정보를 조회할 수 있지만, 실제 환경에서는 훨씬 더 복잡하고 세밀한 작업을 통해 시스템을 모니터링할 수 있습니다.
예를 들어, 쿼리를 사용해 실행 중인 프로세스, 네트워크 연결, 파일 변경사항 등 다양한 보안 관련 데이터를 실시간으로 분석하고 추적할 수 있습니다.
이러한 작업을 통해 시스템의 이상 징후를 신속하게 감지하고, 효율적으로 대응할 수 있습니다.
또한, Fleet와 연동하면 Osquery의 모니터링 기능을 극대화할 수 있습니다.
Fleet은 여러 시스템에 배포된 Osquery의 데이터를 중앙에서 관리하고, 쿼리 실행 및 결과 분석을 자동화하여 보다 효율적으로 대규모 환경을 모니터링할 수 있습니다.
이를 통해 시스템 보안 위협을 실시간으로 감지하고 대응할 수 있으며, 의심스러운 활동에 대해 빠르게 알림을 받아 필요한 조치를 취할 수 있습니다.
이상으로 OSQuery에 대한 간단한 리뷰를 마치겠습니다.
감사합니다.
1U서버 / 2U서버 / AI서버 / alyac / APC / APC UPS / backup / carepack / centos / chakramax / cuda / DAS / DB / DB서버 / defog / DEFOG랙 / dell5820 / dell5820t / dell7920 / dellpoweredge / dellr240 / dellr340 / dellr350 / dellr450 / dellr540 / dellr630 / dellr640 / dellr740 / dellr750 / dellserver / dellt40 / dellt440 / dellt5820 / dell서버 / DELL서버CPU / DELL서버RAID컨트롤러 / DELL서버SAS하드디스크 / DELL서버가격비교 / DELL서버가격비교견적 / DELL서버견적 / DELL서버구매 / DELL서버디스크교체 / DELL서버메모리 / dell서버서버몬 / DELL서버펌웨어 / DELL서버하드디스크구매 / dell옵션 / dell워크스테이션 / dl20 / dl20gen10 / dl20gen11 / dl360 / dl360gen10 / dl360gen11 / dl380 / dl380g10 / dl380gen10 / dl380gen11 / ECC메모리 / EDFOG랙가격 / embedded / est security / ESTSOFT / FIRMWARE / GPU / gpu서버 / gpu타워형서버 / greenlake / HA솔루션 / HP GPU / hp hdd / hpdl20 / HPDL20Gen10 / hpdl360 / hpdl360gen10 / hpdl380 / hpdl380g10 / HPDL380Gen10 / HPE / HPE GPU / hpe hdd / hpe rok / HPE Service Pack for Proliant / HPE SPP / hpe ssa / hpedl20 / hpedl20gen10 / hpedl360gen10 / hpe서버 / HPE서버CPU / HPE서버RAID컨트롤러 / HPE서버SAS하드디스크 / HPE서버가격비교 / HPE서버가격비교견적 / HPE서버견적 / HPE서버구매 / HPE서버드라이버설치 / HPE서버디스크교체 / HPE서버메모리 / HPE서버비용 / hpe서버소음 / HPE서버펌웨어 / HPE서버하드디스크구매 / hpe옵션 / hpe정품 / hpgen10 / hpml30 / hpserver / hpz2 / hpz4 / hpz4g4 / hpz6g4 / hpz8g4 / hp마이크로서버 / hp서버 / hp서버cto / hp서버pc / HP서버메모리 / hp서버소음 / hp서버컴퓨터 / HP서버파워 / HP서버펌웨어 / HP서버하드디스크 / hp옵션 / hp워크스테이션 / hp정품 / hp프로라이언트 / HYPER BACKUP / ibm서버 / ilo / Intelligent Provisioning / internetdisk / KVM / KVM 기술지원비(비용) / KVM 설치비 / L2스위치 / L3스위치 / LENONO서버SAS하드디스크 / lenovop620 / lenovor650 / LENOVO서버 / LENOVO서버CPU / LENOVO서버RAID컨트롤러 / LENOVO서버가격비교 / LENOVO서버가격비교견적 / LENOVO서버견적 / LENOVO서버구매 / LENOVO서버디스크교체 / LENOVO서버메모리 / LENOVO서버하드디스크구매 / LENOVO펌웨어업데이트 / Linux / ML30 / ml30gen10 / ml30gen11 / ML350GEN10 / ml350gen11 / ML360 / MS CSP / MSSQL / MSSQL 기술지원비(비용) / MSSQL 설치비 / MYSQL / MySQL 기술지원비(비용) / MySQL 설치비 / NAS / NVIDIA / Office 365 / oneview / orange / OS설치 / PA-410 / PA-440 / paloalto / poweredger740 / poweredger750 / precision5820 / QUADRO / r240 / r250 / r340 / r360 / r440 / r550 / r650 / r660 / r740 / r750xs / r760 / r760xs / RAID / redhat / RHEL설치 / RMS랙 / rocky / s100i / securedisk / server / serverpc / smart storage administrator / SPP / sql server / sr250 / sr650 / SYNOLOGY / SYNOLOGY나스 / t150 / t360 / UPS / UPS기술지원 / UPS납품 / UPS설치 / V3 / veeam / vroc / windows server / Windows서버설치 / XEON서버 / z8g4 / 가상서버 / 가성비서버 / 기술지원비(비용) / 나스기술지원 / 나스설치지원 / 네트워크스위치 / 네트워크장비 / 더블테이크 / 데이터베이스 / 델5820 / 델서버 / 델서버비용 / 델서버펌웨어업데이트 / 델옵션 / 델워크스테이션 / 델컴퓨터워크스테이션 / 디포그 / 디포그랙 / 디포그랙가격 / 딥러닝 / 딥러닝pc / 딥러닝서버 / 랙 / 랙(RACK) 기술지원비(비용) / 랙(RACK) 설치비 / 랙납품설치 / 랙설치 / 레노버p620 / 레노버서버 / 레노버워크스테이션 / 레노보서버 / 레노보서버펌웨어 / 레드헷설치 / 레이드 / 레이드구성 / 록키리눅스 / 리눅스 / 리눅스 기술지원비(비용) / 리눅스 설치비 / 리눅스서버 / 리눅스서버설치 / 리눅스서버트러블슈팅 / 리눅스트러블슈팅 / 문서보안 / 문서중앙화 / 미니서버 / 미니서버랙 / 미니서버렉 / 미디어서버 / 방화벽 / 방화벽 기술지원비(비용) / 방화벽 설치비 / 방화벽엔지니어 / 백업 / 백업 기술지원비(비용) / 백업 서버 / 백업서비스 / 백업솔루션 / 보안솔루션 / 보안솔루션구매 / 보안솔루션설치 / 보안툴 / 빔백업 / 샤크라맥스 / 서버 / 서버 기술지원비(비용) / 서 버 랙마운트비용 / 서버 설치비 / 서버 장애조치비용 / 서버CPU / 서버MEMORY / 서버OS설치 / 서버pc / 서버가격 / 서버가속기 / 서버견적 / 서버교체 / 서버구매 / 서버구입 / 서버구축 / 서버기술지원 / 서버납품 / 서버디스크장애처리 / 서버랙 / 서버렉 / 서버렉마운트 / 서버메모리 / 서버 몬 / 서버몬기술지원 / 서버백업 / 서버보안 / 서버부품 / 서버엔지니어 / 서버옵션 / 서버용GPU / 서버용PC / 서버용그래픽카드 / 서버용메모리 / 서버 / 컴퓨터 / 서버용하드디스크 / 서버재고 / 서버컴 / 서버컴퓨터 / 서버트러블슈팅 / 서버판매 / 서버하드 / 서버호스팅 / 스위치 / 스위치 기술지원비(비용) / 스위치 설치비 / 스토리지 / 스토리지 기술지원비(비용) / 스토리지 랙마운트비용 / 스토리지 설치비 / 스토리지 장애조치비용 / 스토리지납품설치 / 스토리지서버 / 시놀로지DS918 / 시놀로지HyperBackup / 시놀로지나스 / 시놀로지나스백업 / 시놀로지하이퍼백업 / 시큐어디스크 / 안랩 / 알약 / 앱서버 / 오피스 365 / 우분투설치 / 워크스테이션 / 워크스테이션pc / 워크스테이션컴퓨터 / 윈도우서버 / 윈도우서버2016 / 윈도우서버2019 / 윈도우서버2022 / 윈도우서버설치 / 윈도우서버컴퓨터 / 윈도우서버트러블슈팅 / 윈도우즈 기술지원비(비용) / 윈도우즈 설치비 / 이스트소프트 / 이스트 시큐리티 / 이중화솔루션 / 이중화솔루션구매 / 이중화솔루션설치 / 인터넷디스크 / 임베디드 / 저가서버 / 저렴한서버 / 정품서버 / 정품서버옵션 / 제온서버 / 젠서버 / 중고서버 / 중고워크스테이션 / 카보나이트 / 카스퍼스키 / 컴퓨터서버 / 케어팩 / 타워서버 / 타워형서버 / 팔로알토 / 페도라설치 / 프로라이언트
'설치 및 기술 자료 > Lenovo' 카테고리의 다른 글
[LENOVO] LENOVO서버에서 RAID구성하기 (0) | 2023.02.03 |
---|---|
[Lenovo] 장비의 펌웨어 업데이트를 위한 BOMC (Bootable Media Creator) 설치 및 이미지 생성 방법 (0) | 2022.01.04 |
[Lenovo] Lenovo 서버 별 지원가능 OS (Windows & Linux)확인 (0) | 2021.02.10 |
댓글