目录
1. 账号和口令
1.1 禁用或删除无用账号
1.2 检查特殊账号
1.3 添加口令策略
1.4 限制用户su
1.4 禁止root用户直接登录
2. 服务
2.1 关闭不必要的服务
2.2 SSH服务安全
3. 文件系统
3.1 设置umask值
3.2 设置登录超时
4. 日志
4.1 syslogd日志
4.2 记录所有用户的登录和操作日志
首页 运维 linux运维 Linux服务器操作系统如何加固

Linux服务器操作系统如何加固

Feb 24, 2018 am 09:57 AM
linux 操作系统 服务器

本文主要和大家分享Linux服务器操作系统如何加固,本帮助手册旨在指导系统管理人员或安全检查人员进行Linux操作系统的安全合规性检查和加固,需要的朋友可以参考下,希望能帮助到大家。

1. 账号和口令

1.1 禁用或删除无用账号

减少系统无用账号,降低安全风险。

操作步骤

  • 使用命令 userdel <用户名> 删除不必要的账号。

  • 使用命令 passwd -l <用户名> 锁定不必要的账号。

  • 使用命令 passwd -u <用户名> 解锁必要的账号。

1.2 检查特殊账号

检查是否存在空口令和root权限的账号。

操作步骤

  1. 查看空口令和root权限账号,确认是否存在异常账号:

  • 使用命令 awk -F: '($2=="")' /etc/shadow 查看空口令账号。

  • 使用命令 awk -F: '($3==0)' /etc/passwd 查看UID为零的账号。

  • 加固空口令账号:

    • 使用命令 passwd <用户名> 为空口令账号设定密码。

    • 确认UID为零的账号只有root账号。

    1.3 添加口令策略

    加强口令的复杂度等,降低被猜解的可能性。

    操作步骤

    1. 使用命令 vi /etc/login.defs 修改配置文件。

    • PASS_MAX_DAYS 90 #新建用户的密码最长使用天数

    • PASS_MIN_DAYS 0 #新建用户的密码最短使用天数

    • PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数

  • 使用chage命令修改用户设置。
     例如,chage -m 0 -M 30 -E 2000-01-01 -W 7 <用户名>表示将此用户的密码最长使用天数设为30,最短使用天数设为0,密码2000年1月1日过期,过期前七天警告用户。

  • 设置连续输错三次密码,账号锁定五分钟。使用命令 vi /etc/pam.d/common-auth修改配置文件,在配置文件中添加 auth required pam_tally.so onerr=fail deny=3 unlock_time=300

  • 1.4 限制用户su

    限制能su到root的用户。

    操作步骤

    使用命令 vi /etc/pam.d/su修改配置文件,在配置文件中添加行。例如,只允许test组用户su到root,则添加 auth required pam_wheel.so group=test

    1.4 禁止root用户直接登录

    限制root用户直接登录。

    操作步骤

    1. 创建普通权限账号并配置密码,防止无法远程登录;

    2. 使用命令 vi /etc/ssh/sshd_config修改配置文件将PermitRootLogin的值改成no,并保存,然后使用service sshd restart重启服务。

    2. 服务

    2.1 关闭不必要的服务

    关闭不必要的服务(如普通服务和xinetd服务),降低风险。

    操作步骤

    使用命令 chkconfig --level <init级别> <服务名> on|off|reset 设置服务在指定init级别下开机是否启动。

    2.2 SSH服务安全

    对SSH服务进行安全加固,防止暴力破解成功。

    操作步骤

    使用命令 vim /etc/ssh/sshd_config 编辑配置文件。

    • 不允许root账号直接登录系统。
       设置 PermitRootLogin 的值为 no。

    • 修改SSH使用的协议版本。
       设置 Protocol 的版本为 2。

    • 修改允许密码错误次数(默认6次)。
       设置 MaxAuthTries 的值为 3。

    配置文件修改完成后,重启sshd服务生效。

    3. 文件系统

    3.1 设置umask值

    设置默认的umask值,增强安全性。

    操作步骤

    使用命令 vi /etc/profile 修改配置文件,添加行 umask 027, 即新创建的文件属主拥有读写执行权限,同组用户拥有读和执行权限,其他用户无权限。

    3.2 设置登录超时

    设置系统登录后,连接超时时间,增强安全性。

    操作步骤

    使用命令 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为TMOUT=180,即超时时间为三分钟。

    4. 日志

    4.1 syslogd日志

    启用日志功能,并配置日志记录。

    操作步骤

    Linux系统默认启用以下类型日志:

    • 系统日志(默认)/var/log/messages

    • cron日志(默认)/var/log/cron

    • 安全日志(默认)/var/log/secure

    注意:部分系统可能使用syslog-ng日志,配置文件为:/etc/syslog-ng/syslog-ng.conf。

    您可以根据需求配置详细日志。

    4.2 记录所有用户的登录和操作日志

    通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查。

    操作步骤

    1、运行 [root@xxx /]# vim /etc/profile打开配置文件。

    2、在配置文件中输入以下内容:


    history
    USER=`whoami`
    USER_IP=`who -u am i 2>/dev/null| awk &#39;{print $NF}&#39;|sed -e &#39;s/[()]//g&#39;`
    if [ "$USER_IP" = "" ]; then
    USER_IP=`hostname`
    fi
    if [ ! -d /var/log/history ]; then
    mkdir /var/log/history
    chmod 777 /var/log/history
    fi
    if [ ! -d /var/log/history/${LOGNAME} ]; then
    mkdir /var/log/history/${LOGNAME}
    chmod 300 /var/log/history/${LOGNAME}
    fi
    export HISTSIZE=4096
    DT=`date +"%Y%m%d_%H:%M:%S"`
    export HISTFILE="/var/log/history/${LOGNAME}/${USER}@${USER_IP}_$DT"
    chmod 600 /var/log/history/${LOGNAME}/*history* 2>/dev/null
    登录后复制

    3、运行 [root@xxx /]# source /etc/profile 加载配置生效。
    注意: /var/log/history 是记录日志的存放位置,可以自定义。

    通过上述步骤,可以在 /var/log/history 目录下以每个用户为名新建一个文件夹,每次用户退出后都会产生以用户名、登录IP、时间的日志文件,包含此用户本次的所有操作(root用户除外)。

    同时,建议您使用OSS服务收集存储日志。

    相关推荐:

    php 获取服务器操作系统信息最全的基本命令详解

    php获取服务器操作系统相关信息的方法

    php 判断服务器操作系统的类型_PHP教程

    以上是Linux服务器操作系统如何加固的详细内容。更多信息请关注PHP中文网其他相关文章!

    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智能驱动的应用程序,用于创建逼真的裸体照片

    AI Clothes Remover

    AI Clothes Remover

    用于从照片中去除衣服的在线人工智能工具。

    Undress AI Tool

    Undress AI Tool

    免费脱衣服图片

    Clothoff.io

    Clothoff.io

    AI脱衣机

    AI Hentai Generator

    AI Hentai Generator

    免费生成ai无尽的。

    热门文章

    R.E.P.O.能量晶体解释及其做什么(黄色晶体)
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.最佳图形设置
    4 周前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.如果您听不到任何人,如何修复音频
    1 个月前 By 尊渡假赌尊渡假赌尊渡假赌
    R.E.P.O.聊天命令以及如何使用它们
    1 个月前 By 尊渡假赌尊渡假赌尊渡假赌

    热工具

    记事本++7.3.1

    记事本++7.3.1

    好用且免费的代码编辑器

    SublimeText3汉化版

    SublimeText3汉化版

    中文版,非常好用

    禅工作室 13.0.1

    禅工作室 13.0.1

    功能强大的PHP集成开发环境

    Dreamweaver CS6

    Dreamweaver CS6

    视觉化网页开发工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神级代码编辑软件(SublimeText3)

    centos和ubuntu的区别 centos和ubuntu的区别 Apr 14, 2025 pm 09:09 PM

    CentOS 和 Ubuntu 的关键差异在于:起源(CentOS 源自 Red Hat,面向企业;Ubuntu 源自 Debian,面向个人)、包管理(CentOS 使用 yum,注重稳定;Ubuntu 使用 apt,更新频率高)、支持周期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社区支持(CentOS 侧重稳定,Ubuntu 提供广泛教程和文档)、用途(CentOS 偏向服务器,Ubuntu 适用于服务器和桌面),其他差异包括安装精简度(CentOS 精

    Centos停止维护2024 Centos停止维护2024 Apr 14, 2025 pm 08:39 PM

    CentOS将于2024年停止维护,原因是其上游发行版RHEL 8已停止维护。该停更将影响CentOS 8系统,使其无法继续接收更新。用户应规划迁移,建议选项包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系统安全和稳定。

    centos如何安装 centos如何安装 Apr 14, 2025 pm 09:03 PM

    CentOS 安装步骤:下载 ISO 映像并刻录可引导媒体;启动并选择安装源;选择语言和键盘布局;配置网络;分区硬盘;设置系统时钟;创建 root 用户;选择软件包;开始安装;安装完成后重启并从硬盘启动。

    docker原理详解 docker原理详解 Apr 14, 2025 pm 11:57 PM

    Docker利用Linux内核特性,提供高效、隔离的应用运行环境。其工作原理如下:1. 镜像作为只读模板,包含运行应用所需的一切;2. 联合文件系统(UnionFS)层叠多个文件系统,只存储差异部分,节省空间并加快速度;3. 守护进程管理镜像和容器,客户端用于交互;4. Namespaces和cgroups实现容器隔离和资源限制;5. 多种网络模式支持容器互联。理解这些核心概念,才能更好地利用Docker。

    docker desktop怎么用 docker desktop怎么用 Apr 15, 2025 am 11:45 AM

    如何使用 Docker Desktop?Docker Desktop 是一款工具,用于在本地机器上运行 Docker 容器。其使用步骤包括:1. 安装 Docker Desktop;2. 启动 Docker Desktop;3. 创建 Docker 镜像(使用 Dockerfile);4. 构建 Docker 镜像(使用 docker build);5. 运行 Docker 容器(使用 docker run)。

    centos停止维护后怎么办 centos停止维护后怎么办 Apr 14, 2025 pm 08:48 PM

    CentOS 停止维护后,用户可以采取以下措施应对:选择兼容发行版:如 AlmaLinux、Rocky Linux、CentOS Stream。迁移到商业发行版:如 Red Hat Enterprise Linux、Oracle Linux。升级到 CentOS 9 Stream:滚动发行版,提供最新技术。选择其他 Linux 发行版:如 Ubuntu、Debian。评估容器、虚拟机或云平台等其他选项。

    Centos停止维护后的选择 Centos停止维护后的选择 Apr 14, 2025 pm 08:51 PM

    CentOS 已停止维护,替代选择包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(与 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商业版,付费许可);5. Oracle Linux(与 CentOS 和 RHEL 兼容)。在迁移时,考虑因素有:兼容性、可用性、支持、成本和社区支持。

    vscode 无法安装扩展 vscode 无法安装扩展 Apr 15, 2025 pm 07:18 PM

    VS Code扩展安装失败的原因可能包括:网络不稳定、权限不足、系统兼容性问题、VS Code版本过旧、杀毒软件或防火墙干扰。通过检查网络连接、权限、日志文件、更新VS Code、禁用安全软件以及重启VS Code或计算机,可以逐步排查和解决问题。

    See all articles