Làm cách nào tôi có thể che khuất những gì tôi đang sử dụng để chạy trang web của mình?


72

Có bất cứ điều gì tôi có thể làm để ngăn ai đó biết trang web của tôi đang sử dụng Drupal bằng cách xem mã nguồn của trang nhất không? Tôi đang đề cập đến những người quét các trang web bằng phần mềm phát hiện phần mềm được sử dụng để chạy trang web để có thể tấn công nó bằng bất kỳ điểm yếu nào đã biết.

Nếu không thể che giấu hoàn toàn sự thật rằng trang web đang sử dụng Drupal, thì ít nhất có thể nhầm lẫn chúng (ví dụ: bằng cách đặt bí danh các trang nút với URL như http://example.com/servlets/<node-id>.jsp)?


76
Bạn không muốn giấu Drupal. Drupal là tuyệt vời.
Damien Tournoud

4
Làm thế nào về việc xóa tệp CHANGELOG.txt từ thư mục gốc để bắt đầu! Không nhưng nghiêm túc - nghe có vẻ như hoàn toàn lãng phí thời gian đối với tôi. Luôn cập nhật các bản cập nhật bảo mật và không cần phải che giấu sự thật rằng đó là Drupal. The Whitehouse có che giấu sự thật rằng họ đang sử dụng Drupal? Không, họ hét nó từ nóc nhà :)
Tom Kirkpatrick

10
Trong trường hợp này bảo mật thông qua che khuất không cung cấp bảo mật hơn.
Bryan Casler

3
Bạn có thể muốn đọc Cacking Drupal: một giọt nước trong thùng , đây là một chuyên luận tuyệt vời để bảo vệ trang web Drupal của bạn.
Mawg

2
Nếu bạn không nghĩ trường hợp sử dụng bảo mật cộng lại, thì đây là một giải pháp thay thế: bảo mật thương mại. Một doanh nghiệp có thể không muốn các đối thủ của mình có thể dễ dàng tìm ra trang web được xây dựng từ đâu. Hoặc, một cơ quan hoặc tư vấn có thể muốn giữ các đối thủ cạnh tranh trong bóng tối về phạm vi công cụ hiện tại mà nó đang sử dụng.
dùng568458

Câu trả lời:


53

Đây là một câu hỏi cũ và đã được trả lời, nhưng gần đây tôi đã nỗ lực viết ra một mô tả về tất cả những điều bạn sẽ cần thay đổi:

  • Xóa trình tạo meta cho Drupal 7
  • Xóa văn bản kể chuyện như CHANGELOG.txt
  • Kiểm tra tiêu đề hết hạn
  • Thư mục đi bộ cho mã trạng thái HTTP 200/404/403
  • Tìm tin nhắn văn bản mặc định - điều chỉnh tất cả các tin nhắn hướng tới người dùng
  • Nhìn vào HTML - html mặc định từ lõi và các mô-đun là một dấu hiệu nhận biết

Về cơ bản: về mặt kỹ thuật có thể che giấu sự thật rằng trang web của bạn chạy Drupal, nhưng bạn sẽ dành quá nhiều thời gian cho nó đến mức không đáng. Thay vào đó, bạn nên tập trung vào việc làm cho nó an toàn và vào các hoạt động an toàn (ví dụ: khả năng triển khai các bản cập nhật nhanh chóng, nhật ký giám sát, v.v.).


Bạn đã quên Drupalđối tượng JavaScript cần được đổi tên.
Mołot

@Molot điểm tốt. Điều đó có thể không? Bất kỳ con trỏ về làm thế nào để làm điều đó? Quan điểm của tôi là làm nó không có giá trị thời gian vì vậy thêm lời khuyên về cách làm nó chỉ hữu ích nếu nó phù hợp với quan điểm đó. Tôi hy vọng thật khó để làm những gì bạn đề cập :)
chào mừng

Chà, tôi đã thử nó với regex hàng loạt thay thế trên một thư mục Drupal và nó đã hoạt động ... nhưng tôi không tin nó thực sự tốt. Và nó f * @ # up với mỗi bản cập nhật mô-đun, tất nhiên.
Mołot

Chính xác. Nó không xứng đáng với thời gian của bạn. Tập trung vào những điều quan trọng hơn :)
chào đón

101

Bạn không thể che giấu nó hoàn toàn. Hầu hết những gì cần thiết để làm điều đó, sẽ yêu cầu hack lõi. Nói lớn nhất, là Drupalbiến JavaScript có thể đọc được từ trang trước hoặc bất kỳ trang nào cho vấn đề đó.

Nếu bạn muốn cải thiện bảo mật trang web của mình bằng cách ẩn rằng đó là trang Drupal, nỗ lực của bạn dành cho đánh giá mã tốt hơn là cố gắng che giấu sự thật rằng trang web được tạo bằng Drupal.


7
Đã đồng ý. Một sự cho đi đã chết khác là cấu trúc của các đường dẫn CSS / JS / hình ảnh.
Fuzzy76

