一、账户安全
账户安全是系统安全的第一道屏障,也是系统安全的核心,在一定程度上可以提高服务器的安全级别
-
- 删除特殊的账户和账户组
在系统安装完成后,默认会安装很多不必要的用户和用户组,如不需要某些用户或组就删除它,账户越多系统越不安全
可删除的用户:adm,lp,sync,shutdown,halt,news,uucp,operator,games,gopher等
可删除的组:adm,lp,news,uucp,games,dip,pppusers,popusers,slipusers等
- 删除特殊的账户和账户组
-
- 关闭系统不需要的服务
一般情况下,只要系统本身用不到的服务都认为是不必要的服务
例如:某台Linux服务器用于www应用,那么除了httpd服务和系统运行是必须的服务外,其他服务都可以关闭。下面这些服务一般情况下是不需要的,可以选择关闭:
anacron、auditd、autofs、avahi-daemon、avahi-dnsconfd、bluetooth、cpuspeed、firstboot、gpm、haldaemon、hidd、ip6tables、ipsec、isdn、lpd、mcstrans、messagebus、netfs、nfs、nfslock、nscd、pcscd portmap、readahead_early、restorecond、rpcgssd、rpcidmapd、rstatd、sendmail、setroubleshoot、yppasswdd ypserv
- 关闭系统不需要的服务
-
- 密码安全策略
远程登录有2种认证方式:密码认证和密钥认证
密码认证:传统的安全策略,对于密码的设置,常规为至少6个字符以上,要包含数字,字母,下划线,特殊符号等。设置一个相对复杂的密码对系统安全能起到一定的防护作用,但也面临一些其他问题(如密码暴力破解,密码泄露,密码丢失等),同时过于复杂对于运维工作也会造成一定的负担
- 密码安全策略
密钥认证:公钥存储在远程服务器上,密钥保存到本地,当需要登录系统时,通过本地密钥和远程服务器的公钥进行配对认证,认证成功就登录系统。这种方式避免了被暴力破解的危险。只要密钥不被黑客盗用,攻击者一般无法通过密钥认证的方式进入系统。
Linux服务器一般通过SecureCRT,putty,Xshell之类的工具进行远程维护和管理,密钥认证方式的实现就是借助于SecureCRT软件个linux系统中的SSH服务实现的
-
- 合理使用su、sudo命令
su命令:是一个切换用户的工具,经常用于将普通用户切换到超级用户下,当然也可以从超级用户切换到普通用户。为了保证服务器的安全,几乎所有服务器都禁止了超级用户直接登录系统,而是通过普通用户登录系统,然后再通过su命令切换到超级用户下,执行一些需要超级权限的工作。通过su命令能够给系统管理带来一定的方便,但是也存在不安全的因素,
例如:系统有10个普通用户,每个用户都需要执行一些有超级权限的操作,就必须把超级用户的密码交给这10个普通用户,如果这10个用户都有超级权限,通过超级权限可以做任何事,那么会在一定程度上对系统的安全造成了威协。
因此su命令在很多人都需要参与的系统管理中,并不是最好的选择,超级用户密码应该掌握在少数人手中,此时sudo命令就派上用场了。
sudo命令:允许系统管理员分配给普通用户一些合理的“权利”,并且不需要普通用户知道超级用户密码,就能让他们执行一些只有超级用户或其他特许用户才能完成的任务。
比如:系统服务重启、编辑系统配置文件等,通过这种方式不但能减少超级用户登录次数和管理时间,也提高了系统安全性。
因此,sudo命令相对于权限无限制性的su来说,还是比较安全的,所以sudo也被称为受限制的su,另外sudo也是需要事先进行授权认证的,所以也被称为授权认证的su。
sudo执行命令的流程是:
将当前用户切换到超级用户下,或切换到指定的用户下,然后以超级用户或其指定切换到的用户身份执行命令,执行完成后,直接退回到当前用户,而这一切的完成要通过sudo的配置文件 /etc/sudoers来进行授权。
sudo设计的宗旨是:
赋予用户尽可能少的权限但仍允许它们完成自己的工作,这种设计兼顾了安全性和易用性,因此,强烈推荐通过sudo来管理系统账号的安全,只允许普通用户登录系统,如果这些用户需要特殊的权限,就通过配置/etc/sudoers来完成,这也是多用户系统下账号安全管理的基本方式。
-
- 删除系统登录欢迎信息
系统的一些欢迎信息或版本信息,虽然能给系统管理者带来一定的方便,但是这些信息有时候可能被黑客利用,成为攻击服务器的帮凶,为了保证系统的安全,可以修改或删除某些系统文件,需要修改或删除的文件有4个,分别是:
- 删除系统登录欢迎信息
/etc/issue、/etc/issue.net、/etc