banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận bảo mật Giảm thiểu module cho apache  XML
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 11:13:53 (+0700) | #1 | 191760
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
Trong bài viết /hvaonline/posts/list/0/107.html#416, anh conmale có đề cập đến nguyên tắc "tối thiểu"
Tác giả chuộng nguyên tắc "tối thiểu" để giảm thiểu những lỗ hổng bảo mật có thể hiện diện trên một web server. Lý thuyết mà nói, nguyên tắc này đưa đến những ứng dụng và chỉnh định chặt chẽ hơn cho vấn đề bảo mật. 
vì lí do
Tất cả các modules khác của Apache phải được tắt bỏ. Chúng ta có thể tắt bỏ chúng một cách an toàn bởi vì chúng ta không cần đến chúng. Do tắt bỏ những modules không cần thiết, chúng ta tránh được trường hợp có thể bị đột phá khi những yếu điểm bảo mật vừa được khám phá thuộc về một trong những modules này.  

Nhưng trong mô hình mà anh Comale làm việc là FreeBSD (4.7) và Apache 1.3.x , còn tớ làm việc với mô hình Windows 2003, Apache 2, Web sever chạy PHP và dùng hệ quản trị cơ sở dữ liệu MySQL (tớ dùng gói XAMPP thay vì install từng phần) thì theo mọi người chúng ta nên tắt bỏ những module nào để có thể vừa đảm bảo nguyên tắc "tối thiểu" và vẫn có thể đảm bảo là Web Sever hoạt động được. (tớ xây dựng sever riêng để chạy forum vBB và chỉ có duy nhất một forum chạy trên sever)

Đây là tất cả các mod của apache có sẵn khi cài đặt:

Code:
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
#LoadModule authn_alias_module modules/mod_authn_alias.so
#LoadModule authn_anon_module modules/mod_authn_anon.so
#LoadModule authn_dbd_module modules/mod_authn_dbd.so
#LoadModule authn_dbm_module modules/mod_authn_dbm.so
LoadModule authn_default_module modules/mod_authn_default.so
LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule authz_dbm_module modules/mod_authz_dbm.so
LoadModule authz_default_module modules/mod_authz_default.so
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so
LoadModule authz_host_module modules/mod_authz_host.so
#LoadModule authz_owner_module modules/mod_authz_owner.so
LoadModule authz_user_module modules/mod_authz_user.so
##LoadModule autoindex_module modules/mod_autoindex.so # replaced with autoindex_color_module
#LoadModule bucketeer_module modules/mod_bucketeer.so
#LoadModule cache_module modules/mod_cache.so
#LoadModule case_filter_module modules/mod_case_filter.so
#LoadModule case_filter_in_module modules/mod_case_filter_in.so
#LoadModule cern_meta_module modules/mod_cern_meta.so
LoadModule cgi_module modules/mod_cgi.so
#LoadModule charset_lite_module modules/mod_charset_lite.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
#LoadModule dbd_module modules/mod_dbd.so
#LoadModule deflate_module modules/mod_deflate.so
LoadModule dir_module modules/mod_dir.so
#LoadModule disk_cache_module modules/mod_disk_cache.so
#LoadModule dumpio_module modules/mod_dumpio.so
#LoadModule echo_module modules/mod_echo.so
LoadModule env_module modules/mod_env.so
#LoadModule example_module modules/mod_example.so
#LoadModule expires_module modules/mod_expires.so
#LoadModule ext_filter_module modules/mod_ext_filter.so
#LoadModule file_cache_module modules/mod_file_cache.so
#LoadModule filter_module modules/mod_filter.so
LoadModule headers_module modules/mod_headers.so
#LoadModule ident_module modules/mod_ident.so
#LoadModule imagemap_module modules/mod_imagemap.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
#LoadModule ldap_module modules/mod_ldap.so
#LoadModule logio_module modules/mod_logio.so
LoadModule log_config_module modules/mod_log_config.so
#LoadModule log_forensic_module modules/mod_log_forensic.so
#LoadModule mem_cache_module modules/mod_mem_cache.so
LoadModule mime_module modules/mod_mime.so
#LoadModule mime_magic_module modules/mod_mime_magic.so
LoadModule negotiation_module modules/mod_negotiation.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule setenvif_module modules/mod_setenvif.so
#LoadModule speling_module modules/mod_speling.so
LoadModule ssl_module modules/mod_ssl.so
LoadModule status_module modules/mod_status.so
#LoadModule substitute_module modules/mod_substitute.so
#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule userdir_module modules/mod_userdir.so
#LoadModule usertrack_module modules/mod_usertrack.so
#LoadModule version_module modules/mod_version.so
#LoadModule vhost_alias_module modules/mod_vhost_alias.so


