30、Linux安全配置

news2024/12/23 8:46:51

文章目录

  • 一、Linux安全配置简介
  • 二、Linux安全配置
    • 2.1 网络配置
    • 2.2 防火墙配置
      • 2.2.1 确定防火墙区域配置
    • 2.3 日志和审核
    • 2.4 访问、认证和授权
      • 2.4.1 SSH配置
      • 2.4.2 PAM模块配置

一、Linux安全配置简介

Linux种类较多,常用的有Redhat、Ubantu、Centos等。这里以Centos 7为例,进行安全配置讲解,其他版本linux可能存在安全配置方式不同,但整体配置的维度和原则是一致的。
Centos安全配置维度

  • 安装配置(默认配置即可)
  • 服务配置(默认配置即可)
  • 网络配置
  • 日志和审计
  • 访问、授权和认证
  • 系统运维

Centos安全配置原则

  • 最小安全(最小安装、最小权限)
  • 不影响业务可用(安全与业务的矛盾)
  • 职责分离
  • 审计记录

二、Linux安全配置

2.1 网络配置

(1)禁用不使用的网络协议
执行以下命令,禁用IPv6:

sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
sysctl -w net.ipv6.route.flush=1

在这里插入图片描述
查看配置是否生效:sysctl net.ipv6.conf.all.disable_ipv6

(2)禁用不使用的无线设备,因为linux作为服务器工作时,无需使用无线

  • 查看无线设备:iw list
  • 查看当前连接:ip link show up在这里插入图片描述
  • 关闭网络连接:ip link set <interface> down
    在这里插入图片描述

(3)当linux作为独立主机使用时,配置网络

  • 关闭IP转发,默认即关闭
  • 查看IP转发配置:sysctl net.ipv4.ip_forward
  • 关闭IP转发:sysctl -w net.ipv4.ip_forward=0
    在这里插入图片描述
    (4)关闭数据包重定向
  • 查看重定向设置:sysctl net.ipv4.conf.all.send_redirects
  • 关闭重定向设置:sysctl -w net.ipv4.conf.all.send_redirects=0
    在这里插入图片描述
    (5)开启TCP SYN Cookies功能,TCP SYN功能在某种程度上可以防止TCP的SYN DDOS攻击
  • 查看TCP SYN Cookies:sysctl net.ipv4.tcp_syncookies
  • 开启TCP SYN Cookies:sysctl -w net.ipv4.tcp_syncookies=1
    在这里插入图片描述

2.2 防火墙配置

在Centos较新的版本中,引入了nftables内核取代传统netfilter内核,通常nftablesnetfilter安装一种即可,基于netfilter,又有两种前端操作工具,即firewalldiptables。这里以netfilter+firewalld进行操作。

  • 确定firewalldiptables管理工具:rpm -q firewalld iptables
    在这里插入图片描述
  • 关闭iptables的服务管理(因为同时开启iptablesfirewalld会冲突),查看iptables服务:rpm -q iptables-services
    在这里插入图片描述
    如果已安装,可以使用以下命令停止:systemctl stop iptables
  • 确保防火墙服务自动启动,并正在运行。查看firewalld状态:systemctl is-enabled firewalld或者firewalld-cmd --state
    在这里插入图片描述在这里插入图片描述
  • 开启firewalld:systemctl unmask firewalldsystemctl enable firewalld
    在这里插入图片描述

    开启防火墙,可能会导致网络中断,所以一定要分析清楚,当前网络连接与网络配置,再来开启防火墙。

2.2.1 确定防火墙区域配置

默认firewalld会创建一个public的区域,区域代表防火墙中的信任等级,每个接口都应该属于区域。

  • 查看当前区域,默认是public:firewall-cmd --get-default-zone
    在这里插入图片描述
  • 设置默认区域为public:firewall-cmd --get-default-zone=public
    在这里插入图片描述
  • 设置接口到区域:firewall-cmd --zone=public --change-interface=ens33
  • 查看当前允许的端口和服务:firewall-cmd --list-all --zone=public
    在这里插入图片描述
  • 关闭端口:firewall-cmd --remove-port=<port-number>/<port-type>,如firewall-cmd --remove-port=25/tcp
  • 关闭服务:firewall-cmd --remove-service=<service>,如:firewall-cmd --remove-service=smtp

