学习啦>学习电脑>电脑安全>系统安全>

系统安全基础知识大全

时间: 怀健0 分享

系统安全管理包括身份鉴别、访问控制、可靠性与可用性、系统监控、日志审计、管理员行为审计、系统安全评估与加固、数据备份、系统安全应急九个部分的内容。下面就让小编带你去看看关于系统安全的基础知识吧,希望能帮助到大家!

系统安全及应用

理论讲解

用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linu__系统中,提供了多种机制来确保用户账号的正当、安全使用。

一,基本安全措施

1.系统账号清理

在Linu__系统中.除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号。除了超级用户root之外,其他大量账号只是用来维护系统运作,启动或保持服务进程,一般是不允许登录的,因此也称为非登录用户账号。

常见的非登录用户账号包括bin,daemon.adm、lp、mail等。为了确保系统安全,这些用户账号的登录Shell 通常是/sbin/nologin,表示禁止终端登录,应确保不被人为改动,如下所示:

各种非登录用户账号中,还有相当一部分是很少用到的,如games。这些用户账号可以视为冗余账号,直接删除即可。除此之外,还有一些随应用程序安装的用户账号,若卸载程序以后未能自动删除,则需要管理员手动进行清理。

对于Linu__服务器中长期不用的用户账号,若无法确定是否应该删除,可以暂时将其锁定。例如,若要锁定、解锁名为bob的用户账号,可以执行以下操作(passwd.usermod命令都可用来锁定、解锁账号)。

如果服务器中的用户账号已经固定,不再进行更改,还可以采取锁定账号配置文件的方法。使用chattr命令,分别结合“+i” “-i“选项来锁定、解锁文件,使用lsattr命令可以查看文件锁定情况。

在账号文件被锁定的情况下,其内容将不允许变更,因此无法添加、删除账号,也不能更改用户的密码、登录Shell、宿主目录等属性信息。

例如在锁定文件之后创建张三用户,就会显示创建失败。如下图:

2.密码安全控制

在不安全的网络环境中,为了降低密码被猜出的风险,用户应养成定期更改密码的习惯,避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码,否则将拒绝登录。

执行以下操作可将密码的有效期设为30天(chage命令用于设置密码时限)。

在某些特殊情况下,如要求批量创建的用户初次登录时必须自设密码,根据安全规划统一要求所有用户更新密码等,可以由管理员执行强制策略,以便用户在下次登录时必须更改密码。例如执行以下操作可强制要求用户Bob下次登录时重设密码。

3.命令历史、自动注销

Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险。

只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。

Bash终端环境中,历史命令的记录条数由变量HISTSIZE控制,默认为1000条。通过修改

/etc/profile 文件中的HISTSIZE变量值,可以影响系统中的所有用户。例如,可以设置最多只记录200条历史命令。

需要注意的是,当正在执行程序代码编译、修改系统配置等耗时较长的操作时,应避免设置TMOUT变量。必要时可以执行“unset TMOUT”命令取消TMOUT变量设置。

除此之外,还可以修改用户宿主目录中的~/.bash_logout文件,添加清空历史命令的操作语句。

这样,当用户退出已登录Bash环境以后,所记录的历史命令将自动清空。

二,用户切换与提权

大多数Linu__服务器并不建议用户直接以root用户进行登录。一方面可以大大减少因误操作而导致的破坏,另一方面也降低了特权密码在不安全的网络中被泄露的风险。鉴于这些原因,需要为普通用户提供一种身份切换或权限提升机制,以便在必要的时候执行管理任务。

Linu__系统为我们提供了su、sudo两种命令,其中su命令主要用来切换用户,而sudo命令用来提升执行权限,下面分别进行介绍。

1.su命令——切换用户

使用su命令,可以切换为指定的另一个用户,从而具有该用户的所有权限。当然,切换时需要对目标用户的密码进行验证(从root用户切换为其他用户时除外)。例如,当前登录的用户为bob

若要切换为root用户,可以执行以下操作:

