Tăng cường bảo mật php
Để dễ sử dụng, bạn có thể chỉnh sửa tệp plugin và chủ đề trực tiếp từ bảng điều khiển WordPress của mình – nhưng điều này cũng có thể khiến trang web của bạn dễ bị khách truy cập độc hại tấn công. Đây là cách sử dụng plugin Sucuri Security để bảo vệ trang web của bạn bằng cách tắt trình chỉnh sửa tệp khi không cần thiết Show
Cần thiết. Bạn phải cài đặt plugin Sucuri Security trước khi làm theo các bước sau
Ghi chú. Nếu bạn không thể áp dụng hoặc hoàn nguyên cài đặt cứng cho tính năng này, nó có thể đã được xử lý bởi nền tảng lưu trữ của bạn Không có gì phải bàn cãi khi PHP là một trong những ngôn ngữ lập trình kịch bản máy chủ được sử dụng nhiều nhất. Thật hợp lý khi kẻ tấn công tìm ra nhiều cách khác nhau để hắn có thể thao túng PHP vì nó thường được ghép nối với MySQL và cho phép truy cập vào dữ liệu riêng tư của người dùng của bạn Bằng mọi cách, chúng tôi không khẳng định PHP dễ bị tổn thương hoặc có một số vấn đề nghiêm trọng theo mặc định nhưng chúng tôi phải đảm bảo rằng chúng tôi đã tinh chỉnh PHP theo cách để nó có thể mạnh mẽ hơn bao giờ hết 1. Xóa các mô-đun PHP không cần thiếtTheo mặc định, bạn nhận được một tập hợp các mô-đun PHP có thể hữu ích trong các tác vụ khác nhau nhưng một số mô-đun không cần thiết có thể không hữu ích cho từng dự án. Để liệt kê các mô-đun PHP có sẵn, hãy sử dụng lệnh đã cho $ php -mLiệt kê các mô-đun PHP Các mô-đun được đặt tại thư mục $ ls6 và có thể dễ dàng thay đổi thư mục hiện tại của chúng tôi thành /etc/php. d/ bằng cách sử dụng lệnh cd sau cd /etc/php.d/ Lý do tại sao chúng tôi thay đổi thư mục để loại bỏ các mô-đun là các mô-đun được đặt tên hoàn toàn khác trong thư mục gốc. Bây giờ, liệt kê các mô-đun có sẵn bằng lệnh đã cho $ lsKiểm tra các mô-đun PHP Ví dụ: hãy xóa mô-đun curl bằng cách sử dụng lệnh đã cho $ sudo rm -r 20-curl.ini 2. Vô hiệu hóa thực thi mã PHP từ xaTrong hầu hết các trường hợp, không thể tin cậy các kết nối từ xa. Bằng cách vô hiệu hóa quyền truy cập vào trình bao bọc fopen, họ chỉ có thể truy cập các tệp cục bộ. Để tắt fopen, chúng ta cần mở tệp cấu hình PHP bằng cách sử dụng lệnh đã cho $ sudo nano /etc/php.ini Bây giờ, hãy sử dụng $ ls7 và nhập $ ls8 sẽ đưa chúng tôi đến các dòng cụ thể từ đó chúng tôi sẽ tắt các tùy chọn đó allow_url_fopen=Off allow_url_include=OffTắt thực thi mã PHP từ xa Khi bạn đã hoàn tất các thay đổi, hãy lưu tệp cấu hình trước $ ls9 và nhấn Enter 3. Vô hiệu hóa rò rỉ thông tin PHPKhi không bị tắt, thế giới có thể dễ dàng xác định phiên bản PHP nào hiện đang được máy chủ web của chúng tôi sử dụng. Điều này nghe có vẻ không phải là vấn đề lớn nhưng để kẻ tấn công biết phiên bản chính xác có thể nguy hiểm $ sudo nano /etc/php.ini Bây giờ, thay đổi mặc định thành $ sudo rm -r 20-curl.ini0 $ ls2Tắt rò rỉ thông tin PHP 4. Vô hiệu hóa nhật ký lỗi PHPTheo mặc định, mọi lỗi của máy chủ web của chúng tôi đều hiển thị với khách truy cập, bao gồm cả những kẻ tấn công. Để đảm bảo rằng không có lỗi nào hiển thị với bất kỳ ai, chúng tôi phải thực hiện các thay đổi trong tệp cấu hình PHP của mình $ sudo nano /etc/php.ini Và thay đổi cài đặt mặc định hiển thị nhật ký lỗi thành $ sudo rm -r 20-curl.ini0 $ ls5Tắt nhật ký lỗi PHP Nhưng nếu bạn là nhà phát triển và cần có nhật ký lỗi để khắc phục các sự cố phát triển thì sao? Chúng tôi chỉ cần kích hoạt log_errors và cung cấp đường dẫn đến error_log nơi các tệp nhật ký của chúng tôi sẽ được lưu trữ cd /etc/php.d/0Bật nhật ký lỗi trong PHP 5. Kiểm soát tài nguyên PHPTheo chúng tôi, quản lý tài nguyên là phần quan trọng nhất khi bảo mật PHP. Ở đây, chúng tôi sẽ phân bổ một lượng thời gian thực thi, thời gian đầu vào và giới hạn bộ nhớ cố định, vì vậy nếu bằng cách nào đó, tập lệnh của chúng tôi bị xâm phạm, quá trình thực thi sẽ bị dừng sau một thời gian nhất định Chúng tôi đã chọn 25 giây cho thời gian thực hiện và đầu vào và 30 MB giới hạn bộ nhớ. Chắc chắn bạn có thể tùy chỉnh nó theo nhu cầu của bạn cd /etc/php.d/1Kiểm soát tài nguyên PHP 6. Hạn chế quyền truy cập tệp PHPĐể hạn chế quyền truy cập tệp, chúng tôi sẽ bật $ sudo rm -r 20-curl.ini2 để đảm bảo rằng PHP chỉ có thể bao gồm các tệp từ các thư mục được liệt kê của chúng tôi Quan trọng. Điều này sẽ chặn danh sách tất cả các thư mục khác và yêu cầu chúng tôi thêm các thư mục quan trọng theo cách thủ công, bao gồm cả việc thêm các tệp tạm thời và thư mục phiên cd /etc/php.d/2Kiểm soát quyền truy cập tệp PHP 7. Định cấu hình tải lên tệp PHPNếu ứng dụng của bạn không yêu cầu tải tệp lên từ phía người dùng, bạn nên tắt tính năng tải tệp lên. Điều này ngăn những kẻ tấn công tải lên các tập lệnh nguy hiểm mà cuối cùng có thể làm hỏng toàn bộ ứng dụng cd /etc/php.d/3 Nhưng nếu ứng dụng của bạn được thiết kế để lấy tệp từ phía người dùng thì sao? cd /etc/php.d/4Kiểm soát tải lên tệp PHP Trong PHP, theo mặc định, các tệp tạm thời được đặt trong một thư mục mà tất cả người dùng hệ thống có thể ghi. Vị trí mặc định phải được chuyển sang một nơi an toàn hơn và đảm bảo rằng nó không nằm trong thư mục gốc của web Vì chúng tôi đã sử dụng open_basedir, chúng tôi sẽ sử dụng cùng một vị trí như chúng tôi đã đưa vào danh sách trắng cd /etc/php.d/5 8. Vô hiệu hóa các chức năng PHP nguy hiểmPHP có nhiều chức năng khác nhau được bật theo mặc định và có thể hữu ích cho mục đích phát triển. Tuy nhiên, nhiều chức năng có thể bị tin tặc sử dụng để khai thác máy chủ web của chúng tôi và việc vô hiệu hóa chúng sẽ tạo thêm một lớp bảo mật Chúng tôi có một bộ chức năng bị vô hiệu hóa và đảm bảo kiểm tra chéo chúng trước khi thay đổi tệp cấu hình cd /etc/php.d/6Tắt các hàm PHP không mong muốn 9. Thay đổi thư mục bộ đệm SOAPKhi chúng tôi thay đổi phiên và thư mục tạm thời mặc định, điều tương tự cũng áp dụng cho bộ đệm SOAP vì nó không nên được lưu vào thư mục mặc định. Hãy chắc chắn rằng nó được lưu vào một nơi an toàn cd /etc/php.d/7Thay đổi thư mục bộ đệm SOAP 10. Kiểm soát kích thước POST PHPBằng cách kiểm soát kích thước POST, chúng tôi có thể bảo mật máy chủ của mình khỏi tin tặc đang cố gắng làm tắc nghẽn tài nguyên máy chủ bằng cách gửi các tệp lớn. Điều này giúp chúng tôi tránh khỏi sự cố máy chủ không mong muốn và thời gian phản hồi chậm cd /etc/php.d/8Giới hạn kích thước POST PHP 11. Bảo vệ cấu hình PHPTrong khi xóa các tệp không cần thiết, chúng tôi thường xóa một số tệp quan trọng hoặc thậm chí cả thư mục. Vì vậy, chúng tôi phải tinh chỉnh cài đặt theo cách mà ngay cả người dùng root cũng không thể xóa chúng. Để tạo tệp và thư mục, chúng tôi sẽ sử dụng chattr với các cờ khác nhau Khi bạn sử dụng lệnh đã cho, bạn không thể sửa đổi hoặc xóa một tệp cụ thể nữa cd /etc/php.d/9 Trong khi cố gắng xóa một tệp không thể thay đổi, nó sẽ hiển thị lỗi cho biết “Thao tác không được phép” $ ls0Lỗi hoạt động không được phép Nhưng nếu bạn muốn tiếp tục viết các tệp đó trong khi làm cho chúng không thay đổi thì sao? $ ls1 Có thể có một số trường hợp bạn không cần tệp cấu hình cũ nữa và trong trường hợp đó, chúng tôi phải hủy đặt thuộc tính $ ls2 Tương tự, nếu bạn đã sử dụng thuộc tính $ sudo rm -r 20-curl.ini3 trong quá trình tạo tệp không thay đổi, bạn có thể đảo ngược nó bằng cách sử dụng lệnh đã cho $ ls3 12. Sử dụng chứng chỉ SSL cho HTTPSNgày nay, mọi trình duyệt hiện đại như Google Chrome, Firefox, Opera và các trình duyệt khác đều khuyến nghị sử dụng HTTPS cho máy chủ web. Vì HTTPS cung cấp kênh truy cập được mã hóa và bảo mật cho các trang web không đáng tin cậy, chúng tôi có thể cung cấp trải nghiệm đáng tin cậy cho người dùng của mình Bằng cách thêm HTTPS, chúng tôi có thể được bảo vệ khỏi các cuộc tấn công XSS, bao gồm cả việc ngăn chặn tin tặc đọc dữ liệu được vận chuyển bằng mã Để kích hoạt HTTPS, chúng tôi sẽ cài đặt và sử dụng Chứng chỉ SSL Let’s Encrypt miễn phí trên máy chủ $ ls4 13. Cập nhật PHP thường xuyênVì nó là một ngôn ngữ mã nguồn mở, nó được vá gần như hàng ngày. Nó có vẻ không phải là một bước quan trọng nhưng có thể cứu bạn khỏi lỗ hổng lớn. Vì vậy, hãy đảm bảo luôn cập nhật các gói PHP của bạn, điều này sẽ giúp bạn tránh được nhiều lỗ hổng có thể xảy ra $ ls5 Đây là ý kiến của chúng tôi về cách bạn có thể dễ dàng nâng cao tính bảo mật của PHP trong các hệ thống Linux. Trong suốt hướng dẫn này, chúng tôi đã cố gắng làm mọi thứ đơn giản nhất có thể và nếu bạn vẫn còn thắc mắc, vui lòng cho chúng tôi biết trong phần nhận xét |