2
Bạn cũng có thể truy cập /node/1và xem những gì xuất hiện hoặc kiểm tra các tiêu đề HTTP .
Paul Jones

39
Nếu bạn cố gắng che giấu trang web của mình bằng bảo mật thông qua che khuất, bạn sẽ lãng phí thời gian của mình.
Dave Reid

6
Đồng ý với tất cả những điều trên. Thêm vào đó, những người thực hiện so sánh CMS sẽ khó khăn hơn để xem có bao nhiêu trang web tuyệt vời đang chạy Drupal ;-)
ge Muffguy

Có liên quan đến những gì geummingguy đang nói là cuộc thảo luận chúng tôi đã có ở đây: Groups.drupal.org/node/113024#comments
coderintherye

42

Thật quá dễ để làm, kiam!

  • Sử dụng proxy ngược hoặc tùy chỉnh daemon http của bạn để lọc tiêu đề http Drupal gây phiền nhiễu
  • Từ chối truy cập http vào bất kỳ thư mục mặc định của Drupal
  • Sử dụng bộ đệm đầu ra PHP để viết lại và che khuất nguồn HTML của bạn, xóa dữ liệu không cần thiết
  • Sử dụng bí danh url hoặc custom_url_rewrite_in / outbound để làm cho URL của bạn trở nên lộn xộn
  • Thay đổi lỗi 404 mặc định, xóa / thay đổi update.php
  • Thực hiện bất kỳ thay đổi khác nếu ai đó phát hiện ra

Và cuối cùng nhưng không kém phần quan trọng, hãy đảm bảo rằng trang web của bạn đơn giản đến mức không yêu cầu JS hoặc CSS cho các hành vi thông thường (không sử dụng Chế độ xem hoặc Ctools ...), không hỗ trợ xác thực người dùng, v.v. điều đó có nghĩa là trang web của bạn nên đơn giản như một trang web html tĩnh.

Ok, tất cả những điều đó để khiến mọi người tin rằng trang web của bạn không chạy Drupal. Dù sao, an ninh bằng cách tối nghĩa là vô ích.


@jcisio "Dù sao đi nữa, bảo mật bằng cách che khuất là vô ích.", bạn nên thêm phần này vào đầu bình luận của bạn: P.
arpitr

@arpitr Mọi người khác làm điều đó, vì vậy tôi nghĩ rằng tôi không cần phải làm vậy;)
jcisio

34

Có một bài viết chính thức và thảo luận về cùng .

Bạn không thể. Không thử

  • Các cuộc tấn công tự động (cho đến nay là các cuộc tấn công phổ biến nhất) thậm chí không kiểm tra máy chủ trước khi thử khai thác .
    Kiểm tra nhật ký của bất kỳ trang web cao cấp nào sẽ hiển thị hàng ngàn yêu cầu không có kết quả /AspBB/db/betaboard.mdb _private/cmd.asp /scripts/../../winnt/system32/cmd.exe /wp-login/ /administrator/components/com_wmtgallery/admin.wmtgal, /cgi-bin/ip.cgi... và bất kỳ số lần thử khai thác lịch sử nào trên bất kỳ hệ thống không liên quan nào.
    Tấn công khai thác xảy ra ngay cả khi khai thác không tồn tại trên HĐH hoặc CMS của bạn. Bất cứ điều gì bạn làm để xác định sai trang web của bạn sẽ bị bỏ qua bởi các tin tặc nghiệp dư.
  • Bất cứ điều gì bạn nghĩ rằng bạn có thể che giấu, có những manh mối khác cho bất kỳ hệ thống nào.
    Chỉ cần xóa một số chuỗi có chứa 'drupal' sẽ không ngụy trang trang web của bạn với bất kỳ trình theo dõi hợp lý nào. Có hàng tá cách có thể được sử dụng để đoán những gì đang phục vụ các trang của bạn, thậm chí các dịch vụ chuyên dụng để nói rằng trang web đó có chạy Drupal không. Chỉ các từ khóa mà bạn nhận ra và nghĩ là một mối đe dọa là một tập hợp con nhỏ của các chỉ số thực.
    Yêu cầu index.php /? Q = người dùng. Sau đó cố gắng vô hiệu hóa phản hồi đó mà không làm tê liệt trang web của bạn.
  • Bảo mật bằng cách tối nghĩa là không có bảo mật. Nó mang lại một ấn tượng sai lầm về việc 'an toàn' khi bạn chỉ che giấu các lỗ hổng đằng sau màn hình khói mà bất kỳ kẻ tấn công nào gây ra bất kỳ mối đe dọa thực sự nào cũng có thể nhìn thấy.
  • Mặc dù không hoàn toàn không thể hack mã đến mức mà hầu hết các dấu vết của Drupal bị ẩn khỏi nguồn HTML, (Rốt cuộc là mã nguồn mở), các bước cần thiết để làm như vậy nhất thiết phải phá vỡ lõi đến mức nhánh mã bị hack của bạn sẽ không tương thích với các bản cập nhật bảo mật thực sự mà bạn không thể vá và thực sự sẽ mở cho bất kỳ mối đe dọa thực sự nào trong tương lai được xác định bởi nhóm bảo mật. Đây là một tuyến đường thực sự đến lỗ hổng hệ thống.
  • Hầu hết các mô-đun quan trọng hoặc hữu ích đều có mã 'chữ ký' của riêng chúng, rất khó để che giấu nếu không viết lại đáng kể. Nếu bạn đang sử dụng 'lượt xem', 'cck', 'quảng cáo', 'fantecache', 'jquery', tập hợp css, chủ đề đóng góp hoặc bất cứ điều gì hữu ích trên trang web của bạn - ai đó có thể nói . Ẩn rằng hoàn toàn thường sẽ yêu cầu chuyển đổi tổng số các chức năng chủ đề - ít nhất là. Ngay cả sau đó, obsfucation có thể sẽ không hoạt động .
  • Để xóa nhận dạng của nhiều tính năng nâng cao, như cài đặt Google Analytics dễ dàng có thể sử dụng Thư viện Drupal để hoạt động, bạn nhất thiết phải từ bỏ các tính năng đó hoàn toàn hoặc viết lại chúng theo cách không tận dụng cơ sở hạ tầng Drupal . Đôi khi điều này là có thể, nhưng trong mọi trường hợp nó là phản tác dụng.