2.3 日志和审核

  • 查看系统是否安装审核服务:rmp -q audit audit-libs
    在这里插入图片描述
  • 查看审核服务是否开启:systemctl is-enabled auditd
    在这里插入图片描述
  • 查看服务状态:systemctl status auditd

(1)配置审计数据大小,查看audit日志最大空间,默认单位为M。如下图显示为8M:
在这里插入图片描述
(2)审计用户和用户组的操作

  • 查看当前用户和用户组相关的操作记录:grep identity /etc/audit/rules.d/*.rules
    在这里插入图片描述

    当前没有任何相关配置。
    配置记录如下:vim /etc/audit/rules.d/identity.rules,加入如下内容:
    在这里插入图片描述
    (3)配置rsyslog日志
    rsyslog是取代syslog的新版本,rsyslog有一些优秀的特性,比如使用tcp连接,可以将日志存储到数据库,可以加密传输日志等。

  • 确保系统安装了rsyslog:rmp -q rsyslog
    在这里插入图片描述

  • 查看rsyslog状态:systemctl is-enabled rsyslog
    在这里插入图片描述

  • 查看当前日志目录及权限,日志权限应该为600(仅root读写):ls -l /var/log
    在这里插入图片描述

  • 查看日志归档处理,linux系统使用logrotate按定期或指定大小进行归档处理,确保logrotate正常的处理syslog日志。查看是否存在文件:ls /etc/logrotate.d/syslog
    在这里插入图片描述

  • 查看计划任务的访问授权:stat /etc/crontabstat命令显示文件或文件系统的详细信息。
    在这里插入图片描述

    如图显示,仅root可以访问计划任务,且相关访问时间。同事还应检查文件daily hourly monthly weekly。
    在这里插入图片描述

2.4 访问、认证和授权

2.4.1 SSH配置

(1)查看SSH配置文件权限
因为SSH可以使用密钥直接登录,如果SSH配置文件权限限制不严格,则造成SSH提权。检查/etc/ssh/sshd_config的权限:
在这里插入图片描述
(2)配置允许通过SSH访问的用户
使用以下命令查看当前允许SSH访问的用户:sshd -T | grep -E '^\s*(allow|deny)(users|groups)\s+\S+'

  • 如果输出为控,则说明没有配置;
  • 编辑文件/etc/ssh/sshd_config,配置允许sangfor用户访问。在文件中加入allowusers sangfor,保存、退出,并重启SSH服务。

(3)查看SSH验证失败次数
命令:sshd -T | grep maxauthtries
在这里插入图片描述
默认为6次,建议改为4次或更低。编辑vim /etc/ssh/sshd_config文件即可。
在这里插入图片描述
(4)禁止空密码登录SSHsshd -T | grep permitemptypassword
在这里插入图片描述
(5)查看SSH支持的加密方式,确保不要出现如DES MD5这类已经不再安全的算法。sshd -T | grep ciphers
在这里插入图片描述

2.4.2 PAM模块配置

PAM(Pluggable Authentication Modules)是linux中的认证管理模块,所有认证相关可有PAM处理。
(1)密码要求
/etc/security/pwquality.conf管理:

  • minlen=14,最小密码长度;
  • mincalss=4,密码复杂度,分别为大写字母、小写字母、数字、符号;

(2)用户账户和环境

  • 查看密码过期时间,建议设为60,如图为99999,显然不合适:grep ^\s*PASS_MAX_DAYS /etc/login.defs
    在这里插入图片描述
  • 查看用户的过期时间:grep -E '^[^:]+:[^!*]' /etc/shadow | cut -d:-f1,5
    在这里插入图片描述
  • 修改用户过期时间
    • 方法一,编辑默认文件(/etc/login.defs)中的PASS_MAX_DAYS值
    • 方法二,change --maxdays 365 <user>
      在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1306512.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地项目通过Gitee上传代码码云仓库(保姆级教程)

前提 1.已经下载过Git Bash Git bash安装包教程 2.在Gitee上创建该项目的远程仓库 3.进入本地你想要上传的文件目录下&#xff0c;右键单击空白处&#xff0c;点击Git Bash Here 4.配置你邮箱和email 邮箱在设置可以看到 ----- 用户名可用在个人主页admin 下面那个就是用户…

C语言:高精度乘法

P1303 A*B Problem - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 第一次画图&#xff0c;略显简陋。 由图可以看出c的小标与x,y下标的关系为x的下标加上y的下标再减一。 由此得到&#xff1a; c [ i j - 1 ] x [ i ] * y [ j ]x #include<stdio.h> #include<st…

第二证券:如何申购新股?

跟着科技的展开&#xff0c;股市的展开也变得越来越快速。在股市上&#xff0c;申购新股是许多出资者寻求短期利润的一种方法。但是&#xff0c;申购新股并不是简略的作业。那么&#xff0c;在申购新股时&#xff0c;有哪些问题需求咱们重视呢&#xff1f;在本文中&#xff0c;…

重要功能更新:妙手ERP上线物流追踪功能,全方位助力跨境卖家轻松掌握包裹动态!

由于跨境物流转运环节多&#xff0c;历程耗时长&#xff0c;途中不可控因素多&#xff0c;容易导致包裹状态异常&#xff0c;从而引起买家客诉&#xff0c;造成卖家运营损失。因而&#xff0c;可随时查看物流信息、掌握包裹动态&#xff0c;是跨境运营中至关重要的一环。 为此…

在windows11上彻底关闭系统更新

最近在windows11系统上发现网上的一些方法不太有效&#xff0c;系统还是会自己更新。像该注册表&#xff0c;计划任务等这些&#xff0c;在windows11上都不太行。下面介绍一个在windows11上有效的方法&#xff0c;先看看效果图吧。如下&#xff1a; 在最新windows11上面 在较新…

一览汽配CRM系统的价格与功能:企业决策者的指南

随着汽车行业的快速发展&#xff0c;汽车配件市场也呈现出蓬勃的增长态势。然而&#xff0c;随之而来的是市场竞争的加剧和管理难题的增多。为了应对这些挑战&#xff0c;汽配行业也引入了CRM客户管理系统。本文将简要向您介绍&#xff0c;汽配CRM是什么&#xff0c;有什么功能…

【教程】Ipa Guard为iOS应用提供免费加密混淆方案

概述&#xff1a;使用ios加固工具对ios代码保护&#xff0c;保护ios项目中的核心代码&#xff0c; #ipagurd年终大促百厂联动暖冬特惠&#xff0c;超多软控件立享惊喜优惠>> ​ 简介 iOS加固保护是直接针对ios ipa二进制文件的保护技术&#xff0c;可以对iOS APP中的可…

9:00面试,9:05就出来了,问的问题有点变态。。。

从小厂出来&#xff0c;没想到在另一家公司又寄了。 到这家公司开始上班&#xff0c;加班是每天必不可少的&#xff0c;看在钱给的比较多的份上&#xff0c;就不太计较了。没想到12月一纸通知&#xff0c;所有人不准加班&#xff0c;加班费不仅没有了&#xff0c;薪资还要降40…

关键点检测☞png格式换bmp,且labelme标注的json中imagePath同步修改格式

import os import cv2 import jsondef bmp2jpg(in_img_path, out_dir_name): # .png -> .bmp# img = cv2.imread(in_img_path) # 彩色图片,位深24img =</

125. LCR图书整理 II

LCR 125. 图书整理 II 题目&#xff1a; 读者来到图书馆排队借还书&#xff0c;图书管理员使用两个书车来完成整理借还书的任务。书车中的书从下往上叠加存放&#xff0c;图书管理员每次只能拿取书车顶部的书。排队的读者会有两种操作&#xff1a; push(bookID)&#xff1a;…

web279(s2-001)

目前java小白一个&#xff0c;主要是学学别人的思路 进入题目&#xff0c;登录框一个 抓包也没发现什么东西 网上说是struts2框架 Struts2是用Java语言编写的一个基于MVC设计模式的Web应用框架 判断是不是基于struts2的一些方法&#xff1a; 1.通过页面回显的错误消息来判断…

Python从入门到精通八:Python文件操作

文件的编码 思考&#xff1a;计算机只能识别&#xff1a;0和1&#xff0c;那么我们丰富的文本文件是如何被计算机识别&#xff0c;并存储在硬盘中呢&#xff1f; 答案&#xff1a;使用编码技术&#xff08;密码本&#xff09;将内容翻译成0和1存入。 编码技术即&#xff1a;…

十九)Stable Diffusion使用教程:ai室内设计案例

今天我们聊聊如何通过SD进行室内设计装修。 基础起手式&#xff1a; 选择常用算法&#xff0c;抽卡&#xff1a; 这里要安装一个插件&#xff0c;latent couple&#xff08;潜变量成对&#xff09;&#xff1a; 安装地址如下&#xff1a; GitHub - ashen-sensored/stable-diff…

Java调用百度翻译API和调用有道翻译API进行翻译

目录 界面编写 调用百度API 调用有道API 源代码 界面编写 我们首先需要设计出这个翻译程序的GUI界面&#xff0c;我们写一个类继承自JFrame类&#xff0c;用来展示程序的主窗口&#xff0c;设置好窗口的名称和大小&#xff0c;设置在关闭窗口时终止程序&#xff0c;为了界…

【UE】在蓝图中修改材质实例的参数的两种方式

目录 方式一、通过“在材质上设置标量/向量参数值”节点实现 方式二、通过“设置标量/向量参数值”节点实现 方式一、通过“在材质上设置标量/向量参数值”节点实现 1. 在材质中设置了两个参数 2. 创建材质实例 3. 创建一个蓝图&#xff0c;对静态网格体赋予材质实例 在事件…

C++ Qt开发:RadioButton单选框分组组件

Qt 是一个跨平台C图形界面开发库&#xff0c;利用Qt可以快速开发跨平台窗体应用程序&#xff0c;在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置&#xff0c;实现图形化开发极大的方便了开发效率&#xff0c;本章将重点介绍QRadioButton单选框组件以及与之交互的QButto…

数字人直播软件源码大比拼:哪种才更适合无人直播需求?

随着现代技术的不断发展&#xff0c;数字人直播软件源码越来越受到商家和短视频用户的关注。数字人直播软件通过虚拟形象和人工智能技术&#xff0c;让商家可以用数字人主播与消费者进行互动和沟通做到无人直播带货的方式&#xff0c;给人们带来了全新的娱乐体验。很多创业者也…

GeoTrust OV证书

当谈到网站安全性和可信度时&#xff0c;GeoTrust OV证书是一个备受推崇的选择。作为一家备受尊敬的数字证书颁发机构&#xff0c;GeoTrust以其卓越的品牌声誉和高质量的产品而闻名于世。GeoTrust OV证书提供了一系列的安全功能&#xff0c;同时还具有出色的性价比&#xff0c;…

数据中心到底是如何工作的?

数字时代的数据中心&#xff0c;就如同网络世界的心脏&#xff0c;它的鼓动关系到整个网络生态的运转。但这个复杂而庞大的数据枢纽背后隐藏着怎样的精密机制&#xff0c;是许多人颇感好奇的谜。 数字时代的数据中心&#xff0c;就如同网络世界的心脏&#xff0c;它的鼓动关系…

『C++成长记』拷贝构造函数

&#x1f525;博客主页&#xff1a;小王又困了 &#x1f4da;系列专栏&#xff1a;C &#x1f31f;人之为学&#xff0c;不日近则日退 ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 目录 一、拷贝构造函数 &#x1f4d2;1.1拷贝构造函数的概念 &#x1f4d2;1.2拷贝构造…