上述命令操作中,选项“-”等同于“--login”或“-l”,表示切换用户后进入目标用户的登录Shell环境,若缺少此选项则仅切换身份、不切换用户环境。对于切换为root用户的情况,“root”可 以省略。

默认情况下,任何用户都允许使用su命令,从而有机会反复尝试其他用户(如root)的登录密码,这样带来了安全风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块,只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户添加到wheel组,修改

/etc/pam.d/su 认证配置以启用pam_wheel认证。

修改配置文件支持允许wheel组使用su

将bob用户加入到wheel组中

查看wheel组中是否拥有bob用户

启用pam_wheel认证以后,未加入到wheel组内的其他用户将无法使用su命令,尝试进行切换时将提示“拒绝权限”,从而将切换用户的权限控制在最小范围内。

如图所示:

上图切换失败,拒绝权限的原因就是我们没有把用户张三加入到wheel组中,所以拒绝张三用户使用su命令。

使用su命令切换用户的操作将会记录到安全日志/var/log/secure文件中,可以根据需要进行查看。

2.sudo命令——提升执行权限

通过su命令可以非常方便地切换为另一个用户,但前提条件是必须知道目标用户的登录密码。

例如,若要从Bob用户切换为root用户,必须知道root用户的密码。对于生产环境中的Linu__服务器,每多一个人知道特权密码,其安全风险也就增加一分。

那么,有没有一种折中的办法,既可以让普通用户拥有一部分管理权限,又不需要将root用户的密码告诉他呢?答案是肯定的,使用sudo命令就可以提升执行权限。不过,需要由管理员预先进行授权,指定允许哪些用户以超级用户(或其他普通用户)的身份来执行哪些命令。

1)在配置文件/etc/sudoers中添加授权

sudo机制的配置文件为/etc/sudoers,文件的默认权限为440,保存时必须执行:wq!”命令来强制操作,否则系统将提示为只读文件而拒绝保存。

配置文件/etc/sudoers中,授权记录的基本配置格式如下所示:

user MACHINE=COMMANDS

授权配置主要包括用户、主机、命令三个部分,即授权哪些人在哪些主机上执行哪些命令。

各部分的具体含义如下。

用户(user):直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户)。

主机(MACHINE):使用此配置文件的主机名称。此部分主要是方便在多个主机间共用同一份sudoers文件,一般设为localhost或者实际的主机名即可。

命令(COMMANDS):允许授权的用户通过sudo方式执行的特权命令,需填写命令程序的完整路径,多个命令之间以逗号”,”进行分隔。

典型的sudo配置记录中,每行对应一个用户或组的sudo授权配置。例如,若要授权用户bob能够执行reboot来重启虚拟机,而wheel组的用户无需验证密码即可执行任何命令,可以执行以下操作:

因为是只读文件,所以必须wq! 强制保存退出

sudo配置记录的命令部分允许使用通配符“__”、取反符号“!”,当需要授权某个目录下的所有命令或取消其中个别命令时特别有用。例如,若要授权用户syrianer 可以执行/sbin/目录下除ifconfig以外的其他所有命令程序,可以执行以下操作

默认情况下,通过sudo方式执行的操作并不记录。若要启用sudo日志记录以备管理员查看,应在/etc/sudoers 文件中增加“Defaults logfile”设置。

2)通过sudo执行特权命令

对于已获得授权的用户,通过sudo方式执行特权命令时,只需要将正常的命令行作为sudo命令的参数即可。由于特权命令程序通常位于/sbin、/usr/sbin等目录下,普通用户执行时应使用绝对路径。以下操作验证了使用sudo方式执行命令的过程。

若要查看用户自己获得哪些sudo授权,可以执行“sudo-l”命令。未授权的用户将会得到“may not run sudo”的提示,已授权的用户则可以看到自己的sudo配置。

如果已经启用sudo日志,则可以从/var/log/sudo文件中看到用户的sudo操作记录。

三,系统引导和登录控制

