Articles by "bảo mật"
Hiển thị các bài đăng có nhãn bảo mật. Hiển thị tất cả bài đăng
no image
thu thuat tin hoc, phan mem may tinh mien phi, tin tuc cong nghe thong tin, thu thuat dien thoai, share code free, share template free
Hôm rồi mình làm website cần phải set quyền cho một vài thư mục là 0777 để script xử lý ảnh. Vấn đề đặt ra là khi set quyền 0777 cho thư mục thì dễ bị hack local, upload shell script . Trường hợp này thường xảy ra khi bạn dùng hosting có Safe mode ON, các script xử lý thumbnail không thể ghi hình ảnh vào các thư mục .
Loanh quanh trên mạng tìm ra một đoạn code dùng .htaccess block các script chạy trong thư mục đặt nó và cả các thư mục con . Post lên đây chia sẻ với các bạn và lúc nào cần dùng thì lại vào lấy ra . 
     Trích:                              
                                   RewriteEngine On 
RewriteRule .(php|php3|php4|php5|phps|phtml|shtm|shtml|cgi|pl |pm|asp|cfm|jse|jsp|jar|py|exe|com|bat|dll|pif|scr |reg|inf|htaccess|txt|html|htm)$ - [F]                         
Dùng .htaccess bảo vệ file chống hack local 
Okie, hỗm rày thấy pà kon đưa ra cũng rất là nhiều cách bảo mật diễn đàn, nào là dấu index , nào là làm firewall cho admin.php v..v .. OG cũng nghiên cứu được 1 cách này... OG cảm thấy nó rất tiện .. Đơn giản, dễ hiểu... nên OG share idea này cho pà kon .. ai thích thì làm không thích cấm chưởi. 

Okie ... vào vấn đề chính.. IBF (hay bất cứ diễn đàn nào cũng vậy).. thường có 1 nguy cơ là bị localhack khá cao. 

LocalHack là sao? Nói đơn giản dễ hiểu là 2 người dùng chung 1 server(host) .. mà nếu host bảo mật kém thì chúng ta có thể lợi dụng nhược điểm này để read file conf của đối tượng (vì dùng chung server nên path có dạng giống nhau)...và lấy database info của đối tượng. 

Vậy thì chúng ta phải làm gì để phòng chống? Well, có thể nói là chúng ta có thể làm tất cả những gì trong khả năng của mình. Còn ngoài ra phải phụ thuộc vào Host nữa .. (nếu Host dỏm thì mình cũng pó tay thôi)... hix .. lại bắt đầu lạc đề nữa gòy.. hehe... sorry.. (ehhh.. cấm chưởi mà.. ) . 

Alright , OG sẽ hướng dẫn các bạn bảo vệ những cái OG nghĩ là chính và quan trọng. Nói thật sự ra OG chưa biết 1 tí gì về hack cả ..hehe... mà xâm mình chơi liều hướng dẫn luôn.. chịu chơi mà. 

IBF theo OG nghĩ thì có 2 files là chính.. nguy cơ bị hack ở 2 files này mà ra. 
1. admin.php (nếu bị đoạt quyền admin thì bạn biết chiện gì xảy ra rùi hen). 
2. conf_global.php (hacker thường hay dùng file này để lấy info database của mình và chỉnh sửa hoặc xóa database của mình). 

Vậy để bảo vệ chúng ta cần phải làm sao? 
#1. Trước tiên, bạn phải kiểm tra toàn bộ các folder trên host của bạn. Xem những folder nào có files .. nhưng không phải là file index chính ... ví dụ như những thư mục chứa file hình ảnh, nhạc, file cho downloads.. vân ..vân... xem xét những thư mục đó đã có file index chưa?? nếu chưa có thì làm 1 cái index.html với bất kì 1 nội dung gì và bỏ nó vào đó. 
-Giải thích: Làm vậy để làm chi? Làm như thế để USERS không thể browse thru các folders của bạn bằng trình duyệt. OG có dạo web rất nhiều lần thấy rất nhiều bạn không để file index vào các thư mục.. ngay cả thư mục root (vì làm forum nên quên root đi hay sao đó)...và có lần OG còn vào được cả phpmyadmin nữa.. nếu OG là người phá hoại thì chỉ cần 3 cái click chuột là thôi.. xong nay cái database đó rùi. 

#2 . Bảo vệ admin.php : Các bạn có thể hack Mod dấu file admin hoặc là delete nó hẳn luôn. Khi nào cần vào ACP thì up nó lên.(lưu ý, mỗi khi hack thêm mod mà có dính admin.php thì phải backup lại nhé). Tìm hiểu vấn đề này xin mời các bạn đọc bài Hide admin.php Mod. 

#3. Ở bài này OG muốn nhấn mạnh là cái phần này. Đó là dùng .htaccess để bảo vệ file conf_global.php. Tức là sao? nếu các bạn dùng Cpanel của host thì chắc các bạn cũng quen thuộc với cái màn login của nó chứ??? cái này giống như thế. 

Sau đây OG sẽ hướng dẫn các bạn cách làm. 
Cái này OG đọc được ở 1 site của mỹ , vì nó 1 ngày bị hack 2 lần nên nó mới mướn 1 tên làm cái này cho nó và nó đã hướng dẫn trong forum. 
Hướng dẫn nó bảo phải dùng telnet vào tạo .htaccess và.htpasswd ... nhưng nói cho các bạn biết ... telnet là gì OG cũng ko biết ... hehehe.. cho nên OG ngồi suy nghĩ mãi mới ra cái đường vòng này. (chuyên gia tìm đường vòng mà .. ) 

Rùi .. nhảm nhí nãy giờ đủ rùi... bây giờ xin đi đờ réc vào vấn đề. 
Thường thì trong Host của mình nó có 1 cái chức năng là bảo vệ 1 thư mục nào đó..chắc các bạn cũng biết...OK ..Cái mình cần ở đây là bảo vệ 1 file thôi.. không cần bảo vệ nguyên 1 thư mục ( vì nếu bảo vệ nguyên thư mục forum thì ai vào cũng cần phải có pass).... mà CPanel lại bảo vệ nguyên 1 thư mục.. (OG ko biết có bảo vệ 1 file được ko?) ... vậy thì làm sao đây??? Đừng lo... bạn cứ tạo 1 thư mục ra... lấy tên gì cũng được.. (hoặc nếu bạn muốn bảo vệ thư mục nào trong thư mục forum thì khỏi cần tạo.. ví dụ .. thư mục Music chẳng hạn). 

Sau đó bạn vào Cpanel .. và set chức năng bảo vệ cho thư mục vừa mới tạo ra.. OG ví dụ ở đây thư mục có tên là Virtual nhen. Set username và pass cho thư mục đó 
ví dụ : 
username = vietspace 
pass = tochathangnaohacktao 


.. xong ... Bạn dùng FTP log in vào host.. tìm đến thư mục Virtual (or thư mục nào đã set)... Bạn sẽ thấy có 1 file .htaccess ở trong đó.... ten ten.. ko biết dùng telnet thì phải làm như vầy thôi... Mở file .htaccess đó ra... (nếu mở trên host ko được thì down xuống máy). 

Mở ra các bạn sẽ thấy cái nội dung nó tương tự như vầy : 
Code: 
AuthType Basic 

AuthName "Protected" 

AuthUserFile "/home/path/tới/file/.htpasswds" 


require valid-user 
Okie .. mình không cần phải sửa cái gì trong file này cả.. cái mình cần ở đây là cái 
Code: 
/home/path/tới/file/.htpasswds 
Nó là đường dẫn tới file .htpasswd mình mới vừa set trong Cpanel. tức là cái password = tochathangnaohacktao đó. 

Rùi Copy cái dòng đó ra... để sang 1 bên... bây giờ bạn tạo 1 file .htaccess với nội dung như sau. 
Code: 
#/home/path/tới/thư mục/forum/.htaccess 
CODE

<FilesMatch "conf_global.php"> 
AuthName "Admin Only" 
AuthType Basic 
AuthUserFile /home/path/tới/file/.htpasswds 
require valid-user 
</FilesMatch>

#/home/path/tới/thư mục/forum/conf_global.php is protected 
#/home/path/tới/thư mục/forum/index.php and all others are NOT protected 
Cái dòng chữ màu đỏ là dòng mình copy từ file .htpasswds hùi nãy đó.. còn mấy dòng chữ in đậm thì bạn thay path cho nó đúng với path của forum của bạn.. 

