你所忽略的Linux系统安全及应用(最全面)

防伪码:千磨万击还坚劲,任尔东西南北风

 第八章 系统安全及应用

前言:虽然说linux系统安全,高效,稳定,但如果平时不注意安全优化,也不会安全。本章将介绍账户安全,系统引导和登录的安全,以及弱口令检测,网络扫描工具的使用+综合实战!

一、账号安全控制

1、系统账号清理

1)以下常见的非登录用户要确保不被人为改动:

2) 各种非登录账户中,还有一部分是很少用到的,如news,uucp,games,gopher,这些用户可视为冗余账号,直接删除即可

3) 若不确定能否被删除,可以暂时锁定

4) 如果服务器中的账户已经固定,不再进行更改,还可以采用锁定账号配置文件的方法。

使用chattr命令,分别结合+i,-i来锁定、解锁。使用lsattr查看文件锁定情况。

2、 密码安全控制

1) 设置密码有效期为30天

修改配置文件,适合新建立的用户,vi  /etc/login.defs

使用命令:Chage -M 30 zhangsan,适用于已有的张三用户

2) 设置用户下次登录时重设密码

然后使用张三登录终端

先输入原密码,然后再输入两次新密码,注意复杂性。

3、 命令历史,自动注销

1) 修改配置文件,设置最多纪录200条历史命令,如果纪录太多,容易泄露信息。

Vi  /etc/profile,适用于新登录的用户

重启系统或者执行source  /etc/profile使之生效。

执行export  HISTSIZE=10适用于当前的账户

2) 当用户退出已登录的bash环境后,清空历史纪录

vi ~/.bash_history

删除一些不想让别人看到的命令,保存并退出

执行history -c:清空本次留在缓存中的历史命令

history -w :强制刷新缓存中的命令记录到.bash_history 文件中

然后重启之后重新登录系统,执行history发现没有历史纪录

3) 设置超时时间,指定时间没有任何输入就自动注销。

Vi  /etc/profile,适用于新登录的用户。

执行export TMOUT=10用于当前用户(为了测试方便,时间调10秒),10秒之内没有任何输入就退出系统。也可以使用unset
TMOUT取消设置

二、 用户切换与提权

1、 su命令:用来切换用户,具有该用户的所有权限。

1)su切换用户

上图的命令只切换用户身份,不切换用户环境,如果想切换身份的同时切换环境,需要在su后面加“-”,如下图:

2) 允许个别用户使用su命令进行切换,需要将授权使用su命令的用户zhangsan添加到wheel组,

修改/etc/pam.d/su认证配置

Vi  /etc/pam.d/su,去掉下图中圈中的auth前面的#号。

重启系统之后使用zhangsan登录,执行su  -  root 可以正常切换,但是使用其他用户提示密码不正确,登录失败。

2、 sudo命令,提升执行权限,可以让普通用户拥有一部分管理权限,又不需要将root用户的密码告诉对方。

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

例如:授权用户lisi能够执行ifconfig命令修改ip地址,而wheel组的用户不需要验证密码即可执行任何命令,可以执行以下操作。

执行命令:Visudo

2) 通过sudo命令测试特权命令

使用lisi登录系统,执行/sbin/ifconfig  eth0:0 192.168.1.1,提示失败,权限不够。

如果在命令前面加上sudo,执行成功

三、 系统引导和登录控制

1、 开关机安全控制

1) 调整biso引导控制

将第一引导设备设置为当前系统所在磁盘

禁止从光盘,u盘,网络等引导系统(Disabled)

将bios设置好管理密码。

2) 禁止ctrl+alt+del重启系统系统

Vi  /etc/init/control-alt-delete.conf

重启系统之后,按ctrl+alt+del无法重启系统(在终端中测试)

3) 限制更改grub引导参数

首先使用grub-md5-mcypt生成加密的密码

然后修改配置文件,把密文添加到第一个title之前,如下图:

重启系统进入grub菜单,如果想修改引导参数,必须先按p输入密码,然后按e才能编辑引导参数

2、 终端及登录控制

1) 减少开放的tty终端个数,禁用tty1,tty2,tty3

Vi  /etc/init/start-ttys.conf

Vi  /etc/sysconfig/init

注意两个文件都需要更改

2)禁止root用户从tty5和tty6终端登录

Vi  /etc/securetty

3)禁止普通用户登录,只需要建立/etc/nologin文件即可,如果恢复普通用户登录,删除这个文件即可

Touch  /etc/nologin

然后使用普通用户登录测试

四、 弱口令检测和端口扫描

1、 弱口令探测(john  the ripper)

1)下载并安装

查看是否安装成功

2) 检测弱口令

查看密码破解出的账户列表:

3) 使用密码字典文件破解,默认的字典文件为password.lst

首先清空破解出的账户列表

然后为xiaoming用户设置强密码[email protected]

把密码写在字典文件中:vi password.lst,也可以使用密码字典生成工具生成密码,然后再导入到password.lst文件中。

执行破解(破解之前需要重新拷贝shadow文件

2、网络扫描(NMAP)

1)安装NAMP软件包

2) 针对本机进行扫描,检查开放了哪些常用的tcp端口,udp端口

Filtered表示可能被防火墙过滤

3) 检查哪些主机提供了ftp服务

4) 检测192.168.0.0网段中有哪些存活主机(能ping通)

5) 检测192.168.0.1-254主机是否开启文件共享服务

综合实战演练:

实验环境:

某公司新增了一台企业级服务器,已安装运行RHEL 6操作系统,由系统运维部、软件开发部、技术服务部共同使用。由于用户数量众多,且使用时间不固定,要求针对账号和登录过程采取基本的安全措施。

需求描述:

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

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

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

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

