LMLPHP后院

修改sshd_config文件配置防止Linux下btmp文件内容过大技术

maybe yes 发表于 2016-08-02 21:30

本篇文章是关于 Linux 安全的问题,内容涉及运维。

记得之前工作的时候,就经常收到运维发的邮件,关于跳板机或者堡垒机的一些事情。其实公司大了,服务器安全就特别重要,一般登录服务器都需要经过堡垒机,中间以 SSH 隧道的方式连接到服务器。但是个人管理服务器一般没有这么奢侈的吧,一来服务器资源浪费,二来维护也比较麻烦。

Linux 的本身的很多初始化设计还是比较合理的,一般情况下,服务器只打开 web 端口和常用的端口iptables 防火墙甚至不需要做什么配置,只要 SSH 的密码设置的足够复杂,是没有什么问题的。一般对外开放的端口也就是 80, 443, 22, 1723 等。如果比较熟练的话,根本不需要开启 VPN PPTP 相关的端口,直接通过 SSH 隧道上网也是可以的。

虽然开放 Linux SSH 的 22 端口没有多大问题,但是太多的猜测式登录还是会消耗系统资源,并且产生大量的日志。很多人也许会问,修改 SSH 的默认端口有意义吗,就算修改端口,人家一个一个的扫描,65535 次之后还是可以找到的。事实证明,是有点意义的,这样确实能够过滤掉绝大多数的攻击。

个人认为如果修改 22 端口,对自己带来的麻烦不止一点点啊,特别是有的人比较糊涂,忘记了端口怎么办,并不是所有的主机服务商都有 web shell 的支持的。为了安全,还是让自己痛苦一点吧,必须得记住一个对自己有点意义的端口号。

修改端口的方法

$ vi /etc/ssh/sshd_config

将 port 22 修改为其他的端口,端口号尽量大于 1024,然后重启服务:

$ service ssh restart

修改了端口号之后,另一种更安全的措施,直接关闭密码登录方式,使用 ssh keys 来登录,只是这样更加不方便,需要自己随身带着 U 盘装着密钥私钥。做法是将配置文件中的 PasswordAuthentication yes 修改为 no,然后重启服务。另外还可以通过配置 pam 来控制哪些用户可以登录,但是这个太过于麻烦,不再叙述。

端口修改之后,一般 /var/log/btmp 文件内容就不会再增加了。一般情况下,如果开放 22 端口,过不了多久这个日志文件就是几个 G 的大小了,很是吓人的。系统 /var/log 下面的文件:btmp, wtmp, utmp 等都是二进制文件,是不可以使用 tail 命令来读取的,这样会导致终端出错。一般使用 last 系列命令来读取,如 last, lastb, lastlog。

修改端口之后需要注意的问题,登录方式需要增加 -p 参数,如下:

$ ssh -p 1314 server.com/ip

scp 使用的变化,这点与上面不一样,需要增加大写 -P 参数,是不是很操蛋:

$ scp -P 1314 file.name server.com:/dir/name/
评论列表
maybe no

运维的同学值得看看,很有收获

2019-12-14 17:47:57 1576316877 0.032529