8种机械键盘轴体对比

本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选?

Linux下的防篡改技巧-1

何为防窜改

防篡改 即防止数据在使用和存储的过程中被非法篡改的手段.

从上图就可以看出, 数据的篡改可能发生在任意一个环节. 只要一个环节出了问题, 就可能影响到整个数据的运作流程. 那如何防范呢?

勤劳人的人会去修补加固每一个环节, 而聪明的人会先钉死一个环节.

所以无论用什么手段, 只要能矫正数据篡改攻击, 那具体实现就没有什么高下之分了.

我们可以将篡改攻击的防御策略分为三个阶段:阶段防御策略文档篡改前做好备份和数据监控, 根据策略阻止和记录非法篡改行为

文档篡改中即时感知异常行为, 即时反馈与CACHE操作

文档篡改后切断数据流链条, 即时恢复,快速响应报告

要做到完善防御体系就必须同时具备前中后三点的防御能力, BUT LIFE-IS-SHORT ~

简单的防传篡改

今天我们就用用 chattr 这个LINUX自带的神器来为我们的WEB服务器做一次权限加固.

众所周知LINUX安全加固的一切基础就是权限分配.

所以在这之前,先让我们看几条企业网络安全铁律:权限最小化

库站分离

上传下载区域和代码区域分离

变动最小化

其实这些问题都可以用良好的架构来规避, 但实际生产中, 由于资源和部署的各种问题, 很多时候只能委曲求全.

假如你的上传下载目录和网站代码在一个文档夹下, 你就会很担心, 有人利用上传漏洞, 获取WEBSHELL, 再接着篡改你的网站文档. 这时候,除了要控制上传目录不可解析脚本外, 还要进一步的锁定所有的网站代码. 这样入侵者就算通过其他的途径获取了WEBSHELL, 也无法进一步利用你的网站.

chattr

在LINUX中, 为了允许添加数据,防止更改或者删除等,文档和文档夹可以设定了特定的控制属性。例如,你可以在关键的系统文档或者文档夹中启用属性,然后没有任何用户,包括root,可以删除或者修改它,比如不允许使用像dump这样的命令等备份工具去备份一个特定的文档或者文档夹,等等。这些属性只可以在ext2,ext3或者ext4文档系统中的文档和文档夹上设定1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

451 chattr:设置文档的底层属性

语法格式:chattr [option] [file]

option:

+:在原有参数的基础上,追加参数

-:在原有参数基础上,移除参数

-a:设定只能想文档中添加数据,而不能删除。

-i:设定后,不能对文档进行删除写入改名等等操作

-R:递归处理

-V:显示执行过程

注意:设定这些参数,必须在root权限下。

1.1 实例1:设定i参数,使得在root权限下无法直接删除

~$ touch test

~$ sudo chattr +i test

~$ lsattr test

----i--------e- test

~$ sudo rm test

[sudo] password for hic:

rm: 无法删除"test": 不允许的操作

1.2 实例2:设定a参数,使得只能向文档中添加内容

~# chattr +a test

~# man lsattr > test

bash: test: 不允许的操作

~# man chattr >> test

2 lsattr:显示文档的底层属性

语法格式:lsattr [option] [file]

option:

-a:显示所有文档属性

-d:仅显示目录属性

-R:递归显示

~$ lsattr -a test

----i--------e- test

下面我们就用 chattr 真正的实战一番1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98Linux CentOS-S1 2.6.32-71.el6.i686

/var/www/html

#没加 i 属性之前的主页文档

[[email protected] html]# lsattr index.php

-------------e- index.php

[[email protected] html]# ls -l index.php

-rw-rw-r--. 1 test test 15 3月 9 13:31 index.php

#给主页文档添加 i 属性

[[email protected] html]# chattr +i index.php

#已经成功添加 i 属性

[[email protected] html]# lsattr index.php

----i--------e- index.php

#root也无法无法删除

[[email protected] html]# rm index.php

