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 / 问题 / 1087529
Accepted
zpangwin
zpangwin
Asked: 2021-12-17 12:37:45 +0800 CST2021-12-17 12:37:45 +0800 CST 2021-12-17 12:37:45 +0800 CST

在 Fedora 上,如何配置 selinux 以允许新的未定义服务类型的端口?

  • 772

我有几件事希望能够在 Fedora 上作为服务器站起来。我知道我至少可以运行其中的一些,podman或者docker但我已经知道如何做到这一点。我也已经知道如何将其用于现有服务,例如ssh我只想通过以下方式使用自定义端口:

sudo semanage port -a -t ssh_port_t -p tcp 2222

但我的问题是 selinux 已经定义了ssh_port_t类型。如果我有一些由于某种原因我不能或不想在容器中运行的自定义应用程序怎么办,我将如何允许端口用于没有预定义类型的东西semanage port --list?

对于此示例,假设我正在尝试运行 /path/myNiftyGameServer 并希望允许它连接到 udp 端口​​ 12345(目前在我的系统上未使用)。我怎样才能做到这一点?

背景方面,我并不声称自己是大师,但总体上我感觉对 bash 和 Linux 相对精通,但在 SELinux 方面我仍然是一个新手(我知道标签、restorecon. 和一些基本semanage命令,但我仍然学习)。

请假设我不愿意简单地禁用 SELinux(因为我是)。如果这个问题看起来不切实际,可以提出其他建议,但我之所以问主要是因为我很好奇这个问题在 SELinux 中将如何解决,并且除了像我的 ssh 这样的现有类型之外,我自己无法找到解决方案上面的例子。请随时为 SELinux 新手推荐其他相关的阅读主题。

编辑:根据我在 Centos 上找到的 Starbound 服务器和Soldat Dedicated server policy的额外搜索,我猜我可能需要学习如何编写 SELinux 策略?当一项服务根本没有名称但我仍然想学习如何做时,我需要这么多真是太疯狂了。

编辑 2:在花了一些时间阅读它们之后,Starbound 链接似乎不是我所追求的;唯一的 SELinux 策略编写是针对单独的 Apache 服务器(Apache 已经定义)而不是游戏服务器。Soldat 似乎与我所追求的非常接近,但我认为我需要一本关于政策写作的入门书才能到达那里。特别是,我真的只对如何为自定义服务器/Web 服务打开端口感兴趣。设置文件路径访问听起来也不错,但是我可以使用用户帐户来管理它,而即使我在 firewall-cmd(firewalld)中打开一个网络端口,如果我没记错的话,它仍然会被 SELinux 阻止(我知道我有这个过去的问题,但我想我可以重新测试以确定)。

centos security fedora selinux rhel6
  • 1 1 个回答
  • 210 Views

1 个回答

  • Voted
  1. Best Answer
    mattdm
    2021-12-21T13:56:58+08:002021-12-21T13:56:58+08:00

    这里要理解的关键是默认的 SELinux 策略是target。也就是说,它只限制已知的事物。很久很久以前,我们尝试了另一种方法(阻止政策不允许的所有内容),而且总是有很多东西坏了,每个人都把它关掉了。

    因此,默认情况下,无论如何myNiftyGameServer你都将在一个不受限制的域中运行——如果你想收紧它,你需要在容器中运行它或编写一个特定的策略。

    这就是为什么您没有找到一种简单的方法来添加随机端口类型......它不会很有用。

    在RHEL 8 Docs中有一个不错的快速指南,用于为守护进程创建自定义策略

    • 1

相关问题

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 使用 crontab 和 /etc/cron.hourly,daily,weekly 的区别

  • 持续监控许多服务器运行状况的简单方法?

  • Hudson 无法在 tomcat5 中启动

  • CentOS 的依赖挑战

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