Save nó thành .htaccess và up nó vào ngang hàng với index.php và admin.php (trong thư mục forum). 

Roài... dzị là bây giờ nếu ai access bằng IE vào file này thì nó sẽ đòi pass cũng như ai access vào thư mục Virtual . (forum vẫn hoạt động bình thường) 
Chỉ khi nào ai type vào ... htxp://yourdomain.com/forum/conf_global.php thì nó mới đòi pass (localhack đó). 

Demo : hxtp://www.janandcindy.com/~slavelo/VFC/conf_global.php 

Viết nhiều nhưng hông biết mọi người hiểu ko?? hehehe .. tui diễn tả tệ wá ha.. bởi vì tui ko có học ... telnet là cái wái gì tui cũng ko biết... hehehe.. nhưng tui được cái là kiếm đường vòng giỏi thôi.. ai rành về telnet thì chỉ thêm cho pà kon làm cách này nhen. 

Ngoài cách phòng chống ra chúng ta cũng phải thường xuyên update diễn đàn hoặc theo dõi trên IBP xem có security bugs gì mới ko mà update nó lên (SQL injection chẳng hạn).
no image
thu thuat tin hoc, phan mem may tinh mien phi, tin tuc cong nghe thong tin, thu thuat dien thoai, share code free, share template free
Ngày nay các ứng dụng web với mã nguồn mở phát triển rất mạnh, trong đó đặc biệt phổ biến là PHP – MySQL. Nhưng công nghệ phát triển đồng thời kéo theo những “tin tặc” trẻ luôn muốn khẳng định mình sau khi xem những hướng dẫn tấn công, khai thác lỗi đầy rẫy trên các forum hacker. Vì thế bất kì một website nào cũng có khả năng bị tấn công bất cứ lúc nào, đặc biệt là các site cá nhân, tập thể vừa và nhỏ sẽ chọn giải pháp là thuê shared hosting trên một server. Vì các shared hosting ở cùng server nên độ riêng tư không cao, việc kiên cố hoá website trên shared hosting là rất cần thiết.
1. Phân quyền hợp lí 
A. Tìm hiểu về chmod: 
Là sự phân quyền truy cập vào một file hay một folder đối với các lớp người dùng giống như các thuộc tính dùng lệnh attrib trong DOS. 
+ Các lớp người dùng gồm có: Owner – Group – World 
- Owner : người “sở hữu” host. 
- Group : là nhóm người dùng. 
- World : bất kì ai. 
+ Các quyền khi chmod: 
- Read : đọc (r = 4) 
- Write : ghi (w = 2) 
- Execute : thực thi (x = 1) 
VD: chmod 751 = rwxr-x–x 
+ Cách chmod: Ta có thể chmod file, folder bằng FTP hoặc cPanel. Sau đây là ví dụ dùng FTP (trong cPanel tương tự): 
- Dùng FTP client (ở đây tôi dùng FlashFXP) để connect FTP vào host. 
- Chuột phải lên các file, folder (giữ Ctrl và click để chọn nhiều file/folder rời rạc, hoặc Ctrl A để chọn hết), chọn CHMOD, ta sẽ có hộp thoại như hình: 
Nếu bạn muốn chmod thư mục và file khác nhau thì đánh dấu chọn Separately set File and Folder attributes. 
B. CHMOD thế nào để an toàn: 
Cách CHMOD tối ưu nhất : 
- chmod 404 (chỉ cho phép đọc) tất cả các file. 
- chmod 101 (chỉ cho thực thi) tất cả các folder. 
- chmod 501 thư mục /public_html/ 
Các cách chmod trên đều không cho write, do đó bố cục được bảo toàn, đồng thời không thể xem cấu trúc site, thư mục, file. Có thể nói đó là các chmod an toàn nhất mà ứng dụng web như diễn đàn, site nhạc, tin tức có thể hoạt động ổn định. Tuy nhiên không phải server nào cũng cho phép bạn chmod như vậy, nếu bạn dùng FTP không thể chmod được như vậy, thì hãy chmod như sau: 
- chmod 704 (chỉ cho phép đọc) tất cả các file. 
- chmod 701 (chỉ cho thực thi) tất cả các folder. 
Lưu ý: Phiên bản cPanel 11 có File Manager V3, có thể dùng để chmod hàng loạt rất tốt và có thể chmod được file 404, folder 101. 

