1
codehz 2020-01-11 14:10:45 +08:00
又见编译安装大法。。。。
0202 年了,什么发行版没有 openssh |
2
zhao305149619 2020-01-11 14:13:00 +08:00
应该都有发行版吧,把这个依赖写上去,通过 repo 直接拉依赖啊
|
3
king1688888888 OP @codehz 请教 RHEL6/CentOS6 下的 OpenSSH 8.1p1 最新版的 rpm 在哪里获取,非常感谢。我暂时只看到官方在更新 5.3 版本,就是小版本号在升级。
|
4
dream4ever 2020-01-11 14:30:12 +08:00
@king1688888888 之前研究过类似问题,当时想在 CentOS 7 上升级 OpenSSH 和 OpenSSL,看到下面链接里的回复,强烈不建议大版本升级,于是作罢。
https://forums.centos.org/viewtopic.php?t=54967 |
5
king1688888888 OP @dream4ever 谢谢分享。我情况是这样的,来单位检查安全的人就是一根筋难沟通,就是要看到 ssh -V 后,显示最新版本的 OpenSSH、OpenSSL 版本,我已经解释过官方在维护 5.3 这个大版本号。
|
6
dream4ever 2020-01-11 14:43:50 +08:00
@king1688888888 那就很麻烦了。不过能不能做个“假的” ssh -V 临时应付一下?
|
7
prondtoo 2020-01-11 14:51:42 +08:00
我们是除非有重大安全问题爆出来,当然软件马上会有通知,否则生产环境动都不给动。
|
8
zhao305149619 2020-01-11 15:14:14 +08:00
我编译过大版本,有两个方法,可以修改版本信息欺骗过去
|
9
z775781 2020-01-11 15:38:29 +08:00
@king1688888888 只看 SSH -V 的版本,你可以编译的时候修改 ssh 为高版本,省事儿反正 5.3 的 ssh 也在维护,不怕有洞子什么的
|
10
jinliming2 2020-01-11 15:40:32 +08:00 via iPhone
试试:
OpenSSH 的二进制文件,用 ldd 命令看一下依赖,然后把对应的所有依赖库都复制过去(印象中和二进制文件放在一起就可以优先加载?还是需要配个启动参数?不太记得了) 注意的是,部分依赖是虚拟的,找不到的话应该可以跳过…… 还有就是依赖的动态库大部分都写的是个软链接的路径,记得找到原始文件…… |
11
nicebird 2020-01-11 16:49:24 +08:00
静态编译+二进制发布。
只要对面发行版一致一般没问题。 |
12
Hconk 2020-01-11 16:53:49 +08:00 via iPhone
|
13
alphatoad 2020-01-12 04:10:39 +08:00 via iPhone
Docker 吧,给自己多留几根头发
|
14
maxwel1 2020-01-12 14:49:15 +08:00 via Android
在有些情况下,只能通过编译源代码安装,比如服务器严禁了解外网,或者没有安装权限,这时候就只能选择编译安装。
如果希望直接在另一台设备上使用,那么编译的时候--prefix 就不要选到系统相关的目录了,直接选一个自己用的目录比如~/test,安装完成后把 test 目录一起打包,拷贝到另一台设备后在另一台设备上设置一下环境变量。 关于用到的动态库的问题,参考 10 楼的方法吧,能不能用看运气。 |
15
king1688888888 OP @nicebird 我就是想了解静态编译是怎么做,请大神解惑。OpenSSL 1.1.1d 编译出来的静态库是 libcrypto.a,不知道怎么才能把它“固化”到 ssh 和 sshd 这两个程序里。
|
16
james122333 2020-01-12 19:51:01 +08:00
你的作法是对的 只是不要指定 prefix
了解越多越知道预设永远不够 不够极限 |
17
zhao305149619 2020-01-13 11:31:28 +08:00
@maxwel1 严禁外网也是可以离线编译后再安装的,了解一下 RPM 包的编译吧,会把 buildrequire 和 installrequire 写的很清楚.
|
18
maxwel1 2020-01-13 15:41:00 +08:00 via Android
@ maxwel1 严禁外网也是可以离线编译后再安装的,了解一下 RPM 包的编译吧,会把 buildrequire 和 installrequire 写的很清楚.
不清楚你有没有在离线服务器上安装过软件 。服务器跟你本地环境都不一样,rpm 的依赖不一样,根本不是执行几个命令就可以的,除了 home 其他目录都没有写权限,怎么装? |
19
ps1aniuge 2020-01-13 15:54:51 +08:00
俺觉得这不是一个编译问题,而是一个 sshd 版本安全度的扯皮问题。问题如下:
1 centos6 中,最新的 openssl,openssh-server 包,是否已经不安全?是的话,哪里不安全? 2 1 centos6 中,最新的 openssl,openssh-server 包,对比 ssh-server 8.1p1 ,是否更不安全?即这两个哪个更安全? 我建议楼主把这两个问题,贴到 centos 官方,让官方人员解答下。有了结论后,再进行更新与否。 ============================ 阶段 2: 假设得到的结论是应该更新到最新版。 但你自己编译更新后,出现漏洞咋办?没经过大规模测试,出现问题咋办?谁负责? 这里我主要说的呃是: 自定义的新软件,和旧系统,隐藏的不匹配。 比如构造一个错误,就可以绕过 sshd。 即便没有这个错误,新软件用了后,很卡顿,咋办?谁负责? ============================ 额外想和大家讨论这个问题: 1 排除发行版自带的 sshd 包不谈,只说 openssh 官方的包。 2 用啥版本才能让 sshd 更安全?一般来讲大版本落后 1---2 个版本。小版本最新。这个策略对 openssh 管用么? 我看貌似 openssh 官方只更新大版本,而不更新小版本。 也就是说,openssh 官方的版本升级只有 1 条路线。而不是多版本同时维护。 你没办法这样用“大版本落后 1---2 个版本。小版本最新”,对不? |
20
king1688888888 OP @ps1aniuge 朋友说到点子上了!!!我的情况是这样,单位又请了所谓的安全团队过来检查,这些人一过来就用绿盟漏洞扫描,SSH 5.3 我已经升级到官方最新的小版本,绿盟还是扫出了 SSH 漏洞。随后我就问怎样才算通过,他们就来一句 ssh -V,只要 SSH 版本和 SSL 版本是当前官网最新,就算通过(即便绿盟也扫到漏洞)!最后没办法,先去官方找 RPM 包,官方又没有,自己做 RPM 包的话,还不如自己编译,然后拷贝到别的机子上运行。瞎折腾了半天,算是全部通过检查了。
|
21
king1688888888 OP @maxwel1 谢谢指导。不研究了,直接拷贝动态库过去对方机子算了。本想着把静态库加到 SSH 程序里,谷歌了一圈还是不懂怎么实现,放弃了。
|
22
ps1aniuge 2020-01-14 15:26:37 +08:00
SSH5.3 已经升级到官方最新的小版本,绿盟还是扫出了 SSH 漏洞。---------------都扫出了什么洞? cve 是多少?拿着这个到官方去问,你只需要带节奏;)让他俩去 pk。
|
23
ps1aniuge 2020-01-14 15:32:04 +08:00
随着 linux 被挂马,被挖矿,被勒索增多。快过年之前,广大 it 安全督察人员(信息部锦衣卫)行动起来了,我很欣慰。还有人讨厌 win 每月更新补丁么?
|
24
julyclyde 2020-01-15 18:07:26 +08:00
新手不要编译安装
新手不要用旧版 centos6 新手不要接历史遗留系统 |
25
iceecream 2020-01-20 17:27:06 +08:00
楼主。。。。你这样编译,丢失了一个功能,就是 hosts.deny 和 hosts.allow 的二个功能。
所以,吧 5.3 升级最新的小版本吧。没什么漏洞的,绿盟那些,都是看大版本的。。。 |
26
defunct9 2020-01-21 07:11:48 +08:00 via iPhone
又见被各种检查折磨的运维。
pci、央行、四大、等保。 |