精华内容
下载资源
问答
  • Unix/linux系统的安全性概述 对于网站管理人员而言,日常性的服务器安全保护主要包括四方面内容: 文件存取合法性:任何黑客的入侵行为的手段和目的都可以认为是非法存取文件,这些文件包括重要数据信息、主页页面 ...
  • 那通过对这些平台和工具的安全功能分析,相信你已经知道了,应该如何正确配置和使用这些工具,来避免底层应用出现安全隐患,以防影响整个应用的安全性。 公司中有很多研发和运维人员,他们都在使用和维护自己的系统...

    在上一模块中,我们重点讲解了,在开发过程中经常要接触或使用的平台、工具的安全功能。这些平台和工具包括:Linux 系统、网络、容器、数据库和分布式平台。

    那通过对这些平台和工具的安全功能分析,相信你已经知道了,应该如何正确配置和使用这些工具,来避免底层应用出现安全隐患,以防影响整个应用的安全性。

    公司中有很多研发和运维人员,他们都在使用和维护自己的系统和应用,那要怎么保证他们都能够去采用最安全的配置呢?

    重点知识回顾

    在解决这个问题之前,我们先来回顾一下,Linux 系统、网络、容器、数据库和分布式平台这些平台、工具的安全功能有哪些。

    专栏一开始,我说过:安全的本质是数据的 CIA,而保护数据 CIA 的办法就是黄金法则和密码学。因此,在讲解各个平台和工具的安全功能时,我都是以黄金法则和密码学为线索来探讨的。

    所以,今天我还是以黄金法则和密码学为线索,带你系统梳理一下本模块的重点内容。希望通过今天的讲解,你能在此基础上总结出自己的学习经验和知识框架。

    在之前的课程中,我都详细讲过这些安全功能了,你可以根据我梳理的知识脑图进一步复习巩固。在这里,我就挑一些重点内容着重强调一下。

    1. 认证

    认证的目的在于明确用户的身份标识。在各个平台和工具中,基本都会提供各类形式的认证功能,包括:账号密码、公私钥、证书和单点登录等形式。对于认证来说,最大的问题在于弱密码导致的登录凭证丢失。对于这个问题的防护,主要的解决办法是强化密码管理策略,比如:限制最低密码强度、定期修改密码。

    2. 授权

    授权的目的在于限定用户的行为,但是授权的形式多种多样,在不同平台中都有不同的体现形式。授权最核心的原则就是最小权限原则,所以对于任何平台来说,落实最小权限原则,都是在加强授权安全性中最直接、有效的一步。

    3. 审计

    审计的基础是日志。对于各个平台的审计功能,我们主要需要关注它们会产生哪些日志,以及日志的信息是否充足。

    这里,我要强调一下 Docker 容器的审计。Docker 日志可以分为 Docker 容器产生的日志和 Docker 容器内应用产生的日志。

    Docker 容器日志由 Docker 守护进程统一管理,通过 docker-compose 的 logging 选项,我们可以定义日志的管理策略。

    Docker 容器内应用的日志和 Linux 系统日志一致,但是 Docker 容器是一个临时的环境,无法持久保存日志。因此,我们可以通过文件共享功能,将宿主机目录挂载到容器内,从而实现日志的持久化保存。

    4. 加密

    事实上,黄金法则只能起到保护的作用,也就是保证用户在正常使用应用的时候,不会破坏数据的 CIA。但是,很多时候,黑客也会通过非正常的方式去窃取和篡改数据(比如窃听网络流量、物理盗取硬盘等)。这个时候,我们就需要依靠密码学来对数据进行保护了,确保只在正确使用应用的情况下,才能解密数据。

    那我们来看一下 Linux 系统中的加解密。Linux 是底层的操作系统,它不负责对应用数据进行加密。但是,Linux 系统本身仍然需要提供一些应用层的功能(比如最基础的登录),而这些功能往往需要用到加解密。比如,在 /etc/shadow 中,密码的存储形式如下所示:

    root: 6 6 6d9k5nMkuTqDf7dET$C8qwu4q2a96BItyIMhI8oNVpEzztvG/8P6BdEjmAZJS5s4Ad66MI9HxKDtImz7m.QSvVZgk7BhCLM5pFnro1U0::0:99999:7:::
    对这行数据按冒号进行分隔,第二部分就是密码部分。密码部分按 $ 进行分隔,第一个“6”是散列算法,第二个“d9k5nMkuTqDf7dET”是盐,第三个是最终的散列值。所以,在 Linux 中,用户登录进行密码匹配的过程,其实就是判定密码加盐后的散列值是否一致的过程。

    如何大范围提高平台安全性?

    回顾完这些重点内容之后,我们来看文章开头提到的问题:怎么保证公司内的研发和运维人员都能够去采用最安全的配置,也就是如何大范围提高平台的安全性。

    首先,最简单、直接的一个方案就是安全培训。但是,如果你做过培训或者参加过培训,一定能够感受到,强制性培训的效果其实很不理想。因此,我们必须要采用有效的技术手段,提升研发和运维人员的安全意识。基于这个目的,行业内提出了“安全基线”的概念。

    所谓“安全基线”,就是由安全人员制定的一系列安全规范,这些规范可以通过技术手段进行检测。比如,在 Linux 的密码管理中,我们可以将密码管理规范定义为:一个用户 60 天内必须修改密码,并且必须开启强制修改密码配置。

    如果我们想要检测这个规范也很容易。我们可以通过下面的脚本,来检查一下 /etc/shadow 中 ROOT 用户的最后修改密码时间。

    last=$(grep root /etc/shadow | awk -F “:”’{print $3}’)
    date -u -d “1970-01-01 $last days”"+%Y-%m-%d"
    然后,我们只需要将这个脚本,放到所有的 Linux 系统中执行一遍,就能够知道在公司环境中,有多少 root 用户已经长期没有修改密码了。对于这些不符合要求、存在安全风险的 Linux 系统。发现之后,我们只需要点对点的要求对应系统的管理员去完善就可以了。

    一个好的安全基线,需要事无巨细地覆盖到黄金法则的方方面面,所以需要专业的安全人员来制定。不过,很多公司的安全基线是可以共用的,因此,有一些安全公司把常见的系统和应用的安全基线进行了总结,比如知名的CIS Benchmarks。有了 CIS 的标准安全基线,我们就可以实现通用的基线检查工具了,比如 Docker 中比较知名的Docker Bench for Security,就是基于 CIS 的 Docker 安全基线开发出来的。

    那有了安全基线的检测,是不是就“万事大吉”了呢?其实不是。在我们实际检测的过程中,很容易出现系统不符合安全基线,我们也告知了开发人员存在的风险,但开发人员不买账的情况。

    比如说,CIS 中关于 Centos 的基线要求 /tmp 目录必须挂载在单独的分区,并且设置 /tmp 中的文件全部不可执行。这当然是合理的,因为黑客通常会将木马、后门等文件下载到 /tmp 目录中再执行。但是,想要完成这个操作,你必须下载一个工具 LVM 来进行配置。而安全基线只是一个预防针,它并不会产生实际的收益。所以,你没有足够的理由去强制要求开发人员,花费这个精力来满足你想要实施的安全基线。这个时候,我们应该怎么办呢?

    目前,最优的解决方案就是在一开始,我们就分配给开发人员一个符合安全基线的系统。这样一来,只要开发人员不去修改配置,就不会违背安全基线了。要实现这个功能,我们首先需要自己配置出一个符合安全基线的系统,然后将这个系统打包成镜像,应用到后续的系统安装过程中,按照我们刚才说的CIS Benchmarks配置就可以了。

    简单总结一下,通过定义安全基线、配置安全镜像,我们就能够提供整个公司的系统和平台工具安全性。在这之后,我们只要配合基线检查工具进行定期的检测,并提醒开发、运维人员不要去修改安全配置,就能够将安全性保持在一个较高的水平了。

    总结

    好了,通过对 Linux 系统、网络、容器、数据库和分布式平台的安全功能分析,我们发现,黄金法则和加密始终贯穿于安全防护体系之中。每一个工具,甚至每一个单独的功能,都可以根据黄金法则去思考需要提供的安全能力和基本的加解密功能,来防止黑客非正常手段的攻击。

    除此之外,公司是一个整体,只有你个人系统和工具的安全性提升了,并不会有太大效果。因此,我们需要利用安全基线,来提升公司整体的安全水平避免出现短板。

    思考题

    通过今天的串讲梳理,相信你已经对 Linux 系统和应用的安全有一个全面的认知了。

    你可以思考一下,你接触过的其他平台或者工具,它们在黄金法则和加解密上,又分别提供了哪些功能呢?

    欢迎留言和我分享你的思考和疑惑,也欢迎你把文章分享给你的朋友。我们下一讲再见!

    下一讲

    安全防御工具:如何选择和规划公司的安全防御体系?

    展开全文
  • linux安全策略

    千次阅读 2017-11-18 18:36:24
    linux安全策略概述近几年来 Internet 变得更加不安全了。 网络的通信量日益加大, 越来越多的重要交易正在通 过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。 只要有值得偷窃的东西就会有想办法窃取...

    linux安全策略

    概述

    近几年来 Internet 变得更加不安全了。 网络的通信量日益加大, 越来越多的重要交易正在通
    过网络完成,与此同时数据被损坏、截取和修改的风险也在增加。
    只要有值得偷窃的东西就会有想办法窃取它的人。 Internet 的今天比过去任何时候都更真实
    地体现出这一点,基于 Linux 的系统也不能摆脱这个 “普遍规律 ”而独善其身。因此,优秀的
    系统应当拥有完善的安全措施, 应当足够坚固、 能够抵抗来自 Internet 的侵袭, 这正是 Linux
    之所以流行并且成为 Internet 骨干力量的主要原因。但是,如果你不适当地运用 Linux 的安
    全工具, 它们反而会埋下隐患。 配置拙劣的安全系统会产生许多问题, 本文将为你解释必须
    掌握的 Linux 安全知识。 本文讲述了如何通过基本的安全措施,使 Linux 系统变得可靠。

    安装

    让系统处理于单独(或者隔离)的网络中.以防止受保护的系统连接到其他网络或互联网中受到可能的攻击
    安装完成后需要卸载下面的软件
    pump apmd lsapnptools redhat-logos
    mt-st kernel-pcmcia-cs Setserial redhat-relese
    eject linuxconf kudzu gd
    bc getty_ps raidtools pciutils
    mailcap setconsole gnupg
    用下面的命令卸载这些软件:

    rpm -e softwarename
    

    在卸载前最好先停掉三个进程:

    /etc/rc.d/init.d/apmd stop
    /etc/rc.d/init.d/sendmail stop
    /etc/rc.d/init.d/kudzu stop
    

    用户账号安全 Password and account security

    密码安全策略

    口令至少为 6 位,并且包括特殊字符
    口令不要太简单, 不要以你或者有关人的相关信息构成的密码, 比如生日、 电
    话、姓名的拼音或者缩写、单位的拼音或者英文简称等等。
    口令必须有有效期
    发现有人长时间猜测口令,需要更换口令

    检查密码是否安全

    可以使用以下几种工具检查自己的密码是否安全:
    JOHN,crack等暴力猜密码工具
    在线穷举工具,包括Emailcrk,流光

    Password Shadowing

    使用shadow来隐藏密文(现在已经是默认配置)
    定期检查shadow文件,如口令长度是否为空

    管理密码

    设置口令的最长有效时限(编辑/etc/login.defs)
    口令最短字符(如linux默认为5,可以通过编辑/etc/login.defs修改)
    只允许特定用户使用su命令称为root

    其他

    清除不必要的系统账户
    尽量不要在passwd文件中包含个人信息,防止被finger之类程序泄露.修改shadow,passwd,gshadow文件不可改变位置.
    使用ssh来代替telnet.ftpd.pop等通用服务.传统的网络服务程序,如ftp,pop和telnet在本质上都是不安全的,因为他们在网络上用明文传递口令和数据.

    网络服务安全(Network Service Security)

    Linux系统对外提供强大,多样的服务,由于服务的多样性及其复杂性,在配置管理这些服务时特别容易犯错误,另外,提供这些服务的软件本身也存在各种漏洞,所以,在决定系统对外开放服务时,要牢记两个基本原则:
    1. 只对外开放需要的服务,关闭所有不需要的服务.对外提供的服务越少,所面临额外部威胁越小.
    2. 将所需的不同服务分布在不同的主机上,这样不仅提高系统的性能,同时便于配置和管理,减小系统的安全风险.
    在上述两个基本原则下,还要进一步检查系统服务的功能和安全漏洞.

    服务过滤 Filtering

    在SERVER上禁止这些服务
    如果一定要开放这些服务,通过防火墙,路由指定信任的IP访问.
    要确保只有真正需要的服务才能被允许外部访问.并合法得通过用户的路由器过滤检查,尤其在下面的服务不是用户真正需要的时候,要从路由器上将其过滤掉
    NAME PORT PROTOCOL
    echo 7 TCP/UDP
    systat 11 TCP
    netstat 15 TCP
    bootp 67 UDP
    tftp 69 UDP
    link 87 TCP
    supdup 95 TCP
    sunrpc 111 TCP/UDP
    news 144 TCP
    snmp 161 UDP
    xdmcp 177 UDP
    exec 512 TCP
    login 513 TCP
    shell 514 TCP
    printer 515 TCP
    biff 512 UDP
    who 513 UDP
    syslog 514 UDP
    uucp 540 TCP
    route 520 UDP
    openwin 2000 TCP
    nfs 2049 UDP/TCP
    x11 6000 to 6000+n TCP
    注意:有些UDP服务可能导致DOS攻击和远程溢出,如:
    rpc.ypupdated
    rpcbind
    rpc.cmsd 100068
    rpc.statd 100024
    rpc.ttdbserver 100083
    sadmind 100232/10
    配置完成以后,利用网络扫描器模拟入侵者从外部进行扫描测试.如利用nmap.

    /etc/inetd.conf

    确保文件权限为 600
    确保文件属性设置为 root
    注释掉所有不需要的服务,需要重新启动inetd进程
    使用netstat -an命令,查看本机所提供的服务,确保已经停掉不需要的服务.

    R服务

    不必使用R服务
    关闭R服务,Red hat 6.2在/etc/inted.conf文件中注释一下服务,并且重新启动inetd服务.Rad hat7.0在/etc/xinetd.d目录中删除
    exec 512 TCP
    Rlogin 513 TCP
    Rshell 514 TCP
    必须使用R服务
    使用更安全版本的R服务;
    在路由或防火墙上禁止外部网络访问受保护的512,512and514(tcp)端口.
    使用TCP WRAPPERS设置可访问受保护主机R服务的信任机器.

    Tcp_wrapper

    该软件的作用是在Unix平台过滤TCP/UDP服务,它目前已被广泛用于监视并过滤发生在主机上的ftp,telnet,rsh,rlogin,tftp,finger等标准TCP/UDP服务.
    当系统安装TCP_wrapper之后,in.conf文件中/usr/sbin/in.telnetd会被TCP-wrapper附带的tcpd程序取代,该程序截获来自客户端的服务请求、记录请求发
    生的时间和 IP 地址,并按访问控制进行检查。当本次连接的用户、请求源的 IP 等信息
    符合管理员的预设值时,才将该次请求传递给系统 in.telnetd ,由系统 in.telnetd 完成后
    续工作;若连接不符合要求,该连接请求将被拒绝。同样, ftp 、 rsh 等 TCP/UDP 服务
    均可被 tcpd 取代,由 tcpd 充当二传手。

    TCP/IP提供的主要用户应用程序

    telnet程序

    telent程序提供远程登录功能(不安全的).

    文本传输协议

    文本传输协议(FTP)允许用户将一个系统上的文件复制到另一个系统上.

    简单的邮件传输协议

    简单邮件传输协议(SMTP)用于传输电子邮件.

    Kerberos协议

    kerberos一个广泛支持的安全性协议.

    域名服务器协议

    域名服务器协议(DNS),能使一台设备具有的普通名字转换成为某个特定的网络地址.

    简单网络管理协议

    简单网络管理协议(SNMP)把用户数据报协议(UDP)作为传输机制,它使用和TCP/IP不同的术语,TCP/IP用户端和服务器,而SNMP用管理器(Manager)和代理(Agent),代理提供设备信息,而管理器管理网络通信.

    普通文件传输协议

    普通文件传输协议(TFTP)是一种缺乏任何安全性的,非常简单落后的文本传输协议.

    传输控制谐音

    传输控制协议(TCP/IP中的TCP部分)是一种数据可靠的通信协议.

    网际协议

    网际协议(ip)负责在网络上传输由TCP/UDP装配的数据包.

    端口号分配

    我们的TCP和UDP采用16bit的端口号来识别应用程序,那么这些端口号如何选择呢?

    服务器的端口识别

    服务器一般都是通过知名端口号来识别的。 例如, 对于 TCP/IP 实现来说, 每个 FTP 服务器的 TCP
    端口号都是 21,每个 Telnet 服务器的 TCP 端口号都是 23,每个 TFTP(普通文件传输协议)服务器的
    UDP 端口号都是 69。任何 TCP/IP 实现所提供的服务都用知名的 1~1 023 之间的端口号。这些知名端
    口号由 Internet 号分配机构( Internet Assigned Numbers Authority, IANA )来管理。到 1992 年为止,知
    名端口号介于 1~255 之间。 256~1 023 之间的端口号通常都是由 UNIX 系统占用,以提供一些特定的
    UNIX 服务,也就是说,提供一些只有 UNIX 系统才有的,而其他操作系统可能不提供的服务。现在
    IANA 管理 1~1 023 之间所有的端口号。
    Internet 扩展服务与 UNIX 特定服务之间的一个差别就是 telnet 和 rlogin ,它们二者都允许通过计
    算机网络登录到其他主机上。 telnet 是采用端口号为 23 的 TCP/IP 标准,且几乎可以在所有操作系统上
    进行实现。相反, rlogin 最开始时只是为 UNIX 系统设计的(尽管许多非 UNIX 系统现在也提供该服
    务),因此在 20 世纪 80 年代初,它的端口号为 513,客户端通常对它所使用的端口号并不关心,只
    须保证该端口号在本机上是唯一的即可。客户端口号又称做临时端口号(即存在时间很短暂),这是
    因为它通常只是在用户运行该客户程序时才存在,而服务器则只要主机开着,其服务就运行.
    UDP 为运行于同一台或不同机器之上的两个或多个程序之间传输数据包提供了简单的、 不可靠的
    连接。“不可靠” 意味着操作系统不保证每个发出的包都能到达, 也不保证包能够按序到达。 不过 UDP
    是尽力传输的,在 LAN 中 UDP 通常能达到 100%的可靠性。 UDP 的优点在于它比 TCP 的开销少,较
    少的开销使得基于 UDP 的服务可以用 TCP 10 倍的吞吐量传输数据。

    linux的 TCP/IP网络配置文件

    除非另外指出,在Red hat linux系统的配置文件大部分在/etc目录中.

    网络配置工具

    在安装 Linux 发行版本时,需要配置网络。你或许已经有一个来自初始配置的活动 eth0,这个配
    置对于当前的使用也许足够, 但是随着时间的推移你可能需要做出更改。 下面将介绍与 IP 网络相关的
    不同配置项,以及使用这些配置项的文件和工具。

    手动修改配置文件

    手动配置是最直接的,有以下优点:
    1. 熟悉命令后,手动配置更加快捷,并不需要重新启动.
    2. 能够使用配置命令的高级特性.
    3. 更容易维护配置文件,找出系统故障.
    4. 能更深刻的了解系统配置是如何进行的.
    无论图形界面如何发展,原理是不会变的.linux网络配置的命令包括ifconfig,ip,ping,netstat,route,arp,hostname和arpwatch.

    配置网络接口

    1. 网卡的选择,我们需要知道内核的版本.
    2. 检查网卡是否加载,驱动硬件是操作系统最基本的功能,操作系统通过各种驱动程序来驾驭硬件设备.我们可以通过命令lsmod来查看加载情况.
    3. 为新网卡设定IP地址,我们主要使用ifconfig命令,它主要设置修改ip地址
    4. 打开/etc/sysconfig/network-scripts/ifcfg-eth0 ,使用vi编辑器进行配置即可
    5. 最后我们需要重启network服务来然配置信息激活生效.

    分级解析对Linux服务器的攻击

    随着人们对安全问题的日益重视,网络安全已经不仅仅是技术问题,而是一个社会问题。企业应
    当提高对网络安全的重视,不应被各种商业宣传所迷惑,认为安装了防火墙、认证授权和入侵检测系
    统就可以保护网络免受各种攻击。实际上,并没有绝对安全的网络,也没有“无坚不摧”的安全解决
    方案。从辩证法的角度来说,安全是相对的。如果一味地只依赖技术工具,那就会越来越被动;只有
    运用社会和法律手段打击网络犯罪, 才能更加有效。

    典型的攻击者有什么特征

    1. 能用c,c++或perl编写程序.大多数原始安全工具都是这些语言的一种或者几种编写的.攻击者必须能够解释,编译,执行这些代码.
    2. 深入掌握TCP/IP知识.攻击者必须知道internet是如何工作的.
    3. 每周使用internet多于72小时,攻击者不是临时用户,他们不仅了解自己的机器.有着丰富的网络使用经验.
    4. 至少熟知三种操作系统,其中一种操作系统毫无疑问Unix或linux.
    5. 大多数攻击者是(或曾经是)系统管理员或开发人员,具有客户服务器应用经验.

    攻击者的典型目标是什么

    攻击者因不同原因而攻击不同类型的网络。我们经常能从媒体上了解到一些大公司或政府的网
    站遭到攻击。不过,实际上攻击者典型的目标大多是小型网络。防火墙的使用和维护费用昂贵且
    需要技术支持,小网络不可能用或只能用一些低级产品。攻击大公司、政府的网站会造成比较大
    的影响。

    进行攻击的原因是什么

    ( 1)恶意— —他可能是某个公司的心怀不满的雇员,或许你曾在某个 Usenet组激怒了他。
    ( 2)娱乐— —或许你曾经夸耀过你的系统的安全性,告诉别人它是如何坚不可摧,这些都是攻击
    者无法抗拒的挑战。
    ( 3)获利— —有人付给攻击者报酬,让他关掉某台机器或获取某公司的商业机密。
    ( 4)好奇— —许多攻击者纯粹由于好奇心的驱使,想享受一下攻击过程。
    ( 5)政治— —政治原因占攻击原因的很小比例(但是很重要的一种),他们搜寻杂志、新闻刊物
    中特别的论点,他们通过攻击来表达自己的政治观点和世界观。

    攻击级别

    系统攻击有许多种类,本节从攻击级别的角度进行说明。 显示了攻击的 6 个等级,每一层
    代表一个进入目标网络的深度,我们称之为敏感级( Levels of sensitivity ),箭头与层次相连的点标志
    了对应于每一破译技术的危险程度,我们将它称为攻击状态( States of attack)。
    1. 级别 1
    —A 箭头:表示邮件炸弹的攻击。
    —B 箭头:表示简单拒绝服务攻击。
    在级别 1 范围内的攻击基本上互不相关。包括拒绝服务攻击和邮件炸弹,这些攻击一般比较好制
    止,这是因为这些攻击是以垃圾信息方式进行的。在大多数情况下,只须应用排除模式设置就可以解
    决这个问题。拒绝服务攻击包括:简单拒绝服务攻击、分布拒绝服务攻击、 DNS 分布拒绝服务攻击和
    FTP 攻击。
    对于这四种攻击可以采用以下措施:
    — 关闭不必要的服务。
    — 限制同时打开的 SYN 半连接数目。
    — 缩短 SYN 半连接的 time out 时间。
    — 及时更新系统补丁。
    拒绝服务攻击经常发生, 解决此问题的最佳方法就是在 inetd.sec 文件 DENY 清单中加入入侵者源
    主机 /网络名阻止入侵行为,除屏蔽网络连接外,还没有一种主动性的方法可以避免这种攻击。不过需
    要注意的是,如果证实了一次拒绝服务攻击,应该检查系统是否可能遭受其他攻击,拒绝服务攻击常
    常是电子欺骗的先行者(甚至是组成部分) 。如果观察到某台机器特定端口上的一次全面的 Flooding
    攻击,请观测这个端口,弄清这个端口是干什么用的,检查它限制什么服务。如果那种服务是内部系
    统的组成部分,那么要特别小心。那些貌似拒绝服务的攻击,事实上就是突破网络安全的开始。通常
    情况下,拒绝服务攻击会持续很长一段时间。
    如果是同步 Flooding 攻击, 这里有一些识别攻击者的方法。 攻击者在每一次实施 ping 时, 向目标
    报出了他的 IP 地址。虽然没有给出攻击者的 E-mail 地址,但我们可以追踪其最终源(注意,追踪程
    序将揭示攻击者出发的真实网络地址,这通常是反向追踪程序查找的最后一项内容)。
    大多数拒绝服务攻击导致相对较低的危险,即便是那些可能导致重启的攻击也仅仅是暂时性的问
    题。这类攻击在很大程度上不同于那些想获取网络控制的攻击。
    邮件炸弹的攻击也叫邮件水灾攻击, 发生在当许多邮件被发送至一个目标, 发送代理人被覆盖时,
    邮件水灾会破坏其他交流程序的稳定。用邮件来使一个系统蒙受灾难是残酷的,但却是有效的,攻击
    者的目的就是要破坏邮件服务器。诱发邮件水灾攻击的有趣方法之一是利用一些邮件申请的自动反应
    功能。一旦黑客发现对两个不同的系统能做出活跃的、自动的应答时,他就能指使一个邮件发送到另
    一个。因为两者都是对每个信息做出自动应答,他们制造了一个信息回馈孔,这会比其他系统收集到
    更多的邮件。至于邮件水灾,通常很容易追查到攻击者。此外, bozo files(kill 文件)和排除模式配置
    基本上能阻止这些攻击。
    2. 级别 2 和级别 3
    —C 箭头:表示本地用户获得非授权访问。
    —D 箭头:表示本地用户获得他们不该拥有的文件写入权限。
    —E 箭头:表示远程用户获得了非授权账号。
    级别 2 和级别 3 包括诸如本地用户获取到了他们本不可以访问的文件的读写权限这类事件。当
    然,任何本地用户访问 /tmp 目录都具有危险性,它能够潜在地铺设一条通向级别 3 的路。在级别 3,
    用户可以获取写访问权限(并由此过渡到级别 4 环境)。
    级别 2 攻击是危险的,并很容易发展为级别 3、级别 4、级别 5和级别 6。如果运行这种网络,请
    立即取得上述访问控制设备,如果不照此进行,某些人想破坏网络仅仅是时间问题。如果有可能,请
    监控所有流经端口 137~139 的消息,其间将产生共享进程。
    本地攻击的难度不太大。所谓本地用户( Local user),我们认为是相对而言的。在网络世界中,
    本地用户是在本地网络的任一台机器上有口令,因而在某一驱动器上有一个目录的用户(无论那个目
    录的服务目的是什么)。
    由本地用户启动的攻击几乎都是从远程登录开始的。对于 ISP,最好的办法是将所有 shell 账号放
    置于一个单独的机器上, 也就是说, 只在一台或多台分配有 shell 访问的机器上接受注册。 这可以使日
    志管理、访问控制管理、释放协议和其他潜在的安全问题管理更容易些。还应该将存放用户 CGI 的系
    统区分离出来。这些机器应该隔离在特定的网络区段,也就是说,根据网络的配置情况,它们应该被
    路由器或网络交换机包围。其拓扑结构应该确保硬件地址不能超出这一特定区段。
    针对这些利用访问控制营造所需环境的攻击,有两种涉及许可权的关键因素,每一种都能影响到
    级别 2 是否会升级到级别 3、4 或 5。这些因素是:
    ① 端口的错误配置。
    ② 软件中的漏洞。
    第一种情况的发生是没有正确理解许可模式,不是每一个 UNIX 或 NT 系统管理员都是专家,经
    验是非常重要的。
    第二种情况更加普遍,任何操作系统都有漏洞。对此问题尚未有直接的解决办法,因为大多数这
    种漏洞在软件加载时并不出现。唯一的办法是订阅每一种与故障、漏洞、系统密切相关的邮件列表。
    级别 2 和级别 3 的主要攻击方法是社会管理邮件(电子邮件攻击的一种):黑客会诱骗合法用户
    告知其机密信息或执行任务,有时黑客会假装为网络管理人员向用户发送邮件,要求用户提供系统升
    级的密码。
    3. 级别 4
    —F 箭头:表示远程用户获得了特定文件的读权限。
    级别 4 通常与外界能够访问内部文件相关。这种访问能做到的不只是核实特定文件是否存在,而
    且还能读这些文件。级别 4 还包含这样一些弱点,即远程用户无需账号就可以在服务器上执行有限数
    量的命令。由于服务器配置失误,有害 CGI 及溢出问题都可能引发这些漏洞大量出现。
    密码攻击法是级别 4 中的主要攻击法, 损坏密码是最常见的攻击方法。 用户常常忽略他们的密码,
    密码政策很难得到实施。黑客有多种工具可以击破技术所保护的密码。一旦黑客拥有了用户的密码,
    他就拥有很多用户的特权。“密码猜想”是指手工敲入普通密码或通过编好的程序取得密码。一些用
    户选择简单的密码— —如生日、纪念日或配偶名字,不遵循字母、数字混合的规则。对黑客来说要猜
    一串 6 个字生日数据不用花多长时间。最好的防卫方法便是严格控制进入特权。
    4. 级别 5、级别 6
    —H 箭头:表示远程用户获得了特定文件的写权限。
    —G 箭头:表示远程用户获得了根权限。
    级别 5 和级别 6 产生于那些绝不应该发生的事被允许发生了的情况下。任何级别 5 和级别 6 的漏
    洞都是致命的。在这一阶段,远程用户可以读、写并执行文件(通常,他们综合各种技术来达到这一
    阶段)。级别 6 表示攻击者拥有这台机器的超级用户或管理员许可权。换句话说,攻击者具有对机器
    的全部控制权,可以在任何时刻完全关闭甚至毁灭此网络。
    级别 5 和级别 6 的主要攻击是 TCP/IP 连续偷窃、被动通道听取和信息包拦截。这些都是为进入网
    络收集重要信息的方法, 不像拒绝服务攻击, 这些方法有更多类似偷窃的性质, 比较隐蔽、 不易被发现。
    TCP/IP 连续偷窃指抓住连续数字,这些数字用来让黑客的信息包看起来合法化, 当一个系统要求
    与其他系统对话,系统会交换 TCP 同时产生的数据, 如果这些数据不是具有随意性的,黑客会收集这
    些数据的算法,被偷的突发事件会被用来把黑客伪装成一个或两个原始系统,允许他连接防火墙信息
    包的过滤器,这在连接 IP 时更有效。
    一次成功的 TCP/IP 攻击能让黑客阻拦两个团体之间的交易, 提供中间人袭击的良好机会, 然后黑
    客会在不被受害者注意的情况下控制一方或双方的交易。
    通过被动窃听,黑客会操纵和登记信息,也会从目标系统上所有可通过的通道找到可通过的致命
    要害。黑客会寻找联机和密码的结合点,认出申请合法的通道。
    信息包拦截是指在目标系统中约束一个活跃的听者程序,以拦截和更改所有的或特别的信息的地
    址。信息可被改送到非法系统阅读,然后不加改变地送回给黑客。

    反击措施

    ( 1)级别 1 攻击的处理方法主要是:过滤进入地址并与攻击者的 ISP 联系。对防范拒绝服务攻击
    的方法感兴趣的读者请查看徐一丁先生的文章“分布式拒绝服务攻击( DDoS )原理及防范”,
    http://www-900.ibm.com/developerWorks/cn/security/se-ddos/index.shtml ,此处不再赘述。
    ( 2)级别 2 攻击可以在内部处理。根据 Gartner 调查表明,目前, 70%的攻击仍然来自组织内部。
    基本做法就是冻结或清除攻击者的账号。级别 2 攻击者一般常伴随使用内部嗅探器,防范方法可以参考
    “防范网络嗅探”, http://www-900.ibm.com/developerWorks/cn/security/se-profromsniff/index.shtml
    ( 3)对级别 3、级别 4 和级别 5、级别 6 攻击的反应,如果经历过高于级别 2 的攻击,问题就严
    重了。
    — 首先备份重要的企业关键数据。
    — 隔离该网络网段,使攻击行为仅出现在一个小范围内。
    — 允许行为继续进行。如有可能,不要急于把攻击者赶出系统,为下一步做准备。
    — 记录所有行为,收集证据。
    收集的证据包括系统登录文件、应用登录文件、 AAA (Authentication, Authorization, Accounting
    认证、授权、计费)登录文件, RADIUS (Remote Authentication Dial-In User Service )登录、网络单元
    登录( Network Element Logs)、防火墙登录、 HIDS (Host-base IDS,基于主机的入侵检测系统)事
    件、 NIDS (网络入侵检测系统)事件、磁盘驱动器、隐含文件等。
    收集证据时要注意,在移动或拆卸任何设备之前都要拍照;在调查中要遵循两人法则,即在信息
    收集中要至少有两个人,以防止篡改信息;应记录所采取的所有步骤,以及对配置设置的任何改变,
    要把这些记录保存在安全的地方。
    ( 4)进行各种尝试(使用网络的不同部分)以识别出攻击源。
    ( 5)为了使用法律武器打击犯罪行为,必须保留证据。而形成证据需要时间,为了做到这一点,
    必须忍受攻击的冲击(虽然可以制定一些安全措施来确保攻击不损害网络)。对此情形,我们不但要
    采取一些法律手段,而且还要至少请一家权威的安全公司协助阻止这种犯罪。这类操作的最重要特点
    就是取得犯罪的证据,并查找犯罪者的地址,提供所拥有的日志。对于所搜集到的证据,应进行有效
    地保存。在开始时制作两份,一个用于评估证据,另一个用于法律验证。  

    一句名言“你的服务器永远可能在第二天被黑客接管”。

    展开全文
  • 与Windows相比,安全体现在哪些地方?今天我们一起来探讨一下。 什么是LinuxLinux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。...

    很多人都知道Linux比Windows安全,但却不知道安全在哪儿。Linux是一款怎样的系统?

    与Windows相比,安全体现在哪些地方?今天我们一起来探讨一下。

    什么是Linux?

    Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU工程各种工具和数据库的操作系统。

    Linux主要应用于服务器,也有桌面操作系统,比如redhat、ubuntu等等发行版。但是用的人相对较少,一般是专业用户在用。而Windows则在桌面操作系统的市场拥有着绝对的优势。

    为什么总说Linux比Windows安全?

    | Windows市场占有率大,树大招风

    操作系统的安全性可能很大程度上依赖于装机用户量的规模。

    我们先来看看两者的市场占比。根据市场研究公司NetMarketShare的数据显示,2018年互联网上87.92%的电脑运行着 Windows 的某个版本,只有2.03%的PC电脑运行的是Linux操作系统

    NetMarketShare的数据截图

    如果你是黑客,你会选择攻击市场占有率接近90%的Windows,还是去攻击只占市场百分之二的Linux系统呢?对于恶意软件作者来说,Windows 提供了大的施展平台。专注其中可以让他们的努力发挥最大作用。

    就像 Troy Wilkinson,Axiom Cyber Solutions 的 CEO 解释的那样,“Windows 总是因为很多原因而导致安全性保障来的最晚,主要是因为消费者的采用率。由于市场上大量基于 Windows 的个人电脑,黑客历来最有针对性地将这些系统作为目标。”

    树大招风,可以说是Windows被攻击的一个无可避免的原因。从梅丽莎病毒到 WannaCry 或者更强的,许多世界上已知的恶意软件早已对准了 Windows 系统。

    | Linux发行版本较多,难集中攻击

    Linux 环境下的多样性可能比典型的 Windows 单一文化更好地对抗攻击。

    Windows的系统环境可以说是千篇一律。这种巨大的一致性让攻击者们在编写恶意代码、病毒时显得得心应手。反过来,在Linux的系统世界,应用程序可以是.deb、.rpm,或源代码等等。而Linux也有很多的发行版:redhat、ubuntu等等。这种差异性让攻击者们很难在Linux系统身上获得像Windows系统那样的广泛影响。因此攻击者攻击Linux系统的积极性相对不高。

    | Linux用户权限划分令风险降低

    Windows 用户一般被默认授予管理员权限,那意味着他们几乎可以访问系统中的一切。这时候一旦有程序被入侵,那入侵者基本上就能进入电脑的每一个角落。

    Linux,反而很好地限制了“root”权限。Linux系统天生就被设计成一个多用户的操作系统。而使用者绝大多数情况下处于一个非系统管理员(ROOT)的情况下,所以即使这时候运行的软件被入侵,也能很好的保护系统程序和其他用户文件的安全。假如有任何远程的恶意代码在系统中被执行了,它所带来的危害也将被局限在一个小小的局部之中。

    | Linux代码开源,漏洞有多人解决

    Linux的代码是开源的,任何人都可以查看它,并确保没有错误或后门。任何可能的软件漏洞,都可能有成千上万的人能够看到,通过群策群力,问题通常得以快速解决,在这里没有任何被隐藏的修复措施。微软可能会吹捧它的大型的付费开发者团队,但团队不太可能与基于全球的 Linux 用户开发者进行比较。

    而Windows系统有很多安全问题是不会让外界所知晓的,虽然这样做可以让被公开的软件漏洞数目更少,避免漏洞被大规模地利用,但这种做法也会让用户掉以轻心。由于用户不清楚系统存在着什么样的漏洞,以及漏洞的严重性,很可能不会及时地对系统进行升级,结果反而会受到恶意攻击。

    Linux因其稳定、开源、免费、安全、高效的特点,发展迅猛。未来Linux在服务器领域的发展一定不可小觑。而基于Linux内核的桌面操作系统,相信以后也会得到更为广泛的使用!

    中兴新支点桌面操作系统

    而在国产操作系统方面,中兴新支点操作系统是做得比较领先的,基于Linux这一内核,界面友好,操作简单,易于上手,应用软件也日趋丰富,已能满足你日常的办公学习需求。

    其实无论哪种系统,都没有绝对的安全。你必须时刻牢记,系统的安全性最终还是掌握在用户手中的。人才是系统安全的核心,养成安全、良好的用户习惯是关键!

    展开全文
  • Linux安全防护十方面

    2012-05-04 13:38:53
    对于一个系统来说的安全防护是一个很重要的工作。想要做一个合格的系统管理员,Linux安全防护知识是必须得掌握的。Linux安全防护是管理员必备的功课,我们可以从这些方面做起
  • 高级Linux安全管理技巧

    千次阅读 2005-12-23 11:41:00
    高级Linux安全管理技巧由于Linux操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着Linux操作系统在我国的不断普及,有关的政府部门更是将基于Linux开发具有自主版权的操作系统提高到保卫...
    高级Linux安全管理技巧

    由于Linux操作系统是一个开放源代码的免费操作系统,因此受到越来越多用户的欢迎。随着Linux操作系统在我国的不断普及,有关的政府部门更是将基于Linux开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后Linux操作系统在我国将得到更快更大的发展。虽然Linux与UNIX很类似,但它们之间也有一些重要的差别。对于众多的习惯了UNIX和WindowsNT的系统管理员来讲,如何保证Linux操作系统的安全将面临许多新的挑战。本文介绍了一系列实用的Linux安全管理经验。

    一、文件系统

    在Linux系统中,分别为不同的应用安装单独的主分区将关键的分区设置为只读将大大提高文件系统的安全。这主要涉及到Linux自身的ext2文件系统的只添加(只添加)和不可变这两大属性。

    ●文件分区Linux的文件系统可以分成几个主要的分区,每个分区分别进行不同的配置和安装,一般情况下至少要建立/、/usr/local、/var和/home等分区。/usr可以安装成只读并且可以被认为是不可修改的。如果/usr中有任何文件发生了改变,那么系统将立即发出安全报警。当然这不包括用户自己改变/usr中的内容。/lib、/boot和/sbin的安装和设置也一样。在安装时应该尽量将它们设置为只读,并且对它们的文件、目录和属性进行的任何修改都会导致系统报警。

    当然将所有主要的分区都设置为只读是不可能的,有的分区如/var等,其自身的性质就决定了不能将它们设置为只读,但应该不允许它具有执行权限。

    ●扩展ext2使用ext2文件系统上的只添加和不可变这两种文件属性可以进一步提高安全级别。不可变和只添加属性只是两种扩展ext2文件系统的属性标志的方法。一个标记为不可变的文件不能被修改,甚至不能被根用户修改。一个标记为只添加的文件可以被修改,但只能在它的后面添加内容,即使根用户也只能如此。

    可以通过chattr命令来修改文件的这些属性,如果要查看其属性值的话可以使用lsattr命令。要想了解更多的关于ext2文件属性的信息,可使用命令manchattr来寻求帮助。这两上文件属性在检测黑客企图在现有的文件中安装入侵后门时是很有用的。为了安全起见,一旦检测到这样的活动就应该立即将其阻止并发出报警信息。

    如果你的关键的文件系统安装成只读的并且文件被标记为不可变的,入侵者必须重新安装系统才能删除这些不可变的文件但这会立刻产生报警,这样就大大减少了被非法入侵的机会。

    ●保护log文件当与log文件和log备份一起使用时不可变和只添加这两种文件属性特别有用。系统管理员应该将活动的log文件属性设置为只添加。当log被更新时,新产生的log备份文件属性应该设置成不可变的,而新的活动的log文件属性又变成了只添加。这通常需要在log更新脚本中添加一些控制命令。

    二、备份

    在完成Linux系统的安装以后应该对整个系统进行备份,以后可以根据这个备份来验证系统的完整性,这样就可以发现系统文件是否被非法窜改过。如果发生系统文件已经被破坏的情况,也可以使用系统备份来恢复到正常的状态。

    ●CD-ROM备份当前最好的系统备份介质就是CD-ROM光盘,以后可以定期将系统与光盘内容进行比较以验证系统的完整性是否遭到破坏。如果对安全级别的要求特别高,那么可以将光盘设置为可启动的并且将验证工作作为系统启动过程的一部分。这样只要可以通过光盘启动,就说明系统尚未被破坏过。

    如果你创建了一个只读的分区,那么可以定期从光盘映像重新装载它们。即使象/boot、/lib和/sbin这样不能被安装成只读的分区,你仍然可以根据光盘映像来检查它们,甚至可以在启动时从另一个安全的映像重新下载它们。

    ●其它方式的备份虽然/etc中的许多文件经常会变化,但/etc中的许多内容仍然可以放到光盘上用于系统完整性验证。其它不经常进行修改的文件,可以备份到另一个系统(如磁带)或压缩到一个只读的目录中。这种办法可以在使用光盘映像进行验证的基础上再进行额外的系统完整性检查。

    既然现在绝大多数操作系统现在都在随光盘一起提供的,制作一个CD-ROM紧急启动盘或验证盘操作起来是十分方便的,它是一种十分有效而又可行的验证方法。

    三、改进系统内部安全机制

    可以通过改进Linux操作系统的内部功能来防止缓冲区溢出攻击这种破坏力极强却又最难预防的攻击方式,虽然这样的改进需要系统管理员具有相当丰富的经验和技巧,但对于许多对安全级别要求高的Linux系统来讲还是很有必要的。

    ●SolarisDesigner的安全Linux补丁SolarisDesigner用于2.0版内核的安全Linux补丁提供了一个不可执行的栈来减少缓冲区溢出的威胁,从而大大提高了整个系统的安全性。

    缓冲区溢出实施起来是相当困难的,因为入侵者必须能够判断潜在的缓冲区溢出何时会出现以及它在内存中的什么位置出现。缓冲区溢出预防起来也十分困难,系统管理员必须完全去掉缓冲区溢出存在的条件才能防止这种方式的攻击。正因为如此,许多人甚至包括LinuxTorvalds本人也认为这个安全Linux补丁十分重要,因为它防止了所有使用缓冲区溢出的攻击。但是需要引起注意的是,这些补丁也会导致对执行栈的某些程序和库的依赖问题,这些问题也给系统管理员带来的新的挑战。

    不可执行的栈补丁已经在许多安全邮件列表(如[email]securedistros@nl.linux.org[/email])中进行分发,用户很容易下载到它们等。

    ●StackGuardStackGuard是一个十分强大的安全补丁工具。你可以使用经StackGuard修补过的gcc版本来重新编译和链接关键的应用。

    StackGuard进行编译时增加了栈检查以防止发生栈攻击缓冲区溢出,虽然这会导致系统的性能略有下降,但对于安全级别要求高的特定应用来讲StackGuard仍然是一个十分管用的工具。

    现在已经有了一个使用了SafeGuard的Linux版本,用户使用StackGuard将会更加容易。虽然使用StackGuard会导致系统性能下降约10~20%,但它能够防止整个缓冲区溢出这一类攻击。

    ●增加新的访问控制功能Linux的2.3版内核正试图在文件系统中实现一个访问控制列表,这要可以在原来的三类(owner、group和other)访问控制机制的基础上再增加更详细的访问控制。

    在2.2和2.3版的Linux内核中还将开发新的访问控制功能,它最终将会影响当前有关ext2文件属性的一些问题。与传统的具有ext2文件系统相比它提供了一个更加精确的安全控制功能。有了这个新的特性,应用程序将能够在不具有超级用户权限的情况下访问某些系统资源,如初始套接等。

    ●基于规则集的访问控制现在有关的Linux团体正在开发一个基于规则的访问控制(RSBAC)项目,该项目声称能够使Linux操作系统实现B1级的安全。RSBAC是基于访问控制的扩展框架并且扩展了许多系统调用方法,它支持多种不同的访问和认证方法。这对于扩展和加强Linux系统的内部和本地安全是一个很有用的。

    四、设置陷井和蜜罐

    所谓陷井就是激活时能够触发报警事件的软件,而蜜罐(honeypot)程序是指设计来引诱有入侵企图者触发专门的报警的陷井程序。通过设置陷井和蜜罐程序,一旦出现入侵事件系统可以很快发出报警。在许多大的网络中,一般都设计有专门的陷井程序。陷井程序一般分为两种:一种是只发现入侵者而不对其采取报复行动,另一种是同时采取报复行动。

    设置蜜罐的一种常用方法是故意声称Linux系统使用了具有许多脆弱性的IMAP服务器版本。当入侵者对这些IMAP服务器进行大容量端口扫瞄就会落入陷井并且激发系统报警。

    另一个蜜罐陷井的例子就是很有名的phf,它是一个非常脆弱的Webcgi-bin脚本。最初的phf是设计来查找电话号码的,但它具有一个严重的安全漏洞:允许入侵者使用它来获得系统口令文件或执行其它恶意操作。系统管理员可以设置一个假的phf脚本,但是它不是将系统的口令文件发送给入侵者,而是向入侵者返回一些假信息并且同时向系统管理员发出报警。

    另外一类蜜罐陷井程序可以通过在防火墙中将入侵者的IP地址设置为黑名单来立即拒绝入侵者继续进行访问。拒绝不友好的访问既可以是短期的,也可以是长期的。Linux内核中的防火墙代码非常适合于这样做。

    五、将入侵消灭在萌芽状态

    入侵者进行攻击之前最常做的一件事情就是端号扫瞄,如果能够及时发现和阻止入侵者的端号扫瞄行为,那么可以大大减少入侵事件的发生率。反应系统可以是一个简单的状态检查包过滤器,也可以是一个复杂的入侵检测系统或可配置的防火墙。

    ●AbacusPortSentryAbacusPortSentry是开放源代码的工具包,它能够监视网络接口并且与防火墙交互操作来关闭端口扫瞄攻击。当发生正在进行的端口扫瞄时,AbacusSentry可以迅速阻止它继续执行。但是如果配置不当,它也可能允许敌意的外部者在你的系统中安装拒绝服务攻击。

    AbacusPortSentry如果与Linux中透明的代理工具一起使用可以提供一个非常有效地入侵防范措施。这样可以将为所有IP地址提供通用服务的未使用端口重定向到PortSentry中,PortSentry可以在入侵者采取进一步行动之前及时检测到并阻止端口扫瞄。

    AbacusPortSentry能够检测到慢扫瞄(slowscan),但它不能检测到结构化攻击(structuredattack)。这两种方式最终目的都要试图掩盖攻击意图。慢扫瞄就是通过将端口扫瞄分散到很长的时间内来完成,而在结构化的攻击中,攻击者试图通过扫瞄或探测多个源地址中来掩盖自己的真实攻击目标。

    正确地使用这个软件将能够有效地防止对IMAP服务大量的并行扫瞄并且阻止所有这样的入侵者。AbacusSentry与Linux2.2内核的IPChains工具一起使用时最有效,IPChains能够自动将所有的端口扫瞄行为定向到PortSentry。

    Linux2.0内核可以使用IPChains进行修补,AbacusPortSentry也可以与早期的2.0版内核中的ipfwadm工具一起使用,ipfwadm在2.2版本以后被IPChains取代了。

    AbacusPortSentry还可以被配置来对Linux系统上的UDP扫瞄作出反应,甚至还可以对各种半扫瞄作出反应,如FIN扫瞄,这种扫描试图通过只发送很小的探测包而不是建立一个真正的连接来避免被发现。

    当然更好的办法就是使用专门的入侵检测系统,如ISS公司的RealSecure等,它们可以根据入侵报警和攻击签名重新配置防火墙。但这样的产品一般价格较高,普及的用户承受起来有困难。

    六、反攻击检测

    系统主要通过阻止入侵企图来防止入侵,而反攻击系统则可以反向进行端口扫瞄或发起其它的攻击,这一着让入侵者不仅入侵阴谋未能得逞,反而“引狼入室”,招致反攻击。

    有些安全系统如AbacusSentry具有一定的反攻击能力。比如有的站点有了防止用户通过telnet进行连接,在应答telnet连接请求时,系统将返回一些不受欢迎的恶意信息。这只是一种最简单也是最轻微的反攻击措施。

    一般情况下并不提倡使用反攻击功能,因为这样的反攻击措施很容易被非法利用来攻击其它的系统。

    七、改进登录

    服务器将系统的登录服务器移到一个单独的机器中会增加系统的安全级别,使用一个更安全的登录服务器来取代Linux自身的登录工具也可以进一步提高安全。

    在大的Linux网络中,最好使用一个单独的登录服务器用于syslog服务。它必须是一个能够满足所有系统登录需求并且拥有足够的磁盘空间的服务器系统,在这个系统上应该没有其它的服务运行。更安全的登录服务器会大大削弱入侵者透过登录系统窜改日志文件的能力。

    ●安全syslog即使使用单独的登录服务器,Linux自身的syslog工具也是相当不安全的。因此,有人开发了所谓的安全log服务器,将密码签名集成到日志中。这会确保入侵者即使在窜改系统日志以后也无法做到不被发现。现在最常用的用于取代syslog的安全log服务器称为“安全syslog(ssyslong)”,用户可以从CoreSDI站点[url]http://www.core-sdi.com/ssylog[/url]处下载这个工具。这个守护程序实现一个称为PEQ-1的密码协议来实现对系统日志的远程审计。即使在入侵者获得系统超级用户权限的情况下也仍然可以进行审计,因为协议保证了以前以及入侵过程中的的log信息没有审计者(在远程可信任的主机上)的通知无法被修改。

    ●syslog-ng另一个取代syslog的工具是syslog-ng(下一代的syslog)。这是一个更加可配置的守护进程,它提供了密码签名来检测对日志文件的窜改。密码安全登录服务器和远程审计功能一起可以使入侵者极难进行日志窜改并且非常容易被检测到这样的不良企图。用户可以从[url]www.babit.hu/products/syslog-ng.html[/url]处下载这个工具。

    八、使用单一登录

    系统维护分散的大网络环境中的多个用户帐号对于系统管理员来讲是一件非常头疼的事情。现在有一些单一的登录(signon)系统不仅可以减轻管理员的负担,而同时还提高了安全级别。

    网络信息服务(NIS)是一个很好的单一登录系统,它在Sun公司的YellowPage服务的基础上发展来的,它的基本安全特性不够健状,由于不断有一些bug和脆弱性被公布,因此有人戏称它为网络入侵者服务(NetworkIntruderService)。NIS的更新版本NIS+原NIS的不足进行了改进,现在已经有了用于Linux的NIS+版本。

    Kerberos也是一种非常有名的单一登录系统。Kerberosv4具有一些很有名的安全漏洞,如入侵者可以离线进行穷尽攻击Kerberoscookie而不会被发现。Ketberosv5大大进行了改进,不会再有v4的问题。

    在大的网络中,象NIS和Kerberos这样的单一的登录系统虽然有有利的一面,但也有它不利的一面。一方面,在不同系统上都具有认证机制有助于隔离该功能并且减少它与其它服务相互之间的影响。另一方面,一旦一个系统中的某个帐号被破坏,所有可通过这个帐号访问的系统都将同样遭到破坏。因此在单一的登录系统中特别要求具有较高防猜测水平的口令字。

    基于Windows的网络在WindowsNT域系统中有自己的单一登录系统。Linux系统可以根据Windows系统进行认证。这允许用户在Windows系统下修改、维护和管理它们的帐号和口令字并且修改结果会在同时在UNIX登录中得到体现。如使用pam_smb,Linux系统可以根据WindowsSMBDomain进行认证。这在以Windows网络管理为中心的网络中是相当方便的,但它也带来了Windows认证系统自身的一些不安全性。

    九、掌握最新安全产品和技术

    作为一个系统管理员,还必须时刻跟踪Linux安全技术的发展动向,并且适时采用更先进的Linux安全工具。目前国际上有许多有关Linux安全的研究和开发项目,目前至少有三个安全Linux项目已经启动,每个项目的目标都有自己的侧重点,它们分别是:

    ●安全Linux(SecureLinux)安全Linux([url]www.reseau.nl/securelinux[/url])项目的目标是提供一个用于Internet服务器系统的安全的Linux分发。该项目管理者正寻求在这个产品中集成强大的密码和一些额外的Web服务器功能。既然它是在美国之外创建的,人们可望能够得到改进的密码安全而不会受到美国安全产品出口法律的限制。

    ●BastilleLinuxBastilleLinux([url]www.bastille-linux.org[/url])项目寻求在Linux环境中建立一个类似OpenBSD的标准。该项目宣称的目标是为台式机创建一个安全的分发,使网络管理者可以不用担心用户的安全。

    ●Kha0sLinuxKha0sLinux([url]www.kha0s.org[/url])正寻求创建了一个具有强加密和类似OpenBSD的安全政策的最小的安全Linux分发。该小组目前正在它的Web站点上请求全球用户和厂商的参与和合作。

    除此之外,下面两点对于管理员提高Linux安全管理水平也是十分有用的:

    访问安全Linux邮件列表现在有许多关于Linux安全的邮件列表,如[email]securedistros@nl.linux.org[/email]、[email]Kha0s-dev@kha0s.org[/email]等,经常访问这些邮件列表可以得到大量的安全信息。

    还有另一个通用的邮件列表是[email]security-audit@ferret.lmh.ox.ac.uk[/email],它是专门讨论源代码的安全审计的。这个列表可能与其它的邮件列表有大量的重复,但如果想了解源代码审计和相关的安全问题的话还是很值得一读的。

    十、多管齐下

    任何一种单一的安全措施其防范能力都是有限的,一个安全的系统必须采取多种安全措施,多管齐下才能更好的保证安全。假如一个Linux系统采取了以上各种安全措施,那么要想侵入你的系统,攻击者将不得不绕过防火墙、避开入侵检测系统、跳过陷井程序、通过系统过滤器、逃过你的日志监视器、修改文件系统属性、破坏安全登录服务器才能最终达到目的。由于其中任何一个环节都可能激发报警,因此入侵者要想侵入这样的系统而又不被发现几乎是不可能的。

    展开全文
  • Linux面试题(2020最新版)

    万次阅读 多人点赞 2020-03-01 11:14:38
    文章目录Linux 概述什么是LinuxUnix和Linux有什么区别?什么是 Linux 内核?Linux的基本组件是什么?Linux 的体系结构BASH和DOS之间的基本区别是什么?Linux 开机启动过程?Linux系统缺省的运行级别?Linux 使用的...
  • Linux安全和加密

    千次阅读 2017-09-29 19:58:38
    这篇博就来说说linux安全和加密。 什么是加密?加密总的来说就是将一串数据或者一个文件从明文转为密文的过程;对于已经加密的数据或者文件,使用某种方法将其从密文转为明文的过程就是解密了。 加密的过程分为...
  • NFS 的不安全性,主要体现于以下 4 个方面: 缺少访问控制机制 没有真正的用户验证机制,只针对 RPC/Mount 请求进行过程验证 较早版本的 NFS 可以使未授权用户获得有效的文件句柄 在 RPC 远程调用中, SUID 程序...
  • Linux

    千次阅读 2016-12-07 22:28:53
    Linux
  • linux系统安全加固

    千次阅读 2011-12-12 21:29:28
    目 录   1摘要... 2 2 Linux的网络功能... 2 2.1 服务器... 2 2.1.1 Apache HTTP服务器... 2 2.1.2 Sendmail邮件服务器... 2 2.1.3 Vsftp服务器... 3 2.1.4 Sam
  • 十项Linux安全管理技巧经验总结

    千次阅读 2005-02-05 09:44:00
    随着Linux操作系统在我国的不断普及,有关的政府部门更是将基于Linux开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后Linux操作系统在我国将得到更快更大的发展。虽然Linux与...
  • 可重入与线程安全的区别体现在能否在signal 处理函数中被调用的问题上, 可重入函数在signal 处理函数中可以被安全调用,因此同时也是 Async-Signal-Safe Function ;而线程安全函数不保证可以在signal 处理函数中...
  • Linux服务器风险检测与安全加固

    万次阅读 2016-03-08 20:36:41
    在虚拟机里面搭建了一套Linux服务器风险检测与安全加固测试环境,然后把以前做演示的Web服务放到Linux服务器上面跑着,找好了一些渗透测试工具,模拟进行Linux服务器的风险检测。最后,根据扫描结果列出了几点系统...
  • Linux面试题

    万次阅读 多人点赞 2019-06-26 17:11:37
    另外,面试官也可能会问,你熟悉 Linux 么?你平时使用哪些 Linux 命令。酱紫的连环炮~ 当然,建议重点看下 「性能相关」 小节。 目录相关 find 命令 《Linux 命令大全 —— find 命令》 查找指定文件名的文件(不...
  • Linux十大高级安全管理技巧

    千次阅读 2006-12-14 16:59:00
    随着Linux操作系统在我国的不断普及,有关的政府部门更是 将基于Linux开发具有自主版权的操作系统提高到保卫国家信息安全的高度来看待,因此我们不难预测今后Linux操作系统在我国将得到更快更大的发展。 虽然Linux与...
  • Linux模拟器

    千次阅读 2018-02-19 12:06:31
    http://cb.vu/unixtoolbox_zh_CN.xhtml常用的Linux指令:1) 什么是Linux2) Linux与服务器相关 linux稳定,体现在软件应用上,99%的软件都能在windows上面安装,linux安装得少,所以更稳定些安全性上,windows经常被...
  • Docker的安全性

    千次阅读 2014-09-23 13:24:51
    现在讨论Docker安全性的话题颇多,主要集中在对使用容器方式的隔离性、攻击防护性等方面。 往往与虚拟机方式进行比较。 首先,从安全性上看,Docker容器的安全性比不上虚拟机,这点是毋庸置疑的。 容器内的应用...
  •  凡是违背这个原则,则不符合...因为服务器软件,或是 php 程序中存在漏洞都是难免的,在这种情况下,如果能正确设置 Linux 网站目录权限, php 进程权限,那么网站的安全性实际上是可以得到保障的。 那么,造成
  • Linux用户身份切换

    万次阅读 2016-08-09 19:37:07
    使用普通账号的安全性主要体现在两个方面: 防止因误操作而删除了系统重要文件; 创建一些系统账户专门用来启动某些服务,这样即使该服务被攻陷,系统仍然是安全的。 下面介绍两种Linux中切换用户身份的方式。身份...
  • Linux 下 Tomcat 环境搭建

    万次阅读 2021-06-25 10:20:58
    将 Java 的动态功能和 Java Enterprise 标准的安全性引入大型网络应用的开发、集成、部署和管理之中。 WebSphere 是 IBM 的软件平台。它是 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施。...
  • Linux总结

    千次阅读 多人点赞 2020-01-14 20:36:45
    二 、初探Linux 2.1 Linux简介 2.2 Linux诞生简介 2.3 Linux的分类 三 、Linux文件系统概览 3.1 Linux文件系统简介 3.2 文件类型与目录结构 四 、Linux基本命令 4.1 目录切换命令 4.2 目录的操作命令(增删改...
  • linux 权限

    千次阅读 2008-10-20 16:26:00
    权限分类linux是优秀的安全的文件系统,其安全性体现在系统中所有的文件都采用权限管理机制,只有合法的、有效的用户才能访问、修改和执行与权限对应得文件。在ubuntu中,每一个文件都有三层机制,即:访问限制、...
  • 搭建Linux虚拟机并编写简单程序

    万次阅读 多人点赞 2019-05-28 18:25:43
    本篇文章基于教程目的,主要描述Linux的发展历程以及Linux虚拟机搭建、运行方式。 正文: 现在越来越多IT行业公司要求熟练使用Linux平台下的编程技术,因为目前大部分主机使用Linux相关系统(Linux称为内核更确切一些...
  • Linux配置

    千次阅读 2015-12-31 09:01:57
    第3章 对Linux系统管理员的建议... 1 第4章 安装Linux操作系统... 2 第5章 初步认识Linux. 5 第6章 Linux系统的远程登陆... 13 第7章 Linux文件与目录管理... 19 第8章 Linux系统用户及用户组管理... 37 ...
  • Linux在中国蓬勃兴起已经两年有余,大大小小的Linux公司不下十几家,参与开发的人员和爱好者数不胜数。但迄今为止,Linux在中国并没有得到大规模的应用,真正盈利的Linux厂商也很少。在中国,Linux究竟应该选择什么...
  • aliyun飞天(apasara)的安全机制只有一层沙箱---安全性存疑,云计算中的虚拟化技术没有得到体现,提供的应用服务与apasara(相当于一个资源调度器和分布式文件系统管理器的作用)同处Linux执行环境,在安全性上个人觉得...
  • linux的入门介绍

    万次阅读 多人点赞 2019-06-13 15:00:58
    1. linux是一个开源、免费的操作系统,其稳定性、安全性、处理多并发已经得到 业界的认可,目前很多企业级的项目都会部署到Linux/unix系统上。 2. 常见的操作系统(win7、IOS、Android、Mac) 2.linux的应用领域 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 45,284
精华内容 18,113
关键字:

linux的安全性体现

linux 订阅