精华内容
下载资源
问答
  • 该楼层疑似违规已被系统折叠隐藏此楼查看此楼为什么linux系统不容易中病毒可能不少人持这样一种观点,认为Linux病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

    为什么linux系统不容易中病毒

    可能不少人持这样一种观点,认为 Linux 病毒少是因为Linux不像Windows那么普及,其实这种观点很早已经被人批驳过了,一个最有力的论据是:如果写病毒的人写 Windows 病毒是因为 Windows 用户多而因此破坏性大,那么 Internet 上大多数服务器都是基于 Unix/Linux 的,攻击这些服务器,破坏性岂不是更大么?

    对一个二进制的 Linux 病毒,要感染可执行文件,这些可执行文件对启动这个病毒的用户一定要是可写的。而实际情况通常并不是这样的。实际情况通常是,程序被 root 拥有,用户通过无特权的帐号运行。而且,越是没有经验的用户,他拥有可执行文件的可能性就越小。因此,越是不了解这种危险的用户的主目录越不适合病毒繁殖。

    即使这个病毒成功地感染了这个用户拥有的一个程序,由于这个用户权限受限,它进一步传播的任务也会非常困难(当然,对于运行单用户系统的 Linux 新手,这个论证可能不适用。这样的用户可能会对 root 帐户比较粗心)。

    Linux 网络程序构建地很保守,没有使现在 Windows 病毒如此快速传播变的可能的高级宏工具。这并不是 Linux 的固有特征;它仅仅是两种用户基础的不同和这种不同导致的在这两种市场中的成功产品的不同的反映。通过观察这些问题学到的经验也会被用到将来的 Linux 产品中。

    Linux的应用软件和系统软件几乎都是开源的。这对病毒有两方面的影响。首先,病毒很难藏身于开源的代码中间。其次,对仅有二进制的病毒,一次新的编译安装就截断了病毒一个主要的传播途径。虽然 Linux 发行商也提供大量的二进制软件包,但是用户大都是从发行商提供的可靠的软件仓库中下载这些软件包,大都具有 md5 验证机制,安全性极高。

    这些障碍每一个都是病毒成功传播的一个重要阻碍。然而当把他们放在一起考虑的时候,基本的问题才浮现出来。

    一个计算机病毒,像生物病毒一样,要想传播开来,其繁殖速度必须超过其死亡(被消灭)的速度。上面提到的障碍有效地降低了 Linux 病毒的繁殖速度。如果它的繁殖速度降到取代原来种群所需要的阈值之下,那么这个病毒的厄运从一开始就注定了--甚至在潜在受害人意识到它们之前。

    我们没有看到一个真正的 Linux 病毒疯狂传播,原因就在于存在的 Linux 病毒中没有一个能够在 Linux 提供的敌对的环境中茁壮成长。现在存在的 Linux 病毒仅仅是技术上的好奇;现实是没有能养得活的 Linux 病毒。

    当然,这并不意味着永远没有 Linux 病毒能够流行。然而它确实意味着一个成功的 Linux 病毒要在不适合生存的 Linux 生态系统中存活下来必须是精心制作并具创新的。

    展开全文
  • 在虚拟机启动 Tails 时,将'Don't Show Again'按钮添加到安全通知中将 Tor Browser升级至10.0.9版本将 Thunderbird升级至78.6.0版本将 Linux 内核升级至 5.9.15,相信会改进对新硬件的支持情况(显卡、Wi-Fi等)已解决...

    Tails 4.15 稳定版已发布,此版本修复了已知的安全漏洞,并引入了新功能和其他的一些更新。

    在虚拟机启动 Tails 时,将'Don't Show Again'按钮添加到安全通知中

    将 Tor Browser 升级至 10.0.9 版本

    将 Thunderbird 升级至 78.6.0 版本

    将 Linux 内核升级至 5.9.15,相信会改进对新硬件的支持情况(显卡、Wi-Fi等)

    已解决的问题

    在 Electrum 中修复对 Ledger 硬件钱包的支持问题 (#18080)

    修复在 iOS 14 或更高版本上共享移动数据(也称为 USB 网络共享)的问题 (#18097)

    从太小的 USB 闪存启动时,更正错误消息提示 (#18073)

    最后,下一个版本 Tails 4.16 计划于2月23日发布。

    下载地址:https://tails.boum.org/install/index.en.html

    Tails("The Amnesic Incognito Live System"的缩写)是一个十分注重“隐私性”和“隐匿性”的 Linux 发行版,它衍生自 Debian,设计之初就是帮助用户匿名使用互联网,并最大限度保护个人隐私。

    为达到此目标,Tails 使用了 Tor 网络,使得网络流量很难被追踪。Tails 还预装了一些应用,包括网页浏览器、IRC 客户端、邮件客户端、即时消息通信工具,它们都以安全为理念进行了预配置,并对网络流量进行了匿名性处理。因此通过 Tails 我们可以不留下任何痕迹“隐身”地使用互联网。

    5030f885bab986e002fc4a119c268dd4.png

    展开全文
  • 是计算机的一种,它比普通计算机运行更快、负载更、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的...

    在这里插入图片描述

    服务器是计算机软件或向其他程序或设备提供服务的机器。是计算机的一种,它比普通计算机运行更快、负载更高、价格更贵。服务器在网络中为其它客户机(如PC机、智能手机、ATM等终端甚至是火车系统等大型设备)提供计算或者应用服务。服务器具有高速的CPU运算能力、长时间的可靠运行、强大的I/O外部数据吞吐能力以及更好的扩展性。根据服务器所提供的服务,一般来说服务器都具备承担响应服务请求、承担服务、保障服务的能力。服务器作为电子设备,其内部的结构十分的复杂,但与普通的计算机内部结构相差不大,如:cpu、硬盘、内存,系统、系统总线等。

    有很多不同类型的服务器如Web服务器,数据库服务器,应用程序服务器,云计算服务器,文件服务器,邮件服务器,DNS服务器等等。

    多年来,linux操作系统的使用份额大大提高,主要是在服务器上,Linux发行版处于技术最前沿。如今,很多互联网大公司都有大量的服务器运行在基于Linux的操作系统。Linux服务器比Window服务器更适合的原因有很多:

    自由开源

    Linux操作系统完全免费且可用作开源软件,通过开源方式,您可以轻松查看用于创建Linux内核的可用代码,还可以修改代码以修复任何错误等。它提供有许多编程接口,您甚至可以开发自己的程序并将其添加到Linux操作系统中,基本上,Linux可让您完全控制机器,只要你做够厉害,你完全可以按照自己的方式构建和自定义服务器。这些是在windows上无法实现的。

    稳定性

    Linux系统以其最终的稳定性而闻名。在windows上,我们进程看到系统崩溃或者卡死,但是在linux上,这种情况发生的几率极小,并且linux系统还可以同时处理多个任务,在Windows配置中,更改配置通常需要重新启动。但是在linux中则不需要重启,配置的更改都可在系统运行时完成,且不会影响到不相关的服务,同样,windows服务器经常进行碎片整理,但是在linux上完全不需要这样做。

    安全

    在安全方面,Linux显然比Windows更安全,因为Linux主要基于最初从多用户操作系统开发的UNIX操作系统。只有管理员或root用户具有管理权限,其次Linux也会病毒和恶意软件的攻击频率很低,很多病毒都是针对于windows,而针对linux的病毒比起windows少太多太多,比如此前的永恒之蓝病毒并未对linux造成影响。其次,玩linux的用户群基本上都是计算机方面的人员,加上linux社区庞大,一般发现漏洞,很快会被并提交到linux开源社区。

    成本低

    Linux是免费的,是开源的,如果您想在其中一台服务器上安装Windows,则需要支付激活费用。这意味着你需要多花一笔钱。

    操作方便

    对于普通人来说,windows操作更为快捷,但是对计算机专业人士来讲,linux操作比windows快捷的多,几条命令就可以执行很多的操作。

    总结

    虽然linux很好,但是也并非适合所有的公司,如果公司使用了ASP,ASP.NET,MSSQL,MS ACCESS或Visual Basic开发工具等软件,则需要使用Windows Server。

    详细戳这里—>服务器

    展开全文
  • 从上面的系统调用与函数调用的基准测试中,我们可以发现不使用 vSDO 加速的系统调用需要的时间是普通函数调用的几十倍,为什么系统调用会带来这么大的额外开销,它在内部到底执行了哪些工作呢,本文将介绍 Linux ...

    $ gcc hello.c -o hello$ strace ./helloexecve("./hello", ["./hello"], 0x7ffd64dd8090 /* 23 vars */) = 0brk(NULL) = 0x557b449db000access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3fstat(3, {st_mode=S_IFREG|0644, st_size=26133, ...}) = 0mmap(NULL, 26133, PROT_READ, MAP_PRIVATE, 3, 0) = 0x7f645455a000close(3) = 0...munmap(0x7f645455a000, 26133) = 0fstat(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(136, 0), ...}) = 0brk(NULL) = 0x557b449db000brk(0x557b449fc000) = 0x557b449fc000write(1, "Hello, World!", 13Hello, World!) = 13exit_group(0) = ?+++ exited with 0 +++

    strace 是 Linux 中用于监控和篡改进程与内核之间操作的工具,上述命令会打印出 hello 执行过程中触发系统调用、参数以及返回值等信息。执行 Hello World 程序时触发的多数系统调用都是程序启动触发的,只有 munmap 后的系统调用才是 printf 函数触发的,作为应用程序我们能做的事情非常有限,很多功能都需要依赖操作系统提供的服务。

    多数编程语言的函数调用只需要分配新的栈空间、向寄存器写入参数并执行 CALL 汇编指令跳转到目标地址执行函数,在函数返回时通过栈或者寄存器返回参数[^3]。与函数调用相比,系统调用会消耗更多的资源,如下图所示,使用 SYSCALL 指定执行系统调用消耗的时间是 C 函数调用的几十倍[^4]:

    3847d5a0743848ceacdf1536a5086702.png

    图 2 - 系统调用与函数调用耗时比较

    上图中的 vDSO 全称是虚拟动态链接对象(Virtual Dynamically Shared Object、vDSO),它可以减少系统调用的消耗的时间,我们会在后面详细分析它的实现原理。

    getpid(2) 是一个相对比较快的系统调用,该系统调用不包含任何参数,只会切换到内核态、读取变量并返回 PID,我们可以将它的执行时间当做系统调用的基准测试;除了 getpid(2) 之外,使用 close(999) 系统调用关闭不存在的文件描述符会消耗更少的资源[^5],与 getpid(2) 相比大概会少 20 个 CPU 周期[^6],当然想要实现用于测试额外开销的系统调用,使用自定义的空函数应该是最完美的选择,感兴趣的读者可以自行尝试一下。

    a3102f09fe0c8c82a6caf70b501e269e.png

    图 3 - 系统调用的三种方法

    从上面的系统调用与函数调用的基准测试中,我们可以发现不使用 vSDO 加速的系统调用需要的时间是普通函数调用的几十倍,为什么系统调用会带来这么大的额外开销,它在内部到底执行了哪些工作呢,本文将介绍 Linux 执行系统调用的三种方法:

    使用软件中断(Software interrupt)触发系统调用;

    使用 SYSCALL / SYSENTER 等汇编指令触发系统调用;

    使用虚拟动态共享对象(virtual dynamic shared object、vDSO)执行系统调用;软件中断

    中断是向处理器发送的输入信号,它能够表示某个时间需要操作系统立刻处理,如果操作系统接收了中断,那么处理器会暂停当前的任务、存储上下文状态、并执行中断处理器处理发生的事件,在中断处理器结束后,当前处理器会恢复上下文继续完成之前的工作[^7]。

    857cc4dc3f18ec84c23470f649f033b0.png

    图 4 - 硬件中断和软件中断

    根据事件发出者的不同,我们可以将中断分成硬件和软件中断两种,硬件中断是由处理器外部的设备触发的电子信号;而软件中断是由处理器在执行特定指令时触发的,某些特殊的指令也可以故意触发软件中断[^8]。

    在 32 位的 x86 的系统上,我们可以使用 INT 指令来触发软件中断,早期的 Linux 会使用 INT 0x80 触发软件中断、注册特定的中断处理器 entry_INT80_32 来处理系统调用,我们来了解一下使用软件中断执行系统调用的具体过程[^9]:

    应用程序通过调用 C 语言库中的函数发起系统调用;

    C 语言函数通过栈收到调用方传入的参数并将系统调用需要的参数拷贝到寄存器;

    Linux 中的每一个系统调用都有特定的序号,函数会将系统调用的编号拷贝到 eax 寄存器;

    函数执行 INT 0x80 指令,处理器会从用户态切换到内核态并执行预先定义好的处理器;

    执行中断处理器 entry_INT80_32 处理系统调用;

    执行 SAVE_ALL 将寄存器的值存储到内核栈上并调用 do_int80_syscall_32 ;

    调用 do_syscall_32_irqs_on 检查系统调用的序号是否合法;

    在系统调用表 ia32_sys_call_table 中查找对应的系统调用实现并传入寄存器的值;

    系统调用在执行期间会检查参数的合法性、在用户态内存和内核态内存之间传输数据,系统调用的结果会被存储到 eax 寄存器中;

    从内核栈中恢复寄存器的值并将返回值放到栈上;

    系统调用会返回 C 函数,包装函数会将结果返回给应用程序;

    如果系统调用服务在执行过程中出现了错误,C 语言函数会将错误存储在全局变量 errno 中并根据系统调用的结果返回一个用整数 int 表示的状态;

    e538cf0a587a694bd9dc752efdf5791c.png

    图 5 - 系统调用的执行步骤

    从上述系统调用的执行过程中,我们可以看到基于软件中断的系统调用是一个比较复杂的流程,应用程序通过软件中断陷入内核态并在内核态查询并执行系统调用表注册的函数,整个过程不仅需要存储寄存器中的数据、从用户态切换至内核态,还需要完成验证参数的合法性,与函数调用的过程相比确实会带来很多的额外开销[^10]。

    实际上,使用 INT 0x80 来触发系统调用早就是过去时了,大多数的程序都会尽量避免这种触发方式。然而这一规则也不是通用的,因为 Go 语言团队在做基准测试时发现 INT 0x80 触发系统调用在部分操作系统上与其他方式有着几乎相同的性能[^11],所以在 Android/386 和 Linux/386 等架构上仍然会使用中断来执行系统调用[^12]

    汇编指令

    因为使用软件中断实现的系统调用在 Pentium 4 的处理器上表现非常差[^13]。Linux 为了解决这个问题,在较新的版本使用了新的汇编指令 SYSENTER / SYSCALL ,它们是 Intel 和 AMD 上用于实现快速系统调用的指令,我们会在 32 位的操作系统上使用 SYSENTER / SYSEXIT ,在 64 位的操作系统上使用 SYSCALL / SYSRET :

    db669f32d80032302869482ef707aa56.png

    图 6 - 快速系统调用指令

    上述的几个汇编指令是低延迟的系统调用和返回指令,它们会认为操作系统实现了线性内存模型(Linear-memory Model),极大地简化了操作系统系统调用和返回的过程,其中包括不必要的检查、预加载参数等,与软件中断驱动的系统调用相比,使用快速系统调用指令可以减少 25% 的时钟周期[^13]。

    线性内存模型是一种内存寻址的常见范式,在这种模式中,线性内存与应用程序存储在单一连续的空间地址中,CPU 可以不借助内存碎片或者分页技术使用地址直接访问可用的内存地址。

    在 64 位的操作系统上,我们会使用 SYSCALL / SYSRET 进入和退出系统调用,该指令会在操作系统最高权限等级中执行。内核在初始化时会调用 syscall_init 函数将 entry_SYSCALL_64 存入 MSR 寄存器(Model Specific Register、MSR)中,MSR 寄存器是 x86 指令集中用于调试、追踪以及性能监控的控制寄存器[^15]:

    void syscall_init(void) {wrmsr(MSR_STAR, 0, (__USER32_CS << 16) | __KERNEL_CS);wrmsrl(MSR_LSTAR, (unsigned long)entry_SYSCALL_64);...}

    当内核收到了用户程序触发的系统调用时,它会在 MSR 寄存器中读取需要执行的函数并按照 x86-64 的调用惯例在寄存器中读取系统调用的编号以及参数,你能在 entry_SYSCALL_64 函数的注释中找到相关的调用惯例。

    汇编函数 entry_SYSCALL_64 会在执行的过程中调用 do_syscall_64 ,它的实现与上一节中的 do_int80_syscall_32 有些相似,它们都会在系统调用表中查找函数并传入寄存器中的参数。

    与 INT 0x80 通过触发软件中断实现系统调用不同, SYSENTER 和 SYSCALL 是专门为系统调用设计的汇编指令,它们不需要在中断描述表(Interrupt Deor Table、IDT)中查找系统调用对应的执行过程,也不需要保存堆栈和返回地址等信息,所以能够减少所需要的额外开销。

    vDSO

    虚拟动态共享对象(virtual dynamic shared object、vDSO)是 Linux 内核对用户空间暴露内核空间部分函数的一种机制[^16],简单来说,我们将 Linux 内核中不涉及安全的系统调用直接映射到用户空间,这样用户空间中的应用程序在调用这些函数时就不需要切换到内核态以减少性能上的损失。

    vDSO 使用了标准的链接和加载技术,作为一个动态链接库,它由 Linux 内核提供并映射到每一个正在执行的进程中,我们可以使用如下所示的命令查看该动态链接库在进程中的位置:

    $ ldd /bin/catlinux-vdso.so.1 (0x00007fff2709c000)...$ cat /proc/self/maps...7f28953ce000-7f28953cf000 r--p 00027000 fc:01 2079 /lib/x86_64-linux-gnu/ld-2.27.so7f28953cf000-7f28953d0000 rw-p 00028000 fc:01 2079 /lib/x86_64-linux-gnu/ld-2.27.so7f28953d0000-7f28953d1000 rw-p 00000000 00:00 07ffe8ca4d000-7ffe8ca6e000 rw-p 00000000 00:00 0 [stack]7ffe8ca8d000-7ffe8ca90000 r--p 00000000 00:00 0 [vvar]7ffe8ca90000-7ffe8ca92000 r-xp 00000000 00:00 0 [vdso]ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]

    因为 vDSO 是由操作系统直接提供的,所以它并不存在对应的文件,在程序执行的过程中我们也能在虚拟内存中看到它加载的位置。vDSO 可以为用户程序提供虚拟的系统调用,它会使用内核提供的数据在用户态模拟系统调用:

    57b24640a90b27d39725728eb0dbb395.png

    图 7 - 内核和用户控件的初始化

    系统调用 gettimeofday 是一个非常好的例子,如上图所示,使用 vDSO 的系统调用 gettimeofday 会按照如下所示的步骤进行初始化[^17]:

    内核中的 ELF 加载器会负责映射 vDSO 的内存页并设置辅助向量(Auxiliary Vector)中 AT_SYSINFO_EHDR ,该标签存储了 vDSO 的基地址;

    动态链接器会查询辅助向量中 AT_SYSINFO_EHDR ,如果设置了该标签会链接 vDSO;

    libc 在初始化时会在 vDSO 中查找 __vdso_gettimeofday 符号并将符号链接到全局的函数指针上;

    除了 gettimeofday 之外,多数架构上的 vDSO 还包含 clock_gettime 、 clock_getres 和 rt_sigreturn 等三个系统调用,这些系统调用完成功能相对来说比较简单,也不会带来安全上的问题,所以将它们映射到用户空间可以明显地提高系统调用的性能,就像我们在图二中看到的,使用 vDSO 可以将上述几个系统调用的时间提高几十倍。

    总结

    当我们在编写应用程序时,系统调用并不是一个离我们很远的概念,一个简单的 Hello World 会在执行时触发几十次系统调用,而在线上出现性能问题时,可能也需要我们与系统调用打交道。虽然程序中的系统调用非常频繁,但是与普通的函数调用相比,它会带来明显地额外开销:

    使用软件中断触发的系统调用需要保存堆栈和返回地址等信息,还要在中断描述表中查找系统调用的响应函数,虽然多数的操作系统不会使用 INT 0x80 触发系统调用,但是在一些特殊场景下,我们仍然需要利用这一古老的技术;

    使用汇编指令 SYSCALL / SYSENTER 执行系统调用是今天最常见的方法,作为专门为系统调用打造的指令,它们可以省去一些不必要的步骤,降低系统调用的开销;

    使用 vSDO 执行系统调用是操作系统为我们提供的最快路径,该方式可以将系统调用的开销与函数调用拉平,不过因为将内核态的系统调用映射到『用户态』确实存在安全风险,所以操作系统也仅会放开有限的系统调用;

    应用程序能够完成的工作相当有限,我们需要使用操作系统提供的服务才能编写功能丰富的用户程序。系统调用作为操作系统提供的接口,它与底层的硬件关系十分紧密,因为硬件的种类繁杂,所以不同架构要使用不同的指令,随着内核的快速演进,想要找到准确的资料也非常困难,不过了解不同系统调用的实现原理对我们认识操作系统也有很大的帮助。到最后,我们还是来看一些比较开放的相关问题,有兴趣的读者可以仔细思考一下下面的问题:

    vDSO 提供的系统调用 rt_sigreturn 有哪些作用?

    vDSO 提供的四种系统调用中三种都与获取时间有关,为什么它可以在用户态提供 rt_sigreturn ,不存在安全风险么?

    ☟ 更多Linux好书返回搜狐,查看更多

    展开全文
  • linux系统适合什么人用1、追求时尚的用户Linux的3D桌面特效设置得当,可以大大提高系统的美观程度。对于追求时尚特色的用户来说,是一个不错的选择选择,这也是很多人选择Linux的第一个原因。2、计算机专业学生因为...
  • Linux的特点

    2021-05-18 11:52:54
    Linux的特点Linux操作系统在短短的几年之内得到了非常迅猛的发展,这与Linux具有的良好特性是分不开的。Linux包含了Unix的全部功能和特性。简单的说,Linux具有以下主要特性:1.开放开放是指系统遵循世界标准...
  • Linux 两大版本: Linux Mint 和 Ubuntu 之间到底如何?多年来争论不休,萝卜青菜各有所爱,所以不妨耐心看一个日前 ...为什么人们更倾向于 Linux Mint 而不是 Ubuntu 呢?Linux Mint 真的比 Ubuntu 好吗?一位 R...
  • 实现并发echo服务器笔记,实现C10K简单并发服务器 上篇文章讲解了一个简单TCP服务器的搭建,如果不会的同学可以先跳转至上一章。 链接:【学习笔记】linux简单c-s网络模型实现及重点知识总结
  • Go文档中通常不建议使用 unsafe,因为它可以直接访问内存,再加上用户数据,攻击者有可能破坏 Go 的内存安全性。 同样令人关注的是使用 cgo,这是一个功能强大的命令,可让您将任意 C 库集成到 Go 应用程序中。像...
  • 接口安全性

    2021-03-03 13:19:49
    pod是容器化的基础,好比大楼的... Pod的作用范围 跟容器的linux namespace相关的东西一定是Pod级别的,pod。 比如: 网络: hostAliases : 写入/ec ...»snidget2021-02-16@(目录) Bean的生命周期 bean创建-->...
  • 需求简述目前,全国行业用户环境中,医疗行业是典型对业务关键程度要求非常高的行业,医疗行业的核心业务系统主要包括HIS、PACS、OA等系统,而这其中的HIS系统是整个医院的信息生命线,它要求系统具有极高的可用、...
  • 星标/置顶公众号????,硬核文章第一时间送达!导语linux 内存是后台开发人员,需要深入了解的计算机资源。合理的使用内存,有助于提升机器的性能和稳定。本文主要介绍 linux 内存组织结...
  • 为什么要针对闪存专门设计文件系统?主要原因如下: NAND 闪存存在坏块,软件需要识别并且跳过坏块。 需要实现损耗均衡( wear leveling),损耗均衡就是使所有擦除块的擦除次数均衡, 避免一部分擦除块先损坏。 机械...
  • S-安全基线-CentOS Linux 7/8

    千次阅读 2021-06-02 13:39:28
    文章目录检查系统空密码账户 | 身份鉴别禁止SSH空密码用户登录 ...身份鉴别确保SSH MaxAuthTries设置3到6之间 | SSH服务配置设置SSH空闲超时退出时间 | 
  • 系统安全是系统的主要因素 Linux较于Windows系统来说在账号安全和权限上有较安全性,可以在一定程度上防止安全事故的发生。 一、账号安全措施 系统账号清理 将不常用的账号清理掉 减少账号漏洞 将非登录的用户的...
  • 来自:FreeOA作者:阿炯链接:https://reurl.cc/8y3nEM 1、Linux 虚拟文件系统介绍在 Linux 系统中一切皆文件,除了通常所说的狭义的文件以外,目录、设备...
  • 本文大家介绍使用 .NET Core部署到Linux服务器的方法,通过本文你将了解到Linux在虚拟机下的安装、Xshell,Xftp的使用方法、git在linux下的交互使用以及.net core在linux下的发布与运行全过程,本文皆在总结了一些...
  • 让你的Linux服务器更安全的一些措施

    千次阅读 2021-12-14 10:39:49
    今年Amazon对国内跨境电商大规模的封店,其源头在于一个国内一个刷分及刷评论的elastic数据库被泄露,这个微小的安全事件,引发大量国内电商被封,对多公司来说,这种损失是难以估量的。 切记,安全无小事
  • AIDE:Advanced Intrusion Detection Environment,是一款入侵检测工具,主要用途是检查文档的完整。AIDE在本地构造了一个基准的数据库,一旦操作系统被入侵,可以通过对比基准数据库而获取文件变更记录,使用aide...
  • Linux下PhpMyAdmin程序目录结构的安全管理更新时间:2011年04月03日 01:10:56 作者:Linux下开发Web程序,现在很流行的开发方法:用PHP开发Web程序,用Apache做Web Server,Mysql充当后台管理数据库。这种组合使得...
  • No.7 linux系统加密和安全

    千次阅读 2021-11-07 22:12:22
    1、解决DOS攻击生产案例:根据web日志或者或者网络连接数,监控当...防火墙命令:iptables -A INPUT -s IP -j REJECT 2、描述密钥交换的过程 3、https的通信过程 4、使用awk以冒号分隔获取/ettc/passwd文件第一列 ...
  • Linux阅读笔记
  • 这些用户空间扩展(有多个)已首先由电信/网络性能 IP 数据包处理系统进行驱动,以实现所谓的"裸金属"实施,其中,多核设备中的Linux用户空间应用可以模拟"无操作系统"解决方案的执行过程,即在每个内核上进行简单...
  • 导读:明尼苏达大学的研究人员被踢出了 Linux 贡献群体,Linux 内核社区撤销了之前他们提交的所有 Linux 内核代码,并且,以后默认拒绝所有来自该大学的内核贡献!发生了什么?是...
  • 点击上方“朱小厮的博客”,选择“设星标”后台回复"书",获取后台回复“k8s”,可领取k8s资料前不久组内又有一次我比较期待的分享:”Linux 的虚拟内存”。是某天晚上...
  • linux 权限详解

    2021-05-11 02:04:15
    linux中每个文件有所有者、所在组、其它组的概念-所有者-所在组-其它组-改变用户所在的组所有者一般文件的创建者,谁创建了该文件,就天然的成为该文件的所有者用ls‐ahl命令可以看到文件的所有者也可以使用...
  • Linux I/O底层原理揭秘

    2021-03-10 21:23:30
    本文转载腾讯游戏工程师:Linux I/O底层原理全面揭秘 这里向作者致敬,写的非常棒,从技术背景到原理,通俗易懂。 摘要 从虚拟内存、I/O 缓冲区,用户态&内核态以及 I/O 模式等等知识点全面而又详尽地剖析 Linux...
  • 效率:既然是性能,那处理客户端请求的效率当然要很可用:不能随便就挂掉了 编程简单:基于此服务器进行业务开发需要足够简单 可扩展:可方便的扩展功能 可伸缩:可简单的通过部署的方式进行容量的...
  • 导读:在这篇文章中,我试图给出你在 Ubuntu 和其他 Linux 系统上使用的最佳网页浏览器。 本文字数:4597,阅读时长大约:7分钟https://linux.cn/art...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 69,042
精华内容 27,616
关键字:

为什么linux安全性极高

linux 订阅