Tin tức và phân tích của tất cả các thiết bị di động

5 trong số các lỗ hổng lớn nhất trong cài đặt WordPress

Cài đặt WordPress của bạn có thể an toàn hoặc không an toàn như bạn muốn. Tìm hiểu năm điều quan trọng nhất khi nói đến bảo mật.

Những lo ngại và khiếu nại về bảo mật của WordPress không có gì mới.

Nếu bạn cần một CMS và tham khảo ý kiến ​​của một nhà cung cấp không sử dụng WordPress, bảo mật là trò lừa đảo số một mà bạn sẽ nghe nói đến. Điều này có nghĩa là mọi người nên bỏ WordPress và chuyển sang trình tạo trang tĩnh hoặc CMS không đầu?

Không, bởi vì giống như mọi sự thật trong cuộc sống, điều này có nhiều mặt.

Có phải WordPress rất không an toàn?

Chúng ta hãy xem một số trang web lớn đã được xây dựng trên WordPress:

  • TechCrunch
  • Người New York
  • BBC Mỹ
  • Bloomberg
  • tin tức MTV
  • Blog PlayStation

Vậy điều gì đã ngăn cản các doanh nghiệp này – với hầu bao rủng rỉnh và lực lượng lao động chóng mặt – chuyển sang sử dụng WordPress? Nếu bạn cho rằng câu trả lời là mã đã lỗi thời, hãy nghĩ lại: với những cái tên này, bảo mật dữ liệu và hình ảnh công khai quan trọng hơn rất nhiều so với một lần di chuyển đơn giản sẽ có chi phí (tôi ước tính) dưới 200.000 USD.

Chắc chắn các kỹ sư của họ biết những gì họ đang làm và không thể nhìn thấy các vấn đề bảo mật cơ bản, không thể giải quyết của WordPress?

Ngay cả tôi cũng đủ may mắn để quản lý cài đặt WordPress truy cập hàng tháng 3,5-4 triệu du khách. Tổng số vụ vi phạm an ninh trong tám năm qua? Số không!

Vì thế . . . WordPress có an toàn không?

Xin lỗi nếu điều này giống như trolling, nhưng đây là câu trả lời của tôi:

Tôi nói điều này bởi vì, giống như mọi sự thật trong cuộc sống, nó rất phức tạp. Để có câu trả lời thích đáng, trước tiên chúng ta phải hiểu rằng WordPress (hay bất kỳ CMS dựng sẵn nào) không giống như một cái tủ mà bạn cất vĩnh viễn ở đâu đó rồi dùng xong.

Đó là phần mềm phức tạp với nhiều phụ thuộc:

  • PHP, là ngôn ngữ mà nó được xây dựng
  • Máy hiển thị công khai nơi cài đặt được đặt
  • Máy chủ web được sử dụng để xử lý khách truy cập (Apache, Nginx, v.v.)
  • Cơ sở dữ liệu được sử dụng (MySQL/MariaDB)
  • Chủ đề (gói tệp PHP, CS và JS)
  • Plugin (gói tệp PHP, CS và JS)
  • Và nhiều hơn nữa, tùy thuộc vào mức độ bạn muốn cài đặt của mình đạt được

Nói cách khác, vi phạm bảo mật tại bất kỳ đường nối nào trong số này sẽ được gọi là vi phạm WordPress.

Nếu mật khẩu gốc của máy chủ là admin123 và nó đã bị xâm phạm, đây có phải là lỗ hổng WordPress không?

Liệu phiên bản PHP có lỗ hổng bảo mật hay plugin mới mà bạn đã mua và cài đặt có chứa lỗ hổng bảo mật rõ ràng hay không; và như thế. Tóm lại: hệ thống con gặp sự cố và đó là lỗi bảo mật WordPress.

Nhân tiện, đừng để điều này tạo ấn tượng rằng PHP, MySQL và Apache không an toàn. Tất cả các phần mềm đều có lỗ hổng, số lượng lỗ hổng này rất đáng kinh ngạc đối với phần mềm nguồn mở (vì bất kỳ ai cũng có thể nhìn thấy và phân tích chúng).

Có ai đó nói “an toàn”?

Những gì chúng ta học được từ toàn bộ bài tập này là:

Không có gì tự nó là an toàn hoặc không an toàn. Chính các yếu tố khác nhau được sử dụng đã tạo thành các liên kết trong một chuỗi, tất nhiên, yếu tố này chỉ mạnh bằng yếu tố yếu nhất trong số đó. Trước đây, nhãn “không an toàn” của WordPress là sự kết hợp của các phiên bản PHP cũ, lưu trữ được chia sẻ và thêm plugin/chủ đề từ các nguồn không đáng tin cậy.

