'IT'에 해당되는 글 49건
- 2018.07.16 수리카타 [SuriCata] IDS/IPS , Snort Rule 이미지 쇼핑몰 차단
- 2018.07.13 [Ubuntu 18.04] iptable Save 방법
- 2018.07.11 Ubuntu 18.04 - Suricata 4.0.4 설치
- 2018.07.04 Network 이름 eth0 으로 바꾸기 및 네트워크 고정IP 설정
- 2018.06.15 Cuckoo SandBox 스크린샷 나오지 않을 경우 [PiLL 버전업뎃]
- 2018.06.15 Cuckoo SandBox 업데이트 이후 에러 중 하나
- 2018.06.14 pip 를 이용한 Cuckoo 등 모듈 업데이트
- 2018.06.14 PyOpenSSL , cryptography 오류 버전 설치
하여튼 구글링 해보니 우분투 16.04에서 부터는
sudo apt install iptables-persistent
패키지를 설치해주고
sudo netfilter-persistent save
sudo netfilter-persistent reload
를 해줘야 한다 하더라.
다음에는 까먹지 말자.
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
18.04 - 원격제어 Xrdp 사용하기 (0) | 2018.07.24 |
---|---|
재부팅시 자동실행 sh파일 (0) | 2018.07.17 |
Network 이름 eth0 으로 바꾸기 및 네트워크 고정IP 설정 (0) | 2018.07.04 |
Cuckoo SandBox 스크린샷 나오지 않을 경우 [PiLL 버전업뎃] (0) | 2018.06.15 |
Cuckoo SandBox 업데이트 이후 에러 중 하나 (0) | 2018.06.15 |
======================================================
시스템 구축 준비
Suricata를 시작하기 전에 시스템및 소프트웨어 최신 업!
1. command:
apt-get update -y apt-get upgrade -y
필요한 패키지 설치
Suricata를 설치하기 전에 Suricata의 종속성이란걸 설치하여야 한다
다음 명령은 필요한 모든 종속성을 설치
2. command:
apt-get install libpcre3-dbg libpcre3-dev autoconf automake libtool
libpcap-dev libnet1-dev libyaml-dev
libjansson4 libcap-ng-dev
libmagic-dev libjansson-dev zlib1g-dev
기본으로 Suricata는 침입 탐지 시스템으로 작동한다함
Suricata를 침입 탐지 외에 침입 차단 기능을 사용하려면 패키지 추가 필요
3. command:
apt-get install libnetfilter-queue-dev libnetfilter-queue1 libnfnetlink-dev
Suricata설치
Suricata를 설치할 수 있는 두가지 방법
1. 원본에서 Suricata설치
2.UbuntuPPA에서 가져온 Suricata설치
원본에서 Suricata설치
먼저 공식 웹 사이트에서 Suricata버전을 다운로드
wget https://www.openinfosecfoundation.org/download/suricata-4.0.4.tar.gz
tar -xvzf suricata-4.0.4.tar.gz
cd suricata-4.0.4
./configure --enable-nfqueue --prefix=/usr --sysconfdir=/etc --localstatedir=/var
make
make install
make install-conf
UbuntuPPA에서 Suricata설치
먼저 SuricataPPA를 Ubuntu저장소에 추가
다음 명령을 실행.
add-apt-repository ppa:oisf/suricata-stable
apt-get update -y
apt-get install suricata suricata-dbg -y
Suricata구성
룰 규칙이 없으면 탐지 및 차단을 못하므로 룰 규칙 집합들을 다운로드 하자
아래 명령어를 실행
make install-rules
You can see all the installed rule sets inside /etc/suricata/rules
directory:
ls /etc/suricata/rules/
Suricata.yaml 에 Suricata 옵션 설정
vim /etc/suricata/suricata.yaml
해당 yaml 파일은 수리카타 옵션 설정 파일이며 해당 파일에서
설정된 값으로 랜 물리는 역할을 진행 할 수 있다
var섹션에서 HOME_NET및 EXTERNAL_NET과 같은 중요한 변수 수정 가능
인프라 요구 사항에 따라 다음과 같은 변수를 변경
HOME_NET: "[192.168.1.188]"
EXTERNAL_NET: "!$HOME_NET"
참고:
home_net 은 탐지 대상 네트워크가 된다.
수리카타 테스트
시작하기 전에 Suricata가 수신 중인 NIC에서 패킷 오프로드 기능을 끄는 것이 좋음
다음 명령을 사용하여 인터페이스 eth0에서 LRO0GRO를 끌 수 있음
ethtool -K eth0 gro off lro off
테스트 rule 제작
vim /etc/suricata/rules/test.rules
icmp 패킷 발생시 alert 경고를 알리는 rule 명령어
alert icmp any any -> $HOME_NET any (msg:"ICMP connection attempt"; sid:1000002; rev:1;)
alert tcp any any -> $HOME_NET 23 (msg:"TELNET connection attempt"; sid:1000003; rev:1;)
rule 제작 한 후 /etc/suricata/suricata.yaml 들어가서 밑에 룰 추가
그래야 적용됨
-
test.rules
IDS , IPS 실행 할 때 둘 중 하나만 해줘도 된다.
★수리카타 IDS 모드 실행 명령어★
실행시 중요
-D는 데몬 실행이기에 빼주는게 좋다.
suricata -D -c /etc/suricata/suricata.yaml -i eth0
fast.log - Rule에 탐지 되는 로그들을
실시간으로 보여준다
tail -f /var/log/suricata/fast.log
★수리카타 IPS 모드 방법★
drop.log - Rule에 차단 되는 로그들을
기록하여 저장한다. 이건 Suricata.yaml 설정에 yes 시켜야 한다.
tail -f /var/log/suricata/drop.log
차단을 하기 위해서 iptables (리눅스 방화벽) 부분에 Suricata 부분과 연동을 해서 네트워크 패킷을 실시간으로 Suricata에서 읽어와야 하기 때문에 Suricata의 특정 함수로 네트워크 패킷들을 보내주어야 한다.
특정 함수는 "NFQUEUE" 이며, 이게 곧 Suricata로 보내주는 역할이다.
밑에는 INTPUT , OUTPUT 모든 네트워크들을 보내주는 명령어
sudo iptables -I INPUT -j NFQUEUE sudo iptables -I OUTPUT -j NFQUEUE
만약 TCP 통신만 하는걸 Suricata에 보내주고 싶다면, 이게 되겠지
sudo iptables -I INPUT -p tcp -j NFQUEUE sudo iptables -I OUTPUT -p tcp -j NFQUEUE
IPS 실행 명령어는 이거이다.
suricata -c /etc/suricata/suricata.yaml -q 0
ㄹㄹ
명령어 dmesg | grep -i eth
나온 결과 중 "renamed from eth0" 확인
명령어 sudo vi /etc/default/grub
GRUB_CMDLINE_LINUX="" <- 공간에
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0" 추가
명령어 sudo grub-mkconfig -o /boot/grub/grub.cfg
---------------------------------------------------------------------
& sudo vim /etc/netplan/50-cloud-init.yaml
network: ethernets: enp0s3: //위의 네트워크 설정을 해주었다면 위와 동일하게 이름 바꿔줘야함 dhcp4: false addresses: [192.168.0.100/24] // 아이피/넷마스크 gateway4: 192.168.0.1 //게이트웨이 nameservers: addresses: [8.8.8.8,8.8.4.4] //네임서버
sudo netplan apply
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
재부팅시 자동실행 sh파일 (0) | 2018.07.17 |
---|---|
[Ubuntu 18.04] iptable Save 방법 (0) | 2018.07.13 |
Cuckoo SandBox 스크린샷 나오지 않을 경우 [PiLL 버전업뎃] (0) | 2018.06.15 |
Cuckoo SandBox 업데이트 이후 에러 중 하나 (0) | 2018.06.15 |
pip 를 이용한 Cuckoo 등 모듈 업데이트 (0) | 2018.06.14 |
분석 머신에 CuckooSandBox 호환 되는 Pill 버전으로 실행
https://pypi.org/project/Pillow/3.2.0/#files
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
[Ubuntu 18.04] iptable Save 방법 (0) | 2018.07.13 |
---|---|
Network 이름 eth0 으로 바꾸기 및 네트워크 고정IP 설정 (0) | 2018.07.04 |
Cuckoo SandBox 업데이트 이후 에러 중 하나 (0) | 2018.06.15 |
pip 를 이용한 Cuckoo 등 모듈 업데이트 (0) | 2018.06.14 |
PyOpenSSL , cryptography 오류 버전 설치 (0) | 2018.06.14 |
Error processing task #28 라는 에러가 뜨면서
Debug 쪽이 잘 되지 않는다
Debug 관련 있는건 agent.py 이므로 아무래도 최신버전 Cuckoo 패키지 안에 있는
agent.py를 분석 머신에 다시 실행 시켜주어야 한다.
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
Network 이름 eth0 으로 바꾸기 및 네트워크 고정IP 설정 (0) | 2018.07.04 |
---|---|
Cuckoo SandBox 스크린샷 나오지 않을 경우 [PiLL 버전업뎃] (0) | 2018.06.15 |
pip 를 이용한 Cuckoo 등 모듈 업데이트 (0) | 2018.06.14 |
PyOpenSSL , cryptography 오류 버전 설치 (0) | 2018.06.14 |
1. (Java) 스프링의 설명 (0) | 2018.06.07 |
일단 설치된 모듈 전체 목록을 보자
pip list
업데이트가 필요한 항목 보기
pip list --outdated
업데이트 최신버전의 항목도 보기
pip list --uptodate
만약 pip이 업데이트가 필요하다면 업데이트 하자
pip install --upgrade pip OOOO
OOOO list에서 업데이트 할 목록 이름 적기
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
Cuckoo SandBox 스크린샷 나오지 않을 경우 [PiLL 버전업뎃] (0) | 2018.06.15 |
---|---|
Cuckoo SandBox 업데이트 이후 에러 중 하나 (0) | 2018.06.15 |
PyOpenSSL , cryptography 오류 버전 설치 (0) | 2018.06.14 |
1. (Java) 스프링의 설명 (0) | 2018.06.07 |
리눅스 웹 서버 포트 지정 없이 기본 80포트 사용하기 (리다이렉트 시키기) (0) | 2018.05.31 |
$ sudo pip install cryptography==1.2.3
$ sudo pip install PyOpenSSL
'리눅스 18.04 TLS Ubuntu > 설치 오류 및 옵션 설정' 카테고리의 다른 글
Cuckoo SandBox 업데이트 이후 에러 중 하나 (0) | 2018.06.15 |
---|---|
pip 를 이용한 Cuckoo 등 모듈 업데이트 (0) | 2018.06.14 |
1. (Java) 스프링의 설명 (0) | 2018.06.07 |
리눅스 웹 서버 포트 지정 없이 기본 80포트 사용하기 (리다이렉트 시키기) (0) | 2018.05.31 |
libpng12-0 / libvpx3 의존성 에러 (0) | 2018.05.28 |