117.info
人生若只如初见

Linux服务器上LNMP安全设置指南

LNMP是指Linux系统下Nginx、MySQL和PHP的组合,这是一个非常流行的用于部署Web应用的环境组合。在Linux服务器上配置LNMP环境时,安全性是一个重要的考虑因素。以下是一个基本的LNMP安全设置指南:

1. 更新和升级软件

保持系统的软件包和内核处于最新状态是确保安全的关键步骤之一。及时应用补丁和安全更新可以修复已知的漏洞和弱点。

sudo apt update && sudo apt upgrade -y

2. 安装Nginx

安装Nginx并确保其配置文件中禁用了目录列表和版本信息。

sudo apt install nginx -y

在Nginx配置文件中添加以下内容:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.php index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本修改
    }

    location ~ /\.ht {
        deny all;
    }
}

3. 安装MySQL

安装MySQL并运行安全脚本来提高其安全性。

sudo apt install mysql-server -y
sudo mysql_secure_installation

4. 安装PHP

安装PHP及其MySQL扩展和FastCGI进程管理器。

sudo apt install php-fpm php-mysql -y

5. 配置PHP

编辑PHP的配置文件/etc/php/7.4/fpm/php.ini(根据你的PHP版本修改路径),禁用不安全的PHP函数,设置open_basedir限制PHP的访问范围。

display_errors = Off
expose_php = Off
enable_dl = Off
disable_functions = eval,passthru,exec,system,chroot,scandir,shell_exec,proc_open,proc_get_status,ini_alter,ini_a
open_basedir = /var/www/html:/tmp/

6. 配置Nginx支持PHP

确保Nginx配置文件中的fastcgi_pass指向正确的PHP-FPM套接字文件。

location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; # 根据你的PHP版本修改
}

7. 设置文件和目录权限

为网站目录设置正确的权限,确保Nginx和PHP-FPM进程有权访问这些文件。

chown -R www-data:www-data /var/www/html
find /var/www/html -type d -exec chmod 755 {} \;
find /var/www/html -type f -exec chmod 644 {} \;

8. 使用防火墙

配置防火墙以限制对服务器的访问。

sudo ufw allow 'Nginx Full'
sudo ufw enable

9. 定期备份数据

定期备份数据库和网站文件,以防数据丢失。

sudo mysqldump -u root -p your_database_name > your_database_backup.sql

10. 监控和日志记录

配置日志记录以监控服务器的安全事件。

sudo cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
sudo nano /etc/rsyslog.conf
# 编辑配置文件以启用详细日志记录
sudo systemctl restart rsyslog

以上步骤提供了一个基本的LNMP安全设置框架,具体配置可能需要根据实际环境和需求进行调整。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fef58AzsKBwNVB1I.html

推荐文章

  • copendir性能优化有哪些方法

    copirdir 是一个用于复制目录的命令行工具,通常在 Unix 和类 Unix 系统中使用。如果你想要优化 copirdir 的性能,可以考虑以下几种方法: 使用更快的存储设备:...

  • MinIO在Linux上安装步骤是什么

    MinIO在Linux上的安装步骤如下:
    单机安装步骤 下载MinIO安装包
    使用wget命令下载适用于Linux的MinIO安装包。例如,下载MinIO 2025年1月20日发布的版本...

  • 如何解决Overlay网络问题

    解决Overlay网络问题通常涉及多个方面,包括故障排查、性能优化以及配置管理等。以下是一些常见的方法和步骤:
    故障排查 检查网络通性: 使用工具如 tcpdum...

  • 如何备份Linux Informix数据库

    备份Linux Informix数据库是一个重要的任务,以确保数据的安全性和可恢复性。以下是备份Informix数据库的步骤:
    1. 准备工作 确保有足够的存储空间:备份文...

  • Ubuntu Informix数据迁移方法

    在Ubuntu系统中进行Informix数据迁移可以通过多种方法实现,具体步骤可能因您的具体需求和环境而异。以下是一些常见的方法和步骤:
    使用Navicat进行数据迁移...

  • Debian Postman如何实现多线程发送邮件

    在Debian上使用Postman实现多线程发送邮件的方法如下:
    方法一:使用Postman内置的多线程功能(适用于Postman v8.0及以上版本) 打开Postman并创建一个新的...

  • 如何通过反汇编指令分析程序

    通过反汇编指令分析程序是一个复杂的过程,通常涉及以下步骤:
    1. 准备工作 获取二进制文件:首先,你需要有一个可执行文件或库文件的二进制表示。
    选...

  • CentOS上Fortran图形界面如何开发

    在CentOS上开发Fortran图形界面涉及多个步骤,包括安装必要的图形界面组件、配置开发环境以及编写和运行Fortran代码。以下是一个详细的指南:
    1. 安装图形界...