Theo anh conmale thì những module không thể thiếu là :

httpd_core: Chứa các chức năng cốt lõi của Apache, cần thiết cho bất cứ Apache nào.
mod_access: Cung cấp chế độ khiển tác dựa trên tên máy, địa chỉ IP, hoặc các tính chất yêu cầu thuộc về các clients. Bởi vì module này cần cho các chỉ phối (directive) "order", "allow" và "deny", nó cần được cho phép.
mod_auth: Cần thiết để ứng dụng vấn đề khai báo người dùng cho việc sử dụng các hồ sơ nguyên bản (khai báo căn bản cho HTTP), được chỉ định trong chức năng trù bị.
mod_dir: Cần thiết để tìm kiếm và phục vụ các hồ sơ thư mục: "index.html", "default.htm", v..v..
mod_log_config: Cần thiết để ứng hiệu báo cáo những yêu cầu thực hiện đến server.
mod_mime: Cần thiết để chỉnh lý nhóm chữ cái, mã hoá nội dung, tùy tác, ngôn ngữ nội dung và các loại MIME đại diện cho các loại tài liệu.  


Mời mọi người tham gia thảo luận để đưa ra biện pháp tốt nhất trong tình huốn của tớ, cám ơn mọi người rất nhiều smilie
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 12:32:12 (+0700) | #2 | 191767
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Đưa ra nguyên nhân cài đặt Apache trên nền FreeBSD và Windows rồi gán đó là tình huống là không hiện thực chút nào. Nói về việc giảm thiểu thì nền tảng hệ điều hành nào cũng như nhau, tình huống là mục đích sử dụng trong từng trường hợp cụ thể. Bồ không nói được nhu cầu của mình, nhưng lại muốn người khác đưa ra thảo luận "tốt nhất" cho bồ thì không ai có khả năng cả.
Việc dùng Apache trên nền Windows đã ít nhiều giảm thiểu đi khả năng hoạt động của Web Server này rồi. Theo ý kiến cá nhân, nếu đã sử dụng Windows thì bản thân Windows đã tối ưu để sử dụng IIS, tại sao không dùng mà phải dùng Apache?
Những module đã được cài đặt cùng Apache, dù cho bồ làm gì đi nữa, "comment" nó lại (#) thì vẫn tốn tài nguyên như thường. Bởi vì vậy những gói cài đặt all in one như XAMPP chỉ được khuyến khích khi dùng để kiểm thử.
Mỗi một module của apache đều có tài liệu riêng của nó ở Apache.org, phải hiểu được module nào đó được dùng để làm gì thì mới biết được nên dùng hay không?
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 13:13:58 (+0700) | #3 | 191768
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
Đưa ra nguyên nhân cài đặt Apache trên nền FreeBSD và Windows rồi gán đó là tình huống là không hiện thực chút nào 

Ý này của bạn tớ không hiểu rõ lắm, bạn có thể giải thích điểm "không hiện thực" ở đây được không? smilie
Nói về việc giảm thiểu thì nền tảng hệ điều hành nào cũng như nhau, tình huống là mục đích sử dụng trong từng trường hợp cụ thể. Bồ không nói được nhu cầu của mình, nhưng lại muốn người khác đưa ra thảo luận "tốt nhất" cho bồ thì không ai có khả năng cả.  

Mục đích sử dụng tớ đã trình bày rõ ở phần trên là: "tớ xây dựng sever riêng để chạy forum vBB và chỉ có duy nhất một forum chạy trên sever", điều đó có nghĩa là tớ dùng web sever này để chạy forum vBB.
Việc dùng Apache trên nền Windows đã ít nhiều giảm thiểu đi khả năng hoạt động của Web Server này rồi. 

Bạn giải thích kĩ một tí được không, tớ cũng nghe mọi người nói về việc này nhiều, nhưng mà "chỉ nghe" thôi, chưa thấy ai giải thích rõ ràng việc này cả, nên tớ cũng muốn tìm hiểu.
Theo ý kiến cá nhân, nếu đã sử dụng Windows thì bản thân Windows đã tối ưu để sử dụng IIS, tại sao không dùng mà phải dùng Apache?  

Tớ đang lập làm quen với Apache, sau khi hiểu rõ cơ bản tớ sẽ chuyển qua apache trên Linux sau smilie

Việc tớ dùng mô hình Windows 2003, Apache 2, Web sever chạy PHP và dùng hệ quản trị cơ sở dữ liệu MySQL (tớ dùng gói XAMPP thay vì install từng phần) là vì thứ nhất tớ chỉ mới có thể xây dựng Sever hoàn chỉnh trên nền Windows, còn trên nền Linux thì tớ không rành, kiến thức về Linux tớ không sâu rộng bằng mọi người, trước giờ tớ tìm hiểu về Windows nhiều hơn Linux, chỉ mới chuyển sang tìm hiểu về Linux trong một thời gian ngắn (khoảng hơn 1 năm).

Thứ 2 là vì tớ không muốn phải install từng phần nên mới install luôn một gói phần mềm vào cho tiện, lúc đầu tớ cũng tính dùng IIS + PHP nhưng sau đó suy nghĩ lại thì thấy dù sao một thời gian nữa tớ cũng chuyển qua config sever Linux, mà trên Linux không có IIS, chỉ có apache là thông dụng nên từ giờ tập làm quen cơ bản với apache. Khi chuyển môi trường sẽ có lợi hơn.

Nói thêm là với trình độ của tớ hiện nay ở mức không cao, nên không có đủ kiến thức để có thể tăng cường và áp dụng các biện pháp bảo mật trên sever linux được, nhưng ngược lại trên windows lại có sẵn một số "dụng cụ" cho phép làm việc này, và tớ chỉ việc dùng nó. Ví dụ như áp dụng obscurity vào trong sever thì trên Linux tớ hoàn toàn bó tay, nhưng nếu là trên windows thì tớ sẽ dùng SeverMask để fake thông tin Sever, ... hay là xây dựng tường lủa thì tớ dùng ISA có vẻ tốt hơn là IPCop hay là IPTable, .....
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 20:56:34 (+0700) | #4 | 191783
mR.Bi
Member

[Minus]    0    [Plus]
Joined: 22/03/2006 13:17:49
Messages: 812
Offline
[Profile] [PM] [WWW]
Sorry vì không đọc kĩ cái post đầu của bồ.
Sự khác nhau căn bản của Apache trên nền Windows và Apache trên nền Linux thì ở phần docs của Apache đã có nói rõ. Apache trên Windows sử dụng cơ chế Multithread, Apache sẽ sinh ra 2 processes chính, 1 parent process và 1 dùng để xử lí các requests. Theo cơ chế này, nếu process thứ 2 chết, thì phải đợi cho tới khi Apache sinh ra process kế tiếp thì "tất cả các request" mới có thể tiếp tục được phục vụ.

Trên Linux, nếu dùng Worker MPM lại khác. 1 parent process sinh ra nhiều processes con, mỗi process con lại có cơ chế multithread để xử lí các requests. Tất nhiên nếu một child process chết thì thì tất cả các threads của process này chết theo, nhưng trong lúc đó các requests vẫn được các processes đang tồn tại xử lí để chờ apache sinh ra process mới (thay cho child process bị chết).

Hơn nữa, theo ý kiến riêng thì bản thân Apache là được port từ Unix sang Windows, nên hiệu suất làm việc của Apache trên Windows không thể nào bằng Apache làm việc trên Linux được. Đã có nhiều tổ chức, cũng như các công ty làm các cuộc thử nghiệm hiểu suất làm việc của Apache trong 2 trường hợp cụ thể, nếu thích thú thì bồ có thể tham khảo cái link này:
_http://www.paessler.com/webstress/sample_performance_tests/comparing_php_script_performance_on_linux_and_windows
Nói về việc cài một phần gói Allinone để làm nên một Web Server hoàn chỉnh thì Linux hay WIndows đều có thể làm được, cứ yum hay apt-get hay emerge hết cả đám thì cũng giống như dùng XAMPP thôi. Và cũng xin nói rõ là nếu học "config server Linux" nhưng lại đi tìm hiểu Apache + PHP + mysql +....thì có vẻ kì cục quá, ngay cả trên Windows cũng vậy.
Nói thật thì nếu chỉ tập trung vào Apache thì không cần kiến thức gì nhiều về Linux cũng như Windows cả, vì đó chỉ là kiến thức của riêng Apache mà thôi. (Nếu như bồ không quan tâm nhiều đến TCP/IP stack, kernel optimization, quản lí memory, ngay cả chính cái VBB mà bồ đang dùng nữa).

Về việc thêm bớt module thì cũng như câu trả lời lúc đầu: Mỗi một module của apache đều có tài liệu riêng của nó ở Apache.org, phải hiểu được module nào đó được dùng để làm gì thì mới biết được nên dùng hay không?
All of my life I have lived by a code and the code is simple: "honour your parent, love your woman and defend your children"
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 21:55:46 (+0700) | #5 | 191790
mrro
Administrator

Joined: 27/12/2001 05:07:00
Messages: 745
Offline
[Profile] [PM]
lol mình thấy bạn mR.Bi trả lời 2 bài chỉ có một ý duy nhất: lên coi tài liệu của Apache đi.

thì bạn Mr.Kas kô biết nên mới hỏi, ít ra nếu bạn mR.Bi làm rồi thì cũng chỉ cho bạn Mr.Kas nên coi cái gì, chỗ nào hoặc tốt nhất là đưa ra danh sách mấy cái module nào là cần thiết để chạy PHP. thế mới gọi là giúp đỡ chứ hả?

chứ bằng không biết như mình, hoặc là lười không muốn trả lời, thì mình im, chứ không viết huề vốn làm gì.

@Mr.Kas: mình nhớ có một loạt bài trên SecurityFocus về đề tài này, có thể xem ở http://search.securityfocus.com/swsearch?query=artur+maj&sbm=infocus&submit=Search!&metaname=author&sort=swishrank.

-m
http://tinsang.net

TetCon 2013 http://tetcon.org

Làm an toàn thông tin thì học gì?/hvaonline/posts/list/42133.html
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 02/09/2009 22:00:54 (+0700) | #6 | 191791
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
@ mR.Bi :

Cám ơn cậu vì đã giải thích rất rõ ràng, smilie

Và cũng xin nói rõ là nếu học "config server Linux" nhưng lại đi tìm hiểu Apache + PHP + mysql +....thì có vẻ kì cục quá, ngay cả trên Windows cũng vậy. Nói thật thì nếu chỉ tập trung vào Apache thì không cần kiến thức gì nhiều về Linux cũng như Windows cả, vì đó chỉ là kiến thức của riêng Apache mà thôi. (Nếu như bồ không quan tâm nhiều đến TCP/IP stack, kernel optimization, quản lí memory, ngay cả chính cái VBB mà bồ đang dùng nữa). 


Tớ cũng biết config sever không chỉ là đi tìm hiểu Apache + PHP + mysql + ... mà còn phải tìm hiểu về hệ thống Windows (or Linux) để từ đó thể tối ưu hiệu suất làm việc và kiện toàn bảo mật cho sever đó, ví dụ như TCP/IP stack, kernel optimization, quản lí memory, ...(mà cậu đã đề cập ở trên) . Nhưng apache, mysql, php, ... cũng là những ứng dụng chạy trên sever, nên nếu config sever thì không thể bỏ qua việc cài đặt các ứng dụng này, thế nên tớ mới gộp chung vào việc tìm hiểu Apache + PHP + mysql + ... cũng là config sever smilie

Tớ cũng đang tìm tài liệu về các module của apache để xem xét và giảm thiểu, tớ mở chủ đề này là để những bạn nào có kinh nghiệm trong việc này thì giúp tớ nhanh hơn trong việc điều chỉnh apache. Thế nên chủ đề là loại "Thảoluận" thay vì "Hỏi đáp" smilie

@ mrro: Cám ơn cậu rất nhiều về cái link, đúng thứ tớ đang cần smilie
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 03/09/2009 04:28:01 (+0700) | #7 | 191802
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Loạt bài "Kiện toàn bảo mật Apache" là loạt bài tôi dịch từ nguyên bản tiếng Anh của Artur Maj. Trong đó tôi đưa vào phần "lời bàn và mở rộng" bởi vì bài viết của Artur Maj mang tính "step-by-step" hơn là phân tích chuyện lợi hại trong khi quyết định chọn lựa cách tiếp cận nào đó để bảo mật apache.

Một hướng khai triển rất hay mà Artur Maj đã chọn đó là: start from a blank page. Anh ta không dùng httpd.conf do apache cung cấp để điều chỉnh mà bắt đầu từ trang giấy trắng. Đây là chọn lựa rất khó khăn cho người chưa quen với apache nhưng nó lại giúp người quản lý apache phải tìm tòi, đọc tài liệu hướng dẫn của apache để thật sự hiểu vai trò và lý do tồn tại của mỗi descriptor, mỗi module... Từ đó mới có thể hình thành một cấu hình chính xác thỏa mãn nhu cầu và giảm thiểu sơ sót tối đa ---> nâng cao hiệu suất làm việc của apache và giảm thiểu lỗi bảo mật. Nói cho cùng, đây là tiêu điểm của bài viết mà Artur Maj muốn mang lại cho người đọc vậy.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 03/09/2009 10:31:56 (+0700) | #8 | 191817
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
Hì hì, anh conmale cũng tham gia vào topic này thì chắc là vui rồi smilie

Tình hình là qua 2 ngày tớ vẫn chưa có ý kiến nào rõ ràng chỉ ra nên turn off cái module nào và tớ vẫn đang tự tìm hiểu thôi. Mọi ý kiến các bạn đưa ra đều rất chung chung (trừ cái link của mrro có phần Apache 2 with SSL/TLS mà tớ đang xem là hay), còn như của mr.Bi thì trỏ cái link sang apache.org cũng khá là ... chung chung, dù rằng môi trường cài đặt và vận hành của apache tớ đã nêu rõ, đồng thời tớ cũng có nói rõ mục đích xây dựng sever và yêu cầu sever (cụ thể là chạy forum vBB hoặc phpBB).

Để tăng thêm tính thảo luận của topic này thì tớ xin khẳng định lại một lần nữa đó là "tớ không lười" và cái topic này cũng không phải là topic "hỏi đáp" smilie, điều đó có nghĩa là song song với việc mở topic này tớ cũng có tự tìm hiểu thêm tài liệu (cụ thể là đang tìm hiểu chức năng của từng module để giảm thiểu cho đúng), và vì vậy các bạn đừng bảo tớ sang apache.org để tìm tài liệu vì tớ có tìm và vẫn đang tìm hiểu. Tớ mở topic này để những bạn nào "có kinh nghiệm" hoặc từng điều chỉnh apache (như anh conmale) có thể giúp tớ để tớ "đẩy nhanh được tốc độ", và sau khi có ý kiến của mọi người thì tớ có thể tự tìm hiểu vấn đề "tại sao mọi người lại chọn như thế" hoặc là nhờ mọi người giải thích giúp nếu tớ tìm không ra. smilie Thế nên tớ mong mọi người tham gia topic với tính "thảo luận" nhiều hơn nữa, đó là đưa ra các lựa chọn cụ thể và các góp ý rõ ràng để tớ làm theo (vì tớ hơi kém). Thay vì bảo tớ đi tìm tài liệu smilie

Mọi kiến thức đều từ tài liệu, sách vở mà ra, thế nên để giải quyết những vấn đề này (và hơn 99% những vấn đề khác trên HVA đã từng nêu) đều có thể tham khảo tài liệu để từ đó rút ra biện pháp, nhưng lí do vãn tồn tại những thảo luận vì mọi người muốn đạt được mục đích nhanh hơn và họ sẽ tự tìm hiểu sau smilie Thế nên hy vọng là trong các bài thảo luận tiếp theo sẽ không có bạn nào nêu những mệnh đề hiển nhiên đúng ví dụ như là "hãy đi tìm tài liệu mà xem, tất cả mọi vấn đề có trong tài liệu cả rồi" smilie Hoặc nếu đưa link thì hãy đưa link nào có liên quan mật thiết với chủ để này (ví dụ link của mrro) thay vì đưa cả 1 website apache.org hay là cái link http://google.com.vn smilie Nếu vậy chắc cả đời tớ cũng không xem hết tài liệu của apache và cũng sẽ không thể nào giải quyết được vấn đề của tớ trong thời gian ngắn. (1 ~ 2 tuần) smilie

@ anh conmale: bản thân em thì không giỏi về việc điều chỉnh apache, và em cũng tự nhận thấy thế, vì vậy em sẽ không thể nào như tác giả của bài viết là "Anh ta không dùng httpd.conf do apache cung cấp để điều chỉnh mà bắt đầu từ trang giấy trắng", thay vào đó câu hỏi em muốn mọi người đưa ra câu trả lời để em tham khảo đó là :

Nếu mọi người ở trong trường hợp của tớ, cụ thể là "làm việc với mô hình Windows 2003, Apache 2, Web sever chạy PHP và dùng hệ quản trị cơ sở dữ liệu MySQL (tớ dùng gói XAMPP thay vì install từng phần), xây dựng sever riêng để chạy forum vBB và chỉ có duy nhất một forum chạy trên sever" thì mọi người sẽ lựa chọn việc tắc bỏ những module nào? và nếu có thể thì hãy nêu lí do vì sao lại thế để tớ và các bạn khác tham khảo.

@ all: hôm nay vẫn chưa làm được nên hơi rối, viết hơi dài dòng nên mọi người thông cảm khi xem nhé, tớ vẫn đang tiếp tục tìm tài liệu nhưng đường đi vẫn mù tịt quá. smilie
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 03/09/2009 15:55:20 (+0700) | #9 | 191851
[Avatar]
conmale
Administrator

Joined: 07/05/2004 23:43:15
Messages: 9353
Location: down under
Offline
[Profile] [PM]
Nếu bồ chỉ đơn thuần muốn tìm hiểu xem trong danh sách ở trên nên dùng module nào, nên bỏ module nào thì cách đơn giản nhất là mở trình duyệt ra và cứ theo thứ tự từ trên xuống dưới mà tìm. Giả sử 5 dòng đầu:

LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule auth_basic_module modules/mod_auth_basic.so
LoadModule auth_digest_module modules/mod_auth_digest.so
................

thì thử google "apache mod_actions"

rồi, "apache mod_alias", "apache mod_asis", "apache mod_auth_basic", "apache mod_auth_digest".... cứ theo đó mà tìm. Mỗi module tìm được thì viết xuống nội dung tính chất của từng module. Sau khi hoàn tất danh sách, thử xét em nhu cầu mình dùng apache ở đây là để chạy với cái gì? công nghệ nào? ngôn ngữ nào? rồi lượt bỏ từ từ ra. Đó là cách giữ nguyên cấu hình htttpd.conf và loạt bỏ những gì không cần.

Trang http://modules.apache.org/ cũng liệt kê gần như đầy đủ các modules dùng với apache. Không có ai có đủ thời gian để trả lời cặn kẽ từng module trong danh sách trên và giúp bồ quyết định nên chọn cái gì và bỏ cái gì. Nếu bồ muốn dùng php để chạy forum vBB chẳng hạn thì nên tập trung vào mod_php trước, hash (#) ra những module khác rồi restart lại apache. Apache đòi cái gì thì xem lại lý do tại sao nó đòi và mở nó ra lại.

Nói thêm, httpd apache là một software lớn và khá phức tạp về mặt cấu hình. Bởi thế, thời gian và công sức dành để hiểu nó và kiểm soát nó một cách vững vàng không thể là một hai bữa mà có thể là nhiều tháng, thậm chí nhiều năm. Có quá nhiều khía cạnh để thiết kế, chuẩn bị, đào sâu và để tối ưu nó. Bởi thế, nên kiên nhẫn và đi từng bước một.
What bringing us together is stronger than what pulling us apart.
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 03/09/2009 16:00:32 (+0700) | #10 | 191854
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
Sau khi làm phương pháp loại trừ, đó là tạm thời bỏ qua những cái module đang được tặt, em xem xét những cái module đang được bật xem cái nào nên tắt, rồi mới tìm hiểu đến mấy cái module đang bị tắt, xem nên bật cái nào lại. Và kết quả sau một hồi làm phương pháp loại trừ là còn lại các module:

Code:
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule status_module modules/mod_status.so


Giờ em đang phân tích từng cái, nhưng nhìn sơ qua thì cái mod_cgi có thể tắt được rồi, nếu cần thì dùng mod_perl. smilie
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 03/09/2009 22:05:22 (+0700) | #11 | 191894
[Avatar]
MrMe
Elite Member

[Minus]    0    [Plus]
Joined: 08/07/2006 13:01:01
Messages: 150
Offline
[Profile] [PM]

Mr.Kas wrote:
Sau khi làm phương pháp loại trừ, đó là tạm thời bỏ qua những cái module đang được tặt, em xem xét những cái module đang được bật xem cái nào nên tắt, rồi mới tìm hiểu đến mấy cái module đang bị tắt, xem nên bật cái nào lại. Và kết quả sau một hồi làm phương pháp loại trừ là còn lại các module:

Code:
LoadModule actions_module modules/mod_actions.so
LoadModule alias_module modules/mod_alias.so
LoadModule asis_module modules/mod_asis.so
LoadModule cgi_module modules/mod_cgi.so
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule env_module modules/mod_env.so
LoadModule headers_module modules/mod_headers.so
LoadModule include_module modules/mod_include.so
LoadModule info_module modules/mod_info.so
LoadModule isapi_module modules/mod_isapi.so
LoadModule negotiation_module modules/mod_negotiation.so
LoadModule setenvif_module modules/mod_setenvif.so
LoadModule status_module modules/mod_status.so


Giờ em đang phân tích từng cái, nhưng nhìn sơ qua thì cái mod_cgi có thể tắt được rồi, nếu cần thì dùng mod_perl. smilie 


Theo tớ các module sau có thể bỏ được
LoadModule alias_module modules/mod_alias.so mod này làm nhiệm vụ ánh xạ thư mục. Kas chỉ chạy 1 website thì không cần cái này. Cái này cũng có thể gay ra các nguy hại cho hệ thống ví dụ:
thư mục home ở /var/www/html đã được chmod kỹ nhưng trong apache lại có đoạn cấu hình
Code:
Alias /etc  "/etc"
#
# This is to permit url access to /etc/
#
<Directory "/etc">
    Options None
    AllowOverride None
   Order allow,deny
   Allow from all
</Directory>


LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so


DAV là module tớ cực kỳ ghét và chưa bao giờ dùng.
Xem trên apache.org công dụng của DAV nhé
http://httpd.apache.org/docs/2.0/mod/mod_dav.html
Code:
Summary
This module provides class 1 and class 2 WebDAV ('Web-based Distributed Authoring and Versioning') functionality for Apache. This extension to the HTTP protocol allows creating, moving, copying, and deleting resources and collections on a remote web server.


LoadModule headers_module modules/mod_headers.so
Để thay đổi header của web server cái này thì không cần thiết đâu. Thay có 1 lần load vào làm chi cho mệt server
Muốn đổi header thì cấu hình trực tiếp file server/core.c trong thư mục nguồn rồi build
thay đổi
Code:
if (ap_server_tokens == SrvTk_PRODUCT_ONLY) {
        ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT);
    }
    else if (ap_server_tokens == SrvTk_MINIMAL) {
        ap_add_version_component(pconf, AP_SERVER_BASEVERSION);
    }
    else if (ap_server_tokens == SrvTk_MINOR) {
        ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MINORREVISION);
    }
    else if (ap_server_tokens == SrvTk_MAJOR) {
        ap_add_version_component(pconf, AP_SERVER_BASEPRODUCT "/" AP_SERVER_MAJORVERSION);
    }
    else {
        ap_add_version_component(pconf, AP_SERVER_BASEVERSION " (" PLATFORM ")");
    }



LoadModule include_module modules/mod_include.so

Cái này để tự động thêm vào đầu hoặc cuối trang web dòng thông tin bào đó ví dụ như quảng cáo.
Các free hosting thường kèm theo cái này để quảng cáo. Host mình thì không cần thiết đâu.

LoadModule info_module modules/mod_info.so
LoadModule status_module modules/mod_status.so

Hai module này cũng không giúp ích gì nhiều nếu dùng để chạy dịch vụ. Dùng test thì cho vào để kiểm ta server tý thôi.
[Up] [Print Copy]
  [Discussion]   Giảm thiểu module cho apache 04/09/2009 05:07:30 (+0700) | #12 | 191905
[Avatar]
Mr.Kas
Member

[Minus]    0    [Plus]
Joined: 22/07/2009 14:36:56
Messages: 209
Offline
[Profile] [PM]
Ôi, cám ơn MrMe nhiều lắm, smilie Tờ vừa tắt bỏ xong các module mà cậu đã nói.

Giờ tớ đang xem xét tới những cái module đang được mặc định tắt thì nên bật lại cái nào smilie
Treo chuột, gác phím, cất modem, cắt NET. Lên núi luyện công chờ ngày trở lại ...
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|