- Từ trình duyệt, truy cập địa chỉ http://192.168.202.145:5601 vào giao diện quản trị Kibana để xem quá trình cài đặt thành công hay không
- Cài đặt filebeat
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
sudo apt-get install apt-transport-https
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
sudo apt-get update && sudo apt-get install filebeat
- Cấu hình Filebeat cho phép đẩy log về ELK Stack, lưu ý đặt địa chỉ nguồn và đích cho đúng với IP máy chủ cài ELK và đặt filebeat tự động chạy sau khi hệ điều hành bật
sudo vi /etc/filebeat/filebeat.yml sudo filebeat modules enable system sudo filebeat test config
sudo filebeat test output sudo filebeat setup
61 sudo systemctl start filebeat
- Cài đặt và cấu hình Elasalert để thực hiện việc đẩy cảnh báo từ hệ thống SIEM tới các quản trị viên qua email
sudo apt-get install -y python
sudo apt-get install -y python-pip python-dev libffi-dev libssl-dev git clone https://github.com/Yelp/elastalert.git
cd elastalert
sudo pip install "setuptools>=11.3" sudo pip install pyOpenSSL
sudo python setup.py install
sudo pip install "elasticsearch>=5.0.0" cp config.example.yaml config.yaml
- Sửa file config.yaml và cập nhật lại địa chỉ IP hoặc dns của server elasticsearch
elastalert-create-index
- Chạy thử rule để kiểm tra hoạt động của Elasalert
elastalert-test-rule --config config.yaml example_rules/example_frequency.yaml
- Chạy Elasalert
python -m elastalert.elastalert --verbose --rule example_frequency.yaml
- Cài đặt Postfix Gmail SMTP, yêu cầu bật xác thực 2 nhân tố và khởi tạo mật khẩu ứng dụng
- Cài đặt Postfix
sudo apt-get install postfix mailutils libsasl2-2 ca-certificates libsasl2-modules - Cấu hình Postfix relayhost = [smtp.gmail.com]:587 smtp_sasl_auth_enable = yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_sasl_security_options = noanonymous smtp_tls_CApath = /etc/ssl/certs smtpd_tls_CApath = /etc/ssl/certs smtp_use_tls = yes
- Cấu hình password gmail cho Posfix
cat /etc/postfix/sasl_passwd
62
- Phân quyền cho thư mục lưu password
sudo chmod 400 /etc/postfix/sasl_passwd sudo postmap /etc/postfix/sasl_passwd sudo systemctl restart postfix
- Kiểm tra thử khả năng gửi email:
echo "Testing" | mail -s "Test Email" server.jbs@gmail.com sudo postqueue -p
4.3.2 Triển khai Snort
- Cài đặt các thành phần cần thiết cho Snort:
sudo apt-get 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 - Cài đặt safec: cd ~/snort_src wget https://github.com/rurban/safeclib/releases/download/v02092020/libsafe c-02092020.tar.gz tar -xzvf libsafec-02092020.tar.gz cd libsafec-02092020.0-g6d921f ./configure make
sudo make install
- Cài đặt PCRE: cd ~/snort_src/ wget https://ftp.pcre.org/pub/pcre/pcre-8.45.tar.gz tar -xzvf pcre-8.45.tar.gz cd pcre-8.45 ./configure make
sudo make install
- Cài đặt Gperftools 2.9:
cd ~/snort_src wget
https://github.com/gperftools/gperftools/releases/download/gperftools- 2.9.1/gperftools-2.9.1.tar.gz
63 tar xzvf gperftools-2.9.1.tar.gz
cd gperftools-2.9.1 ./configure
make
sudo make install
- Cài đặt Ragel: cd ~/snort_src wget http://www.colm.net/files/ragel/ragel-6.10.tar.gz tar -xzvf ragel-6.10.tar.gz cd ragel-6.10 ./configure make
sudo make install
- Cài đặt thư viện Boost C++
cd ~/snort_src wget https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost _1_76_0.tar.gz tar -xvzf boost_1_76_0.tar.gz - Cài đặt Hyperscan 5.4: cd ~/snort_src wget https://github.com/intel/hyperscan/archive/refs/tags/v5.4.0.tar.gz tar -xvzf v5.4.0.tar.gz mkdir ~/snort_src/hyperscan-5.4.0-build cd hyperscan-5.4.0-build/ cmake -DCMAKE_INSTALL_PREFIX=/usr/local - DBOOST_ROOT=~/snort_src/boost_1_76_0/ ../hyperscan-5.4.0 make
sudo make install
- Cài đặt flatbuffers: cd ~/snort_src wget https://github.com/google/flatbuffers/archive/refs/tags/v2.0.0.tar.gz -O flatbuffers-v2.0.0.tar.gz tar -xzvf flatbuffers-v2.0.0.tar.gz mkdir flatbuffers-build cd flatbuffers-build cmake ../flatbuffers-2.0.0 make
64 sudo make install
- Cài đặt thành phần thu thập dữ liệu cho Snort DAQ:
cd ~/snort_src wget https://github.com/snort3/libdaq/archive/refs/tags/v3.0.4.tar.gz -O libdaq-3.0.4.tar.gz tar -xzvf libdaq-3.0.4.tar.gz cd libdaq-3.0.4 ./bootstrap ./configure make
sudo make install
- Cài đặt Snort: cd ~/snort_src wget https://github.com/snort3/snort3/archive/refs/tags/3.1.6.0.tar.gz -O snort3-3.1.6.0.tar.gz tar -xzvf snort3-3.1.6.0.tar.gz cd snort3-3.1.6.0
./configure_cmake.sh --prefix=/usr/local --enable-tcmalloc cd build
make
sudo make install
- Cài đặt phần mềm tự động tải các tập luật về cho Snort. Ở đây tác giả sử dụng PulledPork3
cd ~/snort_src/
git clone https://github.com/shirkdog/pulledpork3.git
cd ~/snort_src/pulledpork3
sudo mkdir /usr/local/bin/pulledpork3
sudo cp pulledpork.py /usr/local/bin/pulledpork3 sudo cp -r lib/ /usr/local/bin/pulledpork3
sudo chmod +x /usr/local/bin/pulledpork3/pulledpork.py sudo mkdir /usr/local/etc/pulledpork3
sudo cp etc/pulledpork.conf /usr/local/etc/pulledpork3/
- Chỉnh sửa file cấu hình pulledpork3, chỉnh sửa theo các dòng dưới đây:
community_ruleset = false registered_ruleset = false LightSPD_ruleset = true snort_blocklist = true et_blocklist = true snort_path = /usr/local/bin/snort
65 local_rules = /usr/local/etc/rules/local.rules
- Cấu hình file snort.lua để nạp dữ liệu mới
sudo vi /usr/local/etc/snort/snort.lua
- Sửa theo các thông tin dưới đây:
ips =
{
enable_builtin_rules = true,
include = RULE_PATH .. "/pulledpork.rules",
variables = default_variables
}
- Cài đặt cho Pulledpork tự động chạy hàng ngày:
sudo vi /lib/systemd/system/pulledpork3.timer
- Sửa theo các thông tin dưới đây:
[Unit]
Description=Run PulledPork3 rule updater for Snort 3 rulesets RefuseManualStart=no # Allow manual starts
RefuseManualStop=no # Allow manual stops [Timer]
#Execute job if it missed a run due to machine being off Persistent=true
#Run 120 seconds after boot for the first time OnBootSec=120
#Run daily at 1 am
OnCalendar=*-*-*13:35:00
#File describing job to execute Unit=pulledpork3.service
[Install]
WantedBy=timers.target
4.3.3 Triển khai OSSEC
- Tải bộcài đặt phần mềm OSSEC:
wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1.tar.gz wget -U ossec http://www.ossec.net/files/ossec-hids-2.8.1-checksum.txt
- Giải nén tập tin vừa tải: tar xf ossec-hids-2.8.1.tar.gz
- Di chuyển vào tập tin vừa tải và tiến hành cài đặt: sudo ./install.sh
- Tùy vào máy chủ cần cài đặt mà tiến hành lựa chọn phiên bản cho server hoặc client cho phù hợp
66
Sau khi cài đặt xong, ta tiến hành thực hiện các tấn công như DOS, scan
port, tấn công qua lỗ hổng MS-17-010 vào các máy trong dải mạng, sau đó kiểm tra log bắt được trên ELK Stack đồng thời để thử nghiệm khảnăng phát hiện xâm nhập mạng của phần mềm Snort:
Thử ping từ máy trạm bên ngoài tới máy chủUbuntu cài ELK Stack để xem khảnăng bắt log realtime: