Linux服务器安全小知识

服务器作为网络的节点,存储、处理网络上80%的数据、信息,因此也被称为网络的灵魂。做一个形象的比喻:服务器就像是邮局的交换机,而微机、笔记本、PDA、手机等固定或移动的网络终端,就如散落在家庭、各种办公场所、公共场所等处的电话机。我们与外界日常的生活、工作中的电话交流、沟通,必须经过交换机,才能到达目标电话;同样如此,网络终端设备如家庭、企业中的微机上网,获取资讯,与外界沟通、娱乐等,也必须经过服务器,因此也可以说是服务器在“组织”和“领导”这些设备。

它是网络上一种为客户端计算机提供各种服务的高性能的计算机,它在网络操作系统的控制下,将与其相连的硬盘、磁带、打印机、Modem及各种专用通讯设备提供给网络上的客户站点共享,也能为网络用户提供集中计算、信息发表及数据管理等服务。它的高性能主要体现在高速度的运算能力、长时间的可靠运行、强大的外部数据吞吐能力等方面。

服务器的构成与微机基本相似,有处理器、硬盘、内存、系统总线等,它们是针对具体的网络应用特别制定的,因而服务器与微机在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面存在差异很大。尤其是随着信息技术的进步,网络的作用越来越明显,对自己信息系统的数据处理能力、安全性等的要求也越来越高,如果您在进行电子商务的过程中被黑客窃走密码、损失关键商业数据;如果您在自动取款机上不能正常的存取,您应该考虑在这些设备系统的幕后指挥者————服务器,而不是埋怨工作人员的素质和其他客观条件的限制。

应了那句“夺天下难,守天下更难”的话,服务器的维护就好比“守天下”!稍乱分寸即会使整个网络陷入瘫痪,作为网络管理的一员,笔者在实际维护工作中碰到过不少问题,也因此稍有些经历。维护可以分为硬件维护和软件维护两种,而同时,维护服务器又需要对服务器的硬件系统、操作系统、应用软件系统有比较深入的认识。

所以,服务器的安全在运维的日常工作中显得格外重要。

在这里插入图片描述

服务器安全小知识

inode

inode 是 UNIX 操作系统中的一种数据结构,其本质是结构体,它包含了与文件系统中各个文件相关的一些重要信息。在 UNIX 中创建文件系统时,同时将会创建大量的 inode 。通常,文件系统磁盘空间中大约百分之一空间分配给了 inode 表。

有时,人们使用了一些不同的术语,如 inode 和索引编号 (inumber)。这两个术语非常相似,并且相互关联,但它们所指的并不是同样的概念。inode 指的是数据结构;而索引编号实际上是 inode 的标识编号,因此也称其为inode 编号 或者索引编号。索引编号只是文件相关信息中一项重要的内容。下一个部分将介绍 inode 中的其他一些属性。

inode 表包含一份清单,其中列出了对应文件系统的所有 inode 编号。当用户搜索或者访问一个文件时,UNIX 系统通过 inode 表查找正确的 inode 编号。在找到 inode 编号之后,相关的命令才可以访问该 inode ,并对其进行适当的更改。

例如,使用 vi 来编辑一个文件。当您键入 vi 时,在 inode 表中找到 inode 编号之后,才允许您打开该 inode 。在 vi 的编辑会话期间,更改了该 inode 中的某些属性,当您完成操作并键入 :wq 时,将关闭并释放该 inode 。通过这种方式,如果两个用户试图对同一个文件进行编辑, inode 已经在第一个编辑会话期间分配给了另一个用户 ID (UID),因此第二个编辑任务就必须等待,直到该 inode 释放为止。所以要适当查看inode,保障inode不被挤爆(inode占用)。

在这里插入图片描述

在这里插入图片描述

inode包含很多的文件元信息,但不包含文件名

1、文件的字节数

2、文件拥有者UserID

3、文件的GroupID

4、文件的rwx权限(读、写、执行)

5、文件时间戳

可以使用stat查看文件inode信息

touch ijd 创建一个文件ijd

stat ijd 查看ijd的inode信息

在这里插入图片描述

stat /shiyan1/sh 查看目录sh的inode

在这里插入图片描述

Linux系统文件有三个主要的时间属性,分别是ctime(change time), atime(access time), mtime(modify time)

ctime(change time) 是最后一次改变文件或目录(属性)的时间,例如执行 chmod, chown 等命令;

atime(access time)是最后一次访问文件或目录的时间;

mtime(modify time)是最后一次修改文件或目录(内容)的时间

inode中并不包括文件名,其实文件名是放在目录中的,linux系统中一切皆文件,因此目录也是一种文件。

文件名1-------inode号码1

文件名2-------inode号码2

使用ls -i 查看i节点信息

在这里插入图片描述

inode占用

inode也会消耗硬盘空间,所以格式化的时候,操作系统自动将硬盘分区成二个区域,

一个数据区、存储文件数据,一个是inode区,存放所有的inode信息。每个inode大小

一般为128字节或者256字节,通常情况下不需要关注单个inode的大小,而是需要重点关注

inode总数,inode的总数在格式化就给定了,执行df -i 命令就可以查看。

每个分区的对应inode总数和已经使用的inode数量。

在这里插入图片描述

软硬连接与inode的关系

硬链接

当一个文件拥有多个硬连接时,对文件内容修改,会影响所有文件名,但是删除一个文件名,不会影响另外一个文件名称

访问,删除一个文件名,只会inode中的连接数减1,需要注意的是不能对目录做硬连接

软连接

软连接就是创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件名称

列如,文件A和B的inode号码虽然不一样,但是文件A的,内容是文件B的路径,读取文件A时

系统会自动访问者导向文件B,这时,文件A就称为文件B的‘软连接’或者符号连接

文件误删恢复

删除一个文件,实际上并不清除 inode 节点和 block 的数据,只是在这个文件的父目录 里面的 block 中,

删除这个文件的名字。Linux 是通过 Link 的数量来控制文件删除的,只有 当一个文件不存在任何 Link 的时候,

这个文件才会被删除。 在 Linux 系统运维工作中,经常会遇到因操作不慎、操作错误等导致文件数据丢失的情 况,

尤其对于客户企业中一些新手。当然,这里所指的是彻底删除,即已经不能通过“回收 站”找回的情况,

比如使用“rm -rf”来删除数据。针对 Linux 下的 EXT 文件系统,可用的恢复工具有 debugfs、ext3grep、extundelete 等。

其中 extundelete 是一个开源的 Linux 数据 恢复工具,支持 ext3、ext4 文件系统。

EXT3硬盘格式 文件恢复

XFS一种高性能的日志文件系统,最早于1993年,由Silicon Graphics为他们的IRIX操作系统而开发,是IRIX 5.3版的默认文件系统。2000年5月,Silicon Graphics以GNU通用公共许可证发布这套系统的源代码,之后被移植到Linux 内核上。XFS 特别擅长处理大文件,同时提供平滑的数据传输。

XFS 最初是由 Silicon Graphics,Inc. 于 90 年代初开发的。那时,SGI 发现他们的现有文件系统(existing filesystem,EFS)正在迅速变得不适应当时激烈的计算竞争。为解决这个问题,SGI 决定设计一种全新的高性能 64 位文件系统,而不是试图调整 EFS在先天设计上的某些缺陷。因此,XFS 诞生了,并于 1994 年随 IRIX 5.3 的发布而应用于计算。

1.编译安装 extundelete

在编译安装 extundelete 之前需要先安装两个依赖包 e2fsprogs-libs 和 e2fsprogs-devel,

这两个包在系统安装光盘的/Package 目录下就有,使用 rpm 或 yum 命令将其安装。

e2fsprogs-devel 安装依赖于 libcom_err-devel 包。 安装完依赖包之后,

即可将提前上传的 extundelete 软件包解压、配置、编译、安装

挂载光盘安装两个依赖包

在这里插入图片描述

在这里插入图片描述

将下载好的软件放进opt目录下(使用的软件是Xshell中的xftp)

在这里插入图片描述

tar xvf extundelect-0.2.4.tar.bz2

cd extundelect-0.2.4/

./configure --prefix=/usr/local/extundelete && make && make install

cd /usr/local/extundelete/bin

