1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình tin học : Firewall chống DDoS cho Forum docx

8 660 1
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 8
Dung lượng 173,98 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nếu ai cancel hay nhập sai thì log sẽ ghi lại IP đó Sẽ là lựa chọn tốt cho forum của bạn khi server bị tấn công từ chối dịch vụ Cách làm: Tạo 1 file log.html và chmod 777 và up lên host.

Trang 1

Giáo trình tin học : Firewall chống DDoS cho Forum

Khi vào nó sẽ hiện 1 form đòi nhập user và pass Nếu ai cancel hay nhập sai thì log sẽ ghi lại IP đó

Sẽ là lựa chọn tốt cho forum của bạn khi server bị tấn công từ chối dịch

vụ

Cách làm:

Tạo 1 file log.html và chmod 777 và up lên host File này là nơi để bạn check [code]xem những IP nào truy cập ko hợp lệ Nếu muốn thì có thể Ban IP của nó đề phòng tấn công

Code:

PHP Code:

<?php

//////////// Firewall ////////////////

/* File : firewall.php */

/* Tac Gia : HCV Team */

/////////////////////////////////////////

if (md5($PHP_AUTH_USER!='e10adc3949ba59abbe56e057f20f883e')

OR md5($PHP_AUTH_PW!='e10adc3949ba59abbe56e057f20f883e')) { Header('WWW-Authenticate: Basic realm="FireWall Chong FLood"'); Header('HTTP/1.0 401 Unauthorized');

echo "<html>

<head>

<title>FireWall</title>

</head>

<body bgcolor=\"black\" text=\"red\">

<h1><b>Access denied</b></h1>

<b>FireWall Of HCV Team</b>

<hr></body></html>".$warnMsg = " IP:

".$_SERVER["REMOTE_ADDR"];

if(isset($PHP_AUTH_USER)){

Trang 2

$warnMsg = " IP: ".$_SERVER["REMOTE_ADDR"];

}

exit;

}

//Ghi lai nhung ip truy cap vao file log.html

$file = "log.html";

$mode = "r+";

if (!file_exists($file))

$mode = "w+";

$fp = fopen ($file, $mode);

fseek($fp, 0, SEEK_END);

fwrite($fp, $ip."<br />");

fclose($fp);

echo 'Se bao IP cua ban cho Admin';

?>

Lưu ý :

Code:

PHP Code:

(md5($PHP_AUTH_USER!='e10adc3949ba59abbe56e057f20f 883e') PHP Code:

md5($PHP_AUTH_PW!='e10adc3949ba59abbe56e057f20f883 e'))

Ở đây là nơi đặt user và pass ở dạng MD5 vào

Vào file index.php của bạn , chèn thêm dòng này

Code:

Trang 3

PHP Code:

<? include("firewall.php"); ?>

1 cách khác nữa :

Flood hiểu nôm na có nghĩa là tràn ngập - Khi bạn thiết kế một FORM để nhập dữ liệu, thì bất kỳ ai cũng áo thể view sources để xem cấu trúc HTML của FORM bạn thiết kế, vì vậy nếu site bạn không chống flood, hackers có thể dễ dàng flood site bạn, làm DB của bạn có thể bị tràn ngập

và xuất hiện nhiều dữ liệu dư thừa

Thông thường thì trong khi thiết kế một FORM bất kỳ thì phải thoả mãn cấu trúc như sau:

<form action="Tên_file.php" method="post">

Đoạn code trên sử method="post" có nghĩa là phương pháp lấy dữ liệu là POST, ngoài nó ra bạn còn có thể dùng GET để lấy dữ liệu

Có thể hiểu nếu method="GET" là dùng nhập dữ liệu ngay trên thanh địa chỉ, điều này cũng khó kiểm soát dữ liệu vì hackers có thể trực tiếp flood qua đường này nếu như không chống flood

Còn nếu method="POST" thì bắt buộc phải được nhập qua 1 FORM nhất định, hiện tại hầu hết các site điều thiết lập method là POST vì dễ dàng kiểm tra dữ liệu và nhất là phòng chống SQL injection vì ít có hackers để

ý đến các FORM lắm

Có rất nhiều phương pháp để chống flood, tôi xin trình bày vài cách để bạn tham khảo: Sử dụng session, tạo 1 field trong table dùng trong việc lưu trữ IP của máy đang truy cập (Cách này hơi rắc rối nên tôi không trình bày ở đây)

Phương pháp chống flood bằng cách sử dụng SESSION:

1 Tạo FORM: Việc tạo một FORM để nhập dữ liệu không khó, nếu không biết tạo xin hỏi tại box khác vì box này chỉ dành tham khảo về bảo mật ứng dụng web thôi

2 Tạo 1 file PHP tên là anti_flood.php, với code sau:

Code:

PHP Code:

<?php

Trang 4

session_start();

$timeout = 60;

$session_name = "action_time";

if ( isset($_SESSION["{$session_name}"]) && (

$_SESSION["{$session_name}"] >= time() - $timeout ) )

{

print "Làm ơn đợi {$timeout} giây rồi quay lại kiếm tôi!!"; return false;

}

$_SESSION["{$session_name}"] = time();

?>

Giải thích:

Dòng thứ 3 dùng session_start() để khởi động dữ liệu của session (Phiên làm việc)

Dòng kế tiếp là để thiết lập thời gian cho một session, mặc định là 60 giây

Dòng tiếp theo là $session_name, đơn giản chỉ là đặt tên cho session

