[TLBB] Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!
Follow us on
Follow us on Facebook Follow us on Twitter Linked In Flickr Watch us on YouTube My Space Blogger
 
Kết quả 1 đến 6 của 6
  1. #1
    Thành Viên
    Ngày tham gia
    Mar 2015
    Bài viết
    237
    Thanks
    130
    Thanked 9 Times in 9 Posts

    Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Mình mới mở server bị 1 số thành phần Hack disconnect đẩy game thủ văng ra va mất kết nối và làm LAG Server . Mình đã tìm đủ mọi biện pháp mà trưa khac phục đc . mong các bạn giúp đỡ .!
    Khách viếng thăm hãy cùng mylove8 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  2. #2
    Thành Viên
    Ngày tham gia
    Dec 2014
    Bài viết
    231
    Thanks
    50
    Thanked 84 Times in 61 Posts

    Ðề: Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Trích dẫn Gửi bởi mylove8 [Only registered and activated users can see links. ]
    Mình mới mở server bị 1 số thành phần Hack disconnect đẩy game thủ văng ra va mất kết nối và làm LAG Server . Mình đã tìm đủ mọi biện pháp mà trưa khac phục đc . mong các bạn giúp đỡ .!
    này đâu phải gọi là hack nhỉ.
    mà đã mở online thi phải chịu
    Khách viếng thăm hãy cùng shinno xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  3. #3
    Thành Viên
    Ngày tham gia
    Mar 2015
    Bài viết
    237
    Thanks
    130
    Thanked 9 Times in 9 Posts

    Ðề: Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Trích dẫn Gửi bởi shinno [Only registered and activated users can see links. ]
    này đâu phải gọi là hack nhỉ.
    mà đã mở online thi phải chịu
    thế gọi là gi hả bạn ))) k giúp đc thì đừng có nói vậy bạn nhé
    Khách viếng thăm hãy cùng mylove8 xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  4. #4
    Thành Viên vinhthamthao's Avatar
    Ngày tham gia
    Aug 2014
    Đang ở
    Hà Nội
    Bài viết
    944
    Thanks
    145
    Thanked 524 Times in 335 Posts

    Ðề: Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Trích dẫn Gửi bởi mylove8 [Only registered and activated users can see links. ]
    Mình mới mở server bị 1 số thành phần Hack disconnect đẩy game thủ văng ra va mất kết nối và làm LAG Server . Mình đã tìm đủ mọi biện pháp mà trưa khac phục đc . mong các bạn giúp đỡ .!


    Chúc Mừng . sever vừa onl cái đã bị ddos tưởng không tin đã nói trên Facboook rồi mà . xin chúc mừng
    Khách viếng thăm hãy cùng vinhthamthao xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  5. #5
    Thành Viên
    Ngày tham gia
    Jan 2015
    Bài viết
    50
    Thanks
    12
    Thanked 2 Times in 1 Post

    Ðề: Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Cái này bên JX mình bị suốt
    Khách viếng thăm hãy cùng a1oneclick xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  6. #6
    Thành Viên GameZone
    Ngày tham gia
    Jan 2012
    Đang ở
    VietNam
    Bài viết
    83
    Thanks
    7
    Thanked 302 Times in 43 Posts

    Ðề: Kính Mong Các Bạn Giúp Đỡ Để chống tình trạng Hack disconnect .!

    Nµi dung n¢m trong Spoiler.Mình ðã t×ng ð÷c cái ðó và ðã làm ðßþc


    12. Firewall

    Nội dung:
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]

    12.a. Firewall
    Mọi người thường nghĩ firewall cung cấp an toàn tuyệt đối, nhưng họ sai. Trong hầu hết trường hợp cấu hình firewall sai sẽ giảm độ an toàn hơn cả không cài đặt firewall. Firewall cũng là một phần mềm và nên được coi như một phần mềm bình thường như mọi phần mềm khác, vì nó cũng có thể gặp lỗi như thường.
    Vậy hãy suy nghĩ trước khi cài đặt firewall! Bạn có thật sự cần không? Nếu bạn cần nghĩ mình cần, bạn nên viết ra những quy tắc hoặt động của nó, loại firewall nào, và thao tác với nó như thế nào. Nhưng trước hết hãy đọc tài liệu này.
    Firewall được dùng cho hai mục đích:

    • Bảo vệ người dùng khỏi worm và những kẻ tấn công
    • Giữ người dùng (lao động/trẻ em) ở trong phạm vi kiểm soát

    Có ba loại firewall:

    • Packet filtering
    • Circuit relay
    • Application gateway

    Firewall cần có một máy riêng, không chạy dịch vụ gì cả (hoặc chỉ chạy sshd) và được bảo đảm an ninh theo cách tài liệu này hướng dẫn.
    12.b. Lọc Packet
    Mọi lưu thông mạng đều được gửi dạng packet. Một lượng lớn lưu thông được chia ra thành những phần nhỏ dễ xử lý và được tập hợp lại khi đến đích. Packet header của mọi packet chứa thông tin cách đến và nơi đến. Và thông tin này chính xác là những thông tin firewall packing filtering dùng. Filter dựa trên:

    • Cho phép hoặc không cho phép packet dựa trên địa chỉ IP nguồn/đích
    • Cho phép hoặc không cho phép packet dựa trên cổng nguồn/đích
    • Cho phép hoặc không cho phép packet dựa trên giao thức
    • Cho phép hoặc không cho phép packet dựa trên cờ hiệu của giao thức xác định

    Nói cách khác, firewall này lọc theo thông tin trong header, không phải nội dung packet.
    Điểm yếu:

    • Thông tin địa chỉ trong gói có thể bị làm giả IP (hoặc ta nói là spoof) từ phía người gửi
    • Dữ liệu hoặc request trong gói được phép có thể chứa dữ liệu không mong muốn mà kẻ tấn công có thể dùng để khai thác các lỗi đã biết của các dịch vụ nằm trên hoặc nằm sau firewall
    • Thường là nguồn gốc của lỗi

    Điểm mạnh:

    • Cài đặt dễ và đơn giản
    • Có thể cảnh báo trước các cuột tấn công (vd, phát hiện quét cổng)
    • Ngăn cản SYN attack

    Ví dụ về lọc packet trong Linux:

    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]
    • [Only registered and activated users can see links. ]

    Ghi chú: Bạn nên dùng iptables. Ipchains đã lỗi thời.
    12.c. Circuit relay
    Circuit gateway là loại firewall kiểm tra kết nối trước khi trao đổi dữ liệu. Nghĩa là nó không chỉ đơn giản cho phép hoặc từ chối packet dựa trên header mà xác định kết nối giữa hai đầu có hợp lệ không, dựa theo các quy tắc cấu hình, trước khi mở session và cho phép trao đổi dữ liệu. Filter dựa trên:

    • Địa chỉ IP nguồn/đích
    • Cổng nguồn/đích
    • Khoảng thời gian
    • Giao thức
    • User
    • Password

    Mọi lưu thông đều được kiểm tra và theo dõi, những lưu thông không mong đợi có thể bị loại bỏ.
    Điểm yếu:

    • Hoạt động ở tầng Transport, có thể cần thay đổi đáng kể các chương trình cung cấp tính năng transport bình thường.

    12.d. Application gateway
    Application gateway là proxy cho ứng dụng, trao đổi dữ liệu với hệ thống ở xa, đại diện cho client. Nó tách biệt khỏi thế giới bên ngoài bằng cách nằm sau DMZ (De-Militarized Zone - Vùng dân sự: phần mạng riêng tư có thể thấy thông qua firewall) hoặc sau một firewall không cho phép kết nối từ bên ngoài. Nó dựa trên:

    • Cho phép hoặc cấm dựa trên địa chỉ IP nguồn/đích
    • Dựa trên nội dung packet
    • Giới hạn quyền truy cập tập tin dựa trên loại tập tin hoặc phần mở rộng

    Điểm mạnh:

    • Có thể cache các tập tin, tăng cường hiệu quả
    • Log chi tiết mọi kết nối
    • Thích ứng tốt (vài proxy server có thể "chia sẻ" dữ liệu cache)
    • Không truy cập trực tiếp từ bên ngoài
    • Thậm chí có thể thay thế ngay tức thì nội dung packet

    Điểm yếu:

    • Cấu hình phức tạp

    Gateway ứng dụng được xem là giải pháp an toàn nhất vì nó không cần chạy bằng root và những máy sau lưng nó không thể được truy cập từ Internet.
    Ví dụ về một số gateway ứng dụng:

    • [Only registered and activated users can see links. ]

    12.e. Iptables
    Để dùng iptables, phải bật nó trong kernel. Tôi đã cài iptables dạng module (lệnh iptables sẽ nạp module khi cần thiết) và biên dịch lại kernel (nhưng bạn có thể muốn biên dịch iptables nằm sẵn trong kernel, nếu bạn định tắt tính năng Loadable Kernel Modules như đã thảo luận ở trên). Thông tin chi tiết cách cấu hình kernel cho iptables có ở [Only registered and activated users can see links. ]. Sau khi bạn biên dịch kernel mới (hoặc trong khi biên dịch kernel), bạn phải thêm lệnh iptables. Chỉ cần emerge iptables là nó sẽ chạy.
    Giờ hãy kiểm tra nó chạy chưa bằng lệnh iptables -L. Nếu thất bại, có gì đó không ổn và bạn cần kiểm tra lại cấu hình.
    Iptables là bộ lọc packet mới và nặng, dành cho Linux 2.4.x. Tiền thân của nó là ipchains dành cho kernel 2.2.x. Một trong những điểm cải tiến quan trọng là iptables có thể thực hiện stateful packet filtering. Với khả năng này, nó có thể theo dấu các kết nối TCP đã hình thành.
    Kết nối TCP bao gồm một chuỗi các packet chứa thông tin về địa chỉ nguồn, địa chỉ đích, cổng nguồn, cổng đích và một con số (sequence number) để tập hợp packet lại mà không mất dữ liệu. TCP là giao thức hướng kết nối (connection-oriented), ngược với UDP là giao thức phi kết nối (connectionless).
    Bằng cách theo dõi header của packet TCP, bộ lọc stateful có thể xác định packet TCP nhận được có phải là một phần của kết nối đã tạo hay không và quyết định xem chấp nhận hay hủy bỏ packet đó.
    Với bộ lọc stateless, có thể đánh lừa bộ lọc chấp nhận packet mà lẽ ra nên hủy bọ bằng cách xử lý header của packet TCP. Có thể thực hiện điều đó bằng cách điều chỉnh SYN flag hoặc các flag khác trong header packet TCP để các packet xấu xuất hiện như một phần của kết nối (vì bộ lọc packet bản thân nó không thể theo dõi các kết nối). Với bộ lọc packet stateful, có thể hủy bỏ những packet như thế vì nó không thuộc về kết nối đã có. Nó sẽ giúp chấm dứt khả năng bị "stealth scan", một loại quét cổng mà trình quét gửi các packet với flag rất ít khả năng bị log lại từ firewall so với các packet thông thường.
    Iptables còn cung cấp vài tính năng khác như NAT (Network Address Translation) và rate limit. Rate limit đặc biệt hữu dụng khi chống DoS (Denial of Service) như SYN flood.
    Kết nối TCP được thiết lập bằng cái gọi là bắt tay ba đường. Khi lập kết nối TCP, phía client gửi một packet đến server với flag SYN. Khi phía server nhận được packet SYN, nó trả lời bằng cách gửi packet SYN+ACK ngược lại. Khi phía client nhận được SYN+ACK, nó sẽ gửi trả lời bằng packet ACK để xác nhận thành lập kết nối.
    SYN flood attack được thực hiện bằng cách gửi packet SYN mà không trả lời packet SYN+ACK. Phía client có thể làm giả packet với một địa chỉ IP nguồn sai vì nó không cần trả lời. Phía server sẽ thêm một mục vào hàng đợi các kết nối sắp hình thành khi nó nhận được packet SYN và chờ nhận packet ACK sau cùng trước khi xoá mục khỏi hàng đợi. Hạng đợi chỉ có thể chứa một số lượng giới hạn và nếu bị đầy, nó sẽ không thể mở bất kỳ kết nối nào nữa. Nếu không nhận được gói ACK khi hết hạn, mục đó sẽ tự động bị xoá khỏi hàng đợi. Phía client sẽ khởi động tấn công bằng cách làm giả gói SYN với những địa chỉ IP nguồn khác nhau và gửi đến IP đích càng nhanh càng tốt, do đó sẽ làm đầy hàng đợi bằng những kết nối chưa được mở xong, làm cho các client khác không thể nào tạo kết nối đến server.
    Đây là chỗ cần đến rate limit. Có thể giới hạn tỉ lệ packet SYN chấp nhận bằng cách dùng -m limit --limit 1/s. Nó sẽ giới hạn số packet SYN chấp nhậ trong một giây và hạn chể SYN flood trong vòng kiểm soát.
    Ghi chú: Một tùy chọn khác để chống SYN flood là [Only registered and activated users can see links. ], cho phép máy tính trả lời packet SYN mà không làm đầy hàng đợi kết nối. SYN cookie có thể được bật trong cấu hình Linux kernel, nhưng chúng vẫn được coi là đang trong quá trình thử nghiệm ở thời điểm này.
    Giờ hãy thực tế hơn một chút!
    Khi iptables được nạp vào kernel, nó tạo 5 móc nối vào hệ thống để bạn có thể thêm vào các quy tắc của mình. Chúng là INPUT, OUTPUT, FORWARD, PREROUTINGPOSTROUTING. Mỗi cái được gọi là một chain (xích) và chứa một loạt các quy tắt. Mỗi quy tắc sẽ xác định, nếu packet header như thế này, thì làm gì với packet đó. Nếu quy tắc đầu không áp dụng được, quy tắc kế sẽ được thử.
    Bạn có thể thêm các quy tắc (rule) vào 5 chain chính hoặc tạo chain riêng và thêm rule vào đó. Iptables hỗ trợ các tùy chọn sau.
    Tùy chọn: Mô tả:
    -A Nối thêm
    -D Xoá
    -I Chèn
    -R Thay thế
    -L Liệt kê
    -F Xoá mọi rule trong một chain hoặc trong mọi chain
    -Z Đặt counter về không cho một chain hoặc mọi chain
    -C Kiểm tra packet này trên chain
    -N Tạo chain riêng
    -X Xoá chain tự tạo
    -P Thay đổi chính sách của chain
    -E Đổi tên chain
    -p Giao thức
    -s Địa chỉ/mặt nạ nguồn
    -d Địa chỉ/mặt nạ đích
    -i Tên input (tên Ethernet)
    -o Tên Output (tên Ethernet)
    -j Nhảy (đích của quy tắc)
    -m So khớp mở rộng (có thể dùng phần mở rộng)
    -n Địa chỉ và cổng output dạng số
    -t Bảng cần xử lý
    -v Chế độ Verbose
    -x Số mở rộng (hiển thị chính xác giá trị)
    -f Chỉ so khớp gói thứ hai hoặc sau đó
    -V Phiên bản Packet
    --line-numbers In số dòng khi liệt kê
    Trước hết chúng ta cần thử phong toả các packet ICMP đến máy của ta, để làm quen với iptables.
    Mã 5.1: Phong toả packet ICMP
    # iptables -A INPUT -p icmp -j DROP
    Trước hết ta xác định chain cần thêm quy tắc vào, sau đó xác định giao thức cần kiểm tra, và cuối cùng là đích đến. Đích đến có thể là tên một chain tự tạo hoặc một trong những đích đặc biệt ACCEPT, DROP, REJECT, LOG, QUEUE, hoặcMASQUERADE. Trong trường hợp này chúng ta dùng DROP, sẽ hủy bỏ packet mà không thông báo cho client.
    Ghi chú: Đích LOG là một dạng đích "không kết thúc". Nếu packet được áp dụng với quy tắc dùng đích LOG, thay vì chấm dứt áp dụng quy tắc, packet sẽ vẫn được tiếp tục kiểm tra với các quy tắc khác. Nhờ vậy bạn có thể log packet trong khi vẫn xử lý chúng như thường lệ.
    Giờ thử ping localhost. Bạn sẽ không nhận được trả lời, vì iptables đã hủy bỏ mọi packet ICMP đến máy này. Bạn cũng sẽ không thể ping đến máy khác, vì gói ICMP trả lời cũng bị hủy bỏ. Giờ xoá sạch chain để cho phép dùng ICMP.
    Mã 5.2: Xoá sạch quy tắc
    # iptables -F
    Hãy xem tính năng lọc stateful của iptables. Nếu bạn cần bật kiểm tra stateful các packet đến trên eth0, bạn cần dùng lệnh:
    Mã 5.3: Chấp nhận packet xuất phát từ một kết nối đã được tạo
    # iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
    Nó sẽ chấp nhận bất kỳ packet nào từ một kết nối được tạo lập hoặc có liên quan trong chain INPUT. Và bạn có thể hủy bỏ bất kỳ gói nào không nằm trong tầm quản lý bằng lệnh iptables -A INPUT -i eth0 -m state --state INVALID -j DROP ngay trước lệnh trên. Nó sẽ bật cơ chế lọc stateful trong iptables bằng cách dùng phần mở rộng "state". Nếu bạn cần cho phép những máy khác kết nối đến máy bạn, bạn có thể dùng cờ --state NEW. iptables có một số module dùng cho các mục đích khác nhau. Một trong số chúng là:
    Module/So khớp Mô tả Tùy chọn mở rộng
    mac Phần mở rộng so khớp cho các packet vào dựa trên địa chỉ mac. --mac-source
    state Bật kiểm tra stateful --state (state bao gồm ESTABLISHED,RELATED, INVALID, NEW)
    limit Giới hạn so khớp theo tỉ lệ --limit, --limit-burst
    owner Thử so khớp các đặc điểm khác nhau của trình tạo gói --uid-owner userid --gid-owner groupid --pid-owner processid --sid-owner sessionid
    unclean Một loạt các kiểm tra toàn vẹn ngẫu nhiên trên các packet
    Hãy thử tạo một chain riêng và áp dụng vào một trong những chain đã có:
    Mã 5.4: Tạo chain riêng
    (Tạo chain mới với một quy tắc)# iptables -X mychain# iptables -N mychain# iptables -A mychain -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT(Chính sách mặc định là mọi lưu thông ra ngoài đều được phép. Lưu thông vào bị hủy bỏ.)# iptables -P OUTPUT ACCEPT# iptables -P INPUT DROP(Và thêm nó vào chain INPUT)# iptables -A INPUT -j mychain
    Bằng cách áp dụng quy tắc này vào chain INPUT, chúng ta có được chính sách sau: Mọi gói đi ra đều được phép và mọi gói đi vào đều bị hủy.
    Bạn có thể tìm đọc thêm tài liệu [Only registered and activated users can see links. ].
    Giờ hãy xem một ví dụ hoàn chỉnh. Đây là trược hợp mà chính sách firewall/gateway là:

    • Kết nối đến firewall chỉ được phép thông qua SSH (cổng 22)
    • Mạng nội bộ được phép truy cập HTTP, HTTPS và SSH (DNS cũng được phép)
    • Lưu thông ICMP có thể chứa dữ liệu và không bị cấm. Dĩ nhiên chúng ta phải cho phép một vài lưu thông ICMP.
    • Quét cổng được dò tìm và bị log
    • Tránh những cuộc tấn công SYN
    • Mọi lưu thông khác bị hủy bỏ và log lại

    Mã 5.5: /etc/init.d/firewall
    #!/sbin/runscriptIPTABLES=/sbin/iptablesIPTABLESSAVE=/sbin/iptables-saveIPTABLESRESTORE=/sbin/iptables-restoreFIREWALL=/etc/firewall.rulesDNS1=212.242.40.3DNS2=212.242.40.51# insideIIP=10.0.0.2IINTERFACE=eth0LOCAL_NETWORK=10. 0.0.0/24#outsideOIP=217.157.156.144OINTERFACE=eth1opts=" ${opts} showstatus panic save restore showoptions rules"depend() { need net}rules() { stop ebegin "Setting internal rules" einfo "Setting default rule to drop" $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP #default rule einfo "Creating states chain" $IPTABLES -N allowed-connection $IPTABLES -F allowed-connection $IPTABLES -A allowed-connection -m state --state ESTABLISHED,RELATED -j ACCEPT $IPTABLES -A allowed-connection -i $IINTERFACE -m limit -j LOG --log-prefix \ "Bad packet from ${IINTERFACE}:" $IPTABLES -A allowed-connection -j DROP #ICMP traffic einfo "Creating icmp chain" $IPTABLES -N icmp_allowed $IPTABLES -F icmp_allowed $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type \ time-exceeded -j ACCEPT $IPTABLES -A icmp_allowed -m state --state NEW -p icmp --icmp-type \ destination-unreachable -j ACCEPT $IPTABLES -A icmp_allowed -p icmp -j LOG --log-prefix "Bad ICMP traffic:" $IPTABLES -A icmp_allowed -p icmp -j DROP #Incoming traffic einfo "Creating incoming ssh traffic chain" $IPTABLES -N allow-ssh-traffic-in $IPTABLES -F allow-ssh-traffic-in #Flood protection $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \ ALL RST --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \ ALL FIN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m limit --limit 1/second -p tcp --tcp-flags \ ALL SYN --dport ssh -j ACCEPT $IPTABLES -A allow-ssh-traffic-in -m state --state RELATED,ESTABLISHED -p tcp --dport ssh -j ACCEPT #outgoing traffic einfo "Creating outgoing ssh traffic chain" $IPTABLES -N allow-ssh-traffic-out $IPTABLES -F allow-ssh-traffic-out $IPTABLES -A allow-ssh-traffic-out -p tcp --dport ssh -j ACCEPT einfo "Creating outgoing dns traffic chain" $IPTABLES -N allow-dns-traffic-out $IPTABLES -F allow-dns-traffic-out $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS1 --dport domain \ -j ACCEPT $IPTABLES -A allow-dns-traffic-out -p udp -d $DNS2 --dport domain \ -j ACCEPT einfo "Creating outgoing http/https traffic chain" $IPTABLES -N allow-www-traffic-out $IPTABLES -F allow-www-traffic-out $IPTABLES -A allow-www-traffic-out -p tcp --dport www -j ACCEPT $IPTABLES -A allow-www-traffic-out -p tcp --dport https -j ACCEPT #Catch portscanners einfo "Creating portscan detection chain" $IPTABLES -N check-flags $IPTABLES -F check-flags $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -m limit \ --limit 5/minute -j LOG --log-level alert --log-prefix "NMAP-XMAS:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL FIN,URG,PSH -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -m limit --limit \ 5/minute -j LOG --log-level 1 --log-prefix "XMAS:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL ALL -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG \ -m limit --limit 5/minute -j LOG --log-level 1 --log-prefix "XMAS-PSH:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -m limit \ --limit 5/minute -j LOG --log-level 1 --log-prefix "NULL_SCAN:" $IPTABLES -A check-flags -p tcp --tcp-flags ALL NONE -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -m limit \ --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/RST:" $IPTABLES -A check-flags -p tcp --tcp-flags SYN,RST SYN,RST -j DROP $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -m limit \ --limit 5/minute -j LOG --log-level 5 --log-prefix "SYN/FIN:" $IPTABLES -A check-flags -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP # Apply and add invalid states to the chains einfo "Applying chains to INPUT" $IPTABLES -A INPUT -m state --state INVALID -j DROP $IPTABLES -A INPUT -j icmp_allowed $IPTABLES -A INPUT -j check-flags $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A INPUT -j allow-ssh-traffic-in $IPTABLES -A INPUT -j allowed-connection einfo "Applying chains to FORWARD" $IPTABLES -A FORWARD -m state --state INVALID -j DROP $IPTABLES -A FORWARD -j icmp_allowed $IPTABLES -A FORWARD -j check-flags $IPTABLES -A FORWARD -o lo -j ACCEPT $IPTABLES -A FORWARD -j allow-ssh-traffic-in $IPTABLES -A FORWARD -j allow-www-traffic-out $IPTABLES -A FORWARD -j allowed-connection einfo "Applying chains to OUTPUT" $IPTABLES -A OUTPUT -m state --state INVALID -j DROP $IPTABLES -A OUTPUT -j icmp_allowed $IPTABLES -A OUTPUT -j check-flags $IPTABLES -A OUTPUT -o lo -j ACCEPT $IPTABLES -A OUTPUT -j allow-ssh-traffic-out $IPTABLES -A OUTPUT -j allow-dns-traffic-out $IPTABLES -A OUTPUT -j allow-www-traffic-out $IPTABLES -A OUTPUT -j allowed-connection #Allow client to route through via NAT (Network Address Translation) $IPTABLES -t nat -A POSTROUTING -o $IINTERFACE -j MASQUERADE eend $?}start() { ebegin "Starting firewall" if [ -e "${FIREWALL}" ]; then restore else einfo "${FIREWALL} does not exists. Using default rules." rules fi eend $?}stop() { ebegin "Stopping firewall" $IPTABLES -F $IPTABLES -t nat -F $IPTABLES -X $IPTABLES -P FORWARD ACCEPT $IPTABLES -P INPUT ACCEPT $IPTABLES -P OUTPUT ACCEPT eend $?}showstatus() { ebegin "Status" $IPTABLES -L -n -v --line-numbers einfo "NAT status" $IPTABLES -L -n -v --line-numbers -t nat eend $?}panic() { ebegin "Setting panic rules" $IPTABLES -F $IPTABLES -X $IPTABLES -t nat -F $IPTABLES -P FORWARD DROP $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT DROP $IPTABLES -A INPUT -i lo -j ACCEPT $IPTABLES -A OUTPUT -o lo -j ACCEPT eend $?}save() { ebegin "Saving Firewall rules" $IPTABLESSAVE > $FIREWALL eend $?}restore() { ebegin "Restoring Firewall rules" $IPTABLESRESTORE < $FIREWALL eend $?}restart() { svc_stop; svc_start}showoptions() { echo "Usage: $0 {start|save|restore|panic|stop|restart|showstatus} " echo "start) will restore setting if exists else force rules" echo "stop) delete all rules and set all to accept" echo "rules) force settings of new rules" echo "save) will store settings in ${FIREWALL}" echo "restore) will restore settings from ${FIREWALL}" echo "showstatus) Shows the status" }
    Vài lời khuyên khi tạo firewall:

    1. Tạo chính sách firewall trước khi thử cài đặ
    2. Cố gắng giữ nó đơn giản
    3. Biết những giao thức nào hoạt động (đọc các [Only registered and activated users can see links. ] (Request For Comments) liên quan)
    4. Nhớ rằng firewall cũng chỉ là phần mềm và chạy bằng root.
    5. Kiểm tra firewall

    Nếu bạn nghĩa rằng iptables khó hiểu hoặc mất thời gian thiết lập, bạn có thể dùng [Only registered and activated users can see links. ]. Về cơ bản nó dùng iptables để phát sinh các quy tắc của firewall, nhưng nó tập trung vào quy tắc, không phải giao thức.
    12.f. Squid
    Squid là một proxy server rất mạnh. Nó có thể lọc lưu thông theo thời gian, theo biểu thức chính quy trên đường dẫn/URI, theo địa chỉ IP nguồn và đích, theo domain, browser, username được dùng để xác thực, MIME type, và số cổng (giao thức). Có lẽ tôi còn quên một số tính năng, nhưng khó có thể đề cập toàn bộ danh sách tại đây.
    Trong ví dụ sau, tôi sẽ thêm bộ lọc banner thay vì lọc các trang khiêu dâm. Lý do là Gentoo.org không đáng được liệt kê như là một trang web khiêu dâm. Và tôi không muốn phí thời gian tìm dùm bạn vài trang web khiêu dâm tốt.
    Trong ví dụ này, chính sách là:

    • Lướt web (HTTP/HTTPS) được phép trong giờ làm việc (T2-T6 8-17 giờ và T7 8-13 giờ), nhưng nếu nhân viên ở lại trễ, họ nên làm việc, không phải lướt web
    • Lấy tập tin về là không được phép (.exe, .com, .arj, .zip, .asf, .avi, .mpg, .mpeg, ...)
    • Chúng ta không thích banner, chúng được lọc bỏ và thay bằng gif trong suốt (đây là nơi dành cho sự sáng tạo của bạn!).
    • Mọi kết nối khác đến/từ Internet đều bị từ chối.

    Phần này được thực hiện trong 4 bước rất dễ sau.
    Mã 6.1: /etc/squid/squid.conf
    # Bind to a ip and porthttp_port 10.0.2.1:3128# Standard configurationhierarchy_stoplist cgi-bin ?acl QUERY urlpath_regex cgi-bin \?no_cache deny QUERY# Add basic access control listsacl all src 0.0.0.0/0.0.0.0acl manager proto cache_objectacl localhost src 127.0.0.1/255.255.255.255# Add who can access this proxy serveracl localnet src 10.0.0.0/255.255.0.0# And portsacl SSL_ports port 443acl Safe_ports port 80acl Safe_ports port 443acl purge method PURGE# Add access control list based on regular# expressions within urlsacl archives urlpath_regex "/etc/squid/files.acl"acl url_ads url_regex "/etc/squid/banner-ads.acl"# Add access control list based on time and dayacl restricted_weekdays time MTWHF 8:00-17:00acl restricted_weekends time A 8:00-13:00acl CONNECT method CONNECT#allow manager access from localhosthttp_access allow manager localhosthttp_access deny manager# Only allow purge requests from localhosthttp_access allow purge localhosthttp_access deny purge# Deny requests to unknown portshttp_access deny !Safe_ports# Deny CONNECT to other than SSL portshttp_access deny CONNECT !SSL_ports# My own rules# Add a page do be displayed when# a banner is removeddeny_info NOTE_ADS_FILTERED url_ads# Then deny themhttp_access deny url_ads# Deny all archiveshttp_access deny archives# Restrict access to work hourshttp_access allow localnet restricted_weekdayshttp_access allow localnet restricted_weekends# Deny the resthttp_access deny all
    Kế tiếp điền vào tập tin bạn không muốn người dùng lấy về. Tôi thêm các tập tin zip, viv, exe, mp3, rar, ace, avi, mov, mpg, mpeg, au, ra, arj, tar, gz và z.
    Mã 6.2: /etc/squid/files.acl
    \.[Zz][Ii][pP]$\.[Vv][Ii][Vv].*\.[Ee][Xx][Ee]$\.[Mm][Pp]3$\.[Rr][Aa][Rr]$\.[Aa][Cc][Ee]$\.[Aa][Ss][Ff]$\.[Aa][Vv][Ii]$\.[Mm][Oo][Vv]$\.[Mm][Pp][Gg]$\.[Mm][Pp][Ee][Gg]$\.[Aa][Uu]$\.[Rr][Aa]$\.[Aa][Rr][Jj]$\.[Tt][Aa][Rr]$\.[Gg][Zz]$\.[Zz]$
    Ghi chú: Chú ý rằng [] với chữ hoa và chữ thường cho từng ký tự. Làm vậy để không ai có thể lừa bộ lọc bằng cách dùng tập tin AvI thay vì avi
    Kế tiếp chúng ta thêm biểu thức chính quy để xác định banner. Bạn có lẽ cần sáng tạo nhiều hơn thế này:
    Mã 6.3: /etc/squid/banner-ads.acl
    /adv/.*\.gif$/[Aa]ds/.*\.gif$/[Aa]d[Pp]ix//[Aa]d[Ss]erver/[Aa][Dd]/.*\.[GgJj][IiPp][FfGg]$/[Bb]annerads//adbanner.*\.[GgJj][IiPp][FfGg]$/images/ad//reklame//RealMedia/ads/.*^http://www\.submit-it.*^http://www\.eads.*^http://ads\.^http://ad\.^http://ads02\.^http://adaver.*\.^http://adforce\.adbot\.com/ads/.*\.gif.*_ad\..*cgi/Banners//SmartBanner//Ads/Media/Images/^http://static\.wired\.com/advertising/^http://*\.dejanews\.com/ads/^http://adfu\.blockstackers\.com/^http://ads2\.zdnet\.com/adverts^http://www2\.burstnet\.com/gifs/^http://www.\.valueclick\.com/cgi-bin/cycle^[Only registered and activated users can see links. ]
    Phần cuối cùng là hiển thị tập tin này khi banner bị loại bỏ. Đây có thể là một nửa tập tin html với ảnh gif trong suốt 4x4.
    Mã 6.4: /etc/squid/errors/NOTE_ADS_FILTERED
    <HTML><HEAD><META HTTP-EQUIV="REFRESH" CONTENT="0; URL=http://localhost/images/4x4.gif"><TITLE>ERROR: The requested URL could not be retrieved</TITLE></HEAD><BODY><H1>Add filtered!</H1>
    Ghi chú: Đừng đóng <HTML> <BODY>. Squid sẽ làm điều đó.
    Như bạn thấy, Squid có nhiều tiềm năng và rất hiệu quả để lọc và làm proxy. Thậm chí có thể dùng Squid proxy trên những mạng rất lớn. Cấu hình liệt kê ở trên hầu hết chỉ thích hợp cho mạng cỡ nhỏ từ 1-20 người dùng.
    Nhưng kết hợp với bộ lọc packet (iptables) và gateway ứng dụng (Squid) có lẽ là giải pháp tốt nhất, ngay cả khi Squid nằm ở một nơi an toàn và không ai có thể truy cập từ bên ngoài. Chúng ta vẫn cần quan tâm đến các cuộc tấn công từ bên trong.
    Giờ bạn phải cấu hình browser để dùng proxy. Gateway sẽ chặn những người dùng truy cập trực tiếp ra bên ngoài, chỉ cho phép dùng proxy.
    Ghi chú: Với Mozilla, có thể điều chỉnh trong Edit->Preferences->Advanced->Proxies.
    Cũng có thể thực hiện trong suốt bằng iptables để chuyển tất cả lưu thông bên ngoài vào Squid proxy. Có thể thực hiện bằng cách thêm rule forwarding/prerouting trên gateway:
    Mã 6.5: Bật portforwarding trên proxy server
    # iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to proxyhost:3128# iptables -t nat -A PREROUTING -p tcp --dport 443 -j DNAT --to proxyhost:3128
    Ghi chú: Nếu proxy đang chạy trên máy lọc packet--mặc dù không nên, dù vẫn phải dùng nếu bạn không có đủ máy--hãy dùng target REDIRECT thay vì DNAT (REDIRECT chuyển hướng packet sang localhost).
    12.g. Những bài học
    Chúng ta học được những điều sau:

    1. Firewall có thể có rủi ro trong chính bản thân nó. Firewall cấu hình sai còn tệ hơn không có firewall.
    2. Cách thiết lập gateway cơ bản và proxy trong suốt.
    3. Chìa khoá tạo firewall tốt là biết những giao thức nào cho phép dùng.
    4. Lưu lượng IP không chứa dữ liệu hợp lệ, vd các gói ICMP, có thể chứa những thông tin nguy hiểm.
    5. Cách tránh SYN attack.
    6. Lọc lưu thông HTTP bằng cách loại bỏ những hình ảnh không tốt và virus.
    7. Kết hợp bộ lọc packet và gateway ứng dụng sẽ điều khiển tốt hơn.

    Giờ nếu bạn thật sự cần, hãy tạo firewall phù hợp với bạn.
    Tài liệu này sử dụng giấy phép [Only registered and activated users can see links. ].
    Khách viếng thăm hãy cùng HuyKhang xây dựng diễn đàn CLBGAMESVN vững mạnh nhé!

  7. The Following 2 Users Say Thank You to HuyKhang For This Useful Post:

    nghiadht (18-03-15), songtu (18-03-15)

 

 

Các Chủ đề tương tự

  1. xin 1 sô kiểu hack +bug + tools để hack + bug để làm anti chống hack
    Bởi tungsun96 trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 4
    Bài viết cuối: 19-04-14, 06:18 AM
  2. Trả lời: 8
    Bài viết cuối: 25-08-12, 07:49 PM
  3. [MU] Các bug có thể dupe item và hack của ss6 scfdata 10>>11 Mong anh em góp sức
    Bởi thienhoangyb trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 6
    Bài viết cuối: 21-04-12, 12:33 AM
  4. [MU] Giúp đở mình về Chống Hack Disconnect
    Bởi hoangcungclub trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 20
    Bài viết cuối: 12-02-12, 11:42 AM
  5. xin main chống hack disconnect 1.07k
    Bởi mutaynguyen.tk trong diễn đàn Hỏi Đáp/ Yêu Cầu
    Trả lời: 0
    Bài viết cuối: 04-10-10, 10:53 AM

Quyền viết bài

  • Bạn Không thể gửi Chủ đề mới
  • Bạn Không thể Gửi trả lời
  • Bạn Không thể Gửi file đính kèm
  • Bạn Không thể Sửa bài viết của mình
  •  
Múi giờ GMT +7. Bây giờ là 12:12 AM.
vBulletin®, Copyright ©2000-2011, Jelsoft Enterprises Ltd.
CLBGamesVN không chịu trách nhiệm về Luật Bản Quyền của các tài liệu, bài viết v.v...được đăng tải trên diễn đàn này.
Diễn đàn phát triển dưới sự đóng góp của tất cả thành viên. BQT chỉ là những người thành lập ra sân chơi, quản lý và duy trì về mặt kỹ thuật, nội dung khi hợp lệ.