Đồng thời, một số sơ suất khá phổ biến khiến cài đặt WordPress dễ bị tổn thương đối với những người biết cách khai thác chúng và quyết tâm. Và đó là những gì bài viết này là về. Vì vậy, không cần phải quảng cáo thêm (và các đối số theo chu kỳ), hãy bắt đầu.

Các lỗ hổng quan trọng nhất trong WordPress có thể bị tin tặc khai thác

Tiền tố bảng WordPress

nổi tiếng 5Cài đặt -minute là điều tốt nhất có thể xảy ra với WordPress, nhưng giống như tất cả các trình hướng dẫn cài đặt, nó khiến chúng tôi lười biếng và để mọi thứ theo mặc định.

Điều này có nghĩa là tiền tố mặc định cho các bảng WordPress của bạn là wp_, dẫn đến tên bảng mà bất kỳ ai cũng có thể đoán được:

  • người dùng wp
  • tùy chọn wp
  • bài viết wp

Bây giờ hãy xem xét cuộc tấn công được gọi là SQL Injection, trong đó các truy vấn cơ sở dữ liệu độc hại được chèn và chạy một cách khéo léo trong WordPress (lưu ý – đây không phải là cuộc tấn công chỉ dành cho WordPress/PHP).

Mặc dù WordPress có các cơ chế tích hợp để xử lý các kiểu tấn công này, nhưng không ai có thể đảm bảo rằng điều này sẽ không xảy ra.

Vì vậy, nếu bằng cách nào đó, kẻ tấn công quản lý để chạy một truy vấn như DROP TABLE wp_users; DROP TABLE wp_posts;, tất cả tài khoản, hồ sơ và bài đăng của bạn sẽ bị xóa ngay lập tức và không có cơ hội khôi phục (trừ khi bạn có sẵn một kế hoạch sao lưu, nhưng ngay cả khi đó, bạn chắc chắn sẽ mất dữ liệu kể từ lần sao lưu cuối cùng).

Chỉ cần thay đổi tiền tố trong khi cài đặt là một vấn đề lớn (không cần bất kỳ nỗ lực nào).

Một cái gì đó ngẫu nhiên như sdg21g34_ được khuyến nghị vì nó vô nghĩa và khó đoán (tiền tố càng dài càng tốt). Phần tốt nhất là tiền tố này không cần phải dễ nhớ; tiền tố là thứ mà WordPress sẽ lưu lại và bạn sẽ không bao giờ phải lo lắng về nó nữa (giống như việc bạn không phải lo lắng về tiền tố wp_ mặc định!).

URL đăng nhập mặc định

Làm thế nào để bạn biết một trang web đang chạy trên WordPress? Một trong những dấu hiệu nhận biết là khi bạn thêm “/wp-login.php” vào địa chỉ trang web của mình, bạn sẽ thấy trang đăng nhập WordPress.

