it-swarm-vi.com

Làm thế nào an toàn để cài đặt XAMPP trên máy tính ở nhà của tôi để kiểm tra PHP?

Tôi muốn kiểm tra một số PHP và tôi nghĩ cách tốt nhất là cài đặt XAMPP - nhưng tôi lo lắng về việc cài đặt phần mềm máy chủ trên máy tính ở nhà.

Nói chung có an toàn không khi cài đặt XAMPP (do tôi chưa từng làm điều đó trước đây và không có nhiều kinh nghiệm về bảo mật máy chủ)? Tôi cần phải nhận thức được gì? Ngoài ra, có cách nào an toàn hơn để kiểm tra PHP không?

18
Frost

Apache và MySQL có thể được cấu hình sao cho chúng chỉ lắng nghe yêu cầu từ máy tính của bạn. Đối với hầu hết các hệ thống kiểm tra, điều này là tốt và nó giảm đáng kể rủi ro vì các dịch vụ không thể truy cập được từ Internet.

Trước khi bạn bắt đầu XAMPP lần đầu tiên hãy tìm và chỉnh sửa các tệp này:

Dành cho Apache chỉnh sửa các tệp xampp\Apache\conf\httpd.conf và xampp\Apache\conf\Extra\httpd-ssl.conf. Tìm các dòng bắt đầu bằng "Nghe", chẳng hạn như

Listen 80

và thay thế chúng bằng

Listen 127.0.0.1:80

Đối với MySQL mở tệp xampp\mysql\bin\my.cnf tìm phần "[mysqld]" và thêm dòng này

bind-address=localhost

Sau khi bắt đầu dịch vụ, xác minh kết quả bằng cách vào cửa sổ lệnh và bắt đầu và thực hiện:

netstat -a -n

Đối với các mục được đánh dấu là LISTEN trong cột cuối cùng, hãy xem cột Nghe. Nó phải luôn bắt đầu bằng 127.0.0.1 hoặc :: 1 nhưng không bắt đầu bằng 0.0.0.0.

22
Hendrik Brummermann

XAMPP có một hồ sơ theo dõi rất kém. Có các lỗ hổng thực thi mã từ xa có thể khai thác thông qua CSRF được biết và chưa được vá. . Đối số truy cập là kẻ tấn công sẽ phải biết rằng bạn đang chạy XAMPP. Bản cài đặt PHPMyAdmin của họ luôn lỗi thời và có những khai thác khó chịu cũng ảnh hưởng đến dự án này.

Đề nghị của tôi là sử dụng Ubuntu trên VM. Quá trình cài đặt LAMP của Ubuntu dễ dàng hơn XAMPP và an toàn về mặt pháp lý. Chỉ cần chạy Sudo tasksel hoặc chọn gói LAMP khi bạn cài đặt nó.

5
rook

Tuyên bố miễn trừ trách nhiệm: Tôi là nhà phát triển XAMPP.

Cài đặt XAMPP trong máy cục bộ của bạn là an toàn. Bạn thường được kết nối với internet thông qua bộ định tuyến nên không thể truy cập cài đặt hiện tại của bạn.

Ngoài ra XAMPP gửi một phần "Làm cách nào tôi có thể làm cho cài đặt XAMPP của tôi an toàn hơn?" nơi bạn có thể làm theo hướng dẫn đó để thay đổi mật khẩu gốc của MySQL, vô hiệu hóa các dịch vụ bạn không sử dụng, v.v.

Gần đây XAMPP đã vô hiệu hóa Bảng điều khiển XAMPP dựa trên PHP và chúng tôi đã bao gồm các hướng dẫn html tĩnh. Bất kỳ vấn đề nào liên quan đến CSFR hoặc liên quan đến bảng điều khiển này đều không tồn tại.

XAMPP cũng tính đến các vấn đề bảo mật mới nhất. Bạn có thể kiểm tra blog để xem chúng tôi đã phát hành phiên bản mới càng sớm càng tốt.

5
user93088

XAMPP không bao giờ được sử dụng trong môi trường sản xuất và khóa chặt và thực hiện các bước để bảo mật nó trên máy phát triển, bao gồm mọi bản nâng cấp hoặc bản vá bảo mật từ các nhà cung cấp phần mềm gốc (PHP, Apache, MySQL, v.v.).

