웹사이트 검색

Osquery로 Linux 서버 보안을 모니터링하는 방법


Osquery에서 제작한 Linux, FreeBSD, Windows 및 Mac/OS X 시스템을 위한 강력한 크로스 플랫폼 SQL 기반 운영 체제 계측, 모니터링 및 분석 프레임워크인 무료 오픈 소스입니다. 페이스북. 간단하고 사용하기 쉬운 운영 체제 탐색기입니다.

낮은 수준의 OS 분석 및 모니터링을 수행하는 여러 도구를 결합합니다. 이러한 도구는 운영 체제를 MySQL/MariaDB, PostgreSQL 등과 같은 고성능 관계형 데이터베이스로 드러냅니다. 여기서 OS 개념은 다음과 같습니다. 표 형식이므로 사용자는 SQL 명령을 사용하여 시스템 모니터링 및 분석을 수행할 수 있습니다.

Osquery는 간단한 플러그인과 확장 API를 사용하여 SQL 테이블을 구현하며, 사용할 준비가 된 테이블 모음이 있으며 더 많은 테이블이 작성되고 있습니다. 일부 테이블은 특정 운영 체제에서만 찾을 수 있습니다. 예를 들어 Linux 시스템에서는 kernel_modules 테이블만 찾을 수 있습니다.

또한 쿼리를 실행하여 osqueryi 셸을 통해 단일 호스트 또는 스케줄러를 통해 네트워크의 여러 호스트에서 OS 상태를 모니터링 및 분석하거나 osquery Thrift를 사용하여 사용자 정의 애플리케이션에서 쿼리를 실행할 수 있습니다. 아피스.

Linux에 Osquery를 설치하는 방법

Osquery는 표시된 대로 각 Linux 배포판에 apt yum 또는 dnf 패키지 관리 도구를 사용하여 공식 저장소에서 설치할 수 있습니다.

데비안/우분투에서

export OSQUERY_KEY=1484120AC4E9F8A1A577AEEE97A80C63C9D8B80B
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $OSQUERY_KEY
sudo add-apt-repository 'deb [arch=amd64] https://pkg.osquery.io/deb deb main'
sudo apt update
sudo apt install osquery

RHEL/CentOS에서

curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
sudo yum-config-manager --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo yum-config-manager --enable osquery-s3-rpm-repo
sudo yum install osquery

Fedora 22+

curl -L https://pkg.osquery.io/rpm/GPG | sudo tee /etc/pki/rpm-gpg/RPM-GPG-KEY-osquery
dnf config-manager --add-repo --add-repo https://pkg.osquery.io/rpm/osquery-s3-rpm.repo
sudo dnf config-manager --set-enabled osquery-s3-rpm
sudo dnf install osquery

Osquery를 사용하여 Linux를 모니터링하고 분석하는 방법

시스템에 Osquery를 성공적으로 설치한 후 osqueryi 셸을 실행하여 표시된 대로 OS 상태 쿼리를 시작합니다.

osqueryi

Using a virtual database. Need help, type '.help'
osquery> 

요약된 Linux 시스템 정보를 얻으려면 다음 명령을 실행하십시오.

osquery> SELECT  * FROM system_info;

Linux 시스템의 모든 사용자에 대한 올바른 형식의 목록을 얻으려면 다음 쿼리를 실행하십시오.

osquery> SELECT * FROM users;

모든 Linux 커널 모듈 및 해당 상태 목록을 가져오려면 다음 쿼리를 실행하세요.

osquery> SELECT * FROM kernel_modules;

CentOS, RHEL 및 Fedora에 설치된 모든 RPM 패키지 목록을 얻으려면 다음 쿼리를 실행하십시오.

osquery> .all rpm_packages;

Linux 프로세스 실행에 대한 정보를 얻으려면 다음 쿼리를 실행하세요.

osquery> SELECT DISTINCT processes.name, listening_ports.port, processes.pid FROM listening_ports JOIN processes USING (pid) WHERE listening_ports.address = '0.0.0.0';

데스크톱에서 osquery를 실행하고 Firefox 또는 Chrome이 설치되어 있는 경우 다음 쿼리를 사용하여 모든 추가 기능을 나열할 수 있습니다.

osquery> .all firefox_addons;
osquery> .all  chrome_extensions;

Linux에서 구현된 모든 테이블의 목록을 표시하려면 표시된 대로 .tables 명령을 사용하십시오.

osquery> .tables;	#list all implemented tables
osquery> .help; 	#view help message

Osquery는 파일 무결성 모니터링(FIM), 프로세스 및 소켓 감사 기능 등도 제공하므로 침입 탐지 도구이지만 이를 수행하려면 특정 구성이 필요합니다. 그런 목적으로 배포하세요. Osquery Github 저장소에서 자세한 정보를 확인할 수 있습니다.