Dòng tiếp theo nữa là để kiểm tra thời gian của phiên làm việc trước đó (nếu trước đó có một session đã thực hiện và session đó phải lớn hơn hoặc bằng thời gian hiện tại trừ cho thời gian thiết lập cho mổi session)

+ Điều đó có nghĩa là nếu session đã thực hiện trước đó (session thứ 1) chỉ cách session thứ 2 dưới 60 giây (đây là thời gian do bạn qui định:

$timeout = 60) thì sẽ được xét vào dạng Flood data, và ngược lại thì sẽ cho qua và xác nhận hợp lệ

Và dòng cuối cùng là thiết lập thời gian "hiện tại" cho session "hiện tại"

Có 2 cách để sử dụng đoạn code trên:

Cách 1: Load trực tiếp file anti_flood.php, áp dụng cho site có ít FORM cần chống flood

Code:

PHP Code:

<?php

Trang 5

require_once("anti_flood.php");

?>

Cách 2: Là copy trực tiếp đoạn code của tôi rồi sửa lại tên session để dễ phân biệt cho site có nhiều FORM cần chống flood:

Code:

PHP Code:

<?php

require_once("anti_flood.php");

?>

Hướng dẫn backup data trên cpanel hosting

Do có 1 số bạn nhắn tin hỏi về cách backup data trên cpanel nên PETER gửi bài hướng dẫn chung, dành cho những bạn mới làm quen với hosting và các chức năng trong cpanel control của host

Hiện nay đa số các dịch vụ hosting có control là cpanel sử dụng

theme (giao diện) phổ biến là x3 nên PETER chỉ hướng dẫn trên theme x3 của cpanel với các bước thực hiện được xem là đơn giản nhất

Bắt đầu: Sau khi đăng nhập vào cpanel, các bạn vào menu (icon) Backups Tại đây các bạn có thể download backup hoặc restore thủ công Home Directory, MySQL Database, Email Forwarders, Email Filters Tuy nhiên cái PETER lưu ý và hướng dẫn là backup Home Directory vì nó chứa toàn bộ data của tài khoản hosting, hay còn gọi

là Full Backup

Hướng dẫn Full Backup trên cpanel hosting

Tại trang Backups các bạn click vào Download or Generate a Full Backup Tại phần Generate a Full Backup, PETER hướng dẫn 2 tình huống tạo file backup cơ bản là: Backup Home Directory và Remote FTP Server

Trang 6

*Lưu ý: Để tạo file backup thành công thì dung lượng còn trống của host phải đủ để chứa file backup, nếu không quá trình tạo file backup

sẽ bị hủy bỏ giữa chừng

1 Backup Home Directory: Là quá trình tạo file backup chứa toàn

bộ dữ liệu của tài khoản hosting và file backup này sẽ nằm ngay trên host để các bạn có thể download Để tạo file backup này các bạn chỉ cần nhập email nhận thông báo sau khi tạo xong file backup (theo hình minh họa bên dưới) và bấm Generate Backup và chờ quá trình tạo file backup hoàn tất

Sau khi file backup được tạo xong sẽ có tên dạng:

backup-11.2.2008_08-30-46_peter.tar.gz nằm ngang hàng với folder

public_htmlCHMOD

http://domain.com/backup-11.2.2008_0 6_peter.tar.gz

trên host (trong phần File Manager/Legacy File Manager) Các bạn cho file này thành 0644 và move nó vào folder public_html sau đó download về máy với link dạng:2 Remove FTP Server: Là quá trình tạo file backup trên host sau đó file này được upload qua 1 tài khoản hosting khác ở cùng hoặc khác server theo hình thức Remote FTP Connection bằng user và pass của remote host Trường hợp này được dùng tới khi bạn muốn chuyển host hoặc cất giữ data ở host khác thay vì download về máy của mình

Để thực hiện backup bằng hình thức Remote FTP Server các bạn phải có 1 tài khoản hosting khác đủ dung lượng để chứa file backup, trong trường hợp cần bung nén file backup thì dung lượng còn trống

Trang 7

phải lớn hơn 2.5 lần dung lượng của file backup

Tại trang Download or Generate a Full Backup, các bạn chọn và nhập thông tin theo hướng dẫn và hình minh họa bên dưới:

Backup Destination: Chọn Remote FTP Server

Email Address: Nhập email của bạn

Remote Server (FTP/SCP only): Nhập IP của remote host

Remote User (FTP/SCP only): Nhập username đăng nhập vào FTP của remote host

Remote Password (FTP/SCP only): Nhập password đăng nhập vào FTP của remote host

Port (FTP/SCP only): Để trống nếu bạn chưa rành về FTP port

Remote Dir (FTP/SCP only): Để trống nếu bạn chưa rành về Path/dir

Click Generate Backup và chờ quá trình tạo file backup và upload qua remove host hoàn tất

Hình minh họa:

Chức năng backup còn lại là Remote FTP Server (Passive mode transfer) và Secure Copy (scp) chỉ thực hiện khi các bạn đã nắm phần nào kiến thức về Passive mode transfer và Secure Copy (scp) mới biết dùng nó để làm gì và có tác dụng gì PETER không giới thiệu thêm phần này để tránh làm các bạn bị rối

Trên đây PETER hướng dẫn các bước cơ bản về vấn đề backup dữ liệu thông dụng dành cho những host có control panel là cpanel

Trang 8

Chúc các bạn thành công!

Ngày đăng: 27/07/2014, 02:22

HÌNH ẢNH LIÊN QUAN

Hình minh họa: - Giáo trình tin học : Firewall chống DDoS cho Forum docx
Hình minh họa: (Trang 7)

TỪ KHÓA LIÊN QUAN