php - CentOS 服务器安全

标签 php security centos fastcgi

我一直在学习设置服务器以用于我的网络应用程序 - 并且发现我最喜欢的(最快和最容易上手的)设置是 CentOS5.5/Lighttpd/fastcgi 和 SQL。但是,我不知道这些开箱即用的安全性如何——我使用 Yum 安装它们并修改了一些设置以鼓励 PHP 玩球——我应该做些什么来提高我的安全级别,防止篡改我的脚本?

服务器没有 FTP、任何额外的 root 用户、邮件或任何其他安装的用户,所有目录都归 lighttpd 所有:lighttpd 而不是 CHMOD 供任何世界使用。更大的世界永远不会使用我正在编写的应用程序,它们是供个人使用的,供我的员工/合作伙伴跟踪资金和客户(因此我希望它们是安全的)。

谢谢大家!

最佳答案

如果您正在谈论服务器(复数)并且您有预算/能力,我会鼓励您只拥有面向客户端的服务器,这些服务器仅提供静态内容。将您的 PHP 和 SQL 移回仅限内部。

  1. Web 服务器的 80/443 向全世界开放,SSH 端口仅对受信任的 IP 开放或仅在您可以访问的内部接口(interface)上监听
  2. 具有端口 80 的应用程序服务器仅通过私有(private) IP 地址(如果可能)监听来自前端 Web 服务器的请求。否则,限制它访问前端网络服务器的公共(public) IP,并考虑在两者之间进行 HTTPS (443) 通信。
  3. 您的 SQL 实例/服务器应该具有相同的概念,只能从应用程序服务器访问。

这允许您拥有多个级别的安全性和专用资源来处理特定任务(FE 网络服务/中间件应用程序服务/后端数据服务)

此外,如果您的 FE 遭到破坏,他们将无法立即访问您的 PHP 源代码和数据库内容。

如果它是单个服务器,请确保只有 80/443 向世界开放,并确保您有防火墙或防火墙概念,以限制/拒绝对除受信任来源之外的所有其他端口的访问。考虑将 SSH 从端口 22(默认)移动到备用端口 ...

关于php - CentOS 服务器安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6503610/

相关文章:

database - 在 Oracle 中将一个用户的权限授予另一个用户

java - 将证书导入 Java keystore ,JVM 忽略新证书

php - zend form post如何获取变量

php - 发生错误时CakePHP使服务器崩溃

c# - ASP.net 中的静态文件和身份验证

php - 在第二台服务器上隐藏网络应用程序源

PostgreSQL 服务器不监听 : Tried everything and failed

linux - 为什么 find piped to xargs mv 删除了我的文件?

javascript - 使用ajax处理两个 echo 响应

php - 禁用未选择的选项卡