linux服务器的安全与维护

linux服务器的安全

毋庸置疑,对于系统管理员,提高服务器的安全性是最重要的事情之一。因此,也就有了许多针对这个话题而生的文章、博客和论坛帖子。
一台服务器由大量功能各异的部件组成,这一点使得很难根据每个人的需求去提供定制的解决方案。这篇文章尽可能涵盖一些有所裨益的小技巧来帮助管理员保证服务器和用户安全。
一、更改SSH默认端口
在搭建好一台全新的服务器后要做的第一件事情就是更改SSH的默认端口。这个小小的改动能够使你的服务器避免受到成千上万的暴力攻击(LCTT 译注:不更改默认端口相当于黑客们知道你家的门牌号,这样他们只需要一把一把的试钥匙就可能打开你家的锁)。要更改默认的SSH端口,先打开sshd_config文件:sudo vim/etc/ssh/sshd_config找到下面这行:#Port 22“#”号表示这行是注释。首先删除#号,然后把端口号改成目的端口。端口号不能超过65535,确保要指定的端口号没有被系统或其它服务占用。建议在[维基百科]上查看常用端口号列表。在本文中,使用这个端口号:Port 16543然后保存并关闭文件,等待更改生效。
二、使用SSH密匙认证
在通过SSH访问服务器时,使用SSH密钥进行认证是尤其重要的。这样做为服务器增加了额外的保护,确保只有那些拥有密钥的人才能访问服务器。在本地机器上运行下面命令以生成SSH密钥:ssh-keygen -t rsa你会看到下面的输出,询问要将密钥写到哪一个文件里,并且设置一个密码:Generatingpublic/private rsa key pair.Enter file in which tosave the key (/root/.ssh/id_rsa): my_keyEnter passphrase (emptyfor no passphrase):Enter same passphraseagain:Your identification hasbeen saved in my_key.Your public key hasbeen saved in my_key.pub.The key fingerprint is:SHA256:MqD/pzzTRsCjZb6mpfjyrr5v1pJLBcgprR5tjNoI20A完成之后,就得到两个文件:my_key、my_key.pub。接下来把my_key.pub拷贝到~/.ssh/authorized_key中cp my_key.pub~/.ssh/authorized_keys然后使用下面命令将密钥上传到服务器:scp -P16543authorized_keys user@yourserver-ip:/home/user/.ssh/至此,你就可以从这台本地机器上无密码地访问服务器了。
三、关闭SSH密码认证
既然已经有了SSH密钥,那么关闭SSH的密码认证就会更安全了。再次打开并编辑sshd_config,按如下设置:ChallengeResponseAuthenticationno,PasswordAuthenticationno,UsePAM no。
四、关闭ROOT登录
下面关键的一步是关闭root用户的直接访问,而使用sudo或su来执行管理员任务。首先需要添加一个有root权限的新用户,所以编辑这个路径下的sudoers文件:/etc/sudoers/推荐使用如visudo这样的命令编辑该文件,因为它会在关闭文件之前检查任何可能出现的语法错误。当你在编辑文件时出错了,这就很有用了。接下来赋予某个用户root权限。在本文中,使用用户sysadmin。确保在编辑后这个文件时使用的用户是系统已有的用户。找到下面这行:root ALL=(ALL) ALL,拷贝这行,然后粘贴在下一行,然后把root更改为“sysadmin”,如下所示:root ALL=(ALL) ALL ,sysadmin ALL=(ALL) ALL。现在解释一下这行的每一个选项的含义:(1) root (2)ALL=(3)(ALL) (4)ALL(1) 指定用户(2) 指定用户使用sudo的终端(3) 指定用户可以担任的用户角色(4) 这个用户可以使用的命令(LCTT 译注:所以上面的配置是意思是:root 用户可以在任何终端担任任何用户,执行任何命令。)使用这个配置可以给用户访问一些系统工具的权限。这时,可以放心保存文件了。为了关闭通过SSH直接访问root,需要再次打开sshd_config,找到下面这行:#PermitRootLogin yes,更改为:PermitRootLogin no然后保存文件,重启sshd守护进程使改动生效。执行下面命令即可:sudo /etc/init.d/sshdrestart。
五、设置防火墙
防火墙有助于过滤出入端口和阻止使用暴力法的登录尝试。我倾向于使用SCF(Config Server Firewall)这个强力防火墙。它使用了iptables,易于管理,而且对于不擅于输入命令的用户提供了web界面。
六、了解服务器上的服务
服务器的本质是为各种服务提供访问功能。使服务器只运行所需的服务,关闭没有使用的服务。这样做不仅会释放一些系统资源,而且也会使服务器变得更加安全。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值