• Downloading from our site will require you to have a paid membership. Upgrade to a Premium Membership from 10$ a month today!

    Dont forget read our Rules! Also anyone caught Sharing this content will be banned. By using this site you are agreeing to our rules so read them. Saying I did not know is simply not an excuse! You have been warned.

Sử dụng Iptables chống Syn Flood attacks và cấm IP

Admin

Well-Known Member
Staff member
Administrator
Syn flood là 1 dạng tấn công từ chối dịch vụ, kẻ tấn công gửi các gói tin kết nối SYN đến hệ thống. Đây là 1 loại tấn công rất phổ biến. Loại tấn công này sẽ nguy hiểm nếu hệ thống cấp phát tài nguyên ngay sau khi nhận gói tin SYN từ kẻ tấn công và trước khi nhận gói ACK.

Nếu việc thiết lập kết nối chưa hòan tất 3 bước đây đủ (gọi là half-open connection) mà buộc hệ thống server phải cấp tài nguyên để quản lý thì kẻ tấn công có thể lấy hết tài nguyên của hệ thống server bằng các "flooding" vào server với các gói tin SYN. Syn flood là 1 dạng tấn công phổ biến và nó có thể được ngăn chặn bằng đoạn lệnh iptables sau:

iptables -A INPUT -p tcp --syn -m limit --limit 1/s --limit-burst 3 -j RETURN

Tất cả các kết nối đến hệ thống chỉ được phép theo các thông số giới hạn sau:

--limit 1/s: Tốc độ truyền gói tin trung bình tối đa 1/s (giây)
--limit-burst 3: Số lương gói tin khởi tạo tối đa được phép là 3

Dùng iptables, thêm rule sau vào:

Code:

# Limit the number of incoming tcp connections

# Interface 0 incoming syn-flood protection

iptables -N syn_flood

iptables -A INPUT -p tcp --syn -j syn_flood

iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j RETURN

iptables -A syn_flood -j DROP

‐‐limit rate n
‐‐limit‐burst number m

Giải thích 1 cách dễ hiểu là như thế này "Rule trên giới hạn số kết nối tối đa đến hệ thống là n trên mỗi 1 giây sau khi đã có m kết nối được thiết lập"

Bạn cần điều chỉnh thông số -limit-rate và -limit-burst tùy theo yêu cầu và traffic của mạng của bạn.

Giả sử bạn cần giới hạn các kết nối SSH (port 22) không được phép hơn 10 connections trên mỗi 10 phút, rule như sau:

Code:

iptables -I INPUT -p tcp -s 0/0 -d $SERVER_IP --sport 513:65535 --dport 22 -m state --state NEW,ESTABLISHED -m recent --set -j ACCEPT

iptables -I INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 600 --hitcount 11 -j DROP

iptables -A OUTPUT -p tcp -s $SERVER_IP -d 0/0 --sport 22 --dport 513:65


Vậy sau khi đã xác định được IP (ví dụ lấy 1 IP trong LAN 192.168.1.222) tấn công, việc quan trọng vẫn là cách ly các gói tin từ IP (192.168.1.222) để đảm bảo cho hệ thống hoạt động tốt.

# iptables -I INPUT -s 192.168.1.222 -j DROP

Câu lệnh này sẽ thêm một entry vào file cấu hình IPTable, chỉ dẫn nó bỏ qua bất kì gói tin nào đến từ địa chỉ IP 192.168.1.222. Nếu bạn đang đối mặt với rất nhiều cuộc tấn công, tốt hơn hết bạn nên sử dụng một phương pháp tự động hơn để thêm địa chỉ IP từ danh sách cấm. Để làm việc này, ta tạo đoạn mã sau:

#!/bin/sh
for i in $(< banned_IPs.cfg) ; do
iptables -I INPUT -i eth1 -s "$i" -j DROP
done

Lưu đoạn mã trên vào một file với tên bất kì như banned_IPs.sh và gán cho nó quyền thực thi:

# chmod +x banned_IPs.sh

Bây giờ tạo một file banned_IPs.cfg và nhập vào danh sách địa chỉ IP bạn muốn khóa, mỗi cái trên một dòng (ví dụ):

192.168.1.222
192.168.1.123
192.168.1.122

Bây giờ chạy file banned_IPs.sh để đưa địa chỉ các địa chỉ IP bạn muốn khóa gửi cho iptables "xử lý" big grin

# ./banned_IPs.sh

SHELL SCRIPTS
Cơ chế hoạt động của nó chỉ đơn giản là tìm xem có những IP nào đang thực hiện kết nối dạng SYN_RECV thì sẽ được đưa vào blacklist và khóa lại, cứ 2 phút 1 lần hệ thống sẽ gọi đến file này, nếu như ip đó không thực hiện tấn công SYN Flood nữa thì IP đó sẽ được xóa ra khỏi danh sách cấm.


Shell này gồm 3 file:
Files blocked.ips, đây chỉ đơn giản là 1 file text bạn chỉ việc tạo ra nó bằng lênh vi bình thường, nội dung trắng, nó được dùng để làm nơi lưu những IP bị nghi ngờ đang DOS.
File iptables.sh, có nội dung:
#!/bin/bash
IPT=/sbin/iptables
SPAMLIST=”spamlist”
SPAMDROPMSG=”SPAM LIST DROP”
BADIPS=$(egrep -v -E “^#|^$” /root/iptables/blocked.ips)
# create a new iptables list
$IPT -N $SPAMLIST
for ipblock in $BADIPS
do
$IPT -A $SPAMLIST -s $ipblock -j LOG –log-prefix “$SPAMDROPMSG”
$IPT -A $SPAMLIST -s $ipblock -j DROP
done
$IPT -I INPUT -j $SPAMLIST
$IPT -I OUTPUT -j $SPAMLIST
$IPT -I FORWARD -j $SPAMLIST


Tác dụng của file này là đọc các IP bị cấm trong file blocked.ips và thực hiện cấm đối với những IP này và đưa vào log để tiện theo dõi.
Cuối cùng là file autoblock.sh, Nội dung của file này:

#!/bin/bash
/etc/init.d/iptables start
cd /root/iptables
netstat -atun | grep SYN_RECV | awk ‘{print $5}’ | cut -d: -f1 |sort | uniq -d | sort -n > blocked.ips
sh ./iptables.sh


Tác dụng của file này là tìm xem có những IP nào đang gửi các gói tin dạng SYN_RECV, và đưa những IP này vào file blocked.ips, sau đó gọi file iptables.sh để khóa IP.
Cách triển khai: Tất cả 3 file này chúng ta lưu vào một thư mục, ở đây tôi lưu vào /root/iptables và được chmod cho phép thực thi, thường mọi người hay chmod 777
Sau đó chúng ta khai báo vào Crontab

*/2 * * * * /root/iptables/autoblock.sh
Chúc bạn thành công .

Suu tam
 

Facebook Comments

Similar threads
Thread starter Title Forum Replies Date
K Sử dụng Iptables chống Syn Flood attacks và cấm IP Chống local, attack, symlink, ddos 0
chomchom CTKM sử dụng dịch vụ thoại quốc tế nhân dịp 31 năm thành lập MobiFone Điện thoại di động 4
katy Android MobiFone miễn phí sử dụng phòng chờ hạng thương gia tại sân bay Phú Quốc Điện thoại di động 13
katy Android MobiFone miễn phí sử dụng phòng chờ hạng thương gia tại sân bay Nội Bài Điện thoại di động 4
F 10 Lý Do Các Nhà Phát Hành Game – Ứng Dụng – Nội Dung Nên Sử Dụng Gói Directlink của Fshare Tin tức CNTT 0
katy Dùng Mobi gần 10 năm, nay mới được sử dụng phòng Vip free tại sân bay Nội Bài Điện thoại di động 0
katy Android Tự tạo gói cước linh hoạt thời gian sử dụng trên My MobiFone Điện thoại di động 10
katy Android Nhận ngay Gifcode 1 triệu đồng khi sử dụng DV thoại Quốc tế của MobiFone Điện thoại di động 15
katy Android MobiFone ưu đãi sử dụng lối đi ưu tiên cho khách hàng KNDL tại sân bay Điện thoại di động 14
katy Android MobiFone tặng 100.000đ cho thuê bao đăng ký sử dụng tài khoản Tiền di động Điện thoại di động 4
F DEAL HOT: Tặng 50% Ngày Sử Dụng Khi Mua Vip Fshare (từ 11/08 -31/08/2022) Tin tức, sự kiện thường ngày 0
katy Android Tặng 50% thẻ nạp cho Khách hàng khi sử dụng các dịch vụ của MobiFone Điện thoại di động 7
katy Android Giới thiệu bạn bè sử dụng app My MobiFone - Nhận ngay quà tặng trị giá 300k Điện thoại di động 0
katy Android Cách nhận quà khi giới thiệu bạn bè sử dụng app Vietlott SMS Tin tức, giới thiệu về ĐTDĐ 10
katy Android Tặng ngay quà tặng 1.000.000đ cho khách hàng lần đầu đăng ký sử dụng MyPoint Thông tin các mạng di động 21
tunglamed MobiFone tặng thêm ngày sử dụng cho các thuê bao trả trước tại các vùng dịch Điện thoại di động 8
tunglamed MobiFone tặng miễn phí gói dịch vụ trị giá 600.000 khi tải và sử dụng ứng dụng Vhandicap Điện thoại di động 5
tunglamed Tặng phiếu giảm giá 200.000 đồng khi sử dụng dịch vụ tại khu vui chơi SunWorld Hạ Long Điện thoại di động 0
tunglamed MobiFone miễn phí sử dụng phòng khách thương gia tại sân bay quốc tế Phú Quốc Điện thoại di động 0
lancan Hướng dẫn Windows 10: Thu nhỏ tất cả các cửa sổ khác ngoại trừ một cái đang sử dụng Thủ thuật máy tính 0
cuongpro9x Viettel Store tặng bạn 12 tháng sử dụng Gói dung lượng iCloud 50GB. Tin tức CNTT 0
theha02021982 TẠI SAO BẠN NÊN SỬ DỤNG MÁY LỌC NƯỚC ELKEN Bio Pure K-100 Sức khỏe 0
tunglamed Sử dụng dịch vụ thoại quốc tế của MobiFone - Nhận quà từ TIKI & GRAB Điện thoại di động 0
Admin Hướng dẫn phân trang bảng PHP sử dụng MySQLi PHP 0
N MobiFone tặng 9000 voucher ưu đãi cho các TB sử dụng DV quốc tế Thông tin các mạng di động 2
T Bắt được kẻ giết người sử dụng trí tuệ AI Tin tức CNTT 0
tunglamed Giới thiệu bạn bè cùng sử dụng ứng dụng MobiFone NEXT nhận ngay ưu đãi Thông tin các mạng di động 21
T GrainChain hợp tác với Mexico sử dụng blockchain theo dõi ngũ cốc Tin tức CNTT 0
T Vào năm 2005, 20 % cửa hàng trên thế giới sẽ sử dụng blockchain Tin tức CNTT 0
T Editional sử dụng Blockchain xây dựng bộ sưu tập kỹ thuật số Tin tức CNTT 0
T Cảng Rotterdam sử dụng Blockchain giao dịch năng lượng Tin tức CNTT 0
B Mobifone khuyến mãi dành cho KH sử dụng dịch vụ thoại quốc tế Thông tin các mạng di động 2
T Nga xem xét sử dụng Blockchain cho đường sắt Tin tức CNTT 0
dienmayglobal Hướng dẫn Sử dụng phần mềm chấm công Wise eye ON39 Phần mềm 6
tunglamed Mobifone ưu đãi khách hàng sử dụng thẻ điện tử Hội viên Kết nối dài lâu Thông tin các mạng di động 12
tunglamed Sử dụng MobiFone NEXT nhập mã giới thiệu nhận tiền liền tay Thông tin các mạng di động 2
tunglamed Mời bạn bè sử dụng MobiFone NEXT nhận ngay ưu đãi Thông tin các mạng di động 2
V Google Fonts: bảy kết hợp mà bạn có thể Sao chép và sử dụng Thảo luận chung 0
L PCI chia sẻ Cách sử dụng pin và sạc laptop hợp lý, đúng cách, lâu bị chai Máy tính 0
N Ưu đãi lớn cho khách hàng khi chuyển sang sử dụng dịch vụ MobiFone Thông tin các mạng di động 2
B Ưu đãi khi sử dụng thẻ Hội viên Kết nối dài lâu điện tử của Mobifone Thông tin các mạng di động 2
tunglamed Chuyển mạng giữ số - Ưu đãi lớn cho khách hàng khi chuyển sang sử dụng dịch vụ MobiFone Thông tin các mạng di động 10
tunglamed [Mobifone] Miễn phí sử dụng phòng khách hạng thương gia của các sân bay Việt Nam Thông tin các mạng di động 10
tunglamed Miễn phí gói D10 khi sử dụng ứng dụng MobiFone NEXT Thông tin các mạng di động 2
B Sử dụng Data siêu tiết kiệm cùng gói D10 của MobiFone Thông tin các mạng di động 2
G Cách sử dụng collagen tươi đúng cách cần biết Thảo luận chung 0
H Share Mách Bạn 5 Cách Sử Dụng Sms Marketing Có Hiệu Quả Cho Doanh Nghiệp Thông tin các mạng di động 0
Admin Google Chrome ra mắt phiên bản 69.0.3497.81 chính thức, giao diện mới hoàn toàn, đẹp mắt, dễ sử dụng Phần mềm 0
N Ưu đãi mConnect sử dụng tài khoản khuyến mãi Thông tin các mạng di động 8
tunglamed Hướng dẫn sử dụng tính năng Đổi đầu số danh bạ trên ứng dụng My MobiFone Thông tin các mạng di động 8

Similar threads

New posts New threads New resources

Back
Top