Linux服务器安全设置

这篇具有很好参考价值的文章主要介绍了Linux服务器安全设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

参考文章:
https://www.cnblogs.com/dadonggg/p/7977099.html
https://linux.cn/article-2518-1.html
https://www.136.la/nginx/show-83625.html

1 密码相关设置

1.1 密码复杂度设置

密码的复杂度越高,毋庸置疑,安全性肯定相对就越高。

编辑/etc/pam.d/system-auth文件,找到同时具有“password”和“pam_cracklib.so”字段并且附加有 “ucredit=-1 lcredit=-2 dcredit=-1 ocredit=-1” 的那行,它表示密码必须至少包含一个大写字母(ucredit),两个小写字母(lcredit),一个数字(dcredit)和一个标点符号(ocredit)。

# 编辑之前可以把配置文件进行备份
cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bak
# 编辑配置文件,例如:
password    requisite     pam_pwquality.so retry=3 minlen=12 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1
  • minlen=12 密码最小长度为12个字符。
  • lcredit=-1 密码应包含的小写字母的至少一个
  • ucredit=-1 密码应包含的大写字母至少一个
  • dcredit=-1 将密码包含的数字至少为一个
  • ocredit=-1 设置其他符号的最小数量,例如@,#、! $%等,至少要有一个
  • enforce_for_root 确保即使是root用户设置密码,也应强制执行复杂性策略。

1.2 密码复杂度检查

检查密码长度和密码是否使用多种字符类型

编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为8-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如:

minlen=10
minclass=3

1.3 密码失效时间

设置密码失效时间,定期修改密码,减少密码被泄漏和猜测风险,使用非密码登陆方式(如密钥对)请忽略此项。

/etc/login.defs 中将PASS_MAX_DAYS参数设置为 60-180之间,如:

PASS_MAX_DAYS 90

/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。所以,需同时执行命令设置root密码失效时间:

chage --maxdays 90 root

1.4 密码修改最小间隔时间

设置密码修改最小间隔时间,限制密码更改过于频繁

/etc/login.defs中将PASS_MIN_DAYS参数设置为7-14之间,建议为7:

PASS_MIN_DAYS 7

需同时执行命令为root用户设置:

chage --mindays 7 root

1.5 密码重用限制

强制用户不重用最近使用的密码,降低密码猜测攻击风险

/etc/pam.d/password-auth/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只用在末尾加remember=5即可。


2 登陆失败设置

如果有人恶意尝试破解你的服务器密码,那么这个功能就能帮你起到一定的作用,当尝试密码错误超过设定的次数后,就会锁定该账户多长时间(自行设定),时间过后即可自行解锁,这样可以增加攻击者的成本。

具体设置如下:

备份要操作的两个配置文件:

cp /etc/pam.d/sshd /etc/pam.d/sshd.bak
cp /etc/pam.d/login /etc/pam.d/login.bak

SSH远程连接登录失败处理功能策略设置,需要编辑系统/etc/pam.d/system-auth文件,在 auth 字段所在的那一部分策略下面添加如下策略参数:

auth       required      pam_tally2.so onerr=fail deny=3 unlock_time=300 even_deny_root root_unlock_time=300

注意添加的位置,要写在第一行,即#%PAM-1.0的下面。

以上策略表示:普通帐户和 root 的帐户登录连续 3 次失败,就统一锁定 300 秒, 300 秒后可以解锁。如果不想限制 root 帐户,可以把 even_deny_root root_unlock_time这两个参数去掉。

  • onerr=fail:表示连续失败
  • deny=3:表示超过3次登录失败即锁定
  • unlock_time=300:锁定 300 秒
  • even_deny_root:root用户同样受到限制
  • root_unlock_time:表示 root 帐户的锁定时间

注意:用户锁定期间,无论在输入正确还是错误的密码,都将视为错误密码,并以最后一次登录为锁定起始时间,如果用户解锁后输入密码的第一次依然为错误密码,则再次重新锁定。

服务器终端登录失败处理功能策略,要改的是/etc/pam.d/system-auth这个文件,添加的内容跟上面一样!

  • 其他相关常用命令:
# 查看root用户的登录失败的次数
pam_tally2   --user root
# 重置计数器,即手动解锁
pam_tally2   --user root --reset

3 限制root权限用户远程登录

可以让用户先以普通权限用户远程登录后,再切换到超级管理员权限账号后执行相应操作,可以提升系统安全性。

编辑/etc/ssh/sshd_config,将PermitRootLogin设置为no。

PermitRootLogin no

重启sshd服务:

service sshd restart

4 命令历史记录保存数量

历史命令中通常也会包含一些服务相关信息,减小历史命令保存数量,一定程度上也可提升安全性。

查看历史命令保存数量值:

echo $HISTSIZE

修改/etc/profile,将HISTSIZE值改小,比如10。

HISTSIZE=10

使修改的配置生效:

source /etc/profile

5 登录超时自动登出设置

配置帐户超时自动登出,在用户输入空闲一段时间后自动断开。可以有效避免因为特殊情况账户一直登录避免别人误操作。

方法有二,具体如下:

5.1 超时自动登出配置

修改/etc/profile,设置TMOUT,单位秒,没有此行可直接添加进去,此设置对所有用户有效。比如15分钟:

export TMOUT=900 

使修改的配置生效:

source /etc/profile

5.2 SSH空闲超时退出时间

编辑/etc/ssh/sshd_config,将ClientAliveInterval设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间,此设置对除root外所有用户有效。例如:

ClientAliveInterval 600
ClientAliveCountMax 2

重启sshd服务:文章来源地址https://www.toymoban.com/news/detail-469973.html

service sshd restart

到了这里,关于Linux服务器安全设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 阿里云服务器如何部署ssl证书即https的设置,以及为ip部署ssl

    阿里云ecs服务器 linux宝塔界面 ssl证书 nginx web服务器 1. ssl全称为ecure Sockets Layer 安全套接字协议) 它的作用就是让网站的http协议改为具有加密传输功能的https… 2. 关于ssl如何在阿里云申请 ,我不再赘述,已有大量类似的文章可供参考。

    2024年02月02日
    浏览(47)
  • 阿里云国际服务器设置安全防护程序

    阿里云云服务器(ECS)提供弹性、安全、高性能、高性价比的虚拟云服务器,满足您的所有需求。立即在这里免费注册! 常见 Web 应用程序 请勿对 Web 服务控制台(如 WDCP、TOMCAT、Apache、Nginx、Jekins、PHPMyAdmin、WebLogic 和 Jboss)使用默认密码或空白密码。必须使用复杂密码(至

    2024年01月16日
    浏览(46)
  • Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )

                什么是 HTTPS ?   HTTPS  协议背景 ?         ===                  HTTP 协议  即  超文本传输协议 ,                 它出生的很早,在早期,网络服务的相关攻击呢,或者病毒啥的几乎没有,安全类的问                  题也是少之又少。   

    2024年02月06日
    浏览(42)
  • Linux -- 进阶 Web服务器 搭建基于 HTTPS 协议的静态网站 (实验实操)

                  现在我们想架设一个 互联网网站的话,我们就得想法认证自己是官方的,得产生一个证书         这个证书呢,我们使用的是 X.509  格式的证书                                该证书 包含三个文件 :  key , csr , crt 。           先介绍下 :  PKI(

    2024年02月07日
    浏览(37)
  • Redis-设置密码linux服务器

    打开Redis的配置文件,通常位于  /etc/redis/redis.conf 。 在配置文件中找到  #requirepass  或  requirepass  的行,如果存在的话,取消行首的注释符号  # 。 将密码设置为你想要的值,例如  requirepass YourPassword 。确保将  YourPassword  替换为你自己设定的密码。 保存并关闭配置文件

    2024年02月11日
    浏览(41)
  • zabbix企业级监控(监控第二台linux服务器安装部署)接上篇单台监控文章操作

    zabbix企业级监控监控linux主机 目录 【agent端配置】(监控第二台linux服务器) 1、源码安装zabbix(解包、编译、配置、安装) 2、改agent配置文件 3、启动服务 图形操作: yum -y install libxml2-devel libcurl-devel pcre-devel ntpdate  //安装依赖包 ntpdate s1a.time.edu.cn //联网时间同步清华大学源

    2024年02月17日
    浏览(32)
  • windows服务器设置IP安全策略仅通行指定IP

    场景:系统部署在云服务A上,本地有一台windows服务器B用于备份,因文件比较重要,要求B服务器只能和A服务器通讯,其他访问全部禁止。 方案:看了下网上的方法,IP安全策略可以实现,原理是先禁掉所有IP,再逐一放开。 先进入IP安全策略,控制面板--小图标--管理工具-

    2024年02月07日
    浏览(36)
  • 探索AWS VPS服务器设置:一键搭建安全网络连接

    项目地址:https://gitcode.com/webdigi/AWS-VPN-Server-Setup 在现代互联网环境中,数据的安全性和隐私保护变得至关重要。而虚拟私有网络(Virtual Private Network, 简称VPNs)提供了加密通信和匿名浏览的功能,是保障网络安全的重要工具之一。今天,我们将向您推荐一个开源项目——AWS-V

    2024年04月22日
    浏览(46)
  • 使用Linux命令修改服务器时间及设置时区

    在服务器管理和维护中,准确的系统时间对于保证服务器正常运行和数据一致性至关重要。 而有时候,我们可能需要手动修改服务器上的系统时间,以调整时区、修复时间漂移等问题。 本文将介绍如何使用Linux命令来修改服务器时间。 一、检查当前时间 首先,我们需要使用

    2024年02月21日
    浏览(59)
  • Linux下设置Tomcat服务器的内存大小

    Tomcat 是一个开源的 Java Servlet 容器,用于实现 Java Servlet 和 JavaServer Pages (JSP)。在 Linux 系统下,你可以通过调整 Tomcat 的内存大小来优化服务器的性能。本文将详细介绍如何在 Linux 系统下设置 Tomcat 服务器的内存大小。 打开 Tomcat 的配置文件 Tomcat 的配置文件通常位于 Tomcat 安

    2024年02月05日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包