在互联网环境中,大部分服务器是通过远程登录的方式来进行管理的,而本地引导和终端登录过程往往容易被忽视,从而留下安全隐患。特别是当服务器所在的机房环境缺乏严格、安全的管控制度时,如何防止其他用户的非授权介入就成为必须重视的问题。

开关机安全控制

对于服务器主机,其物理环境的安全防护是非常重要的,不仅要保持机箱完好、机柜锁闭,还要严格控制机房的人员进出、硬件设备的现场接触等过程。在开关机安全控制方面,除了要做好物理安全防护以外,还要做好系统本身的一些安全措施。

1.调整BIOS引导设置

(1)将第一优先引导设备(First Boot Device)设为当前系统所在磁盘。

(2)禁止从其他设备(如光盘、U盘、网络等)引导系统,对应的项设为“Disabled"。

(3)将BlOS的安全级别改为“setup”,并设置好管理密码,以防止未授权的修改。

2.禁止Ctrl+Alt+Del快捷键重启

快捷键重启功能为服务器的本地维护提供了方便,但对于多终端登录的Linu__服务器,禁用此功能是比较安全的选择。在CentOS7中,执行cat/etc/inittab命令可以得知Ctrl+Alt+Del快捷键功能由/usr/lib/systemd/system/ctrl-alt-del.target 文件进行设置。查看/usr/lib/systemd/system/ctrl-alt-del.target 文件发现,ctrl-alt-del.target是reboot.target文件的软链接文件。

在不影响reboot.target文件的前提下执行以下命令即可禁用Ctrl+Alt+Del快捷键功能。

systemctl mask命令是用于注销指定服务的,例如systemctl mask cpu.service 命令用于注销cpu服务,取消注销则使用systemctl umask命令。因此若想重新开启Ctrl+AIt+Del快捷键功能,只需执行systemctl unmask ctrl-alt-del.targct命令,然后刷新配置即可。

3.限制更改GRUB引导参数

在之前的课程中介绍过通过修改GRUB引导参数,对一些系统问题进行修复。从系统安全的角度来看,如果任何人都能够修改GRUB引导参数,对服务器本身显然是一个极大的威胁。为了加强对引导过程的安全控制,可以为GRUB菜单设置一个密码,只有提供正确的密码才被允许修改引导参数。

为GRUB菜单设置的密码建议采用grub2-mlkpasswd-pbkdf2命令生成,表现为经过PBKDF2算法加密的字符串,安全性更好。生成密码后在/etc/grub.d/00_header配置文件中,添加对应的用户密码等配置,具体添加内容如下所示。

通过上述配置,重新开机进入GRUB菜单时,按E键将无法修改引导参数。若要获得编辑权限,必须根据提示输入正确的GRUB密码,如图所示:

为GRUB设置密码时,“grub.pbkdf2.sha512…”部分可替换为明文的密码字符串,如“123456”,但安全性稍差。不建议使用明文的密码字符串。

四,终端及登录控制

在Linu__服务器中,默认开启了六个tty终端,允许任何用户进行本地登录。关于本地登录的安全控制,可以从以下几个方面着手。

1.禁止root用户登录

在Linu__系统中,login 程序会读取/etc/securety文件,以决定允许root用户从哪些终端(安全终端)登录系统。若要禁止root用户从指定的终端登录,只需从该文件中删除或者注释掉对应的行即可。例如,若要禁止root用户从ty5.tty6登录,可以修改/etc/securetty文件,将tty5.ty6行注释掉。

2.禁止普通用户登录

当服务器正在进行备份或调试等维护工作时。可能不希望再有新的用户登录系统。这时候,只需要简单地建立/etc/nologin文件即可。login 程序会检查/etc/nologin文件是否存在,如果存在,则拒绝普通用户登录系统(root用户不受限制)。

此方法实际上是利用了shutdown延迟关机的限制机制,只建议在服务器维护期间临时使用。当手动删除/etc/nologin文件或者重新启动主机以后,即可恢复正常。

