2019年1月

在平时管理Linux服务器中,可能会需要运行一些图形程序,那么我们在 Xshell 中能不能打开 GUI 程序呢?答案是可以的,使用 Xshell 和 Xmanager 就能非常简单的实现这个功能。

Linux 安装依赖包

yum install -y xorg-x11-xauth xorg-x11-utils xorg-x11-fonts-*

如果你要允许的GUI程序是中文界面的,则要安装中文字体或拷贝一个中文字体到/usr/share/fonts/下,否则的话会出现乱码。

Xshell 配置 X11 转发到 Xmanager

配置X11转发.png

* 注意:需要重新打开一个标签页才能生效

效果

​ 以 firewall-config GUI 程序为例

firewall-config示例.png

平时在对 Linux 服务器维护中,经常会有这样的情形:

远端服务器有多台机器,只有一台机器是映射外网端口的,我们没办法直接访问另外的服务器的服务。

local-remote-top.png

如图所示,服务器侧有A、B两台机器,只有 A 服务器开放了外网访问。客户端侧就没办法直接访问 B 服务器

客户端想要访问 B,常见的方法有:

  1. 在 A 上做防火墙规则做端口转发,如将 88 端口转发到 B 的 80 端口。

​ 但是这样有一个前提,开放了外网访问的服务器要有空闲的端口才行。

  1. 用 Xshell 的转移规则来实现

- 阅读剩余部分 -

1 问题现状

1.1 员工使用root权限操作生产环境

当前我们公司内部服务器实例有上百台,管理客户的服务器也将近有上百个服务器示例。各个服务器上的管理人员很多(开发、运维、项目、工程人员等),在大家登录使用Linux服务器时,不同职能的员工对Linux系统的熟悉程度不同,因此导致操作很不规范,root权限泛滥(几乎所有员工都使用root权限操作),经常导致文件等莫名其妙的丢失,服务器文件、目录权限混乱等问题。这样使得公司内部、客户服务器安全存在很大的不稳定性、及操作安全隐患。据调查企业服务器环境,50%以上的安全问题都来源于内部,而不是外部。为了解决以上问题,单个用户管理权限过大现状,现提出针对Linux服务器用户权限集中管理的解决方案。

1.2 操作记录不可追溯

当前我们公司管理着几大平台和数十个小平台。我们的客服、工程、研发人员都是直接连接SSH的,其中的操作不可过滤、不可审计、不可追溯。如果出现了操作失误,将无法追溯,不知道是谁操作的,不知道什么时候操作的,不知道操作了什么。

1.3 程序使用root权限运行

所有自主程序和部分第三方开源程序(如redis)都使用root权限来运行,使用root权限存在非常大的安全隐患。比如:

1) 程序原本的功能是想删除自身的日志文件,如果程序有BUG,拼接路径时考虑不周全,可能会导致误删了系统文件。严重时可导致系统奔溃,数据丢失。

2) 程序使用了开源框架有远程执行命令的安全漏洞,那么黑客可能会获得系统的root权限,既可为所欲为,公司、客户数据安全则面临着巨大的威胁。

3) redis的弱密码、空密码存在很大的安全隐患,如使用root运行redis,黑客很容易就拿下操作系统的root权限。

- 阅读剩余部分 -