linux 安全审计功能,Linux安全审计命令

安全审计

数据分析

capinfos xxx.pcap 产看数据包基本信息

日志分析

who /var/log/wtmp #查看登录用户信息

哈希校验

sha265 文件名

md5sum 文件名 > hash.txt 然后把hash.txt与源文件放在一个文件夹

md5sum -c hash.txt #将hash.txt中的hash值与源文件对比

常用安全命令

# 使用 uid 查找对应的程序 :find / ­uid ­perm ­

# 查找哪里拥有写权限 :find / ­perm ­o=w

# 查找名称中包含点和空格的文件

find / ­name " " ­print

find / ­name ".." ­print

find / ­name ". " ­print

find / ­name " " ­print

# 查找不属于任何人的文件 :find / ­nouser

# 查找未链接的文件 :lsof +L1

# 获取进程打开端口的信息 :lsof ­i

# 看看 ARP 表:arp -a

# 查看所有账户 :getent passwd

# 查看所有用户组 :getent group

# 列举所有用户的 crontabs

# 生成随机密码

cat /dev/urandom| tr ­dc ‘a­zA­Z0­­_!@#$%^&*()_+{}|:<>?=’|fold ­w | head ­n

# 使文件不可修改 :chattr +­i filename

# 查找所有不可修改的文件:find . | xargs ­I file lsattr ­a file >/dev/null | grep ‘^....i’

禁止以root管理员进行ssh远程登录

#vi /etc/ssh/sshd_config

修改:PermitRootLogin yes 为:PermitRootLogin no

#service sshd restart //重启sshd服务

Linux禁止非WHEEL用户使用SU命令

一般用户通过执行“su -”命令、输入正确的root密码,可以登录为root用户

为了加强安全性,建立一个管理员的组,只允许这个组的用户来执行“su -”命令登录为root用户,在UNIX和Linux下,这个组的名称通常为“wheel”

步骤:

# usermod -G wheel dongee 将一般用户 dongee 加在管理员组wheel组中

#vi /etc/pam.d/su

#auth required /lib/security/$ISA/pam_wheel.so use_uid ← 找到此行,去掉行首的“#”

# echo “SU_WHEEL_ONLY yes” >> /etc/login.defs

代码审计

检查匹配到元数据字符串和头部信息: strings 文件名

查看文件基本信息: file 文件名

查看文件头基本信息: head 文件名

strings filename 输出ASCII码字符串

strings -n 长度 filename | sort -u | less # -n参数匹配最小长度

xxd 文件名 #把文件转换成十六进制(可在vim下使用 :%!xxd)

: 1f8b 39d7 173b 002b 4e49 ......;..tt.+NI

