1. 操作条件

(1)装有 Cent OS Linux 操作系统的虚拟机一台

2. 背景:

某企业有一台服务器,其信息如下:

(1)  该服务器上存在管理员 root,密码为 root,另存有一些具有 root 权限的
   其他账户,经确认这些账户长期未使用;

(2)  “/secure”文件夹为公司开发部的重要文件夹,目前权限为所有人完全
控制。实际使用需求为:只有 “develops”组的管理员“deadmin”和
“develops”小组成员能对组进行任何操作;其他用户组只能查看。

(3)  服务器默认可以通过所有的 TTY 进行登录,并且 root 用户可以通过 SSH
进行远程登录;

(4)  任何用户可以切换 su 登录。

3. 需求: 现需要对该服务器进行安全加固,减少攻击面:

(1)  防止黑客爆破 root 用户密码,并防止黑客通过其他管理员用户入侵的可 能性。

对新建账户强制要求 8 位以上的复杂密码,并至少每两个月修改一 次密码,到期前一个礼拜 醒客户修改密码;
(2)  防止未经授权的文件访问;
(3)  防止未经授权的 TTY 登录,仅留 1,2 两个 TTY 登录入口;
(4)  防止 root 用户直接远程登录;
(5) 防止因忘记注销而产生的安全问题,超时 5 分钟后自动注销; (6) 防止任意用户使用 su 切换成 root 账户;
(7) 防止账户文件被修改。

4. 具体要求:

(1) 找出并锁定未使用的管理员账户,并对管理员账户设置强密码 1qaz@WSX;

(2) 检查口令策略是否符合要求,并正确设置;
(3) 根据访问需求设置“/secure”文件夹权限;
(4) 正确部署登录策略(包括 TTY 登录、远程登录、和 su 切换限制);

(5) 正确设置自动注销;
(6) 正确限制 su 切换,仅限 wheel 组才能切换至 root; (7) 锁定账户文件防止被修改。


操作步骤

步骤1. 安全管理账户:

(1) 为 root 用户设置强密码:

右击桌面,选择“打开终端”,依次输入下列命令 passwd root
1qaz@WSX
1qaz@WSX

(2) 找出 UID 为 0 的用户,并锁定

在终端中依次输入下列命令
cat/etc/passwd //发现UID为0的用户为testadmin

passwd -l testadmin //锁定 testadmin 用户

(3) 创建/secure 文件夹的使用账户和组:

    在终端中依次输入下列命令

groupadd develops
useradd -g develops deadmin
passwd deadmin
zaq1@WSX
zaq1@WSX //这里密码任意

步骤2. 文件系统安全管理:

(1) 设置适当的用户文件权限:

   在终端中依次输入下列命令

chown deadmin:develops /secure

chmod 774 /secure

步骤3. 系统加固

(1) 设置口令策略:在终端中依次输入下列命令

cat /etc/login.defs
vi /etc/login.defs修改如下行:
PASS_MAX_DAYS 60
PASS_MIN_DAYS 0
PASS_MIN_LEN 8
PASS_WARN_AGE 7

(2) 防止 TTY 登录,仅留 1,2 两个 TTY 登录入口

在终端中输入下列命令
vi /etc/inittab (按 i 进行编辑,qw 保存并推出)
注释如下行:

#3:2345:respawn:/sbin/mingetty tty3

#4:2345:respawn:/sbin/mingetty tty4

#5:2345:respawn:/sbin/mingetty tty5

#6:2345:respawn:/sbin/mingetty tty6

(3) 设置自动注销超时时间

在终端中输入下列命令
vi /etc/profile (按 i 进行编辑,qw 保存并推出)
在 HISTSIZE=1000 下面加入行:

TMOUT=300

if [ -x /usr/bin/id ]; then
USER="`id -un`"
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
fi HOSTNAME=`/bin/hostname`
HISTSIZE=1000
TMOUT=300

(4) 防止任意用户使用 su 切换到 root

在终端中输入下列命令
vi /etc/pam.d/su (按 i 进行编辑,qw 保存并推出)
在头部加入行:

auth required pam_wheel.so group=wheel

#%PAM-1.0
auth sufficient pam_rootok.so
# Uncomment the following line to implicitly trust users in the "wheel" group.
#auth sufficient pam_wheel.so trust use_uid
# Uncomment the following line to require a user to be in the "wheel" group.
#auth required pam_wheel.so use_uid
auth required pam_wheel.so group=wheel
auth include system-auth
account sufficient pam_succeed_if.so uid = 0 use_uid quiet
account include system-auth
password include system-auth
session include system-auth
session optional pam_xauth.so

(5) 防止 root 用户远程登录

在终端中输入下列命令
vi /etc/ssh/sshd_config (按 i 进行编辑,qw 保存并推出)
修改如下行:

PermitRootLogin no

#LoginGraceTime 2m
PermitRootLogin no
#StrictModes yes
#MaxAuthTries 6

(6) 锁定账户文件:

   在终端中依次输入下列命令

chattr +i /etc/passwd

chattr +i /etc/shadow

chattr +i /etc/gshadow

chattr +i /etc/group

[root@localhost ~]# chattr +i /etc/passwd
[root@localhost ~]# chattr +i /etc/shadow
[root@localhost ~]# chattr +i /etc/group
[root@localhost ~]# chattr +i /etc/gshadow

