Linux服务器安全配置实例(二)用户账户权限配置
没有绝对的安全
在上一篇文章《linux服务器安全配置实例(一)》中介绍了我对ssh服务的一些常用的安全配置和性能优化。
其实ssh服务是我们进入服务器的一扇大门,这扇大门是提供正常人使用钥匙打开后进屋的。而对于一些恶意的小伙伴,他们会使用一些非法的方式,比如走窗户、暴力开锁等去不经过我们的同意就进屋大肆破坏。
走窗户:通过一些系统的0day漏洞或者第三方服务以及软件的漏洞溢出或者注入,在服务器中运行恶意的代码来得到登陆权限。
暴力开锁:通过一些暴力破解软件,暴力破解我们的ssh服务、网站管理员密码等。
对于暴力开锁我们在对sshd服务器安全配置和优化中已经说明如何防范。对于走窗户、跳烟囱这样采用漏洞攻击的方式,我们最简单的方式就是及时修复漏洞,配置防火墙和杀毒软件等。
当然在一些大型的企业、政府的办公环境下,网络安全是十分主要的,自然会加入更多的安全机制,如:入侵检测系统、安全网关、网闸、堡垒机等。其实无论我们如何配置或者加入无数安全机制,都是没有绝对的安全的。没有绝对安全这句话是在网络安全圈子内最流行的一句话。
漏洞的产生是防不胜防的,我们曾经依托于openssl去保护我们的信息传输过程中不被第三方嗅探到内容,但是万万没想到的心脏大出血漏洞出现了。我们曾经呐喊着Linux服务器是最安全的(没错,因为linux操作系统用的人少,它的安全机制也确实十分完善),但是没有一点点防备的bash破壳漏洞出现了。
攻击者的目标:root权限
当这些漏洞被挖掘出来,无论漏洞公布者是出于学术交流还是炫耀自己多么牛逼,那么当公布出来的那一刻就意味着成千上万的服务器造成严重的威胁。其实不公布才是最可怕的!所以我们无法预测漏洞合适会出现,也无法预计自己的服务器是否会被人利用。那么我们可以假设:我的服务器被攻陷后怎么办?
其实在漏洞凌完成后,第二部就是拿到登陆服务器的权限。所以我们可以很确定的说,用户权限就是恶意攻击者的下一个目标。linux、unix操作系统的最高权限都是root,其uid为0。
这个用户权限拥有至高无上的能力。所以恶意攻击者会用各种手段去获取root权限。获取root权限也常在安卓手机中使用,安卓操作系统也是linux的分支,所以当安卓root后手机将不会安全,任何进程都可以使用setuid()系统调用,设置自己进程拥有root权限,那么木马病毒也不例外了。所以完全杜绝使用root用户在服务器中启动任何服务,使用私有用户去启动进程,同时禁止root用户登录。也就是在恶意攻击者通过对服务进程漏洞攻击后,拿到的用户权限不是root,同时利用一些系统内核级的漏洞对root进行提权也是无法登录的。对私有用户的活动目录进行限制,提权操作也更是难上加难。
防御技巧
下面详细说明一下账户权限和目录权限的配置。
1.禁止root
禁止root登陆有2个地方可以配置,第一个在ssh服务中:
这一点在对sshd服务安全配置和优化已经说明了,具体配置可以点开链接查看。第二个就是在系统内使用su命令切换root用户了。其实这是一件挺麻烦的事情,我们知道对系统一些更改、安装软件、升级系统都需要root权限。那么为了安全我们需要禁用它,为了配置系统我们又要使用它,自相矛盾了。这里给出2种解决矛盾的方法:
彻底禁用root登陆,使用sudo。
root可以使用su切换,但是禁止远程登陆。
这两种方法各有利弊,第一种完全可以杜绝root用户的使用,同时也很难对root提权。这里需要说明下sudo,sudo可以让普通用户拥有root用户的权限,例如在普通用户下使用
就可以直接在非root用户的情况下安装namp端口扫描工具。可以使用sudo命令的用户需要在/etc/sudoers文件中进行一些配置。
该配置文件的格式为:
用户或者组(组需要在组名前加%)主机=(用户) 执行的命令,如:
全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。其实简单来说,我们可以在sudoers文件中配置哪些用户可以使用root权限执行哪些命令。
对于第一种方案,我们就是在禁用root以后通过sudo对系统进行一些修改,所以说sudo相当于拥有一定的root权限,因此sudo的权限也需要严格控制。这一点就有一些麻烦,通常建议为每个服务创建一个私有用户,倘若启动一些服务需要root权限,那么可以将需要root的命令配置到sudoers文件中。例如:为nginx创建了nginx私有用户,需要使用80端口,linux系统是不允许非root用户请求低端口的,一般有两种方案解决:1、创建使能2、在sudoers文件中配置如下:
没有绝对的安全
在上一篇文章《linux服务器安全配置实例(一)》中介绍了我对ssh服务的一些常用的安全配置和性能优化。 内容来自无奈安全网
其实ssh服务是我们进入服务器的一扇大门,这扇大门是提供正常人使用钥匙打开后进屋的。而对于一些恶意的小伙伴,他们会使用一些非法的方式,比如走窗户、暴力开锁等去不经过我们的同意就进屋大肆破坏。
走窗户:通过一些系统的0day漏洞或者第三方服务以及软件的漏洞溢出或者注入,在服务器中运行恶意的代码来得到登陆权限。 内容来自无奈安全网
暴力开锁:通过一些暴力破解软件,暴力破解我们的ssh服务、网站管理员密码等。 本文来自无奈人生安全网
对于暴力开锁我们在对sshd服务器安全配置和优化中已经说明如何防范。对于走窗户、跳烟囱这样采用漏洞攻击的方式,我们最简单的方式就是及时修复漏洞,配置防火墙和杀毒软件等。 本文来自无奈人生安全网
当然在一些大型的企业、政府的办公环境下,网络安全是十分主要的,自然会加入更多的安全机制,如:入侵检测系统、安全网关、网闸、堡垒机等。其实无论我们如何配置或者加入无数安全机制,都是没有绝对的安全的。没有绝对安全这句话是在网络安全圈子内最流行的一句话。 内容来自无奈安全网
漏洞的产生是防不胜防的,我们曾经依托于openssl去保护我们的信息传输过程中不被第三方嗅探到内容,但是万万没想到的心脏大出血漏洞出现了。我们曾经呐喊着Linux服务器是最安全的(没错,因为linux操作系统用的人少,它的安全机制也确实十分完善),但是没有一点点防备的bash破壳漏洞出现了。
攻击者的目标:root权限
当这些漏洞被挖掘出来,无论漏洞公布者是出于学术交流还是炫耀自己多么牛逼,那么当公布出来的那一刻就意味着成千上万的服务器造成严重的威胁。其实不公布才是最可怕的!所以我们无法预测漏洞合适会出现,也无法预计自己的服务器是否会被人利用。那么我们可以假设:我的服务器被攻陷后怎么办?
copyright 无奈人生
其实在漏洞凌完成后,第二部就是拿到登陆服务器的权限。所以我们可以很确定的说,用户权限就是恶意攻击者的下一个目标。linux、unix操作系统的最高权限都是root,其uid为0。 内容来自无奈安全网
copyright 无奈人生
这个用户权限拥有至高无上的能力。所以恶意攻击者会用各种手段去获取root权限。获取root权限也常在安卓手机中使用,安卓操作系统也是linux的分支,所以当安卓root后手机将不会安全,任何进程都可以使用setuid()系统调用,设置自己进程拥有root权限,那么木马病毒也不例外了。所以完全杜绝使用root用户在服务器中启动任何服务,使用私有用户去启动进程,同时禁止root用户登录。也就是在恶意攻击者通过对服务进程漏洞攻击后,拿到的用户权限不是root,同时利用一些系统内核级的漏洞对root进行提权也是无法登录的。对私有用户的活动目录进行限制,提权操作也更是难上加难。 copyright 无奈人生
防御技巧
下面详细说明一下账户权限和目录权限的配置。 内容来自无奈安全网
1.禁止root
禁止root登陆有2个地方可以配置,第一个在ssh服务中:
www.wnhack.com
这一点在对sshd服务安全配置和优化已经说明了,具体配置可以点开链接查看。第二个就是在系统内使用su命令切换root用户了。其实这是一件挺麻烦的事情,我们知道对系统一些更改、安装软件、升级系统都需要root权限。那么为了安全我们需要禁用它,为了配置系统我们又要使用它,自相矛盾了。这里给出2种解决矛盾的方法:
彻底禁用root登陆,使用sudo。
root可以使用su切换,但是禁止远程登陆。
这两种方法各有利弊,第一种完全可以杜绝root用户的使用,同时也很难对root提权。这里需要说明下sudo,sudo可以让普通用户拥有root用户的权限,例如在普通用户下使用
内容来自无奈安全网
就可以直接在非root用户的情况下安装namp端口扫描工具。可以使用sudo命令的用户需要在/etc/sudoers文件中进行一些配置。 www.wnhack.com
无奈人生安全网
该配置文件的格式为: www.wnhack.com
用户或者组(组需要在组名前加%)主机=(用户) 执行的命令,如:
全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。其实简单来说,我们可以在sudoers文件中配置哪些用户可以使用root权限执行哪些命令。 本文来自无奈人生安全网
对于第一种方案,我们就是在禁用root以后通过sudo对系统进行一些修改,所以说sudo相当于拥有一定的root权限,因此sudo的权限也需要严格控制。这一点就有一些麻烦,通常建议为每个服务创建一个私有用户,倘若启动一些服务需要root权限,那么可以将需要root的命令配置到sudoers文件中。例如:为nginx创建了nginx私有用户,需要使用80端口,linux系统是不允许非root用户请求低端口的,一般有两种方案解决:1、创建使能2、在sudoers文件中配置如下: