您的位置: 首页 - 站长

h5说 网站网页制作招聘信息

当前位置: 首页 > news >正文

h5说 网站,网页制作招聘信息,网络平台投诉电话,制作网站的完整步骤本文目录 1. 序2.鸿蒙与欧拉的概念微内核LiteOS鸿蒙微内核POSIX标准 3.实习干了些什么身份鉴别访问控制恶意代码防范安全审计入侵防范性能压测检查系统版本网络测试常见的linux测试命令 1. 序 之前在某国企实习的时候#xff0c;有幸参与了鸿蒙系统、鸿蒙欧拉的项目#xff… 本文目录 1. 序2.鸿蒙与欧拉的概念微内核LiteOS鸿蒙微内核POSIX标准 3.实习干了些什么身份鉴别访问控制恶意代码防范安全审计入侵防范性能压测检查系统版本网络测试常见的linux测试命令 1. 序 之前在某国企实习的时候有幸参与了鸿蒙系统、鸿蒙欧拉的项目主要是做鸿蒙系统结合国家主要产业的设备进行工作测试这里不涉及太多详细情况主要是总结自己对鸿蒙操作系统的知识梳理和实习时的一些收获。 2.鸿蒙与欧拉的概念 OpenHarmony是基于微内核、面向全场景的分布式操作系统。并不是安卓系统修改而来的与安卓、IOS是不一样的操作系统。 其内核可以认为是由 Linux内核、LiteOS、鸿蒙微内核 三个部分构成的多内核操作系统。 因为早期的研发是参考了Linux内核并以此为底层进行内核设计开发所以兼容Linux应用程序Debian系列的Linux内核其后缀为.deb。 鸿蒙微内核应该是参考Minix3开发的 Minix3属于精简的类Unix系统使用的就是微内核。 因为是多内核的所以OpenHarmony 引入了内核抽象层Kernel Abstract Layer, KAL通过屏蔽不同内核之间的差异向上层提供统一的内核能力包括进程/线程管理、内存管理、文件系统、网络管理和外设管理等。这种设计使得系统能够兼容 Linux 的核心功能和命令。 手机上使用的 鸿蒙OS系统Harmony OS AOSP EMUI 界面 HMS服务 鸿蒙API接口 。 OpenEuler 是一个开源的 Linux 操作系统Red Hat系列的Linux内核其包后缀是.rpm最开始是基于 Red Hat Enterprise LinuxRHEL的 CentOS 分支进行定制由华为发起并贡献核心代码旨在为数据中心、云计算、边缘计算等场景提供高性能、高可靠性和高安全性的操作系统。它由开放原子开源基金会孵化目标是构建一个开放、创新的操作系统生态。 微内核 那么微内核是什么呢 微内核Microkernel是一种操作系统内核架构其核心思想是将操作系统的核心功能最小化仅保留最基本的服务如进程管理、线程调度、内存管理、进程间通信IPC等。其他功能如文件系统、设备驱动、网络协议等则作为用户态服务运行。 LiteOS LiteOS 是华为开发的一款轻量级实时操作系统RTOS专为物联网IoT设备和嵌入式系统设计。 LiteOS 的内核非常小巧基础内核体积可以裁剪至不到 10KB适合资源受限的嵌入式设备。 LiteOS 集成了多种物联网通信协议如 MQTT、CoAP、LwM2M 等方便设备与云端的互联互通。 鸿蒙微内核 鸿蒙微内核则在 LiteOS 的基础上进行了增强和扩展继承了其低功耗和高实时性特点同时通过微内核架构和分布式能力支持更广泛的设备和应用场景。 鸿蒙微内核通过模块化设计将核心功能精简至最小提供高效的进程间通信IPC和资源管理能力。 另一个特点是采用形式化验证方法增强系统安全性和可信执行环境TEE降低受攻击几率。 POSIX标准 POSIX就是操作系统接口规范POSIXPortable Operating System Interface for Unix许多现代操作系统如 Linux、macOS、FreeBSD 等都实现了 POSIX 标准以提高兼容性和可移植性。 POSIX 包括的内容 系统接口定义了操作系统内核提供的功能如进程管理、文件系统操作、信号处理、线程管理等。 Shell 和工具标准化了命令行工具和脚本语言如 sh、awk、sed 等确保这些工具在不同系统上具有一致的行为。 实时扩展支持实时操作系统RTOS的特性如实时线程调度、优先级继承等。 线程支持定义了线程pthread的创建、同步和管理接口支持多线程编程。 网络接口标准化了网络编程接口如套接字socket编程。 3.实习干了些什么 主要是对鸿蒙操作系统还有欧拉操作系统进行一些操作系统方面的测试功能、性能、安全等方面这会进行个总结。 身份鉴别 这个主要是对登录的用户进行身份标识和鉴别身份标识有唯一性身份鉴别信息具有复杂度要求需要定期更换。 查看当前可登录用户命令cat /etc/passwd | grep bash如下图所示。 cat /etc/passwd 的输出即 /etc/passwd 文件的内容会被传递给 grep bash 命令。|是管道grep是一个用于搜索文本内容的命令可以在文件或输入流中查找匹配指定模式的行。 所以这个命令的作用是从 /etc/passwd 文件中筛选出所有默认 Shell 为 bash 的用户信息。 Shell是操作系统中的一个用户界面它允许用户与操作系统进行交互。Shell 提供了一个命令行界面CLI用户可以通过输入命令来执行各种操作例如运行程序、管理文件和目录、配置系统等。 大多数 Linux 用户使用 Bash 作为默认 Shell因此筛选这些用户可以快速找到使用标准 Shell 的账户。某些特定场景下系统管理员可能需要找到所有使用 Bash 的用户以便进行脚本管理、安全审计或其他系统维护任务。 输入命令cat /etc/passwd可以看到如下的输出。每行对应一个用户字段之间用冒号:分隔。字段的含义如下 用户名用户的登录名。 密码现代系统中通常是一个占位符如 x密码信息存储在 /etc/shadow 文件中。 用户 IDUID用户的唯一标识符。 组 IDGID用户所属的用户组 ID。 用户信息用户的全名或其他描述信息。 主目录用户的家目录路径。 默认 Shell用户登录时使用的 Shell。 rootdemo:# cat /etc/passwd | grep bash root:x:0:0:root:/root:/bin/bash demo:x:1000:1000:demo:/home/demo:/bin/bash rootdemo:# cat /etc/passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin bin:x:2:2:bin:/bin:/usr/sbin/nologin sys:x:3:3:sys:/dev:/usr/sbin/nologin sync:x:4:65534:sync:/bin:/bin/sync查看是否有空口令用户 awk -F : (\(2) /etc/shadow awk 是一个功能强大的文本处理工具常用于解析和处理结构化的文本文件。它可以根据指定的分隔符将每行文本分割成多个字段并对这些字段进行操作。 -F 选项用于指定字段分隔符。在这个命令中字段分隔符是冒号:。 /etc/shadow 文件的每一行都包含用户密码信息字段之间用冒号分隔。 这是 awk 的模式匹配部分用于指定需要处理的行。\)2 表示每行的第二个字段“” 表示检查该字段是否为空。 比如输入命令后会得到 root:\(6\)abc123\(...:18385:0:99999:7::: daemon:*:18385:0:99999:7::: nobody:*:18385:0:99999:7::: testuser::18385:0:99999:7:::查看身份标识唯一性cat /etc/passwd | awk -F : {print \)1,\(3} | sort -t -k 2n | uniq -f1 -D 这个命令的作用是检查系统中是否存在具有相同用户 IDUID的用户即检查用户身份标识UID的唯一性。如果存在多个用户共享同一个 UID则表示身份标识不唯一这可能是一个配置错误或安全问题。 刚刚我们提到过/etc/passwd 是一个包含系统用户信息的文件每一行代表一个用户字段之间用冒号:分隔。其格式如下 用户名:密码占位符:用户IDUID:组IDGID:用户描述:用户主目录:默认Shellroot:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin user1:x:1000:1000:User One:/home/user1:/bin/bash user2:x:1001:1001:User Two:/home/user2:/bin/bash{print \)1, $3}表示打印每行的第一个字段用户名和第三个字段用户 IDUID。 root 0 daemon 1 user1 1000 user2 1001sort 是一个用于对文本行进行排序的命令。-t 指定字段分隔符为空格。-k 2n表示按照第二列UID进行数值排序。 uniq 是一个用于检查和删除重复行的命令。-f1表示跳过每行的前一列即用户名列只比较第二列UID。-D表示只显示重复的行。 查看密码复杂度策略及相关安全策略cat /etc/login.defs /etc/login.defs是系统配置文件的路径用于存储登录和密码相关的全局设置。 比如 PASS_MIN_DAYS指定用户可以更改密码的最小天数。例如如果设置为 7用户在 7 天内不能更改密码。 PASS_MAX_DAYS指定用户密码的有效期。例如如果设置为 90用户必须每 90 天更改一次密码。 PASS_WARN_AGE指定在密码过期前多少天开始提醒用户更改密码。例如如果设置为 7系统会在密码过期前 7 天开始提醒用户。 LOGIN_RETRIES定义用户登录失败的最大尝试次数。 LOGIN_TIMEOUT定义登录超时时间秒。 CHFN_RESTRICT限制用户通过 chfn 命令修改个人信息。 UID_MIN普通用户 UID用户 ID的最小值通常为1000。 UID_MAX通常是 60000 或 65533。 UMASK文件权限相关新文件和目录的默认权限掩码通常是 022。设置新创建文件和目录的默认权限。例如022 表示新文件的默认权限为 644rw-r–r–新目录的默认权限为 755rwxr-xr-x。 ENCRYPT_METHOD密码加密方法默认值通常是 SHA512 或 MD5。 设置密码最小长度PASS_MIN_LEN。 是否开启sshd服务ps -ef | grep ssh或者service sshd status 检查系统中是否运行了 sshd 服务SSH 守护进程。sshd 是 SSHSecure Shell服务的守护进程用于提供安全的远程登录和文件传输功能。 比如下面图中的sshd: rootpts/0 表示这是一个 sshd 子进程用于处理 root 用户通过 SSH 连接到终端 pts/0 的会话。 /usr/lib/openssh/sftp-server表示这是一个 SFTP 服务器进程用于处理通过 SSH 的文件传输请求。
检查telnet是否关闭systemctl status telnet.socket 如果服务未运行输出可能显示
也可以通过命令telnet localhost 23使用 telnet 客户端尝试连接到本地主机的端口 23确认是否可以连接。 访问控制 禁止用户远程登录cat /etc/ssh/sshd_config | grep PermitRootLogin 减少攻击面root 用户拥有系统的所有权限如果攻击者通过远程登录获取了 root 权限他们将能够完全控制整个系统包括修改系统配置、安装恶意软件、窃取敏感数据等。禁止 root 远程登录可以有效减少潜在的攻击面。 防止暴力破解root 是默认的超级用户其用户名是众所周知的因此很容易成为暴力破解攻击的目标。攻击者可以尝试使用常见的弱密码或自动化工具来猜测 root 的密码。禁止 root 远程登录可以防止这种攻击。 降低风险即使使用了强密码root 用户的远程登录仍然可能被中间人攻击、密钥泄露或其他安全漏洞所利用。禁止 root 远程登录可以降低这些风险。 最小权限原则 是一种安全策略建议用户和进程仅拥有完成其任务所必需的最小权限。对于远程登录建议使用普通用户账户登录然后通过 sudo 或 su 命令获取更高的权限。这样可以限制用户的操作范围减少误操作或恶意行为对系统的影响。 即使当用户通过 sudo 执行命令时sudo 会记录执行的用户、执行的命令以及执行时间等信息。这些日志通常保存在 /var/log/auth.log 或 /var/log/secure 文件中。通过这些日志管理员可以清楚地知道是谁执行了哪些需要 root 权限的操作。如果多个管理员直接以 root 用户登录很难区分是谁执行了特定的操作这给审计和责任追踪带来了困难。 可以通过使用 visudo 命令编辑 /etc/sudoers 文件

允许用户 user1 执行所有命令

user1 ALL(ALL) ALL# 允许用户组 admin 执行所有命令 %admin ALL(ALL) ALL# 允许用户 user2 只能执行特定命令 user2 ALL(ALL) /usr/bin/apt-get, /usr/bin/reboot查看权限是否合理批量检查所有用户的 sudo 权限getent passwd | cut -d: -f1 | xargs -n 1 sudo -l -U 恶意代码防范 查看定时任务配置规则cat /etc/crontab Linux 系统中 /etc/crontab 文件的内容它定义了系统级的定时任务cron jobs。/etc/crontab 文件用于配置系统范围的定时任务这些任务通常由系统服务如 cron 守护进程自动执行。 定义了系统级的定时任务也就是定期执行 /etc/cron.hourly、/etc/cron.daily、/etc/cron.weekly 和 /etc/cron.monthly 目录中的脚本。这些任务通常用于系统维护例如清理临时文件、更新系统日志、备份数据等。 检查定时任务是否运行service cron statusb 首先输出显示 cron.service 是一个名为“Regular background program processing daemon”定期后台程序处理守护进程的服务。它用于管理定时任务cron 任务这些任务会在指定的时间自动运行。 服务的活动状态为“active (running)”表明 cron 服务正在运行。它自 2025 年 3 月 3 日星期一 06:49:53 UTC 开始运行到目前为止已经运行了 5 小时 48 分钟。 主进程 IDPID为 864表示 cron 服务的主进程正在运行并且当前只有一个任务Tasks: 1。系统为该服务分配的内存为 2.3M它属于 system.slice/cron.service 控制组。 安全审计

  • 检查安全审计的守护进程是否正常 ps -ef | grep auditd 或者systemctl status auditd[kauditd]表示这是一个内核线程名为 kauditd用于处理审计事件。kauditd 是 Linux 审计系统的一部分负责将审计事件写入日志。 audit审计规则配置cat /etc/audit/audit.rules 删除所有现有的审计规则-D。 设置审计事件队列大小为 8192 条目-b 8192。 设置失败处理方式为记录失败事件-f 1。 设置等待队列的最大等待时间为 0 毫秒–backlog_wait_time 0。 NTP时钟服务是否开启systemctl status ntp 检查 NTPNetwork Time Protocol时钟服务是否正在运行。 NTP 的核心功能是同步系统时钟确保计算机的时间与外部时间源如时间服务器保持一致。通过定期与时间服务器通信NTP 可以校正系统时钟的偏差从而避免因硬件时钟漂移导致的时间不准确。 在系统管理和安全审计中准确的时间戳是必不可少的。NTP 可以确保日志文件、事件记录和其他时间敏感信息的时间戳是准确的从而便于故障排查和安全分析。 入侵防范 查看开放端口ss -tuln ss 是 netstat 的现代替代工具功能更强大性能更好。 -t显示 TCP 端口。 -u显示 UDP 端口。 -l显示处于监听状态的端口。 -n以数字形式显示地址和端口。 State状态 LISTEN端口正在监听等待连接。 UNCONNUDP 套接字未连接UDP 是无连接的协议所以通常显示为 UNCONN。 Recv-Q接收队列 显示接收队列中的字节数或数据报数。对于监听状态的 TCP 端口通常为 0因为它们正在等待连接。 Send-Q发送队列 显示发送队列中的字节数或数据报数。对于监听状态的端口通常为 0。 Local Address:Port本地地址:端口 显示本地 IP 地址和端口号。可以是 IPv4 地址如 127.0.0.1、IPv6 地址如 [::1]或者是 0.0.0.0 和 [::] 表示监听所有 IPv4 和 IPv6 地址。 如果地址包含 % 符号后面跟着的是网络接口名称如 %lo 表示本地回环接口%ens33 表示名为 ens33 的网络接口。 Peer Address:Port对端地址:端口 对于 TCP 监听端口通常显示为 0.0.0.0:* 或 [::]表示接受任何对端地址和端口的连接。 对于 UDP 端口通常为空因为 UDP 是无连接的没有特定的对端地址。 Process进程 这一列通常显示监听端口的进程信息。但在 ss 命令的输出中这一列默认是不显示的。如果需要显示进程信息可以使用 ss -tunp 命令。 在图中我们可以看到多个 UDP 和 TCP 端口的状态。例如端口 53 是用于 DNS 的它在 IPv4 的本地回环地址 127.0.0.53 和 IPv6 的本地回环地址 [::1]:53 上监听。端口 123 是用于 NTP 的它在多个 IPv6 链接本地地址上监听。端口 8500、22、3306 和 6379 分别是用于一些常见服务的如 Docker 的 Swarm 模式、SSH、MySQL 数据库和 Redis。 性能压测 通过cat /proc/loadavg查看系统负载的平均值其前三列分别表示最近1分钟、5分钟及15分的平均负载。 反映了当前系统的繁忙情况。当平均负载高于 CPU 数量 70% 的时候你就应该分析排查负载高的问题了。 平均负载是指单位时间内处于可运行状态和不可中断状态的进程数。它不仅包括了正在使用 CPU 的进程还包括等待 CPU 和等待 I/O 的进程。 CPU 使用率是单位时间内 CPU 繁忙情况的统计跟平均负载并不一定完全对应。 比如CPU 密集型进程使用大量 CPU 会导致平均负载升高此时这两者是一致的 I/O 密集型进程等待 I/O 也会导致平均负载升高但 CPU 使用 率不一定很高。 通过命令stress –vm 2 –vm-bytes 300M –vm-keep进行系统进行压力测试和性能评估。可以模拟高负载情况帮助评估系统在极端条件下的表现。 –vm 2这个选项指定创建 2 个虚拟内存VM工作者worker每个工作者会消耗系统资源来模拟负载。 –vm-bytes 300M这个选项指定每个虚拟内存工作者分配 300 MB兆字节的内存。由于有 2 个虚拟内存工作者总共会分配 600 MB 的内存。 –vm-keep这个选项指示 stress 在测试结束后保留分配的内存而不是释放它。通常stress 在测试完成后会尝试清理和释放资源但 –vm-keep 选项会阻止这一行为使内存保持被占用状态。 在执行压力测试时监控系统状态如 CPU 使用率、内存使用情况、磁盘 I/O 等以便及时了解系统在高负载下的表现。 检查系统版本 因为鸿蒙欧拉版本比较多需要核对版本这个直接输入uname -a命令即可。 网络测试 使用经典的iperf工具进行tcp和udp测试。 服务端通过命令iperf -u -s开启udp服务。 然后客户端可以运行下面的命令 iperf -u -c 192.168.1.1 -b 100M -t 60表示udp模式下以100Mbps数据发送速率测试60s。 iperf -u -c 192.168.1.1 -b 5M -P 30 -t 60客户端向服务器端发起30个连接线程以5Mbps为数据发送速率。 iperf -u -c 192.168.1.1 -b 100M -d -t 60 以100M为数据发送速率进行上下行带宽测试。 对应的TCP模式也是一样的。 服务端通过命令iperf -s开启tcp服务。 客户端运行命令iperf -c 192.168 .1.1 -t 60tcp模式下进行上传带宽测试测试时间为60s等。 客户端运行命令iperf -c 192.168 .1.1 -P 30 -t 60tcp模式下发起30个线程连接测试60s。 常见的linux测试命令 top实时显示系统中各个进程的资源占用情况包括CPU、内存、进程ID等信息。 htop功能类似于 top但提供了更丰富的交互式界面支持颜色显示和更多的排序选项。 df -h显示文件系统的磁盘空间使用情况-h 参数以易读格式的显示。 ifconfig 或 ip addr显示网络接口的配置信息包括IP地址、子网掩码等。 netstat -tuln显示网络连接、路由表、接口统计等信息。-tuln 参数表示显示TCP、UDP监听端口。 iostat监控系统输入输出设备和CPU的使用情况。 ps aux显示系统中所有进程的详细信息包括进程ID、用户、CPU和内存使用率等。 uptime显示系统的运行时间、当前时间、负载平均值等。 free -h显示系统的总内存、已用内存、空闲内存和交换空间swap的使用情况。