AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 499362
Accepted
Nyxynyx
Nyxynyx
Asked: 2013-04-15 20:31:02 +0800 CST2013-04-15 20:31:02 +0800 CST 2013-04-15 20:31:02 +0800 CST

如何锁定 Ubuntu 12.04 Web 服务器 [重复]

  • 772
这个问题在这里已经有了答案:
我该如何处理被入侵的服务器? (13 个答案)
9 年前关闭。

我所有的服务器刚刚被黑,现在我准备开始锁定我的网络服务器。他们目前正在运行 Ubuntu 12.04

  • nginx 1.27
  • php5-fpm
  • PHP 5.4.14
  • MySQL 5.5
  • postgresql 9.1
  • 雷迪斯
  • proftpd
  • 绑定9
  • ssh

我不知道他们是如何被黑客入侵的。有哪些建议可以减少再次丢失服务器的可能性?

ubuntu
  • 1 1 个回答
  • 385 Views

1 个回答

  • Voted
  1. Best Answer
    David Mah
    2013-04-15T21:14:56+08:002013-04-15T21:14:56+08:00

    当您拥有如此多的技术时,很难说出您应该注意每种工具的具体问题。一般来说,对于其中的每一个,做一个谷歌搜索lock down <technology> ubuntu,并通读前五到十个结果。对每项服务采取这些措施应该会大大降低系统的脆弱性。

    以下是您可以考虑/做的一些笼统的事情。由于您的问题非常广泛,我认为这已经是很多工作了。密切关注 ServerFaulthttp://security.stackexchange.com/也会提高您的意识。

    • 了解您的网络服务

    完全了解暴露于外界的一切。我注意到您没有提到ssh,这可能表明您正在运行但没有提到的其他服务。运行netstat -lntp并查看是否有任何您没有意识到自己正在运行的服务,如果不需要,则删除/杀死它们。

    • 防火墙

    学习iptables以便您可以控制进出计算机的网络流量。例如,如果您希望只有网络流量,则可以仅将端口 80 和 443 列入白名单。与关闭所有使用端口运行的服务相比,您可以获得更多的控制权,因为您可能需要使用端口和环回接口让同一台机器上的服务相互连接。

    例如,php 可能需要与 redis 通信,您可以通过环回接口执行此操作。您可以允许传入连接仅通过环回接口连接到 redis,而不允许外部机器连接到 redis 的端口。

    • 沙盒

    这与纵深防御有关。设置您的服务,以便利用一项服务影响其他服务或您机器的其余部分的可能性很小。您可以采取的一项措施是创建不同的用户帐户来运行每项服务。如果入侵者破坏了该服务以致于他可以获得一个 shell,他可能只能获得一个不是非常有特权的用户的特权。每项服务的锁定指南将讨论如何执行此操作。

    • 记录

    与您在计算机上运行的所有服务的每次交互都应该启用日志记录。当您发生任何事情时,您需要查看日志并寻找任何异常情况。您可以做出反应并修补出现的任何问题。

    例如,您注意到有人闯入,修改了不应该修改的文件。通过您的auth.log,您注意到有数万次尝试通过 ssh 登录您的机器,最终以成功登录告终。这时您才意识到您的密码只有五个字符长,您可能应该更改它。

    • 入侵检测与入侵防御

    类似于日志记录将为您提供的帮助,但自动化程度更高。对 IDS 和 IPS 软件进行一些研究,例如http://www.snort.org/或http://www.tripwire.com/。当您拥有可以向您尖叫您受到攻击的工具时,这很好。

    希望这些一般提示有所帮助,并注意您可以采取许多其他措施来保护自己(如果您经常访问 serverfault 和 itsecurity,随着时间的推移您会意识到这一点 :))。

    • 1

相关问题

  • 无法通过 Ubuntu VPN 访问外部网络

  • ubuntu apt-get upgrade - 如何在 shell 中单击确定?

  • VirtualBox 上 Ubuntu 的访客优化技巧 [关闭]

  • 外部硬盘上的 virtualbox 虚拟硬盘驱动器(Vista 主机上的 ubuntu 客户机)

  • 如何在 Ubuntu 上挂载 LVM 分区?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve