保护 Linux Web 服务器的公共访问

2024-02-07

我想设置一个便宜的 Linux 机器作为 Web 服务器来托管各种 Web 技术(我想到了 PHP 和 Java EE,但我将来也想尝试使用 Ruby 或 Python)。

我相当精通设置 Tomcat 在 Linux 上运行以提供 Java EE 应用程序,但我希望能够打开此服务器,即使这样我也可以创建一些我在工作时可以使用的工具办公室。我配置 Java EE 站点的所有经验都是针对 Intranet 应用程序的,我们被告知不要专注于保护外部用户的页面。

对于以足够安全的方式设置个人 Linux Web 服务器以向外部流量开放,您有什么建议?


本文提供了一些锁定事物的最佳方法:

http://www.petefreitag.com/item/505.cfm http://www.petefreitag.com/item/505.cfm

一些亮点:

  • 确保没有人可以浏览目录
  • 确保只有 root 对所有内容具有写入权限,并且只有 root 对某些配置文件具有读取权限
  • 运行 mod_security

这篇文章还借鉴了这本书的一些指导:

阿帕奇安全 http://spendfish.com/product/0596007248(奥莱利出版社)

就发行版而言,我运行过 Debain 和 Ubuntu,但这取决于您想要做什么。我在没有 X 的情况下运行 Debian,只要需要任何东西就可以通过 ssh 进入它。这是降低开销的简单方法。或者 Ubuntu 有一些不错的 GUI 功能,可以轻松控制 Apache/MySQL/PHP。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

保护 Linux Web 服务器的公共访问 的相关文章

  • iptables通过注释删除特定规则

    我需要删除一些具有相同评论的规则 例如 我有带有 comment test it 的规则 所以我可以像这样获得它们的列表 sudo iptables t nat L grep test it 但是我怎样才能删除所有带有注释 测试它 的 PR
  • SSE:跨页边界的未对齐加载和存储

    我在页面边界旁边执行未对齐加载或存储之前读过某处 例如使用 mm loadu si128 mm storeu si128内在函数 代码应首先检查整个向量 在本例中为 16 个字节 是否属于同一页 如果不属于同一页 则切换到非向量指令 我知道
  • 通过 URL 指定控制器类与为每个控制器编写一个脚本相比,有何优缺点?

    今年夏天我安装了两个不同的 PHP 系统 每个都使用两种不同的方法 方法 1 每个任务一个 PHP 文件 该方法需要一个PHP为每个主要任务创建文件 例如 我的上传脚本可以通过http www domain com upload php O
  • 我的线程图像生成应用程序如何将其数据传输到 GUI?

    Mandelbrot 生成器的缓慢多精度实现 线程化 使用 POSIX 线程 Gtk 图形用户界面 我有点失落了 这是我第一次尝试编写线程程序 我实际上并没有尝试转换它的单线程版本 只是尝试实现基本框架 到目前为止它是如何工作的简要描述 M
  • 如何使用 GOPATH 的 Samba 服务器位置?

    我正在尝试将 GOPATH 设置为共享网络文件夹 当我进入 export GOPATH smb path to shared folder I get go GOPATH entry is relative must be absolute
  • 如何在 Bash 中给定超时后终止子进程?

    我有一个 bash 脚本 它启动一个子进程 该进程时不时地崩溃 实际上是挂起 而且没有明显的原因 闭源 所以我对此无能为力 因此 我希望能够在给定的时间内启动此进程 如果在给定的时间内没有成功返回 则将其终止 有没有simple and r
  • Gtk-ERROR **:检测到 GTK+ 2.x 符号

    我正在使用 gcc 编译我的 c 应用程序 并使用以下标志 gcc evis c pkg config cflags libs gtk 2 0 libs clutter gtk 1 0 libs gthread 2 0 Wall o evi
  • Linux 上的用户空间能否实现本机代码的抢占式多任务处理?

    我想知道是否可以在 Linux 用户空间的单个进程中实现本机代码的抢占式多任务处理 也就是说 从外部暂停一些正在运行的本机代码 保存上下文 交换到不同的上下文 然后恢复执行 所有这些都由用户空间精心安排 但使用可能进入内核的调用 我认为这可
  • 删除 Git 存储库,但保留所有文件

    在我使用 Linux 的过程中的某个时刻 我决定将我的主目录中的所有内容都放入源代码管理中是个好主意 我不是在问这是否是一个好主意 我是在问如何撤销它 删除存储库的原因是我最近安装了 Oh My Zsh 而且我非常喜欢它 问题是我的主目录有
  • MySQL 中的创建/写入权限

    我的设备遇到一些权限问题SELECT INTO OUTFILE陈述 当我登录数据库并执行简单的导出命令时 例如 mysql gt select from XYZ into outfile home mropa Photos Desktop
  • 如果在等待“read -s”时中断,在子进程中运行 bash 会破坏 tty 的标准输出吗?

    正如 Bakuriu 在评论中指出的那样 这基本上与BASH 输入期间按 Ctrl C 会中断当前终端 https stackoverflow com questions 31808863 bash ctrlc during input b
  • 快速像素绘图库

    我的应用程序以每像素的方式生成 动画 因此我需要有效地绘制它们 我尝试过不同的策略 库 但结果并不令人满意 尤其是在更高分辨率的情况下 这是我尝试过的 SDL 好的 但是慢 OpenGL 像素操作效率低下 xlib 更好 但仍然太慢 svg
  • FormsAuthentication:安全吗?

    Using 表单验证构建成asp net创建一个为经过身份验证的用户创建 cookie 的登录系统非常快速且简单 FormsAuthentication SetAuthCookie uniqueUsername false 与中的一些代码配
  • SSLHandshakeException:证书中的主机名不匹配

    我正在编写一个系统 必须向具有自签名证书的服务器 一个名为 ARX 的第三方程序 当前在开发过程中在本地主机上运行 进行多部分发布 我试图找到它的证书 但只能找到三个不同的jks文件 服务器 jks 服务器信任 jks and 服务器ca
  • 除了用户名/密码之外的安全性?

    我有一个 Web 应用程序 其安全性要求高于普通 Web 应用程序 当任何用户访问域名时 他们都会看到两个文本字段 一个用户名字段和一个密码字段 如果他们输入有效的用户 密码 他们就可以访问 Web 应用程序 标准的东西 但是 我正在寻找超
  • 如何查询X11显示分辨率?

    这似乎是一个简单的问题 但我找不到答案 如何查询 通过 X11 存在哪些监视器及其分辨率 查看显示宏 http tronche com gui x xlib display display macros html and 屏幕宏 http
  • 在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败

    我尝试将我的 Rust 项目之一编译到 x86 64 unknown linux gnu 目标 cargo build target x86 64 unknown linux gnu Compiling deployer v0 1 0 fi
  • 如何允许应用程序声明“https”方案 URI? (即如何从 https URL 打开桌面应用程序?)

    目前我正在尝试为 OAuth 2 0 授权流程创建一个客户端 实际上是一个本机应用程序 并且在规范中就在这儿 https www rfc editor org rfc rfc8252 section 7 2据说有 3 种方法来处理重定向 U
  • 为什么C Clock()返回0

    我有这样的事情 clock t start end start clock something else end clock printf nClock cycles are d d n start end 我总是得到输出 时钟周期是 0
  • Capistrano 3 部署无法连接到 GitHub - 权限被拒绝(公钥)

    我使用 Capistrano v3 和 capistrano symfony gem 设置了以下部署脚本 我正在使用 Ubuntu 14 4 部署到 AWS EC2 实例 我正在连接从 AWS 下载的 pem 文件 我的deploy rb中