五,弱口令检测、端口扫描

本节将学习使用两个安全工具—ohn the Ripper和NMAP,前者用来检测系统账号的密码强度。后者用来执行端口扫描任务。

弱口令检测

John the Ripper在nternet环境中,过于简单的口令是服务器面临的最大风险。尽管大家都知道设置一个更长,更复杂的口令会更加安全,但总是会有一些用户因贪图方便而采用简单、易记的口令字串。对于任何一个承担着安全责任的管理员,及时找出这些弱口令账号是非常必要的,这样便于采取进一步的安全措施(如提醒用户重设更安全的口令)。

1.下载并安装John the Ripper

John the Ripper 的官方网站是http://www.openwall.com/john/,通过该网站可以获取稳定版源码包,如john-1.8.0.tar.gz。

以源码包john-18.0,tar.gz为例,解压后可看到三个子目录——doc、run.src,分别表示手册文档、运行程序、源码文件,除此之外还有一个链接的说明文件READE。其中,doc目录下包括READVME、INSTALL.E__AMPLES等多个文档,提供了较全面的使用指导。

切换到src子目录并执行“make clean linu__-__86-64”命令,即可执行编译过程。若单独执行make命令,将列出可用的编译操作、支持的系统类型。编译完成以后,run子目录下会生成一个名为john的可执行程序。

2.检测弱口令账号

在安装有John the Ripper的服务器中,可以直接对/etc/shadow文件进行检测。对于其他Linu__服务器,可以对shadow文件进行复制,并传递给john程序进行检测。只需执行run目录下的john程序,将待检测的shadow文件作为命令行参数,就可以开始弱口令分析了。

在执行过程中,分析出来的弱口令账号将即时输出,第一列为密码字串,第二列的括号内为相应的用户名(如用户bob的密码为“pwd@123”)。默认情况下,john将针对常见的弱口令设置特点。

3.使用密码字典文件

John the Ripper 默认提供的字典文件为password.lst,其列出了3000多个常见的弱口令。如果有必要,用户可以在字典文件中添加更多的密码组合,也可以直接使用更加完整的其他字典文件。执行john程序时,可以结合“--wordlist=”选项来指定字典文件的位置,以便对指定的密码文件进行暴力分析。

也不难看出,像“123456iloveyou”之类的密码有多脆弱了。

六,网络扫描——NMAP

NMAP是一个强大的端口扫描类安全评测工具,官方站点是http://nmap.org/。NMAP被设计为检测众多主机数量的巨大网络,支持ping 扫描、多端口检测、OS识别等多种技术。使用NMAP定期扫描内部网络,可以找出网络中不可控的应用服务,及时关闭不安全的服务,减小安全风险。

1.安装NMAP软件包

在CentOS7系统中,既可以使用光盘自带的nmap.__86_64 2:6.40-7.el7安装包,也可以使用从NMAP官方网站下载的最新版源码包,这里以YUM方式安装的nmap软件包为例。

2.扫描语法及类型

NMAP的扫描程序位于/usr/bin/namp目录下,使用时基本命令格式如下所示。

nmap [扫描类型] [选项] <扫描目标..>

其中,扫描目标可以是主机名、IP地址或网络地址等,多个目标以空格分隔;常用的选项有“-p”“-n",分别用来指定扫描的端口、禁用反向DNS解析(以加快扫描速度);扫描类型决定着检测的方式,也直接影响扫描的结果。比较常用的几种扫描类型如下:

-sS,TCP SYN扫描(半开扫描):只向目标发出SYN数据包,如果收到SYN/ACK响应包就认为目标端口正在监听,并立即断开连接;否则认为目标端口并未开放。

-sT,TCP连接扫描:这是完整的TCP扫描方式,用来建立一个TCP连接,如果成功则认为目标端口正在监听服务,否则认为目标端口并未开放。

-sF,TCPFN扫描:开放的端口会忽略这种数据包,关闭的端口会回应RST数据包。许多防火墙只对SYN数据包进行简单过滤,而忽略了其他形式的TCP攻击包.这种类型的扫描可间接检测防火墙的健壮性。

-sU,UDP扫描:探测目标主机提供哪些UDP服务,UDP扫描的速度会比较慢。

-sP,ICVMP扫描:类似于ping检测,快速判断目标主机是否存活,不做其他扫描。

-P0,跳过ping检测:这种方式认为所有的目标主机是存活的,当对方不响应ICVMP请求时,使用这种方式可以避免因无法ping通而放弃扫描。

3.扫描操作示例

为了更好地说明nmap命令的用法,下面介绍几个扫描操作的实际用例。

针对本机进行扫描,检查开放了哪些常用的TCP端口、UDP端口。

上图中的命令都一样。都是查看本机开发的端口

在扫描结果中,STATE列若为open则表示端口为开放状态,为filtered表示可能被防火墙过滤,为closed表示端口为关闭状态。

检查192.168.100.0/24网段中有哪些主机提供FTP服务。

快速检测192.168.100.0/24网段中有哪些存活主机(能ping通)

检测IP地址位于192.168.4.100~200的主机是否开启文件共享服务。

实际上,NMAP提供的扫描类型、选项还有很多,适用于不同的扫描需求,本章仅介绍了其中一小部分常用的操作,更多用法还需要大家进一步通过实践去掌握。

七,实验案例

允许用户radmin使用su命令进行切换,其他用户一律禁止切换身份。

1. 创建radmin,设置密码为pwd@123

2.配置pam验证,支持wheel组使用su命令

3.配置主配置文件,支持wheel组使用su

授权用户zhangsan管理所有员工的账号,但禁止其修改root用户的信息。

1.打开sudo主配置文件,编辑支持管理所有员工账号

测试张三是否拥有管理所有员工账号的权限

授权用户lisi能够执行/sbin、/usr/sbin目录下的所有特权命令,不需要密码验证。

1.打开sudo主配置文件,配置不需要密码验证

测试lisi是否需要密码验证:

所有的su,sudo操作,必须在系统日志文件中进行记录。

1.使用su命令切换用户的操作将会记录到安全日志/var/log/secure文件中,所以不需要配置

2.打开sudo主配置文件

禁止使用Ctrl+Alt+Del快捷键,禁止root 用户从tty5.tty6登录,为GRUB引导菜单设置密码。

1.禁止使用快捷键

测试是否禁用成功:

2.禁止用户从tty5,tty6终端登录

3.为grub引导菜单设置密码

测试grub菜单密码:

至此,结束~

系统安全管理checklist

01.

身份鉴别

是否使用双因素认证来进行身份鉴别?

账号权限是否具有集中管理系统(如堡垒主机系统)?

是否制定了账号口令管理制度?

是否设置了口令复杂度策略?(三种组合、8位以上)

是否强制修改账号的默认口令?

是否定期更换口令?(每三个月)

是否采取了限制登录失败次数安全控制措施?

是否采取了连接超时等登录安全控制措施?

是否采取了必要措施防止鉴别信息在网络传输过程中被窃听?

02.

访问控制

访问权限是否按照权限分离、最小权限等原则设置?

账号权限的开通、变更是否经过审批?

是否对登陆系统访问路径进行控?

是否修改或删除了默认帐户?

特权用户权限是否分离?

是否能够做到账号与使用人一一对应?

账号权限是否设置使用期限?

是否具有系统中所有账号的台账清单?

是否定期对系统账号进行审查和及时清理无用帐户?

(数据库)数据关键字段是否支持保密性?

(数据库)数据关键字段是否支持完整性?

(数据库)对于数据导入导出操作,是否建立对应的管理规定?

(数据库)是否对敏感数据进行脱敏管理,并建立正式管理规定?

03.

可靠性与可用性

是否集群提供高可用性?

重要服务器设备是否配备冷备或热备?

重要服务器是否配备冗余电源?

主机服务器是否进行时钟同步?

04.

系统监控

