精华内容
下载资源
问答
  • Linux系统安全策略.doc

    2018-01-27 00:23:17
    Linux系统安全策略 详细分析Linux系统的安全机制,找出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的
  • Linux SSH 安全策略 限制 IP 登录方法,使用linux的朋友可以参考下
  • Linux服务器安全策略

    千次阅读 2018-10-12 15:04:02
    拒绝服务攻击基本原理就是利用合理的服务请求来占用过多的服务资源,从而使网络阻塞或者服务器死机,导致Linux服务器无法为正常用户提供服务。常见的服务攻击有拒绝服务攻击(Dos)和分布式拒绝服务攻击(DDos)。 ...

    1.常见的服务器攻击类型

    (1)密码暴力破解攻击

    密码暴力破解攻击的目的是破解用户的密码,从而进入服务器获取系统资源或者是进行破坏。

    (2)拒绝服务攻击

    拒绝服务攻击基本原理就是利用合理的服务请求来占用过多的服务资源,从而使网络阻塞或者服务器死机,导致Linux服务器无法为正常用户提供服务。常见的服务攻击有拒绝服务攻击(Dos)和分布式拒绝服务攻击(DDos)。

    (3)应用程序漏洞攻击

    主要是由软件漏洞所引起的,黑客首先利用网络扫描工具扫描目标主机的漏洞,然后根据扫描出的漏洞进行有针对性的实施攻击。

    2.防范攻击策略

    (1)网络安全流程

    客户端请求数据首先经历“网络传输安全”部分进入操作系统,接着进入操作系统安全部分,操作系统完全验证完成之后,进入到服务器内的应用软件安全部分,最后通过应用软件从服务器获取资源。

    (2)防范措施

    <1>网络传输安全

    网络传输安全一般有网络安全设备构成,主要有防火墙、网络入侵检测、路由器和交换机。

    IDS(网络入侵检测)按照一定的安全策略,对网络、系统的运行状况进行监控,尽可能的发现各种攻击企图、攻击行为或者是攻击结果,以保证网络资源的机密性、完整性和可用性。

    <2>操作系统安全

    操作系统安全是在服务器的本省进行一系列的安全设置和优化。我们可以对我们的系统内核定期升级和保持最新,系统自带软件保持最新,配置系统软件级别防火墙iptables防范策略,配置杀毒软件防范病毒、关闭无关的服务和端口,密码安全管理等。

    <3>应用软件安全

    应用软件安全是对服务器上运行的应用软件才程序本身进行的安全策略配置和优化。

    3.端口与服务

    在Linux系统下,系统总共定义了65536个可用端口,这些端口有分为两个部分,以1024作为分割点,分别是只有root用户才能够使用的端口和客户端的端口。

    在linux系统下,对于0---1023端口,都需要以root用户身份才能够启用,这些端口主要用于常见的通信服务中,例如21端口是给ftp服务的,23端口是预留给telnet服务的,25是留给mail服务的,80端口是预留给www服务的。我们可以查看在linux下 的/etc/services文件,得到端口与服务的对应列表。大于1024的端口主要是给客户端使用的,这些端口都是软件随机分配的。大于1024的端口是不受root用户控制的,对于经常使用的mysql端口,默认的是3306端口,只有Mysql用户启动的,1521这个端口是由Oracle使用的。

    (2)查看端口状态(netstat -tunl),如下图所示

     

    说明:Local Address 表示服务器内部联机启动的端口,Foreign Address 表示客户端联机启用的端口。

    展开全文
  • Linux用户密码策略

    2013-03-16 11:39:17
    描述如何制定Linux操作系统中的用户密码策略,保证系统的安全
  • Linux网络安全策略.pdf

    2021-09-06 22:55:14
    Linux网络安全策略.pdf
  • Linux服务器安全策略全接触之二——Web服务器安全策略.pdf
  • [Linux服务器安全策略详解].曹江华.扫描版(jb51.net)-4
  • Linux 系统是一种应用越来越广泛的网络操作系统为确保系统安全稳定的运 转在实际运用时应该采用适当的安全机制本文就此提出了切实可行的基于 Linux 系统的网络安全策略和保护措施 关键词 Linux 操作系统网络安全策略...
  • Linux服务器安全策略详解 关于linux服务器安全方面的一些讲解
  • Linux网格控制台主机的安全策略.pdf
  • Linux网络安全策略

    千次阅读 2017-11-14 23:46:00
    一、服务器安全: 1. 关闭无用的端口 任何网络连接都是通过开放的应用端口来实现的。如果我们尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。 首先检查你的inetd.conf文件。...

        一、服务器安全: 
      
        1. 关闭无用的端口 
      
        任何网络连接都是通过开放的应用端口来实现的。如果我们尽可能少地开放端口,就使网络攻击变成无源之水,从而大大减少了攻击者成功的机会。 
      
         首先检查你的inetd.conf文件。inetd在某些端口上守侯,准备为你提供必要的服务。如果某人开发出一个特殊的inetd守护程序,这里 就存在一个安全隐患。你应当在inetd.conf文件中注释掉那些永不会用到的服务(如:echo、gopher、rsh、rlogin、rexec、 ntalk、finger等)。注释除非绝对需要,你一定要注释掉rsh、rlogin和rexec,而telnet建议你使用更为安全的ssh来代替, 然后杀掉lnetd进程。这样inetd不再监控你机器上的守护程序,从而杜绝有人利用它来窃取你的应用端口。你最好是下载一个端口扫描程序扫描你的系 统,如果发现有你不知道的开放端口,马上找到正使用它的进程,从而判断是否关闭它们。 
      
        2. 删除不用的软件包 
      
         在进行系统规划时,总的原则是将不需要的服务一律去掉。默认的Linux就是一个强大的系统,运行了很多的服务。但有许多服务是不需要的,很容易引 起安全风险。这个文件就是/etc/inetd.conf,它制定了/usr/sbin/inetd将要监听的服务,你可能只需要其中的两个: telnet和ftp,其它的类如shell、login、exec、talk、ntalk、imap、pop-2、pop-3、finger、auth 等,除非你真的想用它,否则统统关闭。 
      
        3. 不设置缺省路由 
      
        在主机中,应该严格禁止设置缺省路由,即default route。建议为每一个子网或网段设置一个路由,否则其它机器就可能通过一定方式访问该主机 
      
        4. 口令管理 
      
         口令的长度一般不要少于8个字符,口令的组成应以无规则的大小写字母、数字和符号相结合,严格避免用英语单词或词组等设置口令,而且各用户的口令应 该养成定期更换的习惯。另外,口令的保护还涉及到对/etc/passwd和/etc/shadow文件的保护,必须做到只有系统管理员才能访问这2个文 件。安装一个口令过滤工具加npasswd,能帮你检查你的口令是否耐得住攻击。如果你以前没有安装此类的工具,建议你现在马上安装。如果你是系统管理 员,你的系统中又没有安装口令过滤工具,请你马上检查所有用户的口令是否能被穷尽搜索到,即对你的/ect/passwd文件实施穷尽搜索攻击。 
      
        5. 分区管理 
      
         一个潜在的攻击,它首先就会尝试缓冲区溢出。在过去的几年中,以缓冲区溢出为类型的安全漏洞是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞 占了远程网络攻击的绝大多数,这种攻击可以轻易使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权! 
      
         为了防止此类攻击,我们从安装系统时就应该注意。如果用root分区记录数据,如log文件,就可能因为拒绝服务产生大量日志或垃圾邮件,从而导致 系统崩溃。所以建议为/var开辟单独的分区,用来存放日志和邮件,以避免root分区被溢出。最好为特殊的应用程序单独开一个分区,特别是可以产生大量 日志的程序,还建议为/home单独分一个区,这样他们就不能填满/分区了,从而就避免了部分针对Linux分区溢出的恶意攻击。 
      
        6. 防范网络嗅探: 
      
         嗅探器技术被广泛应用于网络维护和管理方面,它工作的时候就像一部被动声纳,默默的接收看来自网络的各种信息,通过对这些数据的分析,网络管理员可 以深入了解网络当前的运行状况,以便找出网络中的漏洞。在网络安全日益被注意的今天.我们不但要正确使用嗅探器.还要合理防范嗅探器的危害.嗅探器能够造 成很大的安全危害,主要是因为它们不容易被发现。对于一个安全性能要求很严格的企业,同时使用安全的拓扑结构、会话加密、使用静态的ARP地址是有必要 的。 
      
        7. 完整的日志管理 
      
        日志文件时刻为你记录着你的系统的运行情况。当黑客光临时,也不能逃脱日志的法眼。所以黑客往往在攻击时修改日志文件,来隐藏踪迹。因此我们要限制对/var/log文件的访问,禁止一般权限的用户去查看日志文件。 
      
        另外,我们还可以安装一个icmp/tcp日志管理程序,如iplogger,来观察那些可疑的多次的连接尝试(加icmp flood3或一些类似的情况)。还要小心一些来自不明主机的登录。 
      
      完整的日志管理要包括网络数据的正确性、有效性、合法性。对日志文件的分析还可以预防入侵。例如、某一个用户几小时内的20次的注册失败记录,很可能是入侵者正在尝试该用户的口令。 
      
        8. 终止正进行的攻击 
      
         假如你在检查日志文件时,发现了一个用户从你未知的主机登录,而且你确定此用户在这台主机上没有账号,此时你可能正被攻击。首先你要马上锁住此账号 (在口令文件或shadow文件中,此用户的口令前加一个Ib或其他的字符)。若攻击者已经连接到系统,你应马上断开主机与网络的物理连接。如有可能,你 还要进一步查看此用户的历史记录,查看其他用户是否也被假冒,攻击音是否拥有根权限。杀掉此用户的所有进程并把此主机的ip地址掩码加到文件 hosts.deny中。 
      
        9. 使用安全工具软件: 
      
        Linux已经有一些工具可以保障服 务器的安全。如bastille linux。对于不熟悉 linux 安全设定的使用者来说,是一套相当方便的软件,bastille linux 目的是希望在已经存在的 linux 系统上,建构出一个安全性的环境。另外随着Linux病毒的出现,现在已经有一些Linux服务器防病毒软件,安装Linux防病毒软件已经是非常迫切 了。 
      
        10. 使用保留IP地址 : 
      
        ---- 维护网络安全性最简单的方法是保证网络中的主机不同外界接触。最基本的方法是与公共网络隔离。然而,这种通过隔离达到的安全性策略在许多情况下是不能接受 的。这时,使用保留IP地址是一种简单可行的方法,它可以让用户访问Internet同时保证一定的安全性。- RFC 1918规定了能够用于本地 TCP/IP网络使用的IP地址范围,这些IP地址不会在Internet上路由,因此不必注册这些地址。通过在该范围分配IP地址,可以有效地将网络流 量限制在本地网络内。这是一种拒绝外部计算机访问而允许内部计算机互联的快速有效的方法。 
      
        保留IP地址范围:---- 10.0.0.0 - 10.255.255.255 
      
        ---- 172.16.0.0 - 172.31.255.255 
      
        --- 192.168.0.0 - 192.168.255.255 
      
        来自保留IP地址的网络交通不会经过Internet路由器,因此被赋予保留IP地址的任何计算机不能从外部网络访问。但是,这种方法同时也不允许用户访问外部网络。IP伪装可以解决这一问题。 
      
        11、选择发行版本: 
      
        对于服务器使用的Linux版本,既不使用最新的发行版本,也不选择太老的版本。应当使用比较成熟的版本:前一个产品的最后发行版本如Mandrake 8.2 Linux等。毕竟对于服务器来说安全稳定是第一的。 
      
        12、补丁问题 
      
        你应该经常到你所安装的系统发行商的主页上去找最新的补丁。 
      
        二、网络设备的安全: 
      
        1. 交换机的安全 
      
         启用VLAN技术:交换机的某个端口上定义VLAN ,所有连接到这个特定端口的终端都是虚拟网络的一部分,并且整个网络可以支持多个VLAN。VLAN通过建立网络防火墙使不必要的数据流量减至最少,隔离 各个VLAN间的传输和可能出现的问题,使网络吞吐量大大增加,减少了网络延迟。在虚拟网络环境中,可以通过划分不同的虚拟网络来控制处于同一物理网段中 的用户之间的通信。这样一来有效的实现了数据的保密工作,而且配置起来并不麻烦,网络管理员可以逻辑上重新配置网络,迅速、简单、有效地平衡负载流量,轻 松自如地增加、删除和修改用户,而不必从物理上调整网络配置。 
      
        2.路由器的安全: 
      
        根据路由原理安全配置路由器路由器是整个网络的核心和心脏, 保护路由器安全还需要网管员在配置和管理路由器过程中采取相应的安全措施。 
      
        1. 堵住安全漏洞 
      
         限制系统物理访问是确保路由器安全的最有效方法之一。限制系统物理访问的一种方法就是将控制台和终端会话配置成在较短闲置时间后自动退出系统。避免 将调制解调器连接至路由器的辅助端口也很重要。一旦限制了路由器的物理访问,用户一定要确保路由器的安全补丁是最新的。 
      
        2. 避免身份危机 
      
      入侵者常常利用弱口令或默认口令进行攻击。加长口令、选用30到60天的口令有效期等措施有助于防止这类漏洞。另外,一旦重要的IT员工辞职,用户应该立即更换口令。用户应该启用路由器上的口令加密功能。 
      
        3. 禁用不必要服务 
      

        近来许多安全事件都凸显了禁用不需要本地服务的重要性。需要注意的是,一个需要用户考虑的因素是定时。定时对有效操作网络是必不可少的。即使用户确保了部署期间时间同步,经过一段时间后,时钟仍有可能逐渐失去同步。用户可以利用名为网络时

    本文转自写个博客骗钱博客51CTO博客,原文链接http://blog.51cto.com/dadonggg/1948654如需转载请自行联系原作者


    菜鸟东哥

    展开全文
  • Linux智能手机安全策略.pdf
  • 为了提高Linux操作系统的网络安全性,对Linux系统的安全机制、网络安全问题、主要攻击方式进行了详细分析,提出了基于Linux系统用户管理、文件管理、预防攻击、数据备份等切实可行的网络安全策略,增强了Linux系统的...
  • 主要介绍了阿里云linux服务器安全设置,主要是针对防火墙策略等一些补充
  • 取消linux 安全策略

    千次阅读 2018-02-08 16:45:26
    在搭建个人测试环境时,在没有分配用户组的情况,下ftp上传下载会提示无法启动传输,可以使用以下命令,取消安全策略。该命令只限个人开发环境使用。[root@localhost home]# getenforce Enforcing[root@localhost...

    在搭建个人测试环境时,在没有分配用户组的情况,下ftp上传下载会提示无法启动传输,可以使用以下命令,取消安全策略。该命令只限个人开发环境使用。

    [root@localhost home]# getenforce Enforcing
    [root@localhost home]# setenforce 0 


    展开全文
  • Linux安全策略机制-SELinux

    千次阅读 2017-11-14 10:44:01
    SELinux(Secure Enhanced Linux)安全增强的Linux是由美国国家安全局NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制。SELinux可以允许系统管理员更加灵活的来定义安全策略。 SELinux是一个内核...

    原文地址

    一、SELinux简介

    SELinux(Secure Enhanced Linux)安全增强的Linux是由美国国家安全局NSA针对计算机基础结构安全开发的一个全新的Linux安全策略机制。SELinux可以允许系统管理员更加灵活的来定义安全策略。

    SELinux是一个内核级别的安全机制,从Linux2.6内核之后就将SELinux集成在了内核当中,因为SELinux是内核级别的,所以我们对于其配置文件的修改都是需要重新启动操作系统才能生效的。

    现在主流发现的Linux版本里面都集成了SELinux机制,CentOS/RHEL都会默认开启SELinux机制。

    二、SELinux基本概念

    我们知道,操作系统的安全机制其实就是对两样东西做出限制:进程系统资源(文件、网络套接字、系统调用等)。

    在之前学过的知识当中,Linux操作系统是通过用户和组的概念来对我们的系统资源进行限制,我们知道每个进程都需要一个用户才能执行。

    在SELinux当中针对这两样东西定义了两个基本概念:域(domin)和上下文(context)。

    域就是用来对进行进行限制,而上下文就是对系统资源进行限制

    我们可以通过 ps -Z 这命令来查看当前进程的域的信息,也就是进程的SELinux信息:

    [root@xiaoluo ~]# ps -Z
    LABEL                             PID TTY          TIME CMD
    unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 2503 pts/0 00:00:00 su
    unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 2511 pts/0 00:00:00 bash
    unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 3503 pts/0 00:00:00 ps

    通过 ls -Z 命令我们可以查看文件上下文信息,也就是文件的SELinux信息:

    [root@xiaoluo ~]# ls -Z
    -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
    drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 Desktop
    -rw-r--r--+ root root system_u:object_r:admin_home_t:s0 install.log
    -rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log.syslog

    在稍后我们来探讨一下这些字段所代表的含义。

    三、策略

    在SELinux中,我们是通过定义策略来控制哪些域可以访问哪些上下文。

    在SELinux中,预置了多种的策略模式,我们通常都不需要自己去定义策略,除非是我们自己需要对一些服务或者程序进行保护

    在CentOS/RHEL中,其默认使用的是目标(target)策略,那么何为目标策略呢?

    目标策略定义了只有目标进程受到SELinux限制,非目标进程就不会受到SELinux限制,通常我们的网络应用程序都是目标进程,比如httpd、mysqld,dhcpd等等这些网络应用程序。

    我们的CentOS的SELinux配置文件是存放在 /etc/sysconfig/ 目录下的 selinux 文件,我们可以查看一下里面的内容:

    复制代码
    [root@xiaoluo ~]# cat /etc/sysconfig/selinux 
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted   // 我们的CentOS使用的策略就是目标策略
    复制代码

    四、SELinux模式

    SELinux的工作模式一共有三种 enforcing、permissive和disabled 

    enforcing  强制模式:只要是违反策略的行动都会被禁止,并作为内核信息记录

    permissive  允许模式:违反策略的行动不会被禁止,但是会提示警告信息

    disabled  禁用模式:禁用SELinux,与不带SELinux系统是一样的,通常情况下我们在不怎么了解SELinux时,将模式设置成disabled,这样在访问一些网络应用时就不会出问题了。

    上面也说了SELinux的主配置文件是 /etc/sysconfig/selinux 

    复制代码
    [root@xiaoluo ~]# cat /etc/sysconfig/selinux 
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=enforcing  //  我们看到SELinux默认的工作模式是enforcing
    # SELINUXTYPE= can take one of these two values:
    #     targeted - Targeted processes are protected,
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted 
    复制代码

    我们SELinux默认的工作模式是enforcing,我们可以将其修改为 permissive或者是disabled

    我们如果要查看当前SELinux的工作状态,可以使用 getenforce 命令来查看:

    [root@xiaoluo ~]# getenforce 
    Enforcing

    当前的工作模式是 enforcing,我们如果要设置当前的SELinux工作状态,可以使用 setenforce [0|1] 命令来修改,setenforce 0表示设置成 permissive,1表示enforcing

    注意:】通过 setenforce 来设置SELinux只是临时修改,当系统重启后就会失效了,所以如果要永久修改,就通过修改SELinux主配置文件

    复制代码
    [root@xiaoluo ~]# setenforce 0
    [root@xiaoluo ~]# getenforce
    Permissive
    
    [root@xiaoluo ~]# setenforce 1
    [root@xiaoluo ~]# getenforce 
    Enforcing
    复制代码

     

     

    [root@xiaoluo ~]# ls -Z
    
    -rw-------. root root system_u:object_r:admin_home_t:s0 anaconda-ks.cfg
    drwxr-xr-x. root root unconfined_u:object_r:admin_home_t:s0 Desktop
    -rw-r--r--+ root root system_u:object_r:admin_home_t:s0 install.log
    -rw-r--r--. root root system_u:object_r:admin_home_t:s0 install.log.syslog

     

    我们可以通过 ls -Z 这个命令来查看我们文件的上下文信息,也就是SELinux信息,我们发现其比传统的 ls 命令多出来了 system_u:object_r:admin_home_t:s0这个东西,我们现在就来分析一下这段语句所代表的含义

    system_u:object_r:admin_home_t:s0

    这条语句通过:划分成了四段,第一段 system_u 代表的是用户,第二段 object_r 表示的是角色,第三段是SELinux中最重要的信息,admin_home 表示的是类型,最后一段 s0 是跟MLS、MCS相关的东西,暂时不需要管

    system_u  指的是SElinux用户,root表示root账户身份,user_u表示普通用户无特权用户,system_u表示系统进程,通过用户可以确认身份类型,一般搭配角色使用。身份和不同的角色搭配时有权限不同,虽然可以使用su命令切换用户但对于SElinux的用户并没有发生改变,账户之间切换时此用户身份不变,在targeted策略环境下用户标识没有实质性作用。

    object_r  object_r一般为文件目录的角色、system_r一般为进程的角色,在targeted策略环境中用户的角色一般为system_r。用户的角色类似用户组的概念,不同的角色具有不同的身份权限,一个用户可以具备多个角色,但是同一时间只能使用一个角色。在targeted策略环境下角色没有实质作用,在targeted策略环境中所有的进程文件的角色都是system_r角色。

    admin_home  文件和进程都有一个类型,SElinux依据类型的相关组合来限制存取权限。

    五、实例

    下面我们通过一个实例来看一下上下文 context 的值和SELinux的访问控制

    比如说我搭建好了一个Web服务器,我们知道www服务器其默认网页存放位置是在 /var/www/html 这个目录下,我们如果在这里新建一个 index.html 测试页面,启动我们的www服务器,刷新就能见到其内容了,这时我们如果是在我们的 /home 目录下建立一个 index.html 页面,然后将其移动到 /var/www/html 这个目录下,再刷新页面,其还会不会正常显示呢?

    首先我们启动我们的 httpd 服务:

     

    [root@xiaoluo ~]# service httpd restart
    
    Stopping httpd:                                            [  OK  ]
    Starting httpd: httpd: apr_sockaddr_info_get() failed for xiaoluo
    httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                               [  OK  ]

     

    然后打开浏览器,输入我们的 127.0.0.1 来访问,此时看到的界面是Apache的测试界面:

     

    因为我们此时的 /var/www/html 下还不存在任何页面:

    [root@xiaoluo home]# ll /var/www/html/
    total 0

    接下来我们在 /home 目录下建立一个 index.html 的页面,然后将其移动到我们的 /var/www/html 目录下

    复制代码
    [root@xiaoluo home]# vi index.html
    
    This is a test about SELinux
    
    [root@xiaoluo home]# mv index.html /var/www/html/
    
    [root@xiaoluo html]# cd /var/www/html/
    [root@xiaoluo html]# ls
    index.html
    复制代码

    此时,按照正常情况,因为html目录下存在了一个index.html的页面,我们此时如果刷新浏览器页面,应该会跳转到index.html页面的

     

    但是事实我们发现,页面还是在这个测试页面,到底是为什么呢?这个就跟我们的SELinux的安全策略有关系了,我们可以去 /var/log/audit 这个目录下查看audit.log 这个文件,从中找出错误信息

    复制代码
    [root@xiaoluo html]# tail /var/log/audit/audit.log 
    
    type=CRED_DISP msg=audit(1369575601.957:289): user pid=3637 uid=0 auid=0 ses=44 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:setcred acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'
    type=USER_END msg=audit(1369575601.957:290): user pid=3637 uid=0 auid=0 ses=44 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_close acct="root" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'
    type=AVC msg=audit(1369575729.534:291): avc:  denied  { getattr } for  pid=3619 comm="httpd" path="/var/www/html/index.html" dev=sda2 ino=538738 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file
    type=SYSCALL msg=audit(1369575729.534:291): arch=c000003e syscall=4 success=no exit=-13 a0=7f34198634f8 a1=7fffbc87bee0 a2=7fffbc87bee0 a3=7f341985ff60 items=0 ppid=3612 pid=3619 auid=500 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
    type=AVC msg=audit(1369575729.535:292): avc:  denied  { getattr } for  pid=3619 comm="httpd" path="/var/www/html/index.html" dev=sda2 ino=538738 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file
    type=SYSCALL msg=audit(1369575729.535:292): arch=c000003e syscall=6 success=no exit=-13 a0=7f34198635c8 a1=7fffbc87bee0 a2=7fffbc87bee0 a3=1 items=0 ppid=3612 pid=3619 auid=500 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
    type=AVC msg=audit(1369575736.549:293): avc:  denied  { getattr } for  pid=3618 comm="httpd" path="/var/www/html/index.html" dev=sda2 ino=538738 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file
    type=SYSCALL msg=audit(1369575736.549:293): arch=c000003e syscall=4 success=no exit=-13 a0=7f34198634f8 a1=7fffbc87bee0 a2=7fffbc87bee0 a3=7f341985ff60 items=0 ppid=3612 pid=3618 auid=500 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
    type=AVC msg=audit(1369575736.549:294): avc:  denied  { getattr } for  pid=3618 comm="httpd" path="/var/www/html/index.html" dev=sda2 ino=538738 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:home_root_t:s0 tclass=file
    type=SYSCALL msg=audit(1369575736.549:294): arch=c000003e syscall=6 success=no exit=-13 a0=7f34198635c8 a1=7fffbc87bee0 a2=7fffbc87bee0 a3=1 items=0 ppid=3612 pid=3618 auid=500 uid=48 gid=48 euid=48 suid=48 fsuid=48 egid=48 sgid=48 fsgid=48 tty=(none) ses=1 comm="httpd" exe="/usr/sbin/httpd" subj=unconfined_u:system_r:httpd_t:s0 key=(null)
    复制代码

    从这个日志文件中,我们就可以看到刷新页面不出来index.html的原因就是因为我们的SELinux安全策略所导致的

    我们通过 ls -Z 命令先来看看刚移动过来的 index.html 的上下文信息

    [root@xiaoluo html]# ls -Z
    -rw-r--r--. root root unconfined_u:object_r:home_root_t:s0 index.html

    我们发现其第三个字段的类型是 home_root_t,这是为什么呢?因为我们刚才是在 /home 目录下创建的这index.html文件,所以其默认会继承上一层目录的SELinux的类型信息,我们可以查看一下 /home 这个目录的上下文信息:

    [root@xiaoluo html]# ls -Z -d /home/
    drwxr-xr-x. root root system_u:object_r:home_root_t:s0 /home/

    我们看到,其第三个字段和我们刚才的index.html相同,由此可以看出文件的context值是受上一级目录影响的,一般情况下它们会继承上一级目录的context值,但是,一些安装服务产生的文件context值会例外,不继承上级目录的context值,服务会自动创建它们的context值,比如没有装http服务的时候/var/目录下时没有www目录的,安装httpd服务后该服务会自动创建出所需的目录,并定义与服务相关的目录及文件才context值,它们并不会继承上级目录的context值

    [root@xiaoluo html]# ls -Z -d /var
    drwxr-xr-x. root root system_u:object_r:var_t:s0       /var
    
    [root@xiaoluo html]# ls -Z -d /var/www/html/
    drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/

    此时我们发现我们的 /var/www/html 这个目录的上下文类型是 httpd_sys_content_t, 而我们刚才移动过来的 index.html 的类型却是 home_root_t,因为我们此时的SELinux的工作模式是 enforcing,所以对于违反策略的行动是被禁止的,所以我们刷新页面并不会出现我们的index.html里面的信息,那么我们这个时候应该解决这个问题呢?

    通常解决办法由两种:

    ①直接将SELinux的工作模式设置成 disabled,这样就不会出现策略拦截问题了,但是这样的话我们的系统就没有SELinux安全防护了

    ②通过 restorecon 或者 chcon 命令来修复我们的文件上下文信息

    命令 restorecon 可以用来恢复文件默认的上下文:

    restorecon -R -v /var/www/html/index.html  //-R 表示递归,如果是目录,则该目录下的所有子目录、文件都会得到修复  

    命令 chcon 可以改变文件的上下文信息,通常我们使用一个参照文件来进行修改:

    chcon --reference=/var/www/html/index.html /var/www/html/test.html

    这里我们通过使用 restorecon 命令来恢复我们文件默认的上下文:

    [root@xiaoluo html]# restorecon -v index.html 
    restorecon reset /var/www/html/index.html context unconfined_u:object_r:home_root_t:s0->unconfined_u:object_r:httpd_sys_content_t:s0
    
    [root@xiaoluo html]# ls -Z
    -rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html

    我们看到,使用 restorecon 命令以后,index.html的上下文信息就继承了上一级目录 html 这个目录的上下文信息了,这个时候我们再刷新页面就可以看到我们index.html里面的内容了

     

    通过这个实例我们就明白了文件的上下文信息与SELinux之间的关系了,并知道了通过查看 /var/log/audit/audit.log 这个日志文件的信息找出错误所在,以及通过restorecon 命令来修复我们的文件的上下文信息

     

    本篇随笔主要讲解了SELinux的一些基本概念以及与SELinux相关的一些命令,对于SELinux更具体的一些内容以及知识将在以后学习的过程中记录下来!!!


    展开全文
  • Linux邮件服务器安全策略.pdf
  • Linux安全加固之账号密码安全策略

    千次阅读 2019-08-10 23:33:24
    Debian、Ubuntu 或 Linux Mint 系统上: $ sudo apt-get install libpam-cracklib CentOS、Fedora、RHEL 系统已经默认安装了 cracklib PAM 模块,所以在这些系统上无需执行上面的操作。 为了强制实施密码策略,...
  • 第四部分是Linux下开源数据库安全以及Linux下新闻组服务器构建、网络钓鱼的防范、Linux无线网络构建及其安全策略、使用Linux安全审计以及使用SeLinux保护Linux服务器的方法;第五部分是1个附录,介绍Linux服务器应急...
  • 第四部分是Linux下开源数据库安全以及Linux下新闻组服务器构建、网络钓鱼的防范、Linux无线网络构建及其安全策略、使用Linux安全审计以及使用SeLinux保护Linux服务器的方法;第五部分是1个附录,介绍Linux服务器应急...
  • Linux服务器的安全策略研究.pdf
  • 基于Linux系统的安全策略.pdf
  • Linux操作系统安全策略浅析.pdf
  • 主要介绍了阿里云linux服务器上使用iptables设置安全策略的方法,需要的朋友可以参考下
  • 基于Linux网络教学平台的安全策略.pdf
  • linux基本4步安全策略

    千次阅读 2018-08-17 14:44:06
    对于新的服务器,个人使用最基本的安全策略.一下是理论,需要参考配置如>>点我 1.新建一个乱七八糟的普通用户,修改普通用户密码.(最好新建文档,记录下用户名跟密码).用于远程. 2.禁止远程root用户,...
  • 解析Linux安全防护策略.pdf
  • Linux系统的安全策略与措施.pdf
  • 浅谈Linux系统的安全策略.pdf

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 136,250
精华内容 54,500
关键字:

linux查看安全策略列表

linux 订阅