Linux에서 Snort IDS를 설치하고 설정하는 방법
침입 탐지 시스템(IDS)은 사이버 보안 분야의 무단 액세스 및 잠재적 위험으로부터 컴퓨터 네트워크를 보호하는 데 필수적입니다. Snort IDS는 네트워크 침입을 감지하고 방지하기 위해 강력하고 광범위하게 사용되는 오픈 소스 솔루션으로서 사용 가능한 많은 IDS 선택 중에서 두드러집니다. 이 튜토리얼은 Linux에서 Snort IDS를 설치 및 설정하는 방법을 보여주며 네트워크 보안을 개선하는 데 필요한 지식을 제공합니다.
Snort IDS 작동 방식
Snort IDS는 네트워크 트래픽을 모니터링하고 의심스러운 활동을 분석하고 잠재적 위협에 대한 경고를 생성하는 네트워크 침입 탐지 시스템입니다. 서명 기반 침입 탐지 시스템인 Snort는 일반적으로 규칙으로 알려진 알려진 공격 패턴 데이터베이스를 사용하여 네트워크 트래픽을 분석하여 악의적인 활동을 탐지합니다. Snort IDS는 실시간 트래픽 분석 기능으로 널리 알려진 포트 스캔, DoS 공격 및 SQL 주입을 포함한 광범위한 네트워크 공격을 탐지하고 방지합니다.
기본 구성
Snort IDS 설치를 진행하기 전에 몇 가지 기본 구성이 필요합니다. 주로 시스템을 업데이트 및 업그레이드하고 Snort가 효과적으로 작동하는 데 필요한 종속 항목을 설치해야 합니다.
- Linux 시스템을 업데이트하고 업그레이드합니다. Ubuntu 및 기타 Debian 기반 시스템의 경우:
sudo apt update && apt upgrade -y
- Snort IDS를 실행하는 데 필요한 종속 항목을 설치합니다.
sudo apt install -y build-essential autotools-dev libdumbnet-dev libluajit-5.1-dev libpcap-dev zlib1g-dev pkg-config libhwloc-dev cmake liblzma-dev openssl libssl-dev cpputest libsqlite3-dev libtool uuid-dev git autoconf bison flex libcmocka-dev libnetfilter-queue-dev libunwind-dev libmnl-dev ethtool libjemalloc-dev libpcre++-dev
- Snort가 제대로 작동하려면 데이터 수집 라이브러리인 LibDAQ을 수동으로 설치해야 합니다. LibDAQ을 설치하려면 공식 웹 사이트에서 파일을 다운로드하고 압축을 풀고 해당 디렉토리로 이동한 다음 빌드하고 컴파일하십시오.
wget https://www.snort.org/downloads/snortplus/libdaq-3.0.11.tar.gz
tar -xzvf libdaq-3.0.11
cd libdaq-3.0.11
./bootstrap
./configure
makesudo make install
- 최종 종속성은 gperftools입니다. GitHub 리포지토리 에서 소스 파일을 가져오는 것으로 시작합니다 . 파일을 추출하고 선택한 디렉토리로 이동한 다음 구성 스크립트를 실행하여 설정 프로세스를 시작합니다.
make
그런 다음 및 명령을 실행하여make install
패키지를 설치합니다.
wget https://github.com/gperftools/gperftools/releases/download/gperftools-2.10/gperftools-2.10.tar.gz
tar -xvzf gperftools-2.10 && cd gperftools-2.10
./configure
make
sudo make install
다음으로 Snort를 설치해야 합니다.
스노트 IDS 설치
- 공식 Snort 웹사이트
wget
에서 또는 터미널에서 다음을 사용하여 Snort IDS를 다운로드할 수 있습니다 .
wget https://www.snort.org/downloads/snortplus/snort3-3.1.58.0.tar.gz
- 파일 추출을 시작합니다.
tar -xzvf snort3-3.1.58.0
- 추출된 디렉토리로 이동하여 구성 스크립트를 실행하고 명령으로 파일을 준비한
make
다음make install
명령을 사용하여 설치하십시오.
cd snort3-3.1.58.0
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloccd build
makesudo make install
- Snort는 시스템에서 실행할 준비가 되었습니다. Snort IDS를 구성하기 전에 공유 라이브러리를 업데이트하십시오. 그렇지 않으면 Snort를 시작하려고 할 때 오류가 발생할 수 있습니다.
sudo ldconfig
이 프로세스는 시스템의 공유 라이브러리 캐시를 최근에 설치된 라이브러리 및 바이너리와 동기화합니다.
Snort의 유효성을 검사하기 위해 이 명령은 snort -V
터미널 창에 Snort IDS 버전을 표시합니다.
참고 : IDS를 사용하는 것 외에도 서버에서 해커를 잡기 위해 SSH 허니팟을 설정할 수도 있습니다 .
Snort IDS로 규칙 구성 및 설정
Snort IDS와 통신하도록 Linux 시스템의 네트워킹 환경을 구성하려면 시스템의 네트워크 인터페이스 카드 이름을 찾으십시오.
nmcli device status
다음 명령을 사용하여 네트워크 인터페이스 카드를 설정합니다.
sudo ip link set dev interface_name promisc on
명령의 “interface_name”은 시스템의 이더넷 카드 이름입니다.
더 큰 네트워크 패킷이 잘리는 것을 방지하려면 ethtool을 사용하여 GRO(Generic Receive Offload) 및 LRO(Large Receive Offload)를 비활성화합니다.
sudo ethtool -K interface_name gro off lro off
아래 언급된 명령을 실행하여 기본 구성으로 성능을 테스트합니다.
snort -c /usr/local/etc/snort/snort.lua
Snort가 시스템에 설치 및 구성되었음을 나타내는 성공적인 출력을 제공해야 합니다. 이제 기능과 구성을 실험하여 네트워크 보안을 위한 최상의 규칙을 결정할 수 있습니다.
Linux 시스템에서 실행할 Snort IDS 규칙 구현
Snort는 특정 디렉터리에서 규칙 집합과 구성을 읽습니다.
sudo mkdir /usr/local/etc/rules
sudo mkdir /usr/local/etc/so_rules/sudo mkdir /usr/local/etc/lists/sudo touch /usr/local/etc/rules/local.rules
sudo touch /usr/local/etc/lists/default.blocklist
sudo mkdir /var/log/snort
필요한 디렉토리를 생성한 후 Snort 웹사이트에서 원하는 규칙을 다운로드합니다.
wget https://www.snort.org/downloads/community/snort3-community-rules.tar.gz
파일을 추출하고 규칙을 “/usr/local/etc/rules/” 디렉터리에 복사합니다.
tar -xvzf snort3-community-rules
cd snort3-community-rules
cp * /usr/local/etc/rules/
규칙 구성으로 Snort를 실행하려면 다음 명령을 입력하십시오.
sudo snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -i wl01 -s 65535 -k none
시작 시 Snort IDS 설정
Snort가 시작하는 동안 실행을 시작하고 백그라운드 데몬으로 작동하는지 확인하는 것이 중요합니다. Snort를 자동 시작 시스템 서비스로 구성하면 소프트웨어가 작동하고 온라인 상태일 때마다 시스템을 보호합니다.
- 아래 언급된 명령을 실행하여 새로운 systemd 서비스 파일을 생성합니다.
touch /lib/systemd/system/snort.service
- 터미널 창에서 파일을 열고
nano
다음 정보를 추가합니다.
[Unit]Description=Snort Daemon
After=syslog.target network.target
[Service]Type=simple
ExecStart=/usr/local/bin/snort -c /usr/local/etc/snort/snort.lua -R /usr/local/etc/rules/snort3-community.rules -s 65535 -k none -l /var/log/snort -D -L pcap -i ens33
[Install]WantedBy=multi-user.target
- 파일을 저장하고 종료합니다. 스크립트 활성화 및 실행:
sudo systemctl enable snort.service
sudo snort start
Snort IDS는 Linux 시스템을 시작하고 보호할 준비가 되어 있습니다. Linux에서 더 많은 오픈 소스 보안 도구를 찾으려면 링크를 따르십시오.
Snort를 사용한 네트워크 트래픽 모니터링
우리는 Snort와 그것이 작동하는 방식에 대해 배웠습니다. 이제 Snort를 사용하여 네트워크 트래픽을 모니터링하고 가능한 보안 위험을 찾는 방법에 대한 몇 가지 기본 사항을 확인하겠습니다.
- Snort 사용을 시작하고 네트워크 트래픽을 모니터링하려면 먼저 네트워크 인터페이스를 선택하십시오. 아래 언급된 명령에 따라 시스템에 있는 네트워크 인터페이스의 이름을 찾으십시오.
ifconfig -a
- 아래 언급된 명령으로 Snort를 시작합니다. 네트워크 인터페이스를 능동적으로 모니터링하고 잠재적인 위협이 발견되면 계속 업데이트하는 콘솔을 터미널 창에서 엽니다.
sudo snort -i [Network_Interface] -c /etc/snort/snort.conf -A console
여기 명령에서 네트워크 인터페이스는 모니터링하기 위해 선택한 이더넷 포트이고 “etc/snort/snort.conf”는 Snort 구성 파일의 위치이며 Snort IDS에서 생성된 경고를 표시하는 -A
콘솔입니다.
이것은 Snort가 보안 위협과 취약한 공격을 모니터링하는 데 사용되는 방식입니다. 규칙을 정기적으로 업데이트하십시오. 업데이트된 규칙이 있는 Snort IDS는 보안 위협을 감지할 뿐만 아니라 이를 제거하는 데 도움이 됩니다.
자주 묻는 질문
Snort 규칙을 얻고 업데이트하려면 어떻게 해야 합니까?
Snort 규칙은 특정 네트워크 침입을 탐지하기 위한 기준을 정의하므로 IDS의 효율적인 운영에 매우 중요합니다. 공식 Snort 웹사이트에서 Snort 규칙을 얻을 수 있습니다. 규칙 아카이브에는 세 가지 유형이 있습니다. 무료로 액세스할 수 있는 커뮤니티; 등록됨 – Snort에 등록한 후 액세스할 수 있습니다. 공식 웹사이트에 설명된 대로 유료 Snort 플랜에 가입해야 하는 구독.
방대한 네트워크에서 Snort를 구현할 수 있습니까?
예, Security Onion 또는 Snorby와 같은 중앙 집중식 관리 시스템을 활용하여 여러 시스템에서 네트워크 보안을 개선하기 위해 배포할 수 있습니다.
Snort IDS는 소기업이나 홈 네트워크에 적합합니까?
Snort IDS는 중소기업과 홈 네트워크에 도움이 되는 효과적인 보안 솔루션입니다. 시스템의 접근성과 비용 효율성은 오픈 소스 특성에 기인합니다. Snort 침입 탐지 시스템(IDS)은 단일 시스템 이상에서 구현될 수 있습니다.
답글 남기기