#0x01: BỐI CẢNH
– Chịu trách nhiệm giám sát hàng loạt máy chủ (server).
– Quá nhiều “Anh Hùng” truy cập, cấu hình, thêm thắt dịch vụ (từ nhiều team System/Web/Game/bla ble bli blo blu)
– Dịch vụ gì đang public? Server nào đang mở cái gì? Hôm qua có ai làm gì trên con Server A không? Ông X mở port B mà chả nói năng gì !? => Rối rắm.
– Quá nhiều “Anh Hùng” truy cập, cấu hình, thêm thắt dịch vụ (từ nhiều team System/Web/Game/bla ble bli blo blu)
– Dịch vụ gì đang public? Server nào đang mở cái gì? Hôm qua có ai làm gì trên con Server A không? Ông X mở port B mà chả nói năng gì !? => Rối rắm.
#0x02: Ý TƯỞNG
– Vị trí: đứng từ bên ngoài Internet nhìn vào. Nhìn vào gì? Các IP public.
=> Đối tượng giám sát là: Tất cả các IP public (tương ứng với mỗi máy chủ)
– Giám sát gì? Các cổng dịch vụ. Sử dụng NMAP.
– Hoạt động như thế nào?
+ Có sự thay đổi (tắt/mở) cổng thì báo ngay cho TUI.
+ “Sự thay đổi” tức là so sánh với kết quả của lần kiểm tra trước.
– Thông báo bằng cách nào? Qua mail. Sử dụng SMTP Authentication để không bị vào sổ đen các dịch vụ vận chuyển mail (got blacklisted)
– Định kỳ gửi: 1 lần/ngày (tùy mục đích sử dụng)
=> Đối tượng giám sát là: Tất cả các IP public (tương ứng với mỗi máy chủ)
– Giám sát gì? Các cổng dịch vụ. Sử dụng NMAP.
– Hoạt động như thế nào?
+ Có sự thay đổi (tắt/mở) cổng thì báo ngay cho TUI.
+ “Sự thay đổi” tức là so sánh với kết quả của lần kiểm tra trước.
– Thông báo bằng cách nào? Qua mail. Sử dụng SMTP Authentication để không bị vào sổ đen các dịch vụ vận chuyển mail (got blacklisted)
– Định kỳ gửi: 1 lần/ngày (tùy mục đích sử dụng)
=======
Tóm tắt:
1 – Mỗi lần chạy Script (tạm gọi là portscan.sh) sẽ đem các kết quả đã lưu lần đầu ở ./today/ sang ./lasttime/ trước khi tiền hành quét.
2 – Script (portscan.sh) sử dụng lệnh NMAP để quét và lưu kết quả (lưu thành file theo tên IP) vào thư mục ./today/ như đã nói ở trên bên.
3 – Dùng lệnh diff để so sánh kết quả ở 2 lần (lasttime và today) cho mỗi IP Server, từ đó cho ra kết quả có sự thay đổi nào hay không? Kết quả này lưu thành file trong thư mục ./log/. Chỉ cần biết 3 trạng thái: No Change, First Scan, Got Some Change.
4 – Dùng phpmailer để gửi thông báo dựa theo thông tin trong ./log/
5 – Tất cả 1, 2, 3, 4 cho vào 1 file (exec.sh) để gọi thực hiện. Khởi tạo 1 cron cho exec.sh chạy mỗi ngày/tuần/tháng (tùy mục đích)
=======================
Tóm tắt:
1 – Mỗi lần chạy Script (tạm gọi là portscan.sh) sẽ đem các kết quả đã lưu lần đầu ở ./today/ sang ./lasttime/ trước khi tiền hành quét.
2 – Script (portscan.sh) sử dụng lệnh NMAP để quét và lưu kết quả (lưu thành file theo tên IP) vào thư mục ./today/ như đã nói ở trên bên.
3 – Dùng lệnh diff để so sánh kết quả ở 2 lần (lasttime và today) cho mỗi IP Server, từ đó cho ra kết quả có sự thay đổi nào hay không? Kết quả này lưu thành file trong thư mục ./log/. Chỉ cần biết 3 trạng thái: No Change, First Scan, Got Some Change.
4 – Dùng phpmailer để gửi thông báo dựa theo thông tin trong ./log/
5 – Tất cả 1, 2, 3, 4 cho vào 1 file (exec.sh) để gọi thực hiện. Khởi tạo 1 cron cho exec.sh chạy mỗi ngày/tuần/tháng (tùy mục đích)
=======================
#0x03: TRIỂN KHAI
* Requirement:
– 1 Máy chủ đừng độc lập ngoài Internet (khác nhà cung cấp với các máy chủ cần được giám sát – vì sao!?)
– Chạy CentOS/Ubuntu/….
– Setup sẵn NMAP latest version.
– Tải & đọc README + INSTALL & làm theo: https://github.com/Thongngo/UPortAuditor
– 1 Máy chủ đừng độc lập ngoài Internet (khác nhà cung cấp với các máy chủ cần được giám sát – vì sao!?)
– Chạy CentOS/Ubuntu/….
– Setup sẵn NMAP latest version.
– Tải & đọc README + INSTALL & làm theo: https://github.com/Thongngo/UPortAuditor
1. Giải nén portscan.tar.gz (Ex: /home/myuser/ => /home/myuser/portscan)
2. Sửa ./exec.sh
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
3. Sửa ./portscan.sh
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
4. Sửa ./phpmailer/sendmail.php
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
– Thay: ROOT=”/home/thongngo/portscan”
– Bằng: ROOT=”/home/myuser/portscan”
5. Tạo 1 mailbox và khai báo thông tin. Sửa phpmailer/sendmail.php
$mail->Host = “mail.myserver.com”; // SMTP Server
$mail->Username = “portscan”; // Tên user email
$mail->Password = “somepassword”; // Mật khẩu cho email
$mail->From = “portscan@myserver.com”; // Địa chỉ đầy đủ mailbox đã khai bên trên
$mail-> = “PORT SCAN AUDIT”; // Tên Mailbox
$mail->AddAddress(“it@myserver.com”); // Gửi tới mailbox này …
$mail->Subject = “[Port Scan Audit] $today”; // Tiêu đề gửi
$mail->Host = “mail.myserver.com”; // SMTP Server
$mail->Username = “portscan”; // Tên user email
$mail->Password = “somepassword”; // Mật khẩu cho email
$mail->From = “portscan@myserver.com”; // Địa chỉ đầy đủ mailbox đã khai bên trên
$mail-> = “PORT SCAN AUDIT”; // Tên Mailbox
$mail->AddAddress(“it@myserver.com”); // Gửi tới mailbox này …
$mail->Subject = “[Port Scan Audit] $today”; // Tiêu đề gửi
6. Tạo CRON
$root@~# crontab -e
# Run on 5:00 AM monday & thursday
0 5 * * 1-4 sh /home/myuser/portscan/exec.sh >> /var/log/portscan.log
$root@~# crontab -e
# Run on 5:00 AM monday & thursday
0 5 * * 1-4 sh /home/myuser/portscan/exec.sh >> /var/log/portscan.log
7. Sửa ./listip (file chứa danh sách sẽ giám sát)
#Mỗi IP 1 dòng
192.168.1.2
192.168.1.3
…
192.168.1.253
#Mỗi IP 1 dòng
192.168.1.2
192.168.1.3
…
192.168.1.253
#0x04: KẾT
– Ý tưởng đơn giản & dễ triển khai.
– Áp dụng được vào thực tế.
– Có thể chỉnh sửa theo ý muốn vì nó FREE.
– Áp dụng được vào thực tế.
– Có thể chỉnh sửa theo ý muốn vì nó FREE.
A product of UNS. Named “UPortAuditor“, dude.

0 comments: