安全增强型 Linux

2024-03-07 05:12
文章标签 linux 安全 增强型

本文主要是介绍安全增强型 Linux,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

书接上篇

一查看selinux状态

SELinux的状态:

enforcing:强制,每个受限的进程都必然受限

permissive:允许,每个受限的进程违规操作不会被禁止,但会被记录于审计日志

disabled:禁用

相关命令:

getenforce: 获取selinux当前状态

sestatus :查看selinux状态

setenforce 0|1    0设置为 permissive   1设置为 enforcing

[root@localhost html]#getenforce 
Enforcing如果没有开启可以使用以下命令开启
[root@localhost html]#setenforce 1永久开启需要修改  此处文件  /etc/selinux/config
vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
yum install setools-console.x86_64 -y

若修改文本类型

 

为什么要做动、静分离?

在我们的软件开发中,有些请求是需要后台处理的(如:.jsp,.do 等等),有些请求是不需要经过后台处理的(如:css、html、jpg、js 等等文件),这些不需要经过后台处理的文件称为静态文件,否则动态文件。

 
因此我们后台处理忽略静态文件。这会有人又说那我后台忽略静态文件不就完了吗?当然这是可以的,但是这样后台的请求次数就明显增多了。在我们对资源的响应速度有要求的时候,我们应该使用这种动静分离的策略去解决动、静分离将网站静态资源(HTML,JavaScript,CSS,img 等文件)与后台应用分开部署,提高用户访问静态代码的速度,降低对后台应用访问

这里我们将静态资源放到 Nginx 中,动态资源转发到 Tomcat 服务器中去。

当然,因为现在七牛、阿里云等 CDN 服务已经很成熟,主流的做法,是把静态资源缓存到 CDN

服务中,从而提升访问速度。

 相比本地的 Nginx 来说,CDN 服务器由于在国内有更多的节点,可以实现用户的就近访问。并

且,CDN 服务可以提供更大的带宽,不像我们自己的应用服务,提供的带宽是有限的。

Nginx 负载均衡的算法怎么实现的? 策略有哪些?

为了避免服务器崩溃,大家会通过负载均衡的方式来分担服务器压力。将对台服务器组成一个集群,当用户访问时,先访问到一个转发服务器,再由转发服务器将访问分发到压力更小的服务器。

2. 权重 weight

weight 的值越大,分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。其次是为在主从的情况下设置不同的权值,达到合理有效的地利用主机资源。

# 权重越高,在被访问的概率越大,如上例,分别是20%,80%。
upstream backserver {
 server 192.168.0.12 weight=2;
 server 192.168.0.13 weight=8;
}

ip_hash(IP 绑定)

每个请求按访问 IP 的哈希结果分配,使来自同一个 IP 的访客固定访问一台后端服务器,并且可以有效解决动态网页存在的 session 共享问题

upstream backserver {
 ip_hash;
 server 192.168.0.12:88;
 server 192.168.0.13:80;
}

fair(第三方插件)

必须安装 upstream_fair 模块。

对比 weight、ip_hash 更加智能的负载均衡算法,fair 算法可以根据页面大小和加载时间长短智能地进行负载均衡,响应时间短的优先分配。

# 哪个服务器的响应速度快,就将请求分配到那个服务器上。
upstream backserver {server server1;server server2;fair;
}
url_hash(第三方插件)

必须安装 Nginx 的 hash 软件包

按访问 url 的 hash 结果来分配请求,使每个 url 定向到同一个后端服务器,可以进一步提高后端缓存服务器的效率。

upstream backserver {server squid1:3128;server squid2:3128;hash $request_uri;hash_method crc32;
}

location 的作用是什么?

location 指令的作用是根据用户请求的 URI 来执行不同的应用,也就是根据用户请求的网站 URL 进行匹配,匹配成功即进行相关的操作。

location 的语法能说出来吗?

使用特定命令清空文件

① 使用 truncate 命令

truncate 命令用于缩短或扩展文件大小。在清空文件内容的情况下,我们可以使用 -s 选项指定新的大小为0。

优点:

truncate 操作非常快速,特别适用于大文件。

保留文件的元数据,包括文件名、权限等。

限制:

不适用于需要精确控制文件内容清空的场景,因为它只能清空到文件的开头。

不能清空只读文件,除非使用超级用户权限。

② 使用dd命令

dd 命令是一个强大的工具,用于复制和转换文件。在清空文件内容的情况下,我们可以使用 if=/dev/null 来将文件内容复制为空。

dd if=/dev/null of=filename

优点:

  • dd 提供了更多的灵活性,可以通过修改参数来满足不同需求。

  • 保留文件的元数据,类似于 truncate

限制:

  • 相较于 truncatedd 的使用语法相对较复杂,需要确保正确的参数设置。

  • 在处理大文件时可能效率略低于 truncate

 使用重定向符号清空文件

① 使用 > 符号

> 是一种重定向符号,它可以将输出重定向到文件。在清空文件的情况下,可以使用 > 将空内容写入文件。

> filename
优点:

使用 > 符号是一种非常简单和直观的方法,适用于快速清空文件。

不需要记忆复杂的命令选项,适合初学者。

限制:

不如 truncate 和 dd 灵活,只能清空文件内容,不能处理其他复杂的情况。

无法指定清空文件的起始位置,总是从文件开头清空。
 

使用定时任务清空文件

可以使用 cron 定时任务来定期清空文件。编辑定时任务配置文件:

crontab -e#添加一行,表示每天凌晨1点清空文件:
0 1 * * * echo -n > /path/to/example.txt

安全注意事项

在清空文件时,需要注意一些安全性问题,以确保不会误操作或导致数据丢失。以下是一些建议:

1 备份文件内容
在执行清空操作之前,建议先备份文件内容。这可以通过复制文件到另一个位置或使用压缩工具创建文件备份来实现。

cp example.txt example_backup.txt

2 权限管理

确保执行清空操作的用户具有足够的权限。在某些情况下,可能需要使用超级用户权限,但请谨慎使用。

sudo truncate -s 0 example.txt

3. 注意文件属性

清空文件时,文件的元数据(如权限、所有者等)通常是不变的,但仍然需要注意文件属性。确保清空操作不会导致文件属性的变化,特别是对于特殊权限的文件。

4 考虑文件系统类型

不同的文件系统可能对文件操作有不同的限制和要求。在清空文件之前,了解文件系统的特性是很重要的。

5. 谨慎使用自动化脚本和定时任务
在使用自动化脚本和定时任务时,确保脚本和任务的逻辑正确,以防止意外的清空操作。在生产环境中,最好先在测试环境进行验证。

6. 文件锁定和并发访问
如果有其他进程在使用文件,清空文件可能导致并发问题。在清空文件之前,考虑文件锁定或确保没有其他进程正在写入文件。

7. 日志记录
在执行清空操作时,建议记录日志以便追踪操作的情况。这有助于排查问题和监控文件清空的历史记录。

总结
本文详细介绍了在Linux系统中快速清空文件而不删除它们的多种方法。通过命令行工具如 truncate 和 dd,重定向符号,以及文本编辑器 vim 和 nano 的使用,以及通过脚本自动化和定时任务的方式,我们可以根据不同的需求选择合适的方法。在执行文件清空操作时,请始终注意安全性问题,并根据实际情况采取相应的预防措施

 

这篇关于安全增强型 Linux的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/782468

相关文章

JAVA保证HashMap线程安全的几种方式

《JAVA保证HashMap线程安全的几种方式》HashMap是线程不安全的,这意味着如果多个线程并发地访问和修改同一个HashMap实例,可能会导致数据不一致和其他线程安全问题,本文主要介绍了JAV... 目录1. 使用 Collections.synchronizedMap2. 使用 Concurren

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Python从零打造高安全密码管理器

《Python从零打造高安全密码管理器》在数字化时代,每人平均需要管理近百个账号密码,本文将带大家深入剖析一个基于Python的高安全性密码管理器实现方案,感兴趣的小伙伴可以参考一下... 目录一、前言:为什么我们需要专属密码管理器二、系统架构设计2.1 安全加密体系2.2 密码强度策略三、核心功能实现详解

Linux中的计划任务(crontab)使用方式

《Linux中的计划任务(crontab)使用方式》:本文主要介绍Linux中的计划任务(crontab)使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、前言1、linux的起源与发展2、什么是计划任务(crontab)二、crontab基础1、cro

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将