2. “Ẩn mình” – Hide path 
Khi đăng kí hosting, domain chính thường được trỏ vào ngay trong thư mục /public_html/, điều này giúp “kẻ tấn công” dễ dàng mò đến file quan trọng của website (vd như file config.php của các forum chẳng hạn), và khi đó thông tin đăng nhập quản lí cơ sở dữ liệu của website đã bị kẻ xấu lấy mất. Điều tệ hại gì sẽ xảy ra ? 
Để khắc phục điểm này, ta nên yêu cầu bên cung cấp hosting tạo host không có domain (tên miền) chính và để ta tự gắn vào bằng chức năng add-on domain. Khi add domain sẽ có chỗ để bạn nhập đường dẫn đến thư mục mà domain sau khi gắn thành công sẽ trỏ vào như hình: 
VD: /public_html/foder1/folder2/folder3/forum/ 
Sau khi bạn bấm add các thư mục folder1, folder2, …, forum sẽ được tự động tạo ra. Và bây giờ bạn áp dụng cách chmod ở trên để chmod các thư mục folder1, folder2 … để giấu đường dẫn của site trên server. 

3. Không hiển thị lỗi nếu phát sinh 
Khi có lỗi phát sinh, PHP sẽ hiện thông báo ra trình duyệt và chỉ rõ lỗi ở file nào, dòng nào và đường dẫn của file, vì thế điều này rất nguy hiểm. Để che lỗi, bạn tạo một file php.ini với nội dung như sau: 
display_errors = Off 
log_errors = On 
Sau đó upload lên thư mục chứa website. Gợi ý: bạn nên up file php.ini trên vào các thư mục mà người dùng sẽ truy cập bằng trình duyệt, thường là thư mục chứa website, thư mục quản trị, thư mục của user … 
4. Bật safe-mode (chế độ an toàn) và vô hiệu các hàm nguy hiểm 
Thêm hoặc edit 2 dòng sau trong nội dung file php.ini 
1 disable_functions =  passthru, system, shell_exec, exec, dir, readfile, virtual,  2 proc_terminate    3 safe-mode = on  Lưu ý: bạn có thể bỏ bớt các hàm trong danh sách hàm bị vô hiệu nếu hàm đó cần cho website của bạn hoạt động. 

5. Phân quyền account truy cập cơ sở dữ liệu MySQL 
Khi bạn tạo user truy cập vào database, bạn cần lưu ý: 
- Không dùng user và pass của host làm user của database. 
- Không cấp quyền DROP như hình. 

6. Tránh chmod 777 cho folder/file 
Đôi khi bạn gặp một số yêu cầu chmod 777 cho file/folder để thực hiện công việc gì đó, bạn hãy chú ý chmod lại sau khi công việc đã được thực hiện xong. 
7. Mã hoá các file chứa thông tin nhạy cảm 
Các file nhạy cảm chứa các thông tin kết nối cơ sở dữ liệu như config.php với các kiểu mã hoá như base64 của PHP hoặc mã hoá dùng Phần mềm zendguard của www.zend.com. Nếu mã hoá base64 PHP thì các bạn có thể dùng google để tìm với từ khoá “base64 encode”. Mình xin giới thiệu một link để các bạn mã hoá base64 file php:http://dnstools.it-4vn.com/phpencode.php 
8. Ngăn download source code khi server gặp sự cố: 
Tạo file .htaccess nội dung như sau: 
1 <Files  "config.php">  2 Order Allow,Deny    3 Deny from All  4 </Files>    5 <Files  "class_core.php">  6 Order Allow,Deny    7 Deny from All  8 </Files>  Mục đích để ngăn cản việc download source code khi PHP bị overload hoặc terminated. Nguyên nhân có thể đến từ bên trong hoặc bên ngoài. Tôi không đề cập ở đây. 
9. Vô hiệu hoá biên dịch mã PHP trong thư mục chỉ định 
Nếu bạn có một thư mục dành cho việc upload, bạn nên vô hiệu hoá việc biên dịch và thực thi mã PHP trong thư mục ấy vì attacker có thể lợi dụng việc upload để đưa script độc (webshell) lên host của bạn. Tạo file .htaccess đặt vào thư mục đó với nội dung như sau: 
1 php_admin_flag engine  off  Sau đó chmod 444 cho file. 
10. Thường xuyên cập nhật vá lỗi cho website và đặt một mật khẩu quản trị tương đối kiên cố, liên hệ với nhà cung cấp dịch vụ để sửa lỗi. 
Lưu ý cuối cùng: 
- File php.ini mình đề cập ở trên chỉ có tác dụng tại thư mục chứa nó, các thư mục không chứa nó sẽ không bị nó chi phối mà sẽ bị cấu hình trong php.ini của server chi phối. 
- Các file php.ini và .htaccess nên chmod 444 để bảo vệ cấu hình.