rm:是否删除普通文档 "index.php"?y

rm: 无法删除"index.php": 不允许的操作

-------------e- 2013.php

-------------e- fm.php

-------------e- upload/Ur503skA.jpeg

-------------e- upload/5JD31FQSBJ09.jpg

----i--------e- index.php

-------------e- lib/.php

-------------e- lib/s6.php

-------------e- lib/s1.php

-------------e- lib/shell.php

-------------e- lib/s2.php

-------------e- lib/s4.php

-------------e- lib/s3.php

-------------e- lib/s5.php

-------------e- t.php

-------------e- winger2.php

----i--------e- winger.php

#上线之前先批量锁定所有文档

[[email protected] html]# chattr -R +i *

[[email protected] html]# lsattr -R *

----i--------e- 2013.php

----i--------e- fm.php

----i--------e- upload/Ur503skA.jpeg

----i--------e- upload/5JD31FQSBJ09.jpg

----i--------e- index.php

----i--------e- lib/su.php

----i--------e- lib/s6.php

----i--------e- lib/s1.php

----i--------e- lib/shell.php

----i--------e- lib/s2.php

----i--------e- lib/s4.php

----i--------e- lib/s3.php

----i--------e- lib/s5.php

----i--------e- t.php

----i--------e- winger2.php

----i--------e- winger.php

#全部锁定成功

----i--------e- ./template

----i--------e- ./winger.php

----i--------e- ./t.php

----i--------e- ./lib

----i--------e- ./index.php

----i--------e- ./css

----i--------e- ./view

----i--------e- ./2013.php

----i--------e- ./fm.php

----i--------e- ./upload

----i--------e- ./winger2.php

#但是上传目录往往是需要有权限的!

[[email protected] html]# touch upload/123.txt

touch: 无法创建"upload/123.txt": 权限不够

#去掉 上传目录的 i 属性, 让其可写

[[email protected] html]# chattr -R -i upload

----i--------e- ./template

----i--------e- ./winger.php

----i--------e- ./t.php

----i--------e- ./lib

----i--------e- ./index.php

----i--------e- ./css

----i--------e- ./view

----i--------e- ./2013.php

----i--------e- ./fm.php

-------------e- ./upload

----i--------e- ./winger2.php

#上传目录已经可写

[[email protected] html]# touch upload/123.txt

[[email protected] html]# ls upload

123.txt 5JD31FQSBJ09.jpg Ur503skA.jpe

#系统代码全部不可修改, 至此加固完毕

[[email protected] html]$ echo gege>index.php

bash: index.php: 权限不够

现在这个网站的安全性就有了非常大的提升. 如果还嫌不够. 可以把chattr 重命名. 做个蜜罐进程替代. 这样就算有高人进入你的服务器, 也发现了问题, 等他想进一步解锁文档的时候, 也会被你抓到. ( ̄▽ ̄)”

要想赢得战争你只能比敌人更~~贼.

说完了”克敌机先”下一篇我们说说”亡羊补牢”

REF