5、禁止使用ctrl+alt+del快捷键,只开放tty3,tty5终端,为grub引导菜单设置密码

A、设置使用su命令

(1)修改认证文件/etc/pam.d/su,启用pam_wheel.so认证模块。

(2)将radmin用户加入到wheel组。

(3)验证除了root、radmin以外,其他用户均不能使用su进行切换。

B、设置sudo授权

(1)授权用户zhangsan使用useradd、userdel、passwd、usermod命令,但禁止其执行“passwd
root”、“usermod * root”操作。(2)授权lisi用户使用/sbin/*、/usr/sbin/*命令,添加NOPASSWD:以取消验证。(3)添加“Defaults logfile”配置行,以启用sudo日志。

(4)分别以zhangsan、lisi用户登录,验证授权的sudo操作,并查看日志。

C、限制引导及登录过程

(1)禁用Ctrl+Alt+Del热键,禁用tty1、tty2、tty4、tty6这四个终端。

(2)在grub.conf文件中的第一个title行之前添加密码配置。

(3)重启后进入到GRUB菜单界面,验证直接按e键已无法编辑引导参数。

谢谢观看 由衷的希望能帮到大家!

时间: 2024-08-06 03:38:04

你所忽略的Linux系统安全及应用(最全面)的相关文章

Linux系统1.md

计算机 介绍 电子计算机(英语:computer),亦称电脑,是一种利用电子学原理,根据一系列指令对数据进行处理的工具. 在现代,机械计算机的应用已经完全被电子计算机所替换,其所相关的技术研究叫计算机科学,而"计算机技术"指的是将计算机科学的成果应用于工程实践所派生的诸多技术性和经验性成果的总合."计算机技术"与"计算机科学"是两个相关而又不同的概念,它们的不同在于前者偏重于实践而后者偏重于理论.此外,电子计算机亦被形象地称作电脑.至于由数据为核

linux 系统备份和恢复

转自:http://blog.csdn.net/sunnylgz/article/details/8055315 在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统.Norton Ghost是备份Windows系统时经常使用的备份工具. 在备份Windows系统的时候你可能想过,我能不能把整个C盘都放

linux系统上的命令

一.命令的一般格式 一般格式:命令+参数+对象具体的可以man一个命令来看. command [options] [arguments]command:命令options:  --单词   或   -单字如: ls --allequ     ls -als -a -b -cequ    ls -abcargument:参数 二.命令格式中的符号含义 在查看命令帮助时,会出现[],<>,|等符号,它们的含义如下: []       表示是可选的; <>       表示可变选项,一般

Linux系统程序包管理工具 RPM

什么是RPM: RPM全名是"RedHat Package Manager",简称为RPM,这套软件管理机制是由RedHat这家公司发展而来的.RPM是以一种数据库记录的方式来将你所需要的软件安装到你的Linux系统的一套管理机制.其最大的特点就是将你要安装的软件先编译过,并且打包成为RPM机制的安装包,通过包装好的软件里面默认的数据库记录这个软件安装时必须具备的依赖属性软件,具备就安装.不具备就不予安装. 程序的组成部分: 编译之前:源代码 编译文件 二进制程序:/bin, /sbi

Linux系统备份与还原

转自:http://blog.csdn.net/sunnylgz/article/details/8055315 在 使用Ubuntu之前,相信很多人都有过使用Windows系统的经历.如果你备份过Windows系统,那么你一定记忆犹新:首先需要找到一个备份工 具(通常都是私有软件),然后重启电脑进入备份工具提供的软件环境,在这里备份或者恢复Windows系统.Norton Ghost是备份Windows系统时经常使用的备份工具. 在备份Windows系统的时候你可能想过,我能不能把整个C盘都放

linux系统下软件安装包类型及安装介绍

linux系统下软件安装包类型及安装介绍 一.解析Linux应用软件安装包,通常Linux应用软件的安装包有四种: 1)tar包,如software-1.2.3-1.tar.gz.他是使用UNIX系统的打包工具tar打包的. 2)rpm包,如software-1.2.3-1.i386.rpm.他是Redhat Linux提供的一种包封装格式.包的管理工具YUM 3)dpkg包,如software-1.2.3-1.deb.他是Debain Linux提供的一种包封装格式.包的管理工具apt-get

Ubuntu Linux系统下apt-get命令详解

Ubuntu Linux系统下apt-get命令详解(via|via) 常用的APT命令参数: apt-cache search package 搜索包 apt-cache show package 获取包的相关信息,如说明.大小.版本等 sudo apt-get install package 安装包 sudo apt-get install package - - reinstall 重新安装包 sudo apt-get -f install 修复安装"-f = ——fix-missing&

Linux系统之RPM包管理

目录 01 RPM包管理 1.1RPM概述 1.2RPM包安装 1.3RPM包查询 1.4RPM包升级 1.5RPM包卸载 1.6RPM包校验 01 RPM包管理 1.1RPM概述 RPM是RedHat Package Manager的缩写,由Redhat公司开发出来的. RPM是通过数据库记录的方式来将你所需要的软件安装到你的Linux主机上一套管理程序.也就是说,你的linux系统中存在着一个关于RPM的数据库,它记录了安装包以及包之间依赖相关性. 1.软件包类型 分类 安装 版本 rpm包

自动调整linux系统时间和时区与Internet时间同步

调整linux系统时间和时区与Internet时间同步 一.修改时区:# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime修改为中国的东八区# vi /etc/sysconfig/clockZONE="Asia/Shanghai"UTC=falseARC=false 二.配置新的时间日期设定:# date -s 2008/05/06 时间设定:# date -s 18:40:00 查看硬件时间(BIOS的):    hwclock