Làm cách nào để thiết lập đúng và bảo mật Máy chủ LAMP sản xuất?


8

Rất khó để tìm thấy thông tin toàn diện về chủ đề này. Hoặc tôi đã tìm thấy các hướng dẫn ngắn về cách bạn thực hiện cài đặt, đơn giản như "apt-get install apache2" hoặc các hướng dẫn lỗi thời. Vì vậy, tôi đã hy vọng tôi có thể nhận được một số thông tin chuyên nghiệp từ các thành viên cộng đồng Ubuntu của mình: D

Tôi đã thực hiện Ubuntu Server 11.04 bình thường với LAMP, SAMBA và SSH được cài đặt thông qua cài đặt hệ thống. Nhưng tôi gặp một số khó khăn khi thiết lập máy chủ ảo và để hệ thống đủ an toàn để hiển thị máy chủ lên web.

Tôi đã phần nào làm theo hướng dẫn này cho đến nay.

Tôi có 3 trang web trong / etc / apache2 / site-Available , tất cả đều trông giống như thế này ngoại trừ các tên trang web khác nhau:

<VirtualHost example.com>
   ServerAdmin webmaster@localhost
   ServerAlias www.edunder.se
   DocumentRoot /var/www/sites/example
   CustomLog /var/log/apache2/www.example.com-access.log combined
</VirtualHost>

Và tôi đã kích hoạt chúng bằng lệnh a2ensite để tôi có các liên kết tượng trưng trong / etc / apache2 / sites-enable .

Tệp / etc / hosts của tôi có các dòng này:

127.0.0.1 localhost
127.0.1.1 Ubuntu.lan Ubuntu
127.0.0.1 localhost.localdomain localhost example.com www.example.com
127.0.0.1 localhost.localdomain localhost example2.com www.example2.com
127.0.0.1 localhost.localdomain localhost example3.com www.example3.com

Và tôi chỉ có thể truy cập một trong số chúng từ trình duyệt (tôi đã cài đặt lynx trên máy chủ cho mục đích thử nghiệm) vì vậy tôi đoán rằng tôi đã không thiết lập chúng đúng cách :)

Làm thế nào tôi nên tiến hành để có được một thiết lập an toàn và đúng cách? Tôi cũng sử dụng MySQL và tôi nghĩ rằng hướng dẫn này sẽ đủ để thiết lập SSH an toàn. Vui lòng giúp tôi hiểu rõ hơn về cấu hình Apache vì tôi mới thiết lập máy chủ của riêng mình (Tôi chỉ chạy XAMPP trước đó) và vui lòng tư vấn về cách tôi cũng nên thiết lập tường lửa: D


1
Bạn cũng có thể hỏi tại serverfault.com, một StackExchange để thiết lập và bảo trì các máy chủ và hệ thống.
Kris Harper

2
Một câu trả lời chính xác cho điều này có thể điền vào sách. Tôi sẽ đề nghị chia câu hỏi của bạn thành một số liên quan đến cấu hình của máy chủ ảo và bảo mật. Một câu trả lời tốt cho các câu hỏi liên quan đến bảo mật liên quan đến kiến ​​thức tốt về những kẻ tấn công của bạn, của người dùng của bạn và một số người khác.
qbi

Cảm ơn, tôi sẽ kiểm tra serverfault nếu tôi có thể tìm thấy bất kỳ câu trả lời hay nào! :)
Niklas

Câu trả lời:


1

Bạn cần nói với Apache rằng nó nên sử dụng lưu trữ ảo dựa trên tên thay vì dựa trên IP. Vì vậy, hãy thêm phần sau vào /etc/apache2/apache2.conf để xác định:

NameVirtualHost ip.address:port

Và mỗi máy chủ ảo nên xác định một cổng:

<VirtualHost example.com:80>

0

Tôi nghĩ bạn cũng sẽ cần thêm IP công cộng nếu bạn muốn các máy tính khác có thể kết nối. Ngay bây giờ, chỉ có loopback của bạn được đề cập trong / etc / hosts. Họ cũng nên bao gồm các IP khác.


Bạn có chắc không? Sẽ không đủ nếu tôi chỉ cần Máy chủ tên miền trỏ đến IP của mình và sau đó để bộ định tuyến chỉ lưu lượng truy cập đến máy chủ? Tôi có DHCP vì vậy tôi đang sử dụng dịch vụ của DynDNS để chuyển tiếp lưu lượng đến IP của mình.
Niklas
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.