linux 目录防篡改,Linux下的防篡改技巧相关推荐

  1. linux目录结果说明,Linux目录结构及文件说明

    Linux中所有文件都是从(/)根开始的,下面是典型的Linux目录结构说明: /:根目录 /bin: binary 主要用来存放可执行文件 /sbin: super bin 存放系统管理程序,通常只 ...

  2. linux目录对应windows,linux目录和Windows目录对比

    linux目录和Windows目录对比 我们应该知道 Windows 有一个默认的安装目录专门用来安装软件.Linux 的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维护也是有帮助的. / ...

  3. linux目录count,linux-kernel – linux / scripts / recordmcount:没有这样的文件或目录

    当我尝试创建 Linux的内核模块时,会出现以下错误消息: /home/mynfs/linux/scripts/recordmcount: No such file or directory 它出什么 ...

  4. linux目录统计编程,linux系统编程----统计一个目录下的普通文件个数

    主要是为了统计linux系统下一个指定目录下面的普通文件个数,运用目录操作的一些函数,配合递归调用来实现该功能. 首先介绍一下函数原型: 打开一个空目录 DIR *opendir(const char ...

  5. linux目录隐藏技术,Linux环境下的高级隐藏技术

    摘要:本文深入分析了Linux环境下文件.进程及模块的高级隐藏技术,其中包括:Linux可卸载模块编程技术.修改内存映象直接对系统调用进行修改技术,通过虚拟文件系统proc隐藏特定进程的技术. 隐藏技 ...

  6. linux目录自动同步,Linux下rsync+inotify实现实时文件自动同步

    背景:随着时代的发展,手工的同步文件的功能已经不适合为高效的现代化企业的服务了. rsync的局限性: 1.对于大的文件(百万级.千万级的)同步耗时. 2.不能实时的检测,rsync是根据Linux守 ...

  7. linux目录文件变化,Linux下监测目录或文件的变化---inotify

    二.结构及事件介绍 当有事件发生时,notify文件描述符会变为可读,调用read()可以读取发生的事件,事件的描述结构为inotify_event结构体,定义如下: struct inotify_e ...

  8. linux目录 文件 pdf,linux文件与目录管理.pdf

    实 验 报 告 实验名称: 实验 3 Linux 文件与目录管理 实验台号: 251 实验日期: 2016-04-18 学生姓名: 田苗苗 指导教师: 边继龙 专业班级: 2014 软件工程 2 班 ...

  9. linux目录空间内存,Linux 目录结构:内存文件夹

    内存目录包含的文件涉及到整个系统.所有设备信息.进程运行时的数据或者跟系统有关的信息都存储在此. 内存目录包含以下目录. /dev /proc /sys /dev dev 是 device 的缩写.你 ...

  10. linux目录 31:1,Linux常用基础命令

    1.命令格式 命令 [-选项] [参数] 说明:1).个别命令不一定遵循这个格式 2).有多个选项时,可以写在一起 3).简化选项和完整选项 2.目录处理命令:ls 英文原译:list 所在路径:/b ...

最新文章

  1. How does SGD weight_decay work?
  2. powerbi visualization
  3. VTK:几何对象之Dodecahedron
  4. Java基础-学习笔记(五)——面向过程和面向对象的区别
  5. mysql 更新索引_MySQL索引优化
  6. oh,我的老伙计,你看看这近五十个dapr视频
  7. Windows+Chrome OS双系统安装方法
  8. 英文操作系统中的乱码问题及其它
  9. 可视化工具软件排行榜
  10. 汉武帝发起的三大战役(河南、漠南、河西三大战役)
  11. 云计算—重塑IT产业格局
  12. word添加MathType插件
  13. ARP协议详解 ARP报文结构
  14. 启动vidalia 时不用打开firefox
  15. SigFox与LoRa技术原理、应用场景和商业模式上的比较
  16. 初学者之蚂蚁蜜蜂分类报错记录
  17. 世界时间查询服务器(一)
  18. 全国大学生“高教杯”成图大赛——图错了如何修改
  19. 4.基于Android 12 分析系统启动过程
  20. html5禁用右侧滚轮条,鼠标滚轮乱跳,教您鼠标滚轮乱跳怎么修复

热门文章

  1. iPhones刷机怎么备份微信记录 iPhone手机微信记录怎么备份
  2. android 查看UID
  3. UVM – Stop Hitting Your Brother Coding Guidelines
  4. ERP实施设防三大雷区(转载)
  5. error: Package requirements (sqlite3 > 3.7.4) were not met:
  6. 锐捷服务器虚拟化技术_打造数字新基建 | 锐捷5G云小站助力行业数字化转型
  7. springboot 第十九节 starter and muti_datasource 多数据源
  8. 大内高手 调试手段及原理
  9. crontab 每天凌晨12点定时器_crontab命令定时备份执行脚本
  10. 微信摇一摇linux,关于微信摇一摇iBeacon配置流程