no image
thu thuat tin hoc, phan mem may tinh mien phi, tin tuc cong nghe thong tin, thu thuat dien thoai, share code free, share template free
Sử dụng file .htaccess để tối ưu và bảo mật website của bạn hơn: bảo vệ các file quan trọng, giới hạn upload, chuyển hướng 301, trang lỗi tùy chỉnh, tắt liệt kê nội dung thư mục, nén nội dung...
Sử dụng file .htaccess để tối ưu và bảo mật website của bạn hơn: bảo vệ các file quan trọng, giới hạn upload, chuyển hướng 301, trang lỗi tùy chỉnh, tắt liệt kê nội dung thư mục, nén nội dung...
 
Chức năng: 
1. Bảo vệ tệp tin 
2. Tắt chữ ký số của web server 
3. Giới hạn upload 
5. Giới hạn quyền truy cập 
6. Trang lỗi tùy chỉnh 
7. Tắt liệt kê nội dung thư mục 
8. Chuyển hướng 301 
9. Chống ăn cắp băng thông như hình ảnh, video (bandwidth) 
10. Bật nén PHP compression (bandwidth) 
11. Thiết lập canonical url cho website
 

1.Bước 1, Tạo file .htaccess. 
Mở Notepad hoặc phần mềm text editor. Lưu và Đặt tên file htaccess.txt. 
2. Nhập nội dung vào file htaccess.txt. 

# Bảo vệ file file htaccess 
<files .htaccess> 
order allow,deny 
deny from all 
</files>
 
#Tắt chữ ký số của web server 
# disable the server signature 
ServerSignature Off
 
# limit file uploads to 10mb 
LimitRequestBody 10240000
 
# Bảo vệ file cấu hình config.php 
<files config.php> 
order allow,deny 
deny from all 
</files>
 
# Giới hạn truy cập, chặn IP 
order allow,deny 
#deny from 000.000.000.000 
allow from all
 
# Tạo Trang lỗi tùy chỉnh 
# custom error docs 
ErrorDocument 404 /notfound.php 
ErrorDocument 403 /forbidden.php 
ErrorDocument 500 /error.php
 
# Tắt liệt kê nội dung thư mục 
Options All -Indexes 
# Chuyển hướng 301 
Redirect 301 /old.php http://www.yourdomain.com/new.php 
# Khóa tên miền tham chiếu 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} digg.com [NC] 
RewriteRule .* - [F]
 
Chống ăn cắp băng thông 
#disable hotlinking of images with forbidden or custom image option 
RewriteEngine on 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC] 
#RewriteRule .(gif|jpg)$ - [F] 
#RewriteRule .(gif|jpg)$ http://www.yourdomain.com/stealingisbad.gif [R,L]
 
Nén file 
# php compression - use with caution 
<ifmodule mod_php4.c> 
php_value zlib.output_compression 16386 
</ifmodule>
 
Tránh trùng lặp nội dung 
# set the canonical url 
RewriteEngine On 
RewriteCond %{HTTP_HOST} ^yourdomain.com$ [NC] 
RewriteRule ^(.*)$ http://www.yourdomain.com/$1 [R=301,L]
 
# Chống spam comments 
RewriteEngine On 
RewriteCond %{REQUEST_METHOD} POST 
RewriteCond %{REQUEST_URI} .comments-post.php* 
RewriteCond %{HTTP_REFERER} !.*yourdomain.com.* [OR] 
RewriteCond %{HTTP_USER_AGENT} ^$ 
RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L]
 

3. Upload htaccess.txt lên server. 
Sử dụng ftp client (sử dụng ASCII mode) và đổi tên file là .htaccess. 
CHMOD file .htaccess sang 644.