Tổng hợp các phương pháp bảo mật cho Xenforo

Discussion in 'Tips and Guides' started by PVS, Apr 16, 2015.

  1. PVS

    PVS Cộng Sự Đặc Biệt Staff Member

    Joined:
    Feb 28, 2015
    Messages:
    11,779
    Likes Received:
    7,039
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Huế
    Home Page:
    I. Di chuyển vị trí file config
    - Bước 1:

    Đầu tiên tạo một thư mục chứa file config, thư mục này đê đâu tuỳ các bạn
    ví dụ: diendan/game/data/core/app/vnxf
    Ở đây vnxf là thư mục chứa file config mình tạo.

    - Bước 2:
    sau đó copy file config của các bạn đặt vào đó, đổi tên file config
    ví dụ: mình đổi config.php thành vnxf.php

    - Bước 3:

    chmod file config vừa đổi tên (ví dụ: vnxf.php) thành 400
    chmod thư mục chứ file config thành 101

    - Bước 4:
    Mở file config.php gốc trong thư mục library lên xoá toàn bộ nội dung trong đó và thay bằng đoạn code sau:
    Code:
    sau đó chmod 400
    Trong đó: diendan/game/data/core/app/vnxf/vnxf.php là đường dẫn tới file config
    chmod 101 cho thư mục: Tác dụng khi truy cập vào thư mục thì sẽ báo thư mục rỗng
    chmod 400 cho file: Chống sửa

    P/s: Chống chỉ định với các bạn sử dụng code load cache.

    II. Đặt code trong nhiều lớp thư mục
    Thông thường khi local attack (local thế nào các bạn hỏi google nhé) hacker thường sẽ get file config để lấy thông tin database. Thường thì cũng dễ đoán đường dẫn thôi nếu không thay đổi. Mình ví dụ với direct admin thì đường dẫn mặc định thế này:

    - /home/vnxf/domains/vnxf.vn/public_html/library/config.php
    hoặc nếu đặt code trong thư mục thì sẽ thế này
    - /home/vnxf/domains/vnxf.vn/public_html/folder/library/config.php
    vậy hacker chỉ cần run câu lệnh đến đường dẫn đó là xong (cách run lệnh và làm thế nào để run bà con tự tìm hiểu nhé)

    Để phòng tránh điều này thì ta đặt code inclu trong nhiều thư mục ví dụ thế này:
    /home/vnxf/domains/codientu.org/public_html/folder/folder1/folder2/folder3/folder4/diendan

    Rồi việc còn lại là trỏ domain tới cái thư mục diendan tức là cái thư mục cuối cùng chứa code. (trỏ domain ra sao hỏi google nhé :)) )

    Vậy đường dẫn của site vẫn là thế này http://yourdomain/diendan

    => ai cũng nghĩ code ta chỉ đặt trong thư mục diendan và nghĩ đường dẫn của ta là thế này:

    /home/vnxf/domains/vnxf.vn/public_html/diendan/library/config.php

    chẹp mà hacker không gà thế đâu nếu run lệnh không được họ sẽ dễ dàng đoán ra ta đặt code xuyên nhiều thư mục .

    Mà cái quan trọng là tên các thư mục cha mẹ của thư mục diendan tên là gì mỗi mình ta biết thôi đâu ai biết đâu, vậy cứ để người khác ngồi mò đường dẫn đi. :) tốn kha khá time đấy.

    Chú ý CHMOD mỗi lớp thư mục là 701, up lên file index.html với nội dung rỗng để che không cho thấy nội dung trong thư mục (trừ cái thư mục cuối cùng chưa code đó dừng up nhé không lại ko vào đc 4rum :) )

    P/s: cách này hay nhưng sẽ là xấu đường link khi dùng xenporta nên ai muốn làm đẹp link thì khỏi dùng
    :))

    III. Sử dụng file .htaccess để bảo mật website

    Việc sử dụng htaccess giúp hạn chế tối đa việc chèn Shell nếu có lỗi. Các thư mục sau: public_html/data ,public_html/styles ,public_html/js bạn up file .htaccess với nội dung sau:
    Code:
     # Bạn có thể tự cập nhật file không cho phép chạy, ở đây chỉ cấm 03 loại file: cgi, pl và php
    Order Deny,Allow
    Deny from all
    
    Các thư mục sau: public_html/library , public_html/internal_data ,public_html/install (tùy)bạn up file.htaccess với nội dung sau:
    Code:
    Order deny,allow
    Deny from all
    IV. Bảo mật admincp

    Phần 1: Thay đổi địa chỉ trang quản lí admin

    (Mặc định trang quản lí của bạnhttp://tenwebsiteban/admin.php).

    - Vào host đổi tên file admin.php thành tên bạn muốn (ví dụ: abc.php).

    - Mở file: library/XenForo/Link.php. Tìm đoạn code sau:
    Code:
    $outputLink = 'admin.php' . ($append !== '' ? '?' : '') . $append;
    if ($fullLink)
    - Thay admin.php bằng tên file mà bạn vừa đổi.
    Ví dụ:
    Code:
    $outputLink = 'abc.php' . ($append !== '' ? '?' : '') . $append;
    - Mở template moderator_bar tìm đoạn code sau:
    - Thay admin.php bằng tên file mà bạn vừa đổi.
    Ví dụ:
    Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP.
    - Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau dòng
    Code:
    //Dang nhap vao admincp$config['user_vietxforg'] = 'yourusername';$config['pass_vietxforg'] = 'yourpassword'; if ($_SERVER['PHP_AUTH_USER'] != $config['user_vietxforg'] || $_SERVER['PHP_AUTH_PW'] != $config['pass_vietxforg']){header('WWW-Authenticate: Basic realm="Xin vui long khai bao thong tin yeu cau truoc khi duoc chuyen den bang dang nhap"');header('HTTP/1.0 401 Unauthorized'); //Trang sẽ hiển thị khi thông tin khai báo sai. (support HTML).echo '
    Access Denied!!!
    ';exit;}
    Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker.
    - Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 file admin.php ảo có nội dung như sau:
    Các bạn tải file đính kèm và sửa các code sau:
    Code:
    Cộng đồng Xenforo Việt Nam - Admin Control Panel Login | Admin CP - Cộng đồng Xenforo Việt Nam
    Code:
    Cộng đồng Xenforo Việt Nam - Admin Control Panel Login
    Code:
    http://vnxf.vn
    Code:
    vnxf.vn
    Thành title và link site bạn nhé. Lưu ý chỉ sửa những cái mình ghi ở trên.

    V. Bảo mật admin bằng IP

    - Bước 1:
    Tạo 1 file php đặt tên là baomat.php

    Code:
    ', $read_ip);
            $list_ip[] = $ip[1];
        }
        fclose($fopen_ip);
    if ( !in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){
            echo "
    "; exit(); } ?>
    - Bước 2: Tạo tiếp 1 file php đặt tên là themip.php
    Code:
    
    
    
    
    Kiểm tra IP
    
    
    
    ', $read_ip);
            $list_ip[] = $ip[1];
        }
        fclose($fopen_ip);
    if ( in_array($_SERVER['REMOTE_ADDR'], $list_ip) ){
            echo "
    IP của bạn đã được cập nhập sẵn.
    "; } else { if ($_POST[submit]) { if ($_POST[code] == "$pass") $_SESSION['code'] = "$pass"; } if (!$_SESSION['code'] || $_SESSION['code'] != "$pass") { echo "
    Code:
    "; exit; } $new_ip = $_SERVER['REMOTE_ADDR']; $fp = fopen($file_listip, "a+"); fputs ($fp, "$new_ip\n"); fclose($fp); echo "
    IP của bạn đã được cập nhập thành công.
    "; } ?>
    Đoạn này:
    Code:
    vnxf.vn
    là pass nhé các bạn thay tùy ý.

    - Bước 3:
    Tiếp tục mở Notepad lên rồi lưu lại với tên themip.txt

    - Bước 4: Mở file admin.php thêm đoạn code này
    Code:
    include("baomat.php");
    dưới dòng
    Bước 5: up tất cả lên host ngang hàng index
    * tác dụng của các file:

    Khi các bạn gõ đường dẫn: http://yoursitename/admin.php nó sẽ đọc lệnh:
    include("baomat.php"); trước và chạy file baomat.php, file baomat.php sẽ check trong file themip.txt xem có địa chỉ IP bạn trong đó không, nếu có thì nó sẽ chuyển bạn tới khung đăng nhập của admincp, nếu không có thì nó sẽ hiện trang trắng.

    Để thêm IP bạn chạy link: http://yoursite/themip.php

    và nhập pass vào ô code

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


    Nguồn: codientu.org​
     
    THB, phankt, 2-tek and 4 others like this.
  2. bui hung

    bui hung Thượng Đế

    Joined:
    May 16, 2016
    Messages:
    112
    Likes Received:
    76
    Trophy Points:
    28
    Gender:
    Male
    Location:
    da lat
    Home Page:
    bài viết hay vậy sao không có ai bình luận nhỉ
     
  3. bui hung

    bui hung Thượng Đế

    Joined:
    May 16, 2016
    Messages:
    112
    Likes Received:
    76
    Trophy Points:
    28
    Gender:
    Male
    Location:
    da lat
    Home Page:
    Phần 2: Tạo thêm 1 lần đăng nhập trước khi vào AdminCP.
    - Mở file admin.php (hoặc file mà bạn vừa đổi tên) thêm vào sau dòng Thêm đoạn này vào thì nó cứ hiện cái bảng đòi nhập pass nhập hoài không cho vào
    Phần 3: Tạo 1 file admin.php ảo để đánh lừa hacker.
    - Sau khi hoàn thành bước 1 file admin.php thật sẽ được thay đổi. Bạn có thể tạo ra 1 fileadmin.php ảo có nội dung như sau:
    Các bạn tải file đính kèm và sửa các code sau:

    Sao không thấy file đính kèm đâu PVS ơi
     
    Last edited: Jun 3, 2016
    THB likes this.
  4. 2-tek

    2-tek Thượng Đế

    Joined:
    Jun 27, 2015
    Messages:
    275
    Likes Received:
    214
    Trophy Points:
    43
    Gender:
    Male
    Occupation:
    Designer
    Location:
    HCMC
    Home Page:
    Khá hay, nhưng theo riêng mình thì chỉ cần chmod file config hoặc ZendPHP file config và đặt .htaccess trong folder attach là đủ rồi. Vì sao, vì khi bị hack chắc chắn hacker sẽ scan source + tìm erro log + scan sql inject cho dù bạn có dấu hay đổi tên config đi đâu chăng nữa vẫn tìm ra! Yes~~

    Hack chỉ tìm lổ hổng trong thư viên img php-gd thông qua attach file, bạn chỉ cần bảo mật hoặc fix phần attach là ổn! coffee~~
     
    THB likes this.
  5. phankt

    phankt Thượng Đế

    Joined:
    Aug 23, 2016
    Messages:
    114
    Likes Received:
    23
    Trophy Points:
    18
    Gender:
    Male
    Occupation:
    SEO Gà Mờ
    Location:
    hanoi
    Home Page:
    sao em tìm không thấy file config ở đâu để cấu hình nhỉ các bác
     
    THB likes this.
  6. GiaBao

    GiaBao Thượng Đế

    Joined:
    Jul 8, 2016
    Messages:
    24
    Likes Received:
    21
    Trophy Points:
    3
    không có file config.php không cấu hình thì web bạn chạy thế nào. hehe
     
    THB likes this.
  7. tri78

    tri78 Thượng Đế

    Joined:
    May 13, 2015
    Messages:
    306
    Likes Received:
    257
    Trophy Points:
    63
    Gender:
    Male
    Thấy bảo mật 2 lớp của Xenf hay đấy. Đang dùng, khá tiện lợi, nó cũng cung cấp mã dự phòng nữa. An tâm.
     
    THB likes this.
  8. phankt

    phankt Thượng Đế

    Joined:
    Aug 23, 2016
    Messages:
    114
    Likes Received:
    23
    Trophy Points:
    18
    Gender:
    Male
    Occupation:
    SEO Gà Mờ
    Location:
    hanoi
    Home Page:
    Bác có thể hướng dẫn cho mọi người được không ah
     
    THB likes this.
  9. THB

    THB Admin - Founder Staff Member

    Joined:
    Feb 25, 2015
    Messages:
    6,336
    Likes Received:
    3,550
    Trophy Points:
    113
    Gender:
    Male
    Occupation:
    CEO
    Location:
    Bình Dương
    Home Page:
    đây bạn; public_html/library/config.php
     
  10. phankt

    phankt Thượng Đế

    Joined:
    Aug 23, 2016
    Messages:
    114
    Likes Received:
    23
    Trophy Points:
    18
    Gender:
    Male
    Occupation:
    SEO Gà Mờ
    Location:
    hanoi
    Home Page:
    Phần này có phát sinh lỗi gì không khi mà em đăng nhập 2 lần ok. vào đến trang cài đặt add-on nó nó hiển thị một lần nữa.
    Nhập đúng pas và id nhưng không được..
    click vào hủy bỏ sau đó vào lại trang admin thì hệ thống báo rebuild.
    Sau khi rebuild thì add-on đó đã được cài vào.
    Như vậy là sao.. nếu người lạ muốn cài add-on vào không cần biết pas vẫn cài bình thường ah bác @PVS
    Đây có phải là lỗi hay là lỗ hổng của các cài đặt trên
     
  11. PVS

    PVS Cộng Sự Đặc Biệt Staff Member

    Joined:
    Feb 28, 2015
    Messages:
    11,779
    Likes Received:
    7,039
    Trophy Points:
    113
    Gender:
    Male
    Location:
    Huế
    Home Page:
    bạn dùng xen bao nhiêu
     
  12. tri78

    tri78 Thượng Đế

    Joined:
    May 13, 2015
    Messages:
    306
    Likes Received:
    257
    Trophy Points:
    63
    Gender:
    Male
    Bản nào cũng vậy thôi, người hướng dẫn thiếu 1 bước nào đó, nên khi gặp lỗi như trên thì đổi cái admin.php ở thanh địa chỉ thành tên file bạn đã làm, ví dụ admin.php bạn đã đổi thành abc.php thì gõ domain/abc.php/..... rồi enter nó sẽ cài tiếp.
     
  13. tuna

    tuna Thượng Đế

    Joined:
    Jan 30, 2017
    Messages:
    641
    Likes Received:
    246
    Trophy Points:
    43
    Gender:
    Male
    Nên dùng phương pháp nào các bác, nhiều quá ko biết đường nào lần :D
     
  14. tuna

    tuna Thượng Đế

    Joined:
    Jan 30, 2017
    Messages:
    641
    Likes Received:
    246
    Trophy Points:
    43
    Gender:
    Male
    chmod htaccess về 400 và 404 tất cả các link, vãi các bác :D
     
  15. Thiện Nguyễn

    Thiện Nguyễn Thượng Đế

    Joined:
    May 4, 2015
    Messages:
    41
    Likes Received:
    34
    Trophy Points:
    18
    Gender:
    Male
    Xin chào AE VNXF. Lâu ngày mới vào lại nên bổ sung bài này thêm 1 tí nhé :D

    Thông thường thay đổi tên trang Admin CP khi cài đặt add-on sẽ bị lỗi vì nó sẽ chuyển qua admin.php (cũ), vậy nên mọi người phải sửa thêm 1 bước nữa. Mọi người vào theo đường dẫn library => XenForo => ViewRenderer => rồi mở file HtmlAdmin.php, sau đó tìm admin.php và sửa thành tên mà bạn vừa đổi. Theo ví dụ của bạn đăng là abc.php.

    Xong. Hy vọng giúp ích cho mọi người.
     
    aviaiva likes this.

Share This Page