接上文,继续介绍一些Linux服务器的安全配置。

#6、强密码策略。
 
当我们使用 useradd、usermod 命令创建或维护用户账号时,确保始终应用强密码策略。例如,一个好的密码至少包括8个字符,包含了字母、数字以及特殊字符串、大小写等。使用诸如“John the ripper”这样的工具来查找弱口令用户,使用 pam_cracklib.so 来增强密码策略。
 
#6.1 密码生命周期。
 
chage 命令能够修改口令的修改周期,以及最近一次密码修改的日期。系统依据这些信息判断用户口令是否应该修改。在 /etc/login.defs 文件中定义了包括密码生命周期在内的一些选项。如果需要对某个用户禁用密码生命周期,如下:
 
 # chage -M  userName

获取密码过期信息,输入:

 chage -l userName

我们也可以在 /etc/shadow 文件中定义这些字段:

{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:
 
其中:Minimum_days 定义密码修改的最小时间间隔,也就是用户能够修改密码的最小时间间隔。Maximum_days 定义密码有效的时间间隔,超过这个时间,用户就必须修改密码。Warn 定义口令过期多少天前开始向用户提示进行口令修改。Expire 定义从1970年1月1日到过期时的天数,之后该用户将无法再登录。
 
建议使用 chage 命令,而不是修改 /etc/shadow 文件
 
 # chage -M  -m  -W  userName

#6.2、禁止使用之前用过的密码。

 
可以设置禁止所有用户使用之前的旧密码,pam_unix 模块提供了这个功能,允许我们定义之前几个旧密码不能使用。
 
#6.3、登录失败后锁定用户。
 
在Linux中可以使用 faillog 命令来显示失败的登录或者设置失败登录限制。查看失败的登录,可以输入:
 
faillog
 
解锁登录失败的用户,运行
 
faillog -r -u userName
 
注意可以使用 passwd 命令来锁定或解锁用户密码。
 
#6.4、如何来检查是否有账号使用了空口令。
 
使用如下命令:
 
 # awk -F: '($2 == "") {print}' /etc/shadow

锁定所有空密码的账户

  # passwd -l accountName

#6.5、确保没有非Root用户的UID为0。

 
只有Root用户的UID为0,其具有系统的所有权限。使用下面的命令进行检查:
 
# awk -F: '($3 == "0") {print}' /etc/passwd
应该仅能看到root一行的结果,如果还有其他用户,请将这些用户删除。
 
#7、禁止root用户登录。
 
永远不要使用root用户登录,应该使用 sudo 来执行需要root权限的命令。sudo 避免了root口令的共享,同时提供了一些审计和追踪的功能支持。
 
#8、服务器的物理安全。
 
我们必须确保服务器的物理安全,配置 BIOS 禁止从外部设备启动。设置 BIOS 和 grub boot loader 的密码。所有的设备应当安全的存放在IDC(Internet Data Center)中,并且安排了适当的机房安检。
 
#9、禁用不需要的服务。
 
禁用所有不必要的服务和守护进程,并且将他们从随系统启动中删除。使用下面的命令来检查是否有服务随系统启动。
 
# chkconfig --list | grep '3:on'

要禁用服务,可以使用下面的命令:

# service serviceName stop
# chkconfig serviceName off

#9.1、检查网络监听的端口。

 
使用 netstat 命令查看服务器中有哪些监听端口
 
# netstat -tulpn
 
如果有不需要的服务,可以使用 chkconfig 进行关闭。如果需要对外屏蔽,可以使用 iptables 。
 
#10、删除X Windows。
 
对服务器来说,X Windows完全没有必要。可以使用包管理工具删除。
 
# yum groupremove "X Window System"

20个Linux服务器安全强化建议(二)的更多相关文章

  1. 20个Linux服务器安全强化建议(一)

    Linux服务器安全对于保护用户数据.知识产权非常重要,同时还能减少你面对黑客的时间.在工作中,通常由系统管理员对Linux的安全负责,在这篇文章中,介绍了20条对Linux系统进行强化的建议.本文所 ...

  2. 20个Linux服务器安全强化建议(三)

    #11.配置iptables和TCPWrappers.   iptables 是一个Linux内核提供的,运行在用户空间的程序,它允许用户配置自己的防火墙策略.我们可以使用防火墙将不必要的流量过滤出去 ...

  3. 20个Linux服务器性能调优技巧

    Linux是一种开源操作系统,它支持各种硬件平台,Linux服务器全球知名,它和Windows之间最主要的差异在于,Linux服务器默认情况下一般不提供GUI(图形用户界面),而是命令行界面,它的主要 ...

  4. Linux服务器部署系列之二—MySQL篇

    MySQL是linux环境中使用最广泛的数据库之一,著名的“LAMP黄金组合”就要用到MySQL.关于MySQL的优点及作用,我就不多讲了,网上很多这样的文章. 今天我们要谈的是MySQL服务器的部署 ...

  5. Linux命令(20)linux服务器之间复制文件和目录

    linux的scp命令: scp就是secure copy的简写,用于在linux下进行远程拷贝文件的命令,和它类似的命令有cp,不过cp只是在本机进行拷贝不能跨服务器. 有时我们需要获得远程服务器上 ...

  6. Linux服务器管理: 日志管理(二)

    日志的轮替 1.日志文件的命名规则 a.如果配置文件中拥有"dateext"参数,那么日志会用日期来作为日志文件的后缀,例如:"secure-20150630" ...

  7. Linux服务器下载与上传文件

    一.图形化工具 FileZilla.SecureCRT,连接Linux服务器后直接操作 二.命令 使用终端模拟软件连接服务器后,首先安装lrzsz工具包 yum install lrzsz rz ,上 ...

  8. [转帖]加强Linux服务器安全的20项建议

    加强Linux服务器安全的20项建议 2017-10-19 22:15:01作者:Linux编辑稿源:系统极客 https://ywnz.com/linuxyffq/99.html 一般情况下用 Li ...

  9. Linux服务器集群系统(二)--转

    引用地址:http://www.linuxvirtualserver.org/zh/lvs2.html LVS集群的体系结构 章文嵩 (wensong@linux-vs.org) 2002 年 4 月 ...

随机推荐

  1. ExtJS笔记 Store

    The Store class encapsulates a client side cache of Model objects. Stores load data via a Proxy, and ...

  2. Oracle-01033错误处理

    今天电脑非常卡,强制重启后,发现oracle 11g启动不了了,提示错误: ERROR - ORA-01033 oracle initialization or shutdown in progres ...

  3. Indexing and Hashing

    DATABASE SYSTEM CONCEPTS, SIXTH EDITION11.1 Basic ConceptsAn index for a file in a database system wo ...

  4. 一个关于Delphi XML处理单元的BUG

    使用delphi的XML处理单元 XMLDoc XMLIntf 在获取XML文本内容的时候, 高版本的Delphi会丢失编码描述....在D7上却是正常的, 下面是测试源码: procedure TF ...

  5. JAVA 打出jar包

    1.eclipse下导出 jar包:选择项目右键--->Export...----> 选择java下的JAR file---->next--->选择存入路径--->nex ...

  6. 《Linux内核分析》第四周 扒开系统调用的“三层皮”

    [刘蔚然 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000] WEEK FOUR( ...

  7. tensorflow 学习(一)

    改系列只为记录我学习 udacity 中深度学习课程!! 1. 整个课程分为四个部分,如上图所示. 第一部分将研究逻辑分类器,随机优化以及实际数据训练. 第二部分我们将学习一个深度网络,和使用正则化技 ...

  8. jQuery源代码学习之七—队列模块queue

    一.jQuery种的队列模块 jQuery的队列模块主要是为动画模块EFFECTS提供支持,(不过到现在为了支持动画队列的inprogress的出入队还是搞不太清楚),单独抽取出一个命名空间是为了使程 ...

  9. How to use PEM of PPAS

    -bash-4.1$ pwd/opt/PostgresPlus/9.3AS/client-v4/scripts -bash-4.1$ lsclient launchPEMClient.sh -bash ...

  10. 2Sigma OA prepare: Friends Circle

    DFS & BFS: 关键在于构造graph package twoSigma; import java.util.ArrayList; import java.util.HashSet; i ...