Search

EC2

instance type t3.medium 사용 및 SSM 접근 가능한 환경 (SSMManagedInstanceCore Policy 추가)
sg에 inbound/outbound All ICMP - IPv4 anyopen 추가
#!/bin/bash sudo dnf install -y https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm sudo systemctl start amazon-ssm-agent
Shell
복사
Name Tag
Located Subnet
MainVPC-Appliance-EC2-A
MainVPC-Appliance-SubnetA
MainVPC-Appliance-EC2-B
MainVPC-Appliance-SubnetB
SpokeVPC1-Private-EC2-A
SpokeVPC1-Private-SubnetA
SpokeVPC1-Private-EC2-B
SpokeVPC1-Private-SubnetB
SpokeVPC2-Private-EC2-A
SpokeVPC2-Private-SubnetA
SpokeVPC2-Private-EC2-B
SpokeVPC2-Private-SubnetB
SpokeVPC3-IDC-VPN-SRV
SpokeVPC3-IDC-VPN-SubnetA
SpokeVPC3-IDC-DNS-SRV
SpokeVPC3-IDC-Private-SubnetA
Main Appliance 인스턴스 접속(SSM)해서 Suricata 설치
sudo su cd
Shell
복사
sudo yum install pip -y sudo pip3 install pyaml -y sudo dnf update -y sudo dnf install -y gcc gcc-c++ make automake autoconf libtool \ libpcap-devel pcre-devel libyaml-devel zlib-devel file-devel \ jq libmaxminddb-devel luajit luajit-devel rust cargo \ libnetfilter_queue-devel libnfnetlink-devel \ libcap-ng-devel nss-devel wget tar bzip2 jansson-devel pcre2-devel \ libnet-devel lua-devel lz4-devel gzip
Shell
복사
cd /usr/local/src sudo wget https://www.openinfosecfoundation.org/download/suricata-current.tar.gz sudo tar -xvzf suricata-current.tar.gz cd $(ls -d suricata-*/ | head -n 1) sudo ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --enable-nfqueue --enable-luajit --enable-rust sudo make sudo make install sudo make install-conf sudo make install-rules
Shell
복사
sudo cp etc/suricata.service /etc/systemd/system/suricata.service sudo sed -i "/ExecStart=/c\ExecStart=/bin/suricata -c /etc/suricata/suricata.yaml --pidfile /var/run/suricata.pid -q 0" /etc/systemd/system/suricata.service sudo mv /var/lib/suricata/rules/suricata.rules rulebackup.rules sudo cat /dev/null > /var/lib/suricata/rules/suricata.rules sudo systemctl daemon-reload sudo ldconfig sudo systemctl enable --now suricata
Shell
복사
iptables 설치
sudo dnf install -y iptables iptables-services
Shell
복사
Suricata 설정
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf sudo sysctl -p /etc/sysctl.conf
Shell
복사
echo 'alert ip any any -> any any (msg:"traffic logged";sid:999;rev:1;)' | sudo tee -a /var/lib/suricata/rules/suricata.rules
Shell
복사
iptables -t nat -F iptables -t mangle -F iptables -F iptables -X iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT iptables -I FORWARD -j NFQUEUE
Shell
복사
아래 명령어 {} 변수 수정
GWLB-IP는 ENI 페이지에서 Interface Type = gateway_load_balancer 로 검색해서 찾을 수 있음
export GWLB_A_IP=10.0.3.239 export GWLB_B_IP=10.0.3.123 export Suricata_Instance_IP=10.0.4.138 iptables -t nat -A PREROUTING -p udp -s ${GWLB_A_IP} -d ${Suricata_Instance_IP} -i ens5 -j DNAT --to-destination ${GWLB_A_IP}:6081 iptables -t nat -A PREROUTING -p udp -s ${GWLB_B_IP} -d ${Suricata_Instance_IP} -i ens5 -j DNAT --to-destination ${GWLB_B_IP}:6081 iptables -t nat -A POSTROUTING -p udp --dport 6081 -s ${GWLB_A_IP} -d ${GWLB_A_IP} -o ens5 -j MASQUERADE iptables -t nat -A POSTROUTING -p udp --dport 6081 -s ${GWLB_B_IP} -d ${GWLB_B_IP} -o ens5 -j MASQUERADE
Shell
복사
위 Suricata 설치부터 설정까지 과정을 Appliance EC2개에 모두 실행