运维人员都忽略的服务器安全问题_hitachi all=(all) nopasswd all 有什么服务器安全隐患吗

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前在阿里

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上运维知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以点击这里获取!

这时候 sudo 命令登场了

sudo 命令允许管理员分配给普通用户一些合理的“权利”,并且不需要普通用户知道超级用户的密码,就能让普通用户执行一些只有超级用户或其他特权用户才能完成的任务,比如服务重启,修改配置文件等

sudo 命令也叫受限制的 su

sudo 命令的执行流程是:将当前用户切换到超级用户下(或切换到指定用户),然后以超级用户(指定用户)身份执行命令,执行完成后,直接退回到当前用户

举个例子:普通用户是无法访问 /etc/shadow 文件的

[user1@localhost ~]$ cat /etc/shadow
cat: /etc/shadow: 权限不够

如果要让 user1 能够访问这个文件,可以在 /etc/sudoers.d/ 添加下面内容:

[root@localhost ~]$vim  /etc/sudoers.d/user1
user1 ALL=/bin/cat /etc/shadow

添加之后我们用 user1 执行一下

[user1@localhost ~]$ sudo cat /etc/shadow
[sudo] user1 的密码

输入 user1 的密码之后就可以查看文件了

如果普通用户没有在 /etc/sudoers.d/ 或/etc/sudoers 中配置,同样无法查看

[user2@localhost ~]$ sudo cat /etc/shadow
[sudo] user2 的密码:
user2 不在 sudoers 文件中。此事将被报告。

sudo 使用时间戳文件来完成类似“检票”的功能:当用户输入密码之后就获得了一张默认存活期为5分钟的入场券,超时以后,用户必须重新输入密码才能获得相应的权限

这样会导致一个问题:如果超时就要重新输入密码,像一些自动调用超级权限的程序就会出现问题

我们可以通过下面的设置让普通用户无需输入密码也可执行具有超级权限的程序,例如需要 user1 用户 可以自动重启 network 的权限

[root@localhost ~]$vim  /etc/sudoers.d/user1
user1 ALL = NOPASSWD: /etc/init.d/network restart

这样 user1 用户就可以执行重启 network 的脚本而无需输入密码了

如果要让 user1 具有超级用户的所有权限,又不想输入超级用户的密码,只需要添加如下内容即可

[root@localhost ~]$vim  /etc/sudoers.d/user1
user1 ALL = (ALL) NOPASSWD: ALL

密码安全

使用强密码而非弱密码

这个准则想必大家都听过了,一个强大健壮的密码,能让你的系统安全性翻倍提高

什么是强密码:

  • 至少 12 个字符长,但 14 个或 14 个字符以上更好
  • 大写字母、小写字母、数字和符号的组合
  • 不是可以在词典或人员、角色、产品或组织名称中找到的单词

使用密钥认证作为远程登录系统的认证方式

Linux 中,远程登录系统有两种认证方式:

  1. 密码认证
  2. 密钥认证

关于密码认证,虽然设置一个密码对系统安全能够起到一定作用,但是当遇到像密码暴力破解、密码泄露、密码丢失等问题时,我们往往就会束手无策,而且强密码也会对我们的工作造成一定负担

而密钥认证是一种新型的认证方式,公用密钥存储在远程服务器上,专用密钥保存在本地,当需要登录系统时,通过本地专用密钥和远程服务器的公用密钥进行配对认证,如果认证成功就能登陆

这种认证方式避免了被暴力破解的风险,同时只要保存在本地的专用密码不被黑客盗用,是一般无法通过密钥认证的方式进入系统的

系统安全

关闭系统不需要的服务

Linux 绑定了很多没用的服务,这些服务默认都是自动启动的

对于服务器来说,运行的服务越多,系统就越不安全,因此关闭一些不需要的服务,对系统安全有很大的帮助

但具体要关闭那些服务,需要根据服务器的用途而定,一般情况下,只要系统本身用不到的服务都认为是不必要的服务

例如某台 Linux 服务提供 web 服务,那么除了 httpd 服务或者 nginx 服务和系统运行时必需的服务外,其他服务都可以关闭

下面列出一下不常用的服务,大家可以自行选择关闭

anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、haldaemon、hidd、ipsec、isdn、lpd、mcstrans、nscd

关闭服务自启动的方法可以通过 chkconfig 命令实现

#关闭 bluetooth 服务
chkconfig --level 345 bluetooth off

对所有需要关闭的服务都执行上面的操作之后,重启服务器即可

而为了系统能够安全稳定的运行,就不得不运行一些服务,如下所示

  • acpid:用于电源管理
  • apmd:高级电源能源管理服务,用于监控电池性能
  • kudzu:检测硬件是否变化的服务
  • crond:为 Linux 下自动安排的进程提供运行服务
  • atd:类似于 crond,提供计划任务功能
  • keytables:用于装载镜像键盘
  • iptables:Linux 内置防火墙软件
  • xinetd:支持多种网络服务的核心守护进程
  • network:Linux 网络服务
  • sshd:提供远程登录 Linux 的服务
  • syslog:记录系统日志的服务

文件权限检查和修改

不正确的文件权限设置会直接威胁系统的安全,因此运维人员应该能及时发些这些不正确的权限设置,并立即修改

查找系统中任何用户都具有写权限的文件或目录

#查找文件
find / -type f -perm 2 -o -perm -20 | xargs ls -al

#查找目录
find / -type d -perm 2 -o -perm -20 | xargs ls -ld

查找系统中具有 s 权限的程序

find / -type f -perm 4000 -o -perm -2000 -print | xargs ls -al

最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

资料预览

给大家整理的视频资料:

给大家整理的电子书资料:

如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

需要这份系统化的资料的朋友,可以点击这里获取!

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值