Nếu bạn chọn cài đặt XAMPP, hãy đảm bảo rằng nó chỉ cho phép các kết nối từ địa chỉ loopback. Bạn nên xác minh điều này cho Apache, MySQL và bất kỳ dịch vụ nào khác mà bạn thiết lập cho XAMPP. Như thể bạn có thứ gì đó có thể được truy cập nội bộ từ mạng LAN và có người khác trong mạng của bạn vô tình hoặc vô tình họ có thể sử dụng khai thác để có quyền truy cập vào máy của bạn và gây thiệt hại.

1
ITOps

Vậy, ý nghĩa chính xác của bạn là gì bởi "an toàn"?

  1. Bạn có liên quan đến bảo mật dữ liệu hoặc quyền riêng tư? (tức là những người khác có thể hack vào máy tính của bạn thông qua các ứng dụng máy chủ và xem/kiểm soát dữ liệu cục bộ của bạn)?
  2. Hay bạn đang lo lắng về mã php của bạn hoặc phần mềm sẽ làm hỏng máy tính của bạn?

Đối với 1), thông thường không thể có quyền truy cập vào máy tính của bạn từ xa nếu bạn có hệ điều hành được cấu hình tốt. Trong hầu hết các trường hợp, môi trường mạng cục bộ của bạn được bảo vệ bởi NAT, tường lửa và các kỹ thuật khác như chính sách IP động. Apache cũng có thể được cấu hình để chỉ chấp nhận các lượt truy cập cục bộ như @HendrikBrummermann chỉ ra.

Đối với 2), chỉ cần cố gắng viết mã mạnh mẽ và đó là tất cả những gì tôi có thể đề xuất. Apache và MySQL là những ứng dụng máy chủ rất nhẹ. Bạn chỉ đang thực hiện kiểm tra cục bộ, do đó, thường không nên có sự buôn bán dữ liệu nặng hoặc chi phí điện toán cao có thể làm giảm hệ thống của bạn.

0
shuangwhywhy

một cách an toàn hơn để kiểm tra mã của bạn. Bạn có thể - và có thể phải - cài đặt phần mềm máy chủ của mình, bất cứ thứ gì có thể (từ XAMPP/WAMP trong Windows đến Ubuntu Server), trong máy ảo . Nó không đáng sợ như lúc đầu, mặc dù nó có thể quá mức nếu tất cả những gì bạn đang làm là phát triển mã của riêng bạn.

A VM trình tự sắp xếp hiệu quả bất cứ điều gì xảy ra với máy chủ của bạn ( khách ) từ việc truyền sang máy tính gia đình của bạn chạy máy ảo (Máy chủ ). Hãy tưởng tượng bạn có quyền được cấu hình không đúng và tập lệnh bạn đang kiểm tra thực thi một system('rm -Rf some_dir'). Không có vấn đề! Hoàn nguyên VM thành ảnh chụp nhanh mới nhất và bạn đi. Bạn thậm chí có thể tìm khác biệt các ảnh chụp nhanh để xem những gì đã thay đổi.

Ngoài ra, bộ điều hợp mạng trên my VM của NAT lựa chọn VM, buộc bạn phải định cấu hình thủ công chuyển tiếp cổng cho VM để truy cập nó, chứ đừng nói đến việc phát hiện ra điều đó nó có tồn tại.

Thử nghiệm trong a VM cũng giảm thiểu rủi ro rò rỉ dữ liệu thông qua phần mềm độc hại. Cá nhân tôi rất lo lắng rằng một ứng dụng mà tôi đang thử nghiệm sẽ xóa một cái gì đó độc hại hơn tôi sẽ âm thầm đánh cắp nó và tải nó lên một nơi nào đó. Máy chủ của bạn sẽ ẩn với các ứng dụng chạy trong VM của bạn.

Cá nhân tôi là một phần của VirtualBox của Oracle ; Nó hoàn toàn miễn phí, có đủ các tính năng để giữ cho tôi quan tâm và rất đơn giản để sử dụng. Các máy ảo cũng có thể mang theo: bạn có thể sao chép tệp máy ảo vào ổ USB và mang nó đi làm.

Nếu bạn đã từng thực hiện kiểm tra phần mềm rủi ro dưới bất kỳ hình thức nào, tôi khuyên bạn nên học cách sử dụng máy ảo và kiểm tra trong đó: đó là một kỹ năng rất hữu ích để có trong vành đai công cụ của bạn.

0
msanford