Hãy lấy trang web của tôi (http://ankushthakur.com) làm ví dụ. Nó có trên WordPress không? Vâng, hãy tiếp tục và thêm phần đăng nhập. Nếu bạn cảm thấy quá lười biếng, đây là những gì sẽ xảy ra:

¯_(ツ)_/¯

WordPress phải không?

Một khi biết được điều này, kẻ tấn công có thể xoa tay thích thú và bắt đầu thực hiện những thủ đoạn khó chịu với Bag-O’-Doom của mình theo thứ tự bảng chữ cái. tội nghiệp tôi!

Giải pháp là thay đổi URL đăng nhập mặc định và chỉ cung cấp URL đó cho những người bạn tin tưởng.

Ví dụ: trang web này cũng trên WordPress, nhưng nếu bạn truy cập http://wdzzwdz.com/wp-login.php, bạn sẽ chỉ nhận được sự thất vọng sâu sắc. URL đăng nhập bị ẩn và chỉ quản trị viên biết?

Thay đổi URL đăng nhập cũng không phải là khoa học tên lửa. Chỉ cần lấy nó cắm vào.

Xin chúc mừng, bạn vừa thêm một lớp bảo vệ chống bạo lực khó chịu nữa.

Phiên bản máy chủ web và PHP

Chúng ta đã thảo luận rằng mọi phần mềm từng được viết (và được viết) đều chứa đầy lỗi đang chờ bị khai thác.

Điều tương tự cũng xảy ra với PHP.

Ngay cả khi bạn đang sử dụng phiên bản PHP mới nhất, bạn cũng không thể chắc chắn lỗ hổng nào đang tồn tại và lỗ hổng nào có thể được phát hiện trong một sớm một chiều. Giải pháp là ẩn tiêu đề cụ thể được gửi bởi máy chủ web (bạn chưa bao giờ nghe nói về tiêu đề? Hãy đọc tiêu đề này!) khi trình duyệt kết nối với nó: x-powered-by.

Đây là giao diện nếu bạn kiểm tra các công cụ dành cho nhà phát triển trong trình duyệt yêu thích của mình:

Như chúng ta có thể thấy ở đây, trang này cho chúng ta biết rằng nó đang chạy trên Apache 2.4 và sử dụng phiên bản PHP 5.4.16.

Bây giờ, đó là rất nhiều thông tin mà chúng tôi chuyển đi mà không có lý do, giúp kẻ tấn công thu hẹp lựa chọn công cụ của họ.

Các tiêu đề này (và tương tự) phải được ẩn.

May mắn thay, điều này có thể được thực hiện nhanh chóng; thật không may, kiến ​​thức kỹ thuật nâng cao là cần thiết vì bạn sẽ phải đào sâu vào hệ thống của mình và làm rối tung các tệp quan trọng của mình. Vì vậy, lời khuyên của tôi là yêu cầu nhà cung cấp dịch vụ lưu trữ của bạn làm điều đó cho bạn; nếu họ không biết liệu một nhà tư vấn có thể làm điều đó hay không, mặc dù điều đó phần lớn phụ thuộc vào máy chủ trang web liệu thiết lập của họ có khả năng đó hay không.

Nếu điều đó không hiệu quả, có lẽ đã đến lúc chuyển đổi nhà cung cấp dịch vụ lưu trữ hoặc chuyển sang VPS và thuê một nhà tư vấn quản trị và bảo mật.

Nó có đáng không? Chỉ bạn mới có thể quyết định.

Ồ, và nếu bạn muốn đùa giỡn với các tiêu đề bảo mật, thì đây là cách khắc phục dành cho bạn!

Số lần thử đăng nhập

Một trong những thủ thuật lâu đời nhất trong sách hướng dẫn của tin tặc là cái gọi là Tấn công từ điển.

Ý tưởng là thử một số lượng lớn (hàng triệu nếu có thể) các kết hợp mật khẩu trừ khi một trong số chúng thành công. Vì máy tính làm việc rất nhanh, nên một kế hoạch ngớ ngẩn như vậy là hợp lý và có thể tạo ra kết quả trong một khoảng thời gian hợp lý.

Một biện pháp bảo vệ phổ biến (và cực kỳ hiệu quả) là thêm độ trễ trước khi hiển thị lỗi. Điều này khiến người nhận phải chờ đợi, nghĩa là nếu đó là tập lệnh do tin tặc sử dụng thì sẽ mất quá nhiều thời gian để hoàn thành. Đây là lý do khiến máy tính hoặc ứng dụng yêu thích của bạn nhảy lên một chút rồi báo “Rất tiếc, sai mật khẩu!”.

Dù sao, vấn đề là bạn nên giới hạn số lần thử đăng nhập vào trang web WordPress của mình.

Vượt quá số lần thử đã đặt (ví dụ năm lần), tài khoản sẽ bị khóa và chỉ có thể khôi phục được qua email của chủ sở hữu tài khoản.

May mắn thay, làm điều này là một miếng bánh nếu bạn gặp một cái hay? liên kết.

HTTP so với HTTPS

Chứng chỉ SSL mà nhà cung cấp của bạn trêu chọc bạn quan trọng hơn bạn nghĩ.

Nó không chỉ là một công cụ danh tiếng hiển thị biểu tượng ổ khóa màu xanh lá cây trong trình duyệt của bạn có nội dung “An toàn”; thay vào đó, cài đặt chứng chỉ SSL và buộc tất cả các URL thành “https” là đủ để biến trang web của bạn từ một cuốn sách mở thành một cuộn bí ẩn.

Nếu bạn không hiểu điều này xảy ra như thế nào, hãy đọc về một thứ gọi là tấn công trung gian.

Một cách khác để nắm bắt lưu lượng truy cập từ máy tính của bạn đến máy chủ của bạn là đánh hơi gói, đây là một hình thức thu thập dữ liệu thụ động và thậm chí không cần nỗ lực để vào giữa.

Đối với các trang web chạy trên “HTTP” thuần túy, lưu lượng truy cập web, mật khẩu và số thẻ tín dụng của kẻ chặn được hiển thị dưới dạng văn bản thuần túy.

Nguồn: so sánh.com

Đáng sợ? Rất!

Nhưng khi bạn cài đặt chứng chỉ SSL và tất cả các URL được chuyển đổi thành “https”, thông tin nhạy cảm này sẽ xuất hiện dưới dạng vô nghĩa mà chỉ máy chủ mới có thể giải mã được. Nói cách khác, đừng lo lắng về vài đô la một năm.

Đăng kí

Bạn sẽ kiểm soát năm điều này để đảm bảo an toàn cho trang web của bạn chứ?

Không có gì. Như vô số bài viết về bảo mật đã nói, bạn không bao giờ được an toàn 100%, nhưng có thể loại bỏ phần lớn các vấn đề này bằng nỗ lực hợp lý. Bạn có thể cân nhắc sử dụng SUCURI đám mây WAF để bảo vệ toàn diện các trang web của mình.