Máy chủ LAMP an toàn để sử dụng sản xuất


10

Quy trình bảo mật máy chủ Linux, Apache, MySQL, PHP (hoặc thậm chí Perl) để sử dụng sản xuất là gì?

Khác với việc đặt mật khẩu MySQL và mật khẩu gốc cho Linux, cần thực hiện các bước nào khác (có thể không quá rõ ràng)?

Ngoài ra những bước tôi có thể thực hiện, nếu tôi sẽ bị hoang tưởng thêm, điều đó có thể không cần thiết?

Điều này là để sử dụng một trang web cơ bản nhưng phải an toàn.


Apache Hardening trên một trang web chị em.
Marcin

Câu trả lời:


13

Những khuyến nghị này nằm ngoài đỉnh đầu của tôi và không có ý định toàn diện.

Hãy xem Bastille, đó là một loạt các kịch bản thực hiện các thực tiễn tốt nhất trong Linux.

Không gửi dữ liệu xác thực qua các giao thức văn bản gốc. Ví dụ: vô hiệu hóa FTP. Nếu bạn gửi dữ liệu xác thực qua Apache, hãy sử dụng SSL.

Vô hiệu hóa và loại bỏ bất kỳ phần mềm không cần thiết bao gồm giao diện GUI.

Kiểm tra bất kỳ tệp nào với bit SUID được đặt và xóa. (Điều này sẽ hạn chế nghiêm trọng các khả năng không phải là root. Hiểu được ý nghĩa của từng thay đổi riêng lẻ.)

Kiểm tra các thư mục có thể ghi công khai và loại bỏ bit có thể ghi. (Để / tmp một mình.)

Tránh chạy bất kỳ trình nền nào như root.

Nghiên cứu tất cả các phần mềm đa người dùng lắng nghe chi tiết về các ổ cắm để biết các thực tiễn tốt nhất về bảo mật.

Tránh thêm người dùng vào hệ thống là một trong những cách tiếp cận tốt nhất. Hệ thống nhiều người dùng đòi hỏi sự chú ý nhiều hơn đến chi tiết.

Thực thi các tiêu chuẩn mật khẩu. Ví dụ: tối thiểu 10 ký tự, ký tự không chữ và số, sử dụng chữ cái và số. Điều này là để làm cho vũ phu buộc khó khăn hơn trong trường hợp thỏa hiệp tập tin mật khẩu. Thực thi điều này thông qua hệ thống.

Khóa người dùng sau 5 lần xác thực thất bại với khóa tối thiểu 10 phút. Duy trì lịch sử mật khẩu để người dùng không thể sử dụng 5 mật khẩu trước đây.

Nếu bạn có môi trường rộng hơn, sử dụng phân tách mạng với nhiều mạng con để cách ly rủi ro là một yêu cầu tuyệt đối. Nếu một môi trường nhỏ hơn, chạy tường lửa trên hệ thống cục bộ để hạn chế phơi nhiễm được khuyến nghị. Ví dụ: chỉ cho phép SSH vào IP của bạn. tcpwrappers cũng có thể được sử dụng cho một lớp thêm. (/etc/hosts.allow, /etc/hosts.deny)

Và, tất nhiên, giữ cho tất cả các phần mềm cập nhật. Đặc biệt là daemon công cộng.

Với SSH:

  • Vô hiệu hóa giao thức SSH 1
  • Chỉ cho phép xác thực root without-password(chỉ khóa)

Với Apache:

  • Vô hiệu hóa bất kỳ mô-đun không cần thiết
  • Vô hiệu hóa .htaccess và thư mục công cộng
  • Vô hiệu hóa FollowSymlink và mọi tùy chọn không cần thiết
  • Không cài đặt PHP nếu bạn không cần nó.

Với MySQL:

  • Vô hiệu hóa người dùng mặc định.
  • Đừng sử dụng máy chủ ký tự đại diện.
  • Hãy chắc chắn để đặt máy chủ duy nhất cho mọi người dùng.
  • Đừng nghe trên tcp trừ khi cần thiết. (Không thể tránh khỏi bất thường.)
  • Hạn chế đặc quyền người dùng ứng dụng càng nhiều càng tốt. (CHỌN, CHERTN, CẬP NHẬT, XÓA lý tưởng để viết và CHỌN để đọc)

Tôi khuyên bạn nên nghiên cứu điều chỉnh php.ini để bảo mật cụ thể. Đây là phần mềm rủi ro hơn theo mặc định.

Bastille


Tôi sẽ đề nghị đọc cyberciti.biz/tips/php-security-best-practices-tutorial.html để điều chỉnh php
ALex_hha

2

Dưới đây là một bài viết hay mà bạn có thể sử dụng làm cơ sở cho thiết lập của mình và thay đổi theo quy định của bạn: http://it.toolbox.com/bloss/rayheffer/how-to-build-a-secure-lamp-web- máy chủ với centos-5-36786


Nhưng về cơ bản, không tải các mô-đun bạn không cần rõ ràng, ẩn tất cả số phiên bản và trang gỡ lỗi / trang thông tin, tạo người dùng mysql cho mỗi ứng dụng bằng mật khẩu cứng, luôn có người làm việc trên máy chủ của bạn bằng tài khoản người dùng thông thường và làm cho chúng sudo nếu họ cần quyền root, hãy sử dụng tường lửa như iptables và chỉ mở các cổng dựa trên những gì bạn thực sự cần phải có trong hộp của mình ... Điều đó cộng với các bản vá mới nhất sẽ cung cấp cho bạn một thiết lập khá an toàn.
Alexandre Nizoux

Bài viết này không tốt. Vô hiệu hóa selinux, không có gì về việc làm cứng mysql, vô hiệu hóa các mô-đun apache không cần thiết ...
sumar

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.