: 4b2c eb9c ecac c462 eb94 345e 2e30 K,.`.....b..^.

: 373b 0b22 0ca6 c1a2 d669 39d9 ;'1.".....i.59.

Vim阅读和编辑这些文本后使用 :%!xxd -r 命令把它转换回来

:%!xxd -g 切换到十六进制模式显示

只有十六进制部分的修改才会被采用。右边可显示文本部分的修改忽略不计。

如果需要专门的命令行十六进制编辑器,可以试一下hexedit。

图形界面的十六进制编辑器可以使用ghex2,bless

浏览十六进制文件可以用hexdump -C

upx -d 文件名 #upx脱壳

汇编/反汇编:

objdump --disassemble(-d) filename > HuiBian.txt #生成汇编指令

objdump -a filename #查看 libevent.a 中包含哪些 .o 文件(权限+格式)

nasm -f elf hello.asm    #生成汇编代码

ld -s -o hello hello.o #调用链接器生成可执行程序

./hello   #执行程序

NASM 命令

注:NASM 全称 The Netwide Assembler,是一款基于80×86和x86­64平台的汇编语言编译程序,其设计初衷是为了实现编译器程序跨平台和模块化的特性。

nasm ­f bin ­o payload .bin payload .asm

nasm ­f elf payload .asm; ld ­o payload payload .o; objdump ­d payload

编译 Assemble 代码

$ nasm ­f elf32 simple32.asm ­o simple32.o

$ ld ­m elf_i386 simple32.o simple32

$ nasm ­f elf64 simple.asm ­o simple.o

$ ld simple.o ­o simple

编译过程

预编译(处理)(Prepressing):生成.i文件

处理#开头的文件包含及预编译指令,展开宏定义,删注释,添行号,保留#pragma编译器指令

编译(Compilation):词法,语法,语义分析及优化

汇编(Assembly):将汇编代码转换成机器可执行的指令

链接(Linking): 把目标文件和库文件链接成可执行文件

预编译:gcc -E hello.c -o hello.i 或者 cpp hello.c > hello.i

编译:gcc -S hello.i -o hello.s 或者 gcc -S hello.c -o hello.s

汇编:as hello.s -o hello.o 或者 gcc -c hello.s(hello.c) -o hello.o

链接:ld -o hello hello.c

gcc编译并调试程序hello.c:

gcc -ggdb -mpreferred-stack-boundary= -fno-stack-protector -o hello hello.c

-ggdb : 生成额外的调试信息,使用gdb时比较有用

-mpreferred-stack-boundary= : 使用DWORD大小的栈编译程序,简化调试过程

-fno-stack-protector : 禁用栈保护

-z execstack : 启用可执行栈(gcc4.1默认禁用)

gcc -static -o hello hello.c

gdb调试生成反汇编代码: (gdb)disass _文件名

# 设置断点: b 函数名(不加括号) #开始运行:(gdb)r

gdb -q hello

(gdb) set disassembly-flavor #在Intel(NASM)和AT&T格式中切换

(gdb) disassemble 函数名 #反汇编指定函数

APK逆向

classes.dex:包含在Android系统的Dalvik虚拟机中执行的程序代码

apktool d 输出文件夹名 test_apk

dex2jar -v classes.dex #把dex文件转换为jar文件

unzip classes-dex2jar.jar -d java_class

linux grep命令

linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

Linux常用命令(一)

Linux常用命令 1. pwd查看当前路径(Print Working Directory)    [root@CentOS ~]# pwd/root 2. cd .. 返回上一级 .. 表示上一级 ...

Linux下命令行安装weblogic10&period;3&period;6

Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

Linux paste命令

Linux paste命令用于合并文件的列. paste指令会把每个文件以列对列的方式,一列列地加以合并. 语法 paste [-s][-d ][--help][--versi ...

20145222《信息安全系统设计基础》Linux常用命令汇总

学习Linux时常用命令汇总 通过Ctrl+f键可在该网页搜索到你想要的命令. Linux中命令格式为:command [options] [arguments] //中括号代表是可选的,即有些命令不 ...

Linux sudo 命令的应用

.note-content { font-family: "Helvetica Neue", Arial, "Hiragino Sans GB", STHeit ...

linux 基础命令与文件管理

Linux终端介绍 Shell提示符 Bash Shell基本语法 基本命令的使用:ls.pwd.cd 查看系统和BIOS硬件时间 Linux如何获得帮助 Linux关机命令:shutdow.in ...

linux awk命令详解

linux awk命令详解 简介 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入,以空格为默认分 ...

linux常用命令的介绍

本文主要介绍Linux常用命令工具,比如用户创建,删除,文件管理,常见的网络命令等 如何创建账号: 1. 创建用户 useradd -m username -m 表示会在/home 路径下添加创建用户 ...

随机推荐

dubbox升级spring到4&period;x及添加log4j2支持

今天花了点时间,把dubbox依赖的spring从3.x升级成最新版的4.x了,其它一些依赖的组件也顺带升级了,同时dubbo支持的第三方日志组件居然没有log4j2,加了点代码也一并支持了,蛋疼的是 ...

nodejs的第五天学习笔记

一.调试nodejs代码 1)使用console.log() 使用麻烦,用了以后还要删除 2)nodejs的自带调试器 -node debug a.js 没有任何作用,一个玩具,将来有一天可以会变得强 ...

CTO干点啥?

1.负责技术 2.负责人才 3.负责业务(需求) 4.负责组织

d3 API zoom

常用的看明白了,还有几个地方不太明白. zoom函数: area path circle .on("zoom", function(){ that.svg_obj.select(& ...

Java Web系列:Spring Boot 基础

Spring Boot 项目(参考1) 提供了一个类似ASP.NET MVC的默认模板一样的标准样板,直接集成了一系列的组件并使用了默认的配置.使用Spring Boot 不会降低学习成本,甚至增加了 ...

SPSS二次开发

在以前关于SPSS二次开发文章中留下过自己联系方式,差不多一年的时间,零零散散的和我取得联系的人也有几十位,看来对于SPSS二次开发的需求不少. Web SPSS系统是利用SPSS二次开发技术,使用户 ...

25个超有用的 AngularJS Web 开发工具

AngularJS是为了克服HTML在构建应用上的不足而设计的.HTML是一门很好的为静态文本展示设计的声明式语言,改善了JavaScript. 下面我要说的就是25个超有用的AngularJS工具, ...

特殊的string类型

1.前言 string是属于引用类型的,这个大家都知道吧?但是平常在使用的过程中,发现它还是拥有一些值类型的特征的,这到底是为什么呢? 原因就是.Net考虑到假如大量的操作string对象的时候,大量 ...

Java基础之路&lpar;一&rpar;下--引用数据类型之数组

上次我们说了java的基础数据类型,今天我们就来说一下引用数据类型中的数组. 什么是数组 数组:存储在一个连续的内存块中的相同数据类型(引用数据类型)的元素集合. 数组中的每一个数据称之为数组元素,数 ...

vue中具名插槽的使用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux安全审计和数据保护是Linux系统中非常重要的一部分,以下是一些相关的方法和步骤: 1. SELinuxLinux系统中的一个强制访问控制(MAC)系统,它可以限制进程只能访问它被授权的资源。可以通过以下命令来检查SELinux是否开启: ```shell sestatus ``` 如果SELinux处于enforcing模式,则表示它正在强制执行安全策略。如果SELinux处于permissive模式,则表示它只记录违规行为而不强制执行安全策略。如果SELinux处于disabled模式,则表示它已被完全禁用。 2. 可以使用Linux Audit框架来记录系统上发生的安全事件。可以使用以下命令来检查Linux Audit是否已安装: ```shell rpm -q audit ``` 如果未安装,则可以使用以下命令安装: ```shell yum install audit ``` 安装完成后,可以使用以下命令来启用Linux Audit: ```shell systemctl enable auditd.service systemctl start auditd.service ``` 然后,可以使用以下命令来查看Linux Audit日志: ```shell ausearch -m USER_AUTH ``` 这将显示所有与用户身份验证相关的事件。 3. 可以使用Linux系统中的加密文件系统来保护敏感数据。可以使用以下命令来创建一个加密文件系统: ```shell cryptsetup luksFormat /dev/sdb1 cryptsetup luksOpen /dev/sdb1 my_encrypted_fs mkfs.ext4 /dev/mapper/my_encrypted_fs mount /dev/mapper/my_encrypted_fs /mnt/my_encrypted_fs ``` 这将创建一个名为my_encrypted_fs的加密文件系统,并将其挂载到/mnt/my_encrypted_fs目录中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值