ln -s /usr/local/extundelete/bin/* /usr/sbin/

在这里插入图片描述在这里插入图片描述

2、模拟删除并执行恢复操作

虚拟机添加新硬盘,使用 fdisk 命令创建新分区,将其挂载到/data目录下,往该目录下新建一些文件或目录

创建一个新的分区

以ext3格式,格式化该分区

在这里插入图片描述

在这里插入图片描述

准备工作完成,接下来开始恢复操作了

执行完命令‘extundelete /dev/sdb1”后输入”y“确认,即可查看该文件系统的使用情况

在这里插入图片描述

上面是备份,接下来我删除data内的a b文件,验证恢复

[root@localhost data]# rm -rf a b ####删除a b 文件

[root@localhost data]# ls

c d lost+found

[root@localhost data]# cd ###切到家目录

[root@localhost ~]# umount /data/ ###卸载挂载

[root@localhost ~]# extundelete /dev/sdb1 --restore-all

在这里插入图片描述

在这里插入图片描述

恢复完成

xfs 类型文件备份和恢复

给你们一个连接吧……我没做出来

https://blog.csdn.net/liubei_one/article/details/79491267

日志分析

对于 Linux 操作系统中的日志文件,有必要了解其各自的用途,这样才能在需要的时候 更快地找到问题所在,

及时解决各种故障。下面介绍常见的一些日志文件。

/var/log/messages:记录 Linux 内核消息及各种应用程序的公共日志信息,包括启动、I/0 错误、网络错误、程序故障等。

对于未使用独立日志文件的应用程序或服 务,一般都可以从该日志文件中获得相关的事件记录信息

/var/log/cron:记录 crond 计划任务产生的事件信息

/var/log/dmesg:记录 Linux 操作系统在引导过程中的各种事件信息

/var/log/maillog:记录进入或发出系统的电子邮件活动。

/var/log/lastlog:记录每个用户最近的登录事件。

/var/log/secure:记录用户认证相关的安全事件信息

/var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件

/var/log/btmp:记录失败的、错误的登录尝试及验证事件

1.内核及系统日志分析

内核及系统日志功能主要由默认安装的 rsyslog-7.4.7-16.el7.x86_64.rpm 软件包提供。

rsyslog 服务所使用的配置文件为/etc/rsyslog.conf。通过查看/etc/rsyslog.conf 文件中的内 容,

可以了解到系统默认的日志设置,具体操作如下:

[root@localhost ~]# grep -v “^$” /etc/rsyslog.conf ####过滤掉空行

0 EMERG(紧急):会导致主机系统不可用的情况。

1 ALERT(警告):必须马上采取措施解决的问题。

2 CRIT(严重):比较严重的情况。

3 ERR(错误):运行出现错误

4 WARNING(提醒):可能影响系统功能,需要提醒用户的重要事件

5 NOTICE(注意):不会影响正常功能,但是需要注意的事件。

6 INFO(信息):一般信息。

7 DEBUG(调试):程序或系统调试信息等。

在这里插入图片描述

2、用户日志

在 wtmp、btmp、lastlog 等日志文件中,保存了系统用户登录、退出等相关的事件消息。

但是这些文件都是二进制的数据文件,不能直接使用 tail、less 等文本查看工具进行浏览,

需要使用 who、w、users、last 和 lastb 等用户查询命令来获取日志信

(1)查询当前登录的用户情况——users、who、w 命令

users 命令只是简单地输出当前登录的用户名称,每个显示的用户名对应一个登录会话。

如果一个用户有不止一个登录会话,那他的用户名将显示与其相同的次数。

who 命令用于报告当前登录到系统中的每个用户的信息。使用该命令,系统管理员可 以查看当前系统存在哪些不合法用户,

从而对其进行审计和处理。who 的默认输出包括用 户名、终端类型、登录日期及远程主机。

[root@localhost ~]# users 打开了一个终端

root

在这里插入图片描述

(2)查询用户登录的历史记录——last、lastb 命令 last 命令用于查询成功登录到系统的用户记录,

最近的登录情况将显示在最前面。通过 last 命令可以及时掌握 Linux 主机的登录情况,

若发现未经授权的用户登录过,则表示当前 主机可能已被入侵。last 命令的具体操作如下

在这里插入图片描述

lastb 命令用于查询登录失败的用户记录,如登录的用户名错误、密码不正确等情况都 将记录在案。

登录失败的情况属于安全事件,因为这表示可能有人在尝试猜解你的密码。除 了使用 lastb 命令查看以外,

也可以直接从安全日志文件/var/log/secure 中获得相关信息。在这里插入图片描述

3.程序日志 在 Linux 操作系统中,还有相当一部分应用程序没有使用 rsyslog 服务来管理日志,

而 是由程序自己维护日志记录。例如,httpd 网站服务程序使用两个日志文件 access_log 和 error_log

分别记录客户访问事件和错误事件。不同应用程序的日志记录格式差别较大,且 没有严格使用统一的格式,

这里不再详细介绍。 总的来说,作为一名合格的系统管理人员,应该提高警惕,随时注意各种可疑状况,

定 期并随机检查各种系统日志文件,包括一般信息日志、网络连接日志、文件传输日志及用户

登录日志记录等。在检查这些日志时,要注意是否有不合常理的时间或操作记录。例如,出 现以下现象就应多加注意。

●用户在非常规的时间登录,或者用户登录系统的 IP 地址和以往的不一样。

●用户登录失败的日志记录,尤其是那些一再连续尝试进入失败的日志记录。

●非法使用或不正当使用超级用户权限。

●无故或者非法重新启动各项网络服务的记录。

●不正常的日志记录,如日志残缺不全,或者是诸如 wtmp 这样的日志文件无故缺少 了中间的记录文件。

另外,需要提醒管理人员注意的是,日志并不是完全可靠的,高明的黑客在入侵系统后 经常会打扫现场。

所以管理人员需要综合运用以上的系统命令,全面、综合地进行审查和检 测,切忌断章取义,

否则将可能做出错误的判断。

版权申明:本站文章均来自网络,如有侵权,请联系01056159998 邮箱:itboby@foxmail.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

猜你还会喜欢下面的内容

中国领先的互联网域名及云服务提供商

为您提供域名,比特币,P2P,大数据,云计算,虚拟主机,域名交易最新资讯报道

域名注册云服务器