Bạn có thể quan tâm đến việc đọc Bảo mật trang web của bạn quá.

Nhớ Không bao giờ hack lõi


Mặc dù tôi đồng ý với điều này, tôi nghĩ rằng ngay cả khi là tuyến phòng thủ đầu tiên, loại bỏ các tiêu đề đề cập đến PHP và Drupal là một việc nên làm, cũng như không cho phép truy cập vào bất kỳ tập lệnh php không chỉ mục nào. Không, tất nhiên mọi người sẽ luôn tìm cách phát hiện ra bạn đang chạy Drupal và nghĩ rằng bạn có thể che giấu điều đó thật ngớ ngẩn. Nhưng không có hại gì trong việc khiến cuộc sống trở nên khó khăn hơn một chút đối với những hacker khó tính nhất.
Matt Fletcher

1

Không có điểm nào để che giấu rằng trang web của bạn chạy Drupal. Đó là cách sai lầm để xem xét phát triển trang web. Những gì bạn nên tập trung vào là bảo mật. Hãy chắc chắn rằng bạn thực hiện tất cả các biện pháp chứng khoán và mọi thứ sẽ ổn. Không có một lý do nào trên thế giới để che giấu rằng bạn đang sử dụng một cms hoặc phần mềm khác. Với các addon FF như Wappalyzer, bạn có thể biết ngay nếu một trang web sử dụng Drupal, vì vậy câu hỏi khá hay.


1

Một điều nữa bạn có thể làm là sử dụng mô-đun File Aliases để thay đổi cấu trúc tệp mặc định.

Các tập tin bí danh mô-đun cho phép bạn sử dụng bí danh tùy dấu hiệu cho các tập tin tải lên của bạn, đem lại cho bạn khả năng để giữ cho hệ thống tập tin của bạn được tổ chức theo thường lệ trong khi cung cấp đường dẫn tìm sạch (tức là, không còn phải / sites / default / files /).


1
Và? Điều đó sửa chữa một phần nhỏ của quá trình và thậm chí có thể không phải là phần quan trọng nhất.
chào mừng

1
Tôi không muốn nhắc lại một lần nữa câu trả lời đúng của những người ở trên. Tôi chỉ thêm một mẹo nữa. Và vâng, mẹo này rất quan trọng, bởi vì nó khó thực hiện nhất cho đến bây giờ và thường là cách duy nhất để hiểu một trang web là drupal, vì thông thường quản trị trang web thực hiện các bước thông thường ngoại trừ việc này. Và vâng, rất dễ hiểu rằng đó là một trang web drupal chỉ vì cấu trúc tệp / tổ chức thư mục này.
John

1

Tôi đồng ý với những người khác rằng bạn không thể che giấu nó hoàn toàn. Nếu bạn nhìn vào nguồn HTML, bạn sẽ nhận thấy rằng nhiều lần các tệp CSS và JavaScript chưa được tổng hợp. Tổng hợp CSS và JavaScript nên được kích hoạt.


0

Trước đây, tôi đã trao đổi phông chữ của mình cho các phông chữ dự án Ruby điển hình như Lucida Sans, cũng tăng kích thước đầu vào như tất cả những đứa trẻ hông làm.

Một sự cho đi khác là đồ họa "throbber" cho các trường tự động hoàn thành. Nó cũng không hoạt động khi bạn tăng kích thước đầu vào. Đây là một thứ bạn có thể ăn cắp: http : // beta.seatussybedandb ERIC.com/misc/throbber.gif

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.