随机推荐

  • 图形解析错误

    我尝试使用 python 和 igraph 库创建 graphml 文件 我可以构建 igraph 的图形对象并将其写入文件 g write graphml mygraph graphml 一切似乎都很成功 但是当我尝试使用以下命令将文件读
  • 在java中解析XML属性

    我有一个与此类似的xml
  • 为什么GD在imagedestroy()时不释放内存?

    我需要一个 PHP CLI 脚本来通过 GD 函数执行各种图像转换 图像很大 所以我需要压缩尽可能多的内存 然而 当被要求时 imagedestroy 似乎不会释放内存 考虑以下演示脚本 test php usr bin php5
  • C#中如何使用“using”捕获异常

    鉴于此代码 using var conn new SqlConnection conn Open using var cmd conn CreateCommand cmd CommandText using var reader cmd E
  • 为什么进程在 4GB 时被杀死?

    我编写了一个可以处理大量数据的程序 我的 CPU 和操作系统 Ubuntu 都是 64 位的 并且我有 4GB 的 RAM 使用 top Mem 字段 我看到该进程的内存消耗上升到 87 左右 即 3 4 GB 然后它被杀死 然后我使用 u
  • JSF h:inputText 验证和 f:ajax 渲染

    一个非常简单的 JSF 应用程序 InputText 元素分配有 Validator f ajax 用于渲染下一个元素 phoneNumber 方法是使用blur event 仅当 inputText 通过验证器且 isValid 布尔值设
  • 如何使用 Visual Studio x64 进行编译?

    我想从bat 文件在VS2008 x64 中编译 当我在 VS2008 32 位中编译时 我调用 vsvars32 bat 我需要调用什么才能在 x64 中进行编译 现在建议不要使用vsvar32 bat并使用SetEnv cmd而是设置您
  • 发现长模式

    给定一个排序的数字列表 我想找到最长的子序列 其中连续元素之间的差异呈几何级数增加 所以如果列表是 1 2 3 4 7 15 27 30 31 81 那么子序列是1 3 7 15 31 或者考虑1 2 5 6 11 15 23 41 47其
  • 检查 Javascript 数组值是否按升序排列

    假设我有一个 Javascript 整数数组 我想检查它的所有值是否都按升序排列 我想要的是将数组键保存在另一个数组中 以防算法发现一个较低 或等于 的值 不仅比较前一个值 而且还比较它之前的任何值 我所做的是这样的 arr nonvali
  • 匹配大文本文件中的字符串?

    我有一个字符串列表 其中包含大约 700 万个项目 大小为 152MB 的文本文件 我想知道实现 a 函数的最佳方法是什么 该函数接受单个字符串并返回它是否在该字符串列表中 您是否需要多次匹配此文本文件 如果是这样 我会创建一个HashSe
  • 日期格式 dd\mm\yyyy 的正则表达式是什么?

    日期格式 dd mm yyyy 的正则表达式是什么 我无法找到这种格式的正则表达式 模式 dd mm yyyy 的正则表达式 String regex 0 2 0 9 3 0 1 0 0 9 1 0 2 0 9 0 9 0 9 0 9
  • 在 Objective-C 中设置文件权限

    我设法得到了一个漂亮的 ftp 对象 它的级别非常低并且很容易适应 我使用它通过 FTP 将文件从一台 Mac 传输到另一台 Mac 现在 我遇到的问题是 当传输的文件到达目的地 另一台 Mac 时 访问权限会以随机间隔设置为 所有人 无访
  • 不可变集合上的非可变“添加”方法的最佳名称是什么? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的答案或互动
  • “‘字段列表’中的未知列”,但列确实存在

    DROP TABLE IF EXISTS transactions CREATE TABLE transactions id int 11 unsigned NOT NULL AUTO INCREMENT purchase date dat
  • 使用 php 获取下一个 15 日和/或 30 日的日期?

    我需要获取即将到来的日期15th and 30ths未来几个月的日期 如果二月在范围内 当然必须是 28 29 我可以使用 mktime strtotime 或者使用其他方法来执行此操作吗 我得到了这个 但当然这只是为了得到这个月和下个月的
  • 允许保存比较标记的差异工具

    是否有一个 diff 工具可以保存比较标记 为了澄清这一点 我想保存两个文件的实际比较 以显示差异 然后发送给某人进行审查 EDIT 这里有很多好的答案 就我而言 我已经有一份副本无可比拟 http scootersoftware com但
  • Promise.then 作业执行顺序

    规范说 https www ecma international org ecma 262 7 0 index html sec jobs and job queues 第 5 段 来自单个作业队列的 PendingJob 记录始终在 先进
  • html 脚本 src="" 用按钮触发重定向

    我有以下用于登录的 login html 页面位于设计文件夹中 h3 Login h3
  • std::copy 和 std::vector 问题

    我明白为什么这会导致段错误 include
  • 保护 Linux Web 服务器的公共访问

    我想设置一个便宜的 Linux 机器作为 Web 服务器来托管各种 Web 技术 我想到了 PHP 和 Java EE 但我将来也想尝试使用 Ruby 或 Python 我相当精通设置 Tomcat 在 Linux 上运行以提供 Java