[企业级linux安全管理]- 安全管理基础(1)的更多相关文章

  1. linux基础-第十四单元 Linux网络原理及基础设置

    第十四单元 Linux网络原理及基础设置 三种网卡模式图 使用ifconfig命令来维护网络 ifconfig命令的功能 ifconfig命令的用法举例 使用ifup和ifdown命令启动和停止网卡 ...

  2. 图像显示 imshow()[OpenCV 笔记5]

    void imshow(const string& winname InputArray mat); winname 窗口表识名称 mat 需要显示的图像.InputArray类型,声明如下 ...

  3. 罗列Linux发行版的基础目录名称,命令法则和功能

    罗列Linux发行版的基础目录名称命名法则及功用规定 目录描述 /主层次 的根,也是整个文件系统层次结构的根目录 /bin存放在单用户模式可用的必要命令二进制文件,所有用户都可用,如 cat.ls.c ...

  4. Linux最常用的基础命令

    Linux最常用的基础命令个人总结 计算机基础知识: 32bit和64bit系统的区别.系统运行机制 32bit=内存的最大寻址空间是2**32,也就是说最大只能使用4GB的内存64bit=内存的最大 ...

  5. [猜你喜欢]冠军“yes,boy!”分享,含竞赛源代

    [猜你喜欢]冠军“yes,boy!”分享,含竞赛源代码  DataCastle运营 发表于 2016-7-20 17:31:52      844  3  5 我是Yes,boy! ,来自东北大学计算 ...

  6. Linux最常用的基础命令 下篇

    Linux最常用的基础命令个人总结 shell脚本 脚本就是:写一堆指令存成一个文本,用于完成一些小任务 a="123" linux中定义一个变量 echo $a echo $b ...

  7. Linux最常用的基础命令 上篇

    Linux最常用的基础命令个人总结 计算机基础知识 32bit和64bit系统的区别.系统运行机制 1989年python 诞生 C语言是编译型的语言,不太支持跨平台 Django 江购 32bit= ...

  8. Linux下配置Squid基础教程

    Linux下配置Squid基础教程 本视频高清下载地址:http://down.51cto.com/data/437529 本文出自 "李晨光原创技术博客" 博客,请务必保留此出处 ...

  9. Linux正则表达式、shell基础、文件查找及打包压缩

    Linux正则表达式.shell基础.文件查找及打包压缩 一.正则表达式 Linux正则表达式分为2类: 1.基本正则表达式(BRE) 2.扩展正则表达式(ERE) 两者的区别: 1.使用扩展正则表达 ...

随机推荐

  1. Ng机器学习笔记-1-一元线性回归

    一:回归模型介绍 从理论上讲,回归模型即用已知的数据变量来预测另外一个数据变量,已知的数据属性称为输入或者已有特征,想要预测的数据称为输出或者目标变量. 下图是一个例子: 图中是某地区的面积大小与房价 ...

  2. windows 程序设计 SetPolyFillMode关于ALTERNATE、WINDING的详细解释

    看windows程序第五章GDI编程部分.一直卡壳在这里了. 下面我来说下自己的想法.看是否对您有帮助. 首先我们来看一个图. SetPolyFillMode(ALTERNATE);  // 系统默认 ...

  3. 抓包分析TCP的三次握手和四次分手

    一:三次握手 三次的握手的过程是: 1.由发起方HostA向被叫方HostB发出请求报文段,此时首部中的同步位SYN=1,同时选择一个序列号seq=x.TCP规定,SYN报文(即SYN=1的报文段)不 ...

  4. JavaScript jQuery 入门回顾

    ​$符号 $是著名的jQuery符号.实际上,jQuery把所有功能全部封装在一个全局变量jQuery中,而$也是一个合法的变量名,它是变量jQuery的别名: window.jQuery; // j ...

  5. phpcms v9修改栏目描述的多行文本为编辑器方法

    phpcms v9在添加栏目的时候,栏目描述为多行文本,无法满足有图片,以及格式的修改调整,那么仿站网今天告诉大家如何将他改为编辑器,方法如下 找到phpcms/moudles/admin/templ ...

  6. 用pycharm开发django项目示例

    pycharm开发django工程(一)  在pycharm(企业版)中新建Django工程,注意使用虚拟环境 创建成功后,在pycharm显示的工程目录结构如下: 打开pycharm的Termina ...

  7. MySQL 5.5主从同步设置教程

    先修改Master(10.1.123.197)的 my.cnf 配置 在 [mysqld] 中新增以下内容 log-bin=mysql-bin log-bin-index=mysql-bin.inde ...

  8. Python系统调用——运行其他程序

    转载:http://blog.csdn.net/ssihc0/article/details/7738527 在Python中可以方便地使用os模块运行其他的脚本或者程序,这样就可以在脚本中直接使用其 ...

  9. 多智能体仿真环境 NetLogo

    http://ccl.northwestern.edu/netlogo/ 创建agentcreate-turtles 10 动一动ask turtle 0 [forward 10 right 90 l ...

  10. FileFilter

    FileFilter 下面的例子中我们创建了一个FileFilter类,此类根据文件名的扩展名是否为.png来筛选文件.创建FileFilter实例之后需要将此实例作为参数传给File的listFil ...