是否采用集中管理监控与管理平台?

是否对系统运行情况进行实时监控?

是否对重要系统的重要指标(如CPU、内存、硬盘空间等)等指标进行监控?

是否对重要系统的重要指标(如线程、连接数)等指标进行监控?

是否对系统监控各项指标设置阈值?

系统监控达到阈值是否能够自动报警?

是否定期(每月)对系统监控状况进行总结分析?

是否对系统各项指标进行容量的管理与规划?

05.

日志审计

系统是否开启了日志功能?

是否部署了集中日志采集设备?

日志记录是否包括事件的日期和时间、用户、事件类型、事件是否成功等内容?

日志审计记录能否生成报表?

日志审计记录是否采取相应的保护措施?

是否定期(每月)对日志审计状况进行总结分析?

06.

管理员行为审计

是否部署统一认证、授权系统?

是否能够统一记录管理员权限操作行为?

是否能够对管理员行为进行定期(每周、每月)审计?

07.

系统安全评估与加固

是否具备补丁管理制度及变更管理?

是否使用专业工具对系统进行定期扫描?扫描工具?

是否根据扫描结果对发现的漏洞进行加固?

是否定期的对系统进行补丁升级?

是否具备测试环境?加固前是否先进行测试环境测试?

升级加固是否具备升级失败回退机制与应急计划?

是否对数据库进行安全配置基线管理?

08.

数据备份

是否建立正式的备份管理制度(备份方式、备份频度、存储介质、保存期等)?

是否制定有明确的数据备份策略?(备份周期、备份方式等)

管理制度是否包含特定系统的业务中断恢复时间要求?

重要的系统备份数据是否异地存放?

是否建立异地灾备中心?

备份介质与备份记录是否进行了妥善的保管?

是否对备份数据进行定期的恢复测试?

备份管理制度及备份恢复测试结果是否定期审查和根据实际情况更新内容?

09.

系统安全应急

是否建立了统一的应急预案框架?

重要系统是否制定针对不同系统故障的应急预案?

是否定期对系统相关的人员进行应急预案培训?

是否定期对应急预案进行演练?

应急预案是否需定期审查和根据实际情况更新内容?

电脑系统安全设置具体方法

系统安全设置具体方法:

1,首先,右键点击“此电脑”,菜单栏选择“属性”。

2,进入属性界面后,我们点击界面上方的“控制面板”进入下一步。

3,选择“系统和安全”进入下一步。

4,如果需要设置某些应用可以通过防火墙的话,我们可以在应用通过防火墙中进行设置。

5,当然也可以对“Wndours Dfender防火墙”其他属性进行设置。

关于电脑系统安全设置的操作方法介绍到此就介绍了。

系统安全基础知识大全相关文章

电脑系统安全基础知识大全有哪些

【网络安全】:网络安全基础知识点汇总

各类安全知识大全

安全生产基本知识有哪些?

安全生产知识点大全五篇

Win10系统的基础知识大全有哪些

【网络安全】:学习网络安全需要哪些基础知识?

安全生产小知识大全三篇

操作系统基础知识

电脑安全设置及防护

系统安全基础知识大全

系统安全管理包括身份鉴别、访问控制、可靠性与可用性、系统监控、日志审计、管理员行为审计、系统安全评估与加固、数据备份、系统安全应急九个部分的内容。下面就让小编带你去看看关于系统安全的基础知识吧,希望能帮助到大家!系统安全及应用理论讲解用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linu__系统中,提供了多种机制来确保用户账号的正当、安全使用。一,基本安全措施1.系统账号清理在Linu__系统中.除了用户手动创建的各种账号之外,还包括随系统或
推荐度:
点击下载文档文档为doc格式

精选文章

  • 电脑系统安全基础知识大全
    电脑系统安全基础知识大全

    电脑系统,又称电脑操作系统,是用于管理和控制计算机系统中的硬件及软件资源的系统软件,也是计算机系统的内核与基石。下面就让小编带你去看看电

736186