Linux系统安全

Linux系统安全
Linux系统安全

1

本章重点内容

Linux 系统安全

防火墙技术基本知识

用iptales实现包过滤型防火墙

2

8.1 计算机网络安全基础知识8.1.1 网络安全的含义

网络安全从其本质上来讲就是网络上的信息安全,其所涉及的领域相当广泛。这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。下面给出网络安全的一个通用定义:

网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。

因此,网络安全在不同的环境和应用中会得到不同的解释。

(1)运行系统安全,即保证信息处理和传输系统的安全。包括计算机系统机房环境的保护,法律、政策的保护,计算机结构设计上的安全性考虑,硬件系统的可靠安全运行,计算机操作系统和应用软件的安全,数据库系统的安全,电磁信息泄露的防护等。它侧重于保证系统正常的运行,避免因为系统的崩溃和损坏而对系统存储、处理和传输的信息造成破坏和损失,避免由与电磁泄漏,产生信息泄露,干扰他人(或受他人干扰),本质上是保护系统的合法操作和正常运行。

3

(2)网络上系统信息的安全。包括用户口令鉴别、用户存取权限控制、数据存取权限、方式控制、安全审计、安全问题跟踪、计算机病毒防治、数据加密等。

(3)网络上信息传播的安全,即信息传播后的安全。包括信息过滤等。它侧重于防止和控制非法、有害的信息进行传播后的后果。避免公用通信网络上大量自由传输的信息失控。它本质上是维护道德、法律或国家利益。

(4)网络上信息内容的安全,即讨论的狭义的“信息安全”。它侧重于保护信息的保密性、真实性和完整性。避免攻击者利用系统的安全漏洞进行窃听、冒充和诈骗等有损于合法用户的行为。它本质上是保护用户的利益和隐私。

计算机网络安全的含义是通过各种计算机、网络、密码技术和信息安全技术,保护在公用通信网络中传输、交换和存储信息的机密性、完整性和真实性,并对信息的传播及内容具有控制能力。网络安全的结构层次包括:物理安全、安全控制和安全服务。

可见,计算机网络安全主要是从保护网络用户的角度来进行的,是针对攻击和破译等人为因素所造成的对网络安全的威胁。而不涉及网络可靠性、信息的可控性、可用性和互操作性等领域。

48.1.2 网络安全的特征

网络安全应具有以下四个方面的特征:

(1)保密性是指信息不泄露给非授权的用户、实体或过程,或供其利用的特性。

(2)完整性是指数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。

(3)可用性是指可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息。网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击。

(4)可控性是指对信息的传播及内容具有控制能力。

8.1.3 对网络安全的威胁

与网络连通性相关的有三种不同类型的安全威胁:

(1)非授权访问(Unauthorized Access )指一个非授权用户的入侵。(2)信息泄露(Disclosure of Information )指造成将有价值的和高度机密的信息暴露给无权访问该信息的人的所有问题。

(3)拒绝服务(Denial of Service )指使系统难以或不能继续执行任务的所有问题。

5

8.1.4 网络安全的关键技术

从广义上讲,计算机网络安全技术主要有:(1)主机安全技术:(2)身份认证技术:(3)访问控制技术:(4)密码技术:(5)防火墙技术:(6)安全审计技术:(7)安全管理技术:

8.1.5 Linux 系统的网络安全策略

1.简介

6

随着Internet/Intranet网络的日益普及,采用Linux网络操作系统作为服务器的用户也越来越多,这一方面是因为Linux是开放源代码的免费正版软件,另一方面也是因为较之微软的Windows NT网络操作系统而言,Linux系统具有更好的稳定性、效率性和安全性。在Internet/Intranet的大量应用中,网络本身的安全面临着重大的挑战,随之而来的信息安全问题也日益突出。以美国为例,据美国联邦调查局(FBI)公布的统计数据,美国每年因网络安全问题所造成的经济损失高达75亿美元,而全球平均每20秒钟就发生一起Internet计算机黑客侵入事件。一般认为,计算机网络系统的安全威胁主要来自黑客攻击和计算机病毒2个方面。那么黑客攻击为什么能够经常得逞呢?主要原因是很多人,尤其是很多网络管理员没有起码的网络安全防范意识,没有针对所用的网络操作系统,采取有效的安全策略和安全机制,给黑客以可乘之机。

由于网络操作系统是用于管理计算机网络中的各种软硬件资源,实现资源共享,并为整个网络中的用户提供服务,保证网络系统正常运行的一种系统软件。如何确保网络操作系统的安全,是网络安全的根本所在。只有网络操作系统安全可靠,才能保证整个网络的安全。因此,详细分析Linux 系统的安全机制,找出可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。

72.Linux 网络操作系统的基本安全机制

Linux网络操作系统提供了用户帐号、文件系统权限和系统日志文件等基本安全机制,如果这些安全机制配置不当,就会使系统存在一定的安全隐患。因此,网络系统管理员必须小心地设置这些安全机制。(1)Linux 系统的用户帐号(2)Linux 的文件系统权限(3)合理利用Linux 的日志文件

3.Linux 网络系统可能受到的攻击和安全防范策略

Linux操作系统是一种公开源码的操作系统,因此比较容易受到来自底层的攻击,系统管理员一定要有安全防范意识,对系统采取一定的安全措施,这样才能提高Linux系统的安全性。对于系统管理员来讲特别是要搞清楚对Linux网络系统可能的攻击方法,并采取必要的措施保护系统。

(1)Linux 网络系统可能受到的攻击类型

“拒绝服务”攻击、“口令破解”攻击、“欺骗用户”攻击、

“扫描程序和网络监听”攻击。

8

(2)Linux网络安全防范策略

仔细设置每个内部用户的权限、确保用户口令文件

/etc/shadow 的安全、加强对系统运行的监控和记录、合理划分子网和设置防火墙、定期对Linux 网络进行安全检查、制定适当的数据备份计划确保系统万无一失。

4.加强对Linux 网络服务器的管理,合理使用各种工具(1)利用记录工具,记录对Linux系统的访问(2)慎用Telnet 服务

(3)合理设置NFS 服务和NIS 服务(4)小心配置FTP 服务

(5)合理设置POP-3和Sendmail 等电子邮件服务(6)加强对WWW 服务器的管理,提供安全的WWW 服务(7)最好禁止提供finger 服务

98.1.6 Linux 网络安全工具

1.sudo

sudo是系统管理员用来允许某些用户以root身份运行部分/全部系统命令的程序。一个明显的用途是增强了站点的安全性,如果用户需要每天以root身份做一些日常工作,经常执行固定的几个只有root身份才能执行的命令,那么用sudo是非常适合的。

下面以Redhat 9.0为例,介绍sudo的安装及设置过程:

一般情况下,Redhat 9.0中都已经缺省安装了当前较新的版本sudo-1.6.6-3。如果你的系统中没有安装,你能从下面的地址中下载for Redhat Linux的rpm package。

ftp://ftp.rediris.es/sites/https://www.360docs.net/doc/229261923.html,/pub/redhat/linux/9/en/os/i386/RedH at/RPMS/sudo-1.6.6-3.i386.rpm

执行#rpm -ivh sudo* 进行安装,然后用/usr/sbin/visudo 编辑

/etc/sudoers文件。

sudoers 这个文件是由一个选择性的主机别名(host alias)节区,一个选择性的指令别名(command alias)节区以及使用者说明

(user specification)节区所组成的。所有的指令别名或主机别名必须

需以自己的关键字作为开始(Host_Alias/Cmnd_Alias)。

10使用者说明节区格式:

使用者接取群组[:接取群组]...

接取群组::=主机象征=[op]指令象征[,[op]指令象征]...主机象征::=一个小写的主机名称或主机别名。指令象征::=一个指令或指令别名。

op ::=逻辑的'!'否定运算元。

主机别名节区格式:

Host_Alias 主机别名=主机列表

Host_Alias ::=这是一个关键字。主机别名::=一个大写的别名。

主机列表::=以逗号间隔的一些主机名称。

指令别名节区格式:

Cmnd_Alias 指令别名=指令列表

Cmnd_Alias ::=这是一个关键字。指令别名::=一个大写的别名。

指令列表::=以逗号间隔的一些指令。

11

所有在“#”符号后面的文字都会被当作是注解。太长的行可以使用

倒斜线“\”字符来分成新的行。保留的别名“ALL ”在“{Host,Cmnd}_Alias ”里都可以使用。不要用“ALL ”来定义一个别名,这个别名无效。注意到“ALL ”暗示全部的主机和指令。可以使用这个语法从整个范围中减掉一些项目:user host=ALL,!ALIAS1,!/etc/halt...2.Sniffit

sniffit 是一个有名的网络端口探测器,可以配置它在后台运行,以检测哪些TCP/IP 端口上用户的输入/输出信息。最常用的功能是可以用它来检测系统的23(telnet)和110(pop3)端口上的数据传送以轻松得到系统的登录口令和mail 帐号密码,当然,sniffit 基本上是被破坏者所利用的工具。sniffit 的主页在

http://reptile.rug.ac.be/~coder/sniffit/sniffit.html

用户能从那里下载最新的版本,用户在根目录运行:

#tar xvfz sniff*

12

解开所有文件到对应目录后,先仔细阅读其中的README.FIRST文件,可能有些版本需要预先进行编译才能使用。用户能运行sniffit -i以交互式图形界面查看所有在指定网络接口上的输入/输出信息。例如:为了得到所有用户通过某接口a.b.c.d接收邮件时所输入的pop3帐号和密码,用户能运行:

#sniffit -p 110 -t a.b.c.d &#sniffit -p 110 -s a.b.c.d &

记录文件放在目录/usr/doc/sniffit*下面:log file 根据访问者的IP 地址,随机用高端端口号和用来检测的网络接口IP 地址和检测端口来命名。它利用了TCP/IP 协议天生的虚弱性,因为普通的telnet 和pop3所传的用户名和密码信息都是明文,不带任何方式的加密。因此对telnet/ftp ,可以用ssh/scp 来替代。sniffit 检测到的ssh/scp 信息基本上是一堆乱码,因此不需要担心ssh 所传送的用户名和口令信息会被第三方所窃取。3、nmap

nmap 是用来对一个比较大的网络进行端口扫描的工具,它能检测该服务器有哪些TCP/IP 端口目前正处于打开状态。可以运行它来确保已经禁止掉不该打开的不安全的端口号。nmap 的主页在

https://www.360docs.net/doc/229261923.html,/nmap/index.html

13

8.2 防火墙技术

8.2.1 什么是防火墙

防火墙是指设置在不同网络(如可信任的企业内部网和不可信的公共网)或网络安全域之间的一系列部件的组合,是不同网络或网络安全域之间信息的唯一出入口,能根据企业的安全政策控制(允许、拒绝、监测)出入网络的信息流,且本身具有较强的抗攻击能力。防火墙是提供信息安全服务,实现网络和信息安全的基础设施。在逻辑上,防火墙是一个分离器,一个限制器,也是一个分析器,有效地监控了内部网和Internet之间的任何活动,保证了内部网络的安全,如图8-1。

图8-1 防火墙逻辑位置示意图

14

使用防火墙地作用如下:(1)防火墙是网络安全的屏障(2)防火墙可以强化网络安全策略(3)对网络存取和访问进行监控审计(4)防止内部信息的外泄

8.2.2 防火墙的三种类型

1.数据包过滤型防火墙

数据包过滤(Packet Filtering)技术是在网络层对数据包进行选择,选择的依据是系统内设置的过滤逻辑,被称为访问控制表(Access Control Table)。通过检查数据流中每个数据包的源地址、目的地址、所用的端口号、协议状态等因素,或它们的组合来确定是否允许该数据包通过。数据包过滤防火墙逻辑简单,价格便宜,易于安装和使用,网络性能和透明性好,通常安装在路由器上。路由器是内部网络与Internet 连接必不可少的设备,因此,在原有网络上增加这样的防火墙几乎不需要任何额外的费用。

15

数据包过滤防火墙有两个主要缺点:一是非法访问一旦突破防火墙,即可对主机上的软件和配置漏洞进行攻击;二是数据包的源地址、目的地址以及IP 的端口号都在数据包的头部,很有可能被窃听或假冒。

2.应用级网关型防火墙

应用级网关(Application Level Gateways)是在网络应用层上建立协议过滤和转发功能。它针对特定的网络应用服务协议使用指定的数据过滤逻辑,并在过滤的同时,对数据包进行必要的分析、登记和统计,形成报告。应用级网关型防火墙的工作流程示意图请见图8-2

图8-2 应用级网关型防火墙的工作流程

数据包过滤和应用网关防火墙有一个共同的特点,就是仅仅依靠特定的逻辑判定是否允许数据包通过。一旦满足逻辑,则防火墙内外的计算机系统建立直接联系,防火墙外部的用户便有可能直接了解防火墙内部的网络结构和运行状态,这有利于实施非法访问和攻击。

163.代理服务型防火墙

代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or TCP Tunnels),也有人将它归于应用级网关一类。代理服务是针对数据包过滤和应用网关技术存在的缺点而引入的防火墙技术,其特点是将所有跨越防火墙的网络通信链路分为两段。防火墙内外计算机系统间应用层的“链接”,由两个终止代理服务器上的“链接”来实现,外部计算机的网络链路只能到达代理服务器,从而起到了隔离防火墙内外计算机系统的作用。此外,代理服务也对过往的数据包进行分析、注册登记,形成报告,同时当发现被攻击迹象时会向网络管理员发出警报,并保留攻击痕迹。使用代理服务型防火墙的网络结构示意图请见图8-3。

图8-3 代理服务型防火墙的网络结构

17

8.2.3 防火墙体系结构

1.双重宿主主机体系结构

双重宿主主机体系结构围绕双重宿主主机构筑。双重宿主主机至少

有两个网络接口。这样的主机可以充当与这些接口相连的网络之间的路由器;能够从一个网络到另外一个网络发送IP 数据包。然而双重宿主主机的防火墙体系结构禁止这种发送。因此IP 数据包并不是从一个网络(如外部网络)直接发送到另一个网络(如内部网络)。外部网络能与双重宿主主机通信,内部网络也能与双重宿主主机通信。但是外部网络与内部网络不能直接通信,它们之间的通信必须经过双重宿主主机的过滤和控制。如图8-4。

图8-4 双重宿主主机体系结构

18

2.被屏蔽主机体系结构

双重宿主主机体系结构防火墙没有使用路由器。而被屏蔽主机体系结构防火墙则使用一个路由器把内部网络和外部网络隔离开,如图8-5。在这种体系结构中,主要的安全由数据包过滤提供(例如,

数据包过滤用于防止人们绕过代理服务器直接相连)。

图8-5 被屏蔽主机体系结构

这种体系结构涉及到堡垒主机。堡垒主机是因特网上的主机能连接到的唯一内部网络上的主机。任何外部的系统要访问内部的系统或服务都必须先连接到这台主机。因此堡垒主机要保持更高等级的主机安全。

19

3.被屏蔽子网体系结构

被屏蔽子网体系结构添加额外的安全层到被屏蔽主机体系结构,即通过添加周边网络更进一步的把内部网络和外部网络(通常是Internet)隔离开。

被屏蔽子网体系结构的最简单的形式为,两个屏蔽路由器,每一个都连接到周边网。一个位于周边网与内部网络之间,另一个位于周边网与外部网络(通常为Internet )之间。这样就在内部网络与外部网络之间形成了一个“隔离带”。为了侵入用这种体系结构构筑的内部网络,侵袭者必须通过两个路由器。即使侵袭者侵入堡垒主机,他将仍然必须通过内部路由器。如图8-6

图8-6 被屏蔽子网体系结构20

8.2.4 包过滤技术

包过滤(Packet Filter)技术是在网络层中对数据包实施有选择的通过。根据系统内事先设定的过滤逻辑,检查数据流中每个数据包后,根据数据包的源地址、目的地址、TCP/UDP源端口号、TCP/UDP目的端口号及数据包头中的各种标志位等因素来确定是否允许数据包通过,其核心是安全策略即过滤算法的设计。

例如,用于特定的因特网服务的服务器驻留在特定的端口号的事实(如TCP端口23用于Telnet连接),使包过滤器可以通过简单的规定适当的端口号来达到阻止或允许一定类型的连接的目的,并可进一步组成一套数据包过滤规则。

包过滤技术作为防火墙的应用有三类:一是路由设备在完成路由选择和数据转发之外, 同时进行包过滤,这是目前较常用的方式;二是在工作站上使用软件进行包过滤, 这种方式价格较贵;三是在一种称为屏蔽路由器的路由设备上启动包过滤功能。

218.3 使用Linux 架构包过滤防火墙

8.3.1 包过滤型防火墙的一般概念

1.什么是包过滤

包过滤就是用一个软件查看所流经的数据包的包头(header),由此决定整个数据包是否允许通过。它可能会决定丢弃(DROP)这个包,可能会接受(ACCEPT)这个包(让这个包通过),也可能执行其他更复杂的动作。

在Linux 系统下,包过滤功能是内建于核心的(作为一个核心模块,或者直接内建),同时还有一些可以运用于数据包之上的技巧,不过最常用的依然是查看包头以决定是否允许通过。2.包过滤防火墙的工作层次

包过滤防火墙示意图如图8-7所示。包过滤是一种内置于Linux 内核路由功能之上的防火墙类型,其防火墙工作在网络层。

22

应用层数据应用层物理层数据链路层网络层

传输层应用层

物理层

数据链路层

网络层

传输层

数据应用层应用层图8-7 包过滤防火墙示意图

3.包过滤防火墙的工作原理

(1)使用过滤器。数据包过滤用在内部主机和外部主机之间,过滤系统是一台路由器或是一台主机。过滤系统根据过滤规则来决定是否让数据包通过。如图8-8所示,用于过滤数据包的路由器被称为过滤路由器。

23

图8-8 用过滤路由器过滤数据包

数据包过滤是通过对数据包的IP 头和TCP 或UDP 头的检查来实现的,主要信息有:

?IP 源地址?IP 目的地址

?协议(TCP 包、UDP 包和ICMP 包) ?TCP 或UDP 包的源端口?TCP 或UDP 包的目的端口?ICMP 消息类型

24

?TCP 包头中的ACK 位?数据包到达的端口?数据包送出的端口

(2)过滤器的实现。数据包过滤一般使用过滤路由器来实现,这种路由器与普通的路由器有所不同。

普通的路由器只检查数据包的目的地址,并选择一个达到目的地址的最佳路径。它处理数据包是以目的地址为基础的,存在着两种可能性:若路由器可以找到一条路径到达目的地址则发送出去;若路由器不知道如何发送数据包则发送一个“数据不可达”的数据包给发送者。过滤路由器会进一步地检查数据包,除了决定是否有到达目的地址的路径外,还要决定是否应该发送数据包,“应该与否”是由路由器的过滤策略决定并强行执行的。路由器的过滤策略主要有:

?拒绝来自某主机或某网段的所有连接。?允许来自某主机或某网段的所有连接。?拒绝来自某主机或某网段的指定端口的连接。

?允许来自某主机或某网段的指定端口的连接。

25?拒绝本地主机或本地网络与其他主机或其他网络的所有连接。?允许本地主机或本地网络与其他主机或其他网络的所有连接。?拒绝本地主机或本地网络与其他主机或其他网络的指定端口的连接。?允许本地主机或本地网络与其他主机或其他网络的指定端口的连接。4、包过滤器操作的基本过程

下面给出包过滤器的操作流程图,如图8-9所示。

存储包过滤规则

分析包报头字段IP 、UDP 、TCP

应用下一个包规则

包规则是否允许传输

包规则是否阻止传输

是否是最后一个包规

允许包

阻止包

图8-9 包过滤操作流程图

26

8.3.2 Netfilter/iptables 简介

1.Linux 下的包过滤防火墙管理工具

从1.1内核开始,Linux就已经具有包过滤功能了,随着Linux内核版本的不断升级Linux下的包过滤系统经历了如下3个阶段:

?在2.0的内核中,采用ipfwadm来操作内核包过滤规则。?在2.2的内核中,采用ipchains来控制内核包过滤规则。

?在2.4的内核中,采用一个全新的内核包过滤管理工具——iptables。

现在最新Linux内核版本是2.4.1,在2.4内核中不再使用ipchains,而是采用一个全新的内核包过滤管理工具--iptables。这个全新的内核包过滤工具将使用户更易于理解其工作原理,更容易被使用,当然也将具有更为强大的功能。

iptables作为一个管理内核包过滤的工具,iptables 可以加入、插入或删除核心包过滤表格(链)中的规则。实际上真正来执行这些过滤规则的

是Netfilter(Linux 核心中一个通用架构)及其相关模块(如iptables模块和nat模块等)。

27

2.Netfilter 的工作原理

Netfilter 是Linux 核心中的一个通用架构,它提供了一系列的

“表”(tables),每个表由若干“链”(chains)组成,而每条链中可以有一条或数条规则(rule)组成。因此,可以理解netfilter 是表的容器,表是链的容器,而链又是规则的容器,如图8-10所示。

图8-10 Netfilter总体结构

系统缺省的表为“filter ”,该表中包含了INPUT 、FORWARD 和OUTPUT 3个链。每一条链中可以有一条或数条规则,每一条规则都是这样定义的“如果数据包头符合这样的条件,就这样处理这个数据包”。当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件:如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则。最后,如果该数据包不符合该链中所有规则的话,系统就会根据该链预先定义的策略

(policy)来处理该数据包。

28数据包在filter 表中的流程如图8-11所示。有数据包进入系统时,系统首先根据路由表决定将数据包发给哪一条链,则可能有三种情况:

路由选择

FORWARD 链

INPUT 链OUTPUT 链

本地处理进程

入站包

出站包

图8-11 数据包在Filter表中的流程图

(1)如果数据包的目的地址是本机,则系统将数据包送往INPUT 链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没通过规则检查,系统就会将这个包丢弃;

(2)如果数据包的目的地址不是本机,也就是说,这个包将被转发,则系统将数据包送往FORWARD 链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没通过规则检查,系统就会将这个包丢掉;

(3)如果数据包是由本地系统进程产生的,则系统将其送往OUTPUT

链,如果通过规则检查,则该包被发给相应的本地进程处理;如果没

通过规则检查,系统就会将这个包丢掉。

29

Red Hat linux 9使用2.4版本地内核,并且内核的编译选项中包含对Netfilter 地支持,同时iptables 软件包是默认安装的,所以可以直接使用。另外,为了完成转发功能,必须打开系统内核的IP 转发功能,使Linux 变成路由器。

在Red Hat 中有两种方法:(1)修改内核变量ip_forward 。# echo “1”>/proc/sys/net/ipv4/ip_forward (2)修改脚本/etc/sysconfig/network 。将FORWARD_IPV4=false 改为FORWARD_IPV4=true 3.iptables 语法

iptables 的语法通常可以简化为下面的形式:

iptables [-t table] CMD [chain] [rule-matcher] [-j target]

30

iptables 工具的调用语法如下:(1)对链的操作(2)对规则的操作(3)指定源地址和目的地址(4)指定协议(5)指定网络接口(6)指定IP 碎片(7)指定非(8)TCP 匹配扩展(9)mac 匹配扩展(10)limit 匹配扩展(11)LOG 目标扩展(12)REJECT 目标扩展

31

4、iptables 与ipchains 的区别

?iptables 的缺省链的名称从小写换成大写,并且意义不再相同:INPUT 和OUTPUT 分别放置对目的地址是本机以及本机发出的数据包的过滤规则。?-i 选项现在只代表输入网络接口,输入网络接口则使用-o 选项。

?TCP 和UDP 端口现在需要用--source-port 或--sport (或--destination-port/--dport )选项拼写出来并且必须置于“-p tcp ”或“-p udp ”选项之后,因为分别是载入TCP 和UDP 扩展的。

?以前TCP 的“-y ”标志现在改为“—syn ”,并且必须置于“-p tcp ”之后。?原来的DENY 目标最后改为了DROP 。?可以在列表显示单个链的同时将其清空。?可以在清空内建链的同时将策略计数器清零。?列表显示链时可显示计数器的当前瞬时值。

?REJECT 和LOG 现在变成了扩展目标,即意味着成为独立的内核模块。?链名可以长达31个字符。

?MASQ 现在改为MASQUERADE ,并且使用不同的语法。REDIRECT 保留原名称,但也改变了所使用的语法。

328.3.3 包过滤防火墙配置实例

1.网络结构

本节要为如图8-12所示的网络结构建立一个包过滤防火墙。

这个网络结构假设内部网有有效的Internet 地址。为了将内部网段192.168.80.0/24与Internet 隔离,在内部网络和Internet 之间使用了包过滤防火墙。防火墙的内网接口是eth1(198.168.80.254),防火墙的Internet 接口是eth0(198.199.37.254)。另外,内网中有3

台服务器对外提供服务。

图8-12 包过滤防火墙结构图

33

WWW服务器:IP地址为198.168.80.251FTP服务器:IP地址为198.168.80.252E_mail 服务器:IP 地址为198.168.80.253 2.防火墙的建立过程

本例主要是对内部的各种服务器提供保护。下面采用编辑并执行可执行

脚本的方法建立此防火墙。具体过程如下:

(1)在/etc/rc.d/目录下用touch 命令建立空的脚本文件,执行chmod 命令添加可执行权限。

# touch /etc/rc.d/filter-firewall # chmod u+x /etc/rc.d/filter-firewall

(2)编辑/etc/rc.d/rc.local 文件,在末尾加上/etc/rc.d/filter-firewall 以确保开机时能自动执行该脚本。

# echo “/etc/rc.d/filter-firewall ”>>/etc/rc.d/rc.local

(3)使用文本编辑器编辑/etc/rc.d/filter-firewall 文件,插入如下内容:

34

# !/bin/bash # 在屏幕上显示信息

echo “Starting iptables rules …”# 开启内核转发功能

echo “1”>/proc/sys/net/ipv4/ip_forward

########################################################################### 定义变量

IPT=/sbin/iptables WWW-SERVER=198.168.80.251FTP-SERVER=198.168.80.252EMAIL-SERVER=198.168.80.253IP_RANGE=“198.168.80.0/24”

########################################################################### 刷新所有的链的规则$IPT –F

########################################################################### 首先禁止转发任何包,然后再一步步设置允许通过的包# 所以首先设置防火墙FORWARD链的策略为DROP $IPT –P FORWARD DROP

########################################################################### 下面设置关于服务器的包过滤规则

35

# 由于服务器/客户机交互是双向的,所以不仅仅要设置数据包# 出去的规则,还要设置数据包返回的规则#

# 1、下面建立针对来自Internet 数据包的过滤规则#

# (1)WWW 服务

# 服务端口为80,采用tcp 或utp 协议

# 规则为:eth0=>允许目的为内部网WWW 服务器的包

$IPT –A FORWORD –p tcp –d $WWW-SERVER –dport www –i eth0 –j ACCEPT #

# (2)FTP 服务

# 服务端口为:命令端口21,数据端口20# FTP 服务采用tcp 协议

# 规则为:eth0=>允许目的为内部网FTP 服务器的包

$IPT –A FORWORD –p tcp –d $FTP-SERVER –dport ftp –i eth0 –j ACCEPT #

# (3)EMAIL 服务

# 包含两个协议,一个是smtp ,另一个是pop3# 出于安全性考虑,通常只提供对内的pop3服务# 所以在这里我们只考虑针对smtp 的安全性问题

36

# smtp 端口25,采用tcp 协议

# 规则为:eth0=>允许目的为内部网E_mail 服务器的smtp 请求

$IPT –A FORWORD –p tcp –d $EMAIL-SERVER –dport smtp –i eth0 –j ACCEPT #

# 2、下面设置针对Intranet 客户的过滤规则

# 本例中防火墙位于网关的位置,所以主要是防止来自Internet 的攻击# 不能防止来自Intranet 的攻击

# 假如网络中的服务器都是基于Linux 的,也可以在每一部服务器上设置# 相关的过滤规则来防止来自Intranet 的攻击

# 对于Internet 对Intranet 客户的返回包,定义如下规则#

# (1)允许Intranet 客户采用被动模式访问Internet 的FTP 服务器

$IPT –A FORWORD –p tcp –s 0/0 –sport ftp-data –d $IP_RANGE –i eth0 –j ACCEPT #

# (2)接受来自Internet的非连接请求tcp包

$IPT –A FORWORD –p tcp –d 198.168.80.0/24 ! –syn –i eth0 –j ACCEPT #

# (3)接受所有udp 包,主要是针对oicq 等使用udp 的服务$IPT –A FORWORD –p utp –d 198.168.80.0/24 –i eth0 –j ACCEPT #

37# 3、然后接受来自整个Intranet 的数据包过滤,定义如下规则$IPT –A FORWORD –s 198.168.80.0/24 –i eth0 –j ACCEPT #

########################################################################### 处理IP 碎片

# 接受所有的IP 碎片,但采用limit 匹配扩展对其单位时间可以通过的# IP 碎片数量进行限制,以防止IP 碎片攻击

$IPT –A FORWORD –f –m limit --limit 100/s --limit –burst 100 –j ACCEPT # 说明:对不管来自哪里的IP 碎片都进行限制,允许每秒通过100个IP 碎片# 该限制触发的条件是100个IP 碎片#

########################################################################### 设置icmp 包过滤

# icmp 包通常用于网络测试等,故允许所有的icmp 包通过# 但是黑客常常采用icmp 进行攻击,如ping of death 等# 所以我们采用limit 匹配扩展加以限制

$IPT –A FORWORD –p icmp –m limit --limit 1/s --limit –burst 100 –j ACCEPT # 说明:对不管来自哪里的icmp 包都进行限制,允许每秒通过一个包# 该限制触发的条件是10个包

#########################################################################

38

(4)执行脚本,使之立刻生效

# /etc/rc.d/filter-firewall

通过执行上面的脚本,建立了一个相对完整的防火墙。该防火墙只

对外开放了有限的几个端口,同时提供了客户对Internet 的无缝访问,并且对IP 碎片攻击和icmp 的ping of death 提供了有效的防护手段。本章小结

linux系统安全配置要求

linux系统安全配置要求1.帐户安全配置要求 1.1.创建/etc/shadow口令文件 配置项名称设置影子口令模式 检查方法执行: #more /etc/shadow 查看是否存在该文件 操作步骤1、执行备份: #cp –p /etc/passwd /etc/passwd_bak 2、切换到影子口令模式: #pwconv 回退操作执行: #pwunconv #cp /etc/passwd_bak /etc/passwd 风险说明系统默认使用标准口令模式,切换不成功可能导致整个用户管理失效1.2.建立多帐户组,将用户账号分配到相应的帐户组 配置项名称建立多帐户组,将用户账号分配到相应的帐户组

检查方法1、执行: #more /etc/group #more /etc/shadow 查看每个组中的用户或每个用户属于那个组2、确认需要修改用户组的用户 操作步骤1、执行备份: #cp –p /etc/group /etc/group_bak 2、修改用户所属组: # usermod –g group username 回退操作 执行: #cp /etc/group_bak /etc/group 风险说明修改用户所属组可能导致某些应用无法正常运行1.3.删除或锁定可能无用的帐户 配置项名称删除或锁定可能无用的帐户 检查方法1、执行: #more /etc/passwd 查看是否存在以下可能无用的帐户: hpsmh、named、uucp、nuucp、adm、daemon、bin、lp 2、与管理员确认需要锁定的帐户 操作步骤 1、执行备份: #cp –p /etc/passwd /etc/passwd_bak

Linux操作系统的安全性

Linux操作系统的安全性 Linux操作系统的安全性是有目共睹的,相比Windows操作系统,到底Linux有哪些过人之处?这里我们就抛砖引玉,挑选三点重要的特点给大家说明,为什么说Linux操作系统安全性有其他系统无可比拟的优越性。 1、用户/文件权限的划分 用户权限在Windows操作系统里也不陌生,但是Linux操作系统的用户权限和文件权限要比Windows操作系统里严格有效。比较明显的一个案例就是,即便是你在Windows操作系统里设置了多用户,但是不同的用户之间通过一定的方式,还是能够互访文件的,这就失去了权限的意义。 LINUX文件权限针对的对象分三类(互斥的关系): 1. user(文件的拥有者) 2. group(文件拥有者所在的组,但不包括user) 3. other(其它用户,即user和group以外的) LINUX用一个3位二进制数对应着文件的3种权限(1表示有该权限,0表示无): 第1位读r 100 4 第2位写w 010 2 第3位执行x 001 1 查看权限 #ls -l 第一列,一共10位(drwxrwxrwx),就代表了文件的权限: 1)第一个d代表是一个目录,如果显示“-”,则说明不是一个目录 2)2-4代表user的权限 3)5-7代表group的权限 4)8-10代表other的权限 对于后9位: r 代表可读(read),其值是4 w 代表可写(write),其值是2 x 代表可执行(execute),其值是1 - 代表没有相应权限,其值是0 修改文件权限

# chmod [ugoa][+-=][rwx] 文件名 1)用户 u 代表user g 代表group o 代表other a 代表全部的人,也就是包括u,g和o 2)行动 + 表示添加权限 - 表示删除权限 = 表示使之成为唯一的权限 3)权限 rwx也可以用数字表示法,不过很麻烦要自己算,比如rw=6 常见权限 -rw——(600)只有所有者才有读和写的权限 -rw-r——r——(644)只有所有者才有读和写的权限,组群和其他人只有读的权限-rwx——(700)只有所有者才有读,写,执行的权限 -rwxr-xr-x (755)只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限 -rwx——x——x (711)只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限 -rw-rw-rw- (666)每个人都有读写的权限 -rwxrwxrwx (777)每个人都有读写和执行的权限,最大权限。 也许你会说,Windows操作系统里不也内置了防火墙,Linux系统内置防火墙有什么特殊之处。其实,iptables不仅仅是一个防火墙,而且即便是一个防火墙,它与我们常见的Windows操作系统下的防火墙相比,更加的专业性能更强大。 iptables是与Linux内核集成的IP信息包过滤系统,如果Linux系统连接到因特网或LAN、服务器或连接LAN和因特网的代理服务器,则该系统有利于在Linux系统上更好地控制IP 信息包过滤和防火墙配置。 netfilter/iptables IP信息包过滤系统是一种功能强大的工具,可用于添加、编辑和除去规则,这些规则是在做信息包过滤决定时,防火墙所遵循和组成的规则。这些规则存储在专用的信息包过滤表中,而这些表集成在Linux 内核中。在信息包过滤表中,规则被分组放在我们所谓的链(chain)中。

linux操作系统安全

贵州大学实验报告 学院:计信学院专业:信息安全班级:信息101

2、FTP服务器的安全配置 FTP为文件传输协议,主要用于网络间的文件传输。FTP服务器的特点是采用双端口工作方式,通常FTP服务器开放21端口与客户端进行FTP控制命令传输,这称为FTP的数据连接 实 验仪器linux操作系统中的安全配置:安装red hat linux9.0操作系统的计算机 linux中Web、FTP服务器的安全配置:一台安装Windows XP/Server 2003操作系统的计算机,磁盘格式配置为NTFS,预装MBSA工具 实验步骤linux操作系统中的安全配置 一、账户和安全口令 1、查看和添加账户 (1)使用系统管理员账户root登录文本模式,输入下面的命令行:使用useradd命令新建名为myusername的新账户 (2)使用cat命令查看账户列表,输入下列命令: [root@localhost root]# cat /etc/shadow 得出列表最后的信息为:

用如下命令切换到myusername账户,然后在使用cat命令查看账户列表,如果刚才的账户添加成功,那么普通用户myusername不能查看该文件的权限,提示如下: 2、添加和更改口令 切换到root用户,添加myusername的口令: [root@localhost root]# passwd myusername 3、设置账户管理 输入命令行[root@localhost root]#chage –m 0 –M 90 –E 0 –W 10 myusername,此命

令强制用户myusername首次登陆时必须更改口令,同时还强制该用户以后每90天更改一次口令,并提前10天提示 4、账户禁用于恢复 (1)输入下列命令行,以管理员身份锁定新建的myusername账户,并出现锁定成功的提示: 此刻如果使用su切换到myusername账户,则出现以下提示: 表明锁定成功 (2)输入以下命令行,检查用户nyusername的当前状态: (3)如果要将锁定账户解锁,输入以下命令行,并出现相应的解锁提示: 5、建立用户组,将指定的用户添加到用户组中 (1)输入以下命令,建立名为mygroup的用户组: (2)如果要修改用户组的名称,使用如下命令行: 将新建的用户组更名为mygroup1 (3)输入以下命令,将用户myusername加入到新建的组mygroup1中并显示提示:

linux安全策略

[摘要] Linux系统使用越来越广泛,关系Linux的安全越来越受到人们的重视,本文结合笔者在Linux系统安全管理方面的一些经验体会,从账户、密码策略、文件权限,日志管理、远程访问等5个方面,对linux系统安全谈谈自己的体会,供大家参考。 一、引言随着Internet/Intranet网络的日益普及,Linux作为一个现代的操作系统,正在各个方面得到广泛的应用。Linux在服务器、嵌入式等方面已经取得不俗的成绩,在桌面系统方面,也逐渐受到欢迎。于是Linux的安全问题也逐渐受到人们的重视。Linux是一个开放式系统,可以在网络上找到许多现成的程序和工具,这既方便了用户,也方便了黑客,因为他们也能很容易地找到程序和工具来潜入Linux系统,或者盗取Linux系统上的重要信息。因此,详细分析Linux 系统的安全机制,找出它可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。针对Linux的基本安全防护,笔者这里稍做介绍。二、Linux系统的安全策略1.Linux系统的用户账号策略管理员的工作中,相当重要的一环就是管理账号。在管理Linux 主机的账号时,一个最重要的方面就是确保每一个UID仅仅使用一次。另外就是设置有限的登陆次数来预防无休止的登陆攻击,通过编辑/etc/pam.d/system-auth,添加下面两句可以设置账户最多连续登陆5次,超过5次账户将被锁定,只有管理员才能帮助解锁。auth required pam_tally.so deny=5 account required pam_tally.so 2.密码策略要求(1)口令时效和口令长度的设置。口令时效和口令长度是一种系统机制,用于强制口令在特定的时间长度后失效。对用户来说,

UnixLinux系统的安全性概述

计算机网络安全技术题目:Unix/linux系统的安全性概述 班级:09 级达内班 组长:朱彦文学号:09700308 组员:冯鑫学号:09700310 组员:刘新亮学号:09700309 组员:梁小文学号:09700312 组员:龚占银学号:09700313 组员:高显飞学号:09700304 组员:陶志远学号:09700305 时间:2011年6月

目录 1、linux系统的介绍 (1) 2、服务安全管理 (1) 2.1、安全防护的主要内容 (1) 3、linux系统文件安全 (1) 3.1、文件相关权限的设置 (2) 3.2、SUID和SGID程序 (2) 4、用户访问安全 (2) 4.1、口令安全 (2) 4.2、登录安全 (3) 5、防火墙、IP伪装个代理服务器 (4) 5.1、什么是防火墙 (4) 5.2防火墙分类 (4) 6、服务器被侵入后的处理 (5) 7、日常安全注意事项 (5) 8、参考文献 (6)

Unix/linux系统的安全性概述 1、linux系统的介绍 Linux是一类Unix计算机操作系统的统称。Linux操作系统的内核的名字也是“Linux”。Linux操作系统也是自由软件和开放源代码发展中最著名的例子。严格来讲,Linux这个词本身只表示Linux内核,但在实际上人们已经习惯了用Linux 来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux得名于计算机业余爱好者Linus Torvalds。Linux,其安全性漏洞已经广为流传,黑客可以很容易地侵入。而网络服务器往往储存了大量的重要信息,或向大量用户提供重要服务;一旦遭到破坏,后果不堪设想。所以,网站建设者更需要认真对待有关安全方面的问题,以保证服务器的安全。 2、服务安全管理 2.1、安全防护的主要内容 对于网站管理人员而言,日常性的服务器安全保护主要包括四方面内容: 文件存取合法性:任何黑客的入侵行为的手段和目的都可以认为是非法存取文件,这些文件包括重要数据信息、主页页面 HTML文件等。这是计算机安全最重要的问题,一般说来,未被授权使用的用户进入系统,都是为了获取正当途径无法取得的资料或者进行破坏活动。良好的口令管理 (由系统管理员和用户双方配合 ),登录活动记录和报告,用户和网络活动的周期检查都是防止未授权存取的关键。 用户密码和用户文件安全性:这也是计算机安全的一个重要问题,具体操作上就是防止 已授权或未授权的用户相互存取相互的重要信息。文件系统查帐、su登录和报告、用户意识、加密都是防止泄密的关键。 防止用户拒绝系统的管理:这一方面的安全应由操作系统来完成。操作系统应该有能力 应付任何试图或可能对它产生破坏的用户操作,比较典型的例子是一个系统不应被一个有意 使用过多资源的用户损害 (例如导致系统崩溃 )。 防止丢失系统的完整性:这一方面与一个好系统管理员的实际工作 (例如定期地备份文件系统,系统崩溃后运行 fsck检查、修复文件系统,当有新用户时,检测该用户是否可能使系统崩溃的软件 )和保持一个可靠的操作系统有关 (即用户不能经常性地使系统崩溃 )。

中国电信Linux操作系统安全配置规范

中国电信Linux 操作系统安全配置规范 Specification for Linux OS Configuration Used in China Telecom 中国电信集团公司 发布 保密等级:公开发放

目录 目录..................................................................... I 前言.................................................................... II 1 范围 (1) 2 规范性引用文件 (1) 3 缩略语 (1) 3.1 缩略语.................................................. 错误!未定义书签。 4 安全配置要求 (2) 4.1 账号 (2) 4.2 口令 (3) 4.3 文件及目录权限 (5) 4.4 远程登录 (7) 4.5 补丁安全 (8) 4.6 日志安全要求 (9) 4.7 不必要的服务、端口 (10) 4.8 系统Banner设置 (11) 4.9 登陆超时时间设置 (12) 4.10 删除潜在危险文件 (12) 4.11 FTP设置 (12) 附录A:端口及服务 (13)

前言 为了在工程验收、运行维护、安全检查等环节,规范并落实安全配置要求,中国电信编制了一系列的安全配置规范,明确了操作系统、数据库、应用中间件在内的通用安全配置要求。 本规范是中国电信安全配置系列规范之一。该系列规范的结构及名称预计如下: (1)AIX操作系统安全配置规范 (2)HP-UX操作系统安全配置规范 (3)Solaris操作系统安全配置规范 (4)Linux操作系统安全配置规范(本标准) (5)Windows 操作系统安全配置规范 (6)MS SQL server数据库安全配置规范 (7)MySQL数据库安全配置规范 (8)Oracle数据库安全配置规范 (9)Apache安全配置规范 (10)IIS安全配置规范 (11)Tomcat安全配置规范 (12)WebLogic安全配置规范 本标准由中国电信集团公司提出并归口。

Linux系统安全

1 本章重点内容 Linux 系统安全 防火墙技术基本知识 用iptales实现包过滤型防火墙 2 8.1 计算机网络安全基础知识8.1.1 网络安全的含义 网络安全从其本质上来讲就是网络上的信息安全,其所涉及的领域相当广泛。这是因为在目前的公用通信网络中存在着各种各样的安全漏洞和威胁。从广义来说,凡是涉及到网络上信息的保密性、完整性、可用性、真实性和可控性的相关技术和理论,都是网络安全所要研究的领域。下面给出网络安全的一个通用定义: 网络安全是指网络系统的硬件、软件及其系统中的数据受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断。 因此,网络安全在不同的环境和应用中会得到不同的解释。 (1)运行系统安全,即保证信息处理和传输系统的安全。包括计算机系统机房环境的保护,法律、政策的保护,计算机结构设计上的安全性考虑,硬件系统的可靠安全运行,计算机操作系统和应用软件的安全,数据库系统的安全,电磁信息泄露的防护等。它侧重于保证系统正常的运行,避免因为系统的崩溃和损坏而对系统存储、处理和传输的信息造成破坏和损失,避免由与电磁泄漏,产生信息泄露,干扰他人(或受他人干扰),本质上是保护系统的合法操作和正常运行。 3 (2)网络上系统信息的安全。包括用户口令鉴别、用户存取权限控制、数据存取权限、方式控制、安全审计、安全问题跟踪、计算机病毒防治、数据加密等。 (3)网络上信息传播的安全,即信息传播后的安全。包括信息过滤等。它侧重于防止和控制非法、有害的信息进行传播后的后果。避免公用通信网络上大量自由传输的信息失控。它本质上是维护道德、法律或国家利益。 (4)网络上信息内容的安全,即讨论的狭义的“信息安全”。它侧重于保护信息的保密性、真实性和完整性。避免攻击者利用系统的安全漏洞进行窃听、冒充和诈骗等有损于合法用户的行为。它本质上是保护用户的利益和隐私。 计算机网络安全的含义是通过各种计算机、网络、密码技术和信息安全技术,保护在公用通信网络中传输、交换和存储信息的机密性、完整性和真实性,并对信息的传播及内容具有控制能力。网络安全的结构层次包括:物理安全、安全控制和安全服务。 可见,计算机网络安全主要是从保护网络用户的角度来进行的,是针对攻击和破译等人为因素所造成的对网络安全的威胁。而不涉及网络可靠性、信息的可控性、可用性和互操作性等领域。 48.1.2 网络安全的特征 网络安全应具有以下四个方面的特征: (1)保密性是指信息不泄露给非授权的用户、实体或过程,或供其利用的特性。 (2)完整性是指数据未经授权不能进行改变的特性,即信息在存储或传输过程中保持不被修改、不被破坏和丢失的特性。 (3)可用性是指可被授权实体访问并按需求使用的特性,即当需要时应能存取所需的信息。网络环境下拒绝服务、破坏网络和有关系统的正常运行等都属于对可用性的攻击。 (4)可控性是指对信息的传播及内容具有控制能力。 8.1.3 对网络安全的威胁 与网络连通性相关的有三种不同类型的安全威胁: (1)非授权访问(Unauthorized Access )指一个非授权用户的入侵。(2)信息泄露(Disclosure of Information )指造成将有价值的和高度机密的信息暴露给无权访问该信息的人的所有问题。 (3)拒绝服务(Denial of Service )指使系统难以或不能继续执行任务的所有问题。 5 8.1.4 网络安全的关键技术 从广义上讲,计算机网络安全技术主要有:(1)主机安全技术:(2)身份认证技术:(3)访问控制技术:(4)密码技术:(5)防火墙技术:(6)安全审计技术:(7)安全管理技术: 8.1.5 Linux 系统的网络安全策略 1.简介 6 随着Internet/Intranet网络的日益普及,采用Linux网络操作系统作为服务器的用户也越来越多,这一方面是因为Linux是开放源代码的免费正版软件,另一方面也是因为较之微软的Windows NT网络操作系统而言,Linux系统具有更好的稳定性、效率性和安全性。在Internet/Intranet的大量应用中,网络本身的安全面临着重大的挑战,随之而来的信息安全问题也日益突出。以美国为例,据美国联邦调查局(FBI)公布的统计数据,美国每年因网络安全问题所造成的经济损失高达75亿美元,而全球平均每20秒钟就发生一起Internet计算机黑客侵入事件。一般认为,计算机网络系统的安全威胁主要来自黑客攻击和计算机病毒2个方面。那么黑客攻击为什么能够经常得逞呢?主要原因是很多人,尤其是很多网络管理员没有起码的网络安全防范意识,没有针对所用的网络操作系统,采取有效的安全策略和安全机制,给黑客以可乘之机。 由于网络操作系统是用于管理计算机网络中的各种软硬件资源,实现资源共享,并为整个网络中的用户提供服务,保证网络系统正常运行的一种系统软件。如何确保网络操作系统的安全,是网络安全的根本所在。只有网络操作系统安全可靠,才能保证整个网络的安全。因此,详细分析Linux 系统的安全机制,找出可能存在的安全隐患,给出相应的安全策略和保护措施是十分必要的。

Linux系统安全加固手册

密级:商业秘密LINUX评估加固手册 安氏领信科技发展有限公司 二〇一五年十二月

目录 1、系统补丁的安装 (3) 2、帐户、口令策略的加固 (3) 2.1、删除或禁用系统无用的用户 (3) 2.2、口令策略的设置 (4) 2.3、系统是否允许ROOT远程登录 (5) 2.4、ROOT的环境变量设置 (5) 3、网络与服务加固 (5) 3.1、RC?.D中的服务的设置 (5) 3.2、/ETC/INETD.CONF中服务的设置 (6) 3.3、NFS的配置 (8) 3.4、SNMP的配置 (9) 3.5、S ENDMAIL的配置 (9) 3.6、DNS(B IND)的配置 (9) 3.7、网络连接访问控制的设置 (10) 4、信任主机的设置 (11) 5、日志审核的设置 (11) 6、物理安全加固 (11) 7、系统内核参数的配置 (13) 8、选装安全工具 (14)

1、系统补丁的安装 RedHat使用RPM包实现系统安装的管理,系统没有单独补丁包(Patch)。如果出现新的漏洞,则发布一个新的RPM包,版本号(Version)不变,Release做相应的调整。因此检查RH Linux的补丁安装情况只能列出所有安装的软件,和RH 网站上发布的升级软件对照,检查其中的变化。 通过访问官方站点下载最新系统补丁,RedHat公司补丁地址如下: https://www.360docs.net/doc/229261923.html,/corp/support/errata/ rpm -qa 查看系统当前安装的rpm包 rpm -ivh package1安装RPM包 rpm -Uvh package1升级RPM包 rpm -Fvh package1升级RPM包(如果原先没有安装,则不安装) 2、帐户、口令策略的加固 2.1、删除或禁用系统无用的用户 询问系统管理员,确认其需要使用的帐户 如果下面的用户及其所在的组经过确认不需要,可以删除。 lp, sync, shutdown, halt, news, uucp, operator, games, gopher 修改一些系统帐号的shell变量,例如uucp,ftp和news等,还有一些仅仅需要FTP功能的帐号,检查并取消/bin/bash或者/bin/sh等Shell变量。可以在/etc/passwd中将它们的shell变量设为/bin/false或者/dev/null等。也可以通过passwd groupdel 来锁定用户、删除组。 passwd -l user1锁定user1用户 passwd -u user1解锁user1用户 groupdel lp 删除lp组。

Linux 防火墙的功能及安全策略

Linux 防火墙的功能及安全策略 防火墙对流经它的网络通信进行扫描,这样能够过滤掉一些攻击,以免其在目标计算机上被执行。防火墙还可以关闭不使用的端口。而且它还能禁止特定端口的流出通信,封锁特洛伊木马。最后,它可以禁止来自特殊站点的访问,从而防止来自不明入侵者的所有通信。因此,防火墙的功能有以下几点: ●防火墙是网络安全的屏障 一个防火墙(作为阻塞点、控制点)能极大地提高一个内部网络的安全性,并通过过滤不安全的服务而降低风险。由于只有经过精心选择的应用协议才能通过防火墙,所以网络环境变得更安全。如防火墙可以禁止诸如众所周知的不安全的NFS 协议进出受保护网络,这样外部的攻击者就不可能利用这些脆弱的协议来攻击内部网络。防火墙同时可以保护网络免受基于路由的攻击,如IP选项中的源路由攻击和ICMP重定向中的重定向路径。防火墙应该可以拒绝所有以上类型攻击的报文并通知防火墙管理员。 ●防火墙可以强化网络安全策略 通过以防火墙为中心的安全方案配置,能将所有安全软件(如口令、加密、身份认证、审计等)配置在防火墙上。与将网络安全问题分散到各个主机上相比,防火墙的集中安全管理更经济。例如在网络访问时,一次一密口令系统和其它的身份认证系统完全可以不必分散在各个主机上,而集中在防火墙一身上。 ●对网络存取和访问进行监控审计 如果所有的访问都经过防火墙,那么,防火墙就能记录下这些访问并作出日志记录,同时也能提供网络使用情况的统计数据。当发生可疑动作时,防火墙能进行适当的报警,并提供网络是否受到监测和攻击的详细信息。另外,收集一个网络的使用和误用情况也是非常重要的。首先的理由是可以清楚防火墙是否能够抵挡攻击者的探测和攻击,并且清楚防火墙的控制是否充足。而网络使用统计对网络需求分析和威胁分析等而言也是非常重要的。 ●防止内部信息的外泄 通过利用防火墙对内部网络的划分,可实现内部网重点网段的隔离,从而限制了局部重点或敏感网络安全问题对全局网络造成的影响。再者,隐私是内部网络非常关心的问题,一个内部网络中不引人注意的细节可能包含了有关安全的线索而引起外部攻击者的兴趣,甚至因此而暴漏了内部网络的某些安全漏洞。使用防火墙就可以隐蔽那些透漏内部细节如Finger,DNS等服务。Finger显示了主机的所有用户的注册名、真名,最后登录时间和使用shell类型等。但是Finger显示的信息非常容易被攻击者所获悉。攻击者可以知道一个系统使用的频繁程度,这个系统是否有用户正在连线上网,这个系统是否在被攻击时引起注意等等。防火墙可以同样阻塞有关内部网络中的DNS信息,这样一台主机的域名和IP地址就不会被外界所了解。

linux系统安全加固方案

1.1适用范围..................................................................................错误!未指定书签。2用户账户安全加固......................................................................错误!未指定书签。 2.1修改用户密码策略...................................................................错误!未指定书签。 2.2锁定或删除系统中与服务运行,运维无关的的用户 ..........错误!未指定书签。 2.3锁定或删除系统中不使用的组 ..............................................错误!未指定书签。 2.4限制密码的最小长度........................................................错误!未指定书签。3用户登录安全设置......................................................................错误!未指定书签。 3.1禁止root用户远程登录..........................................................错误!未指定书签。 3.2设置远程ssh登录超时时间 ...................................................错误!未指定书签。 3.3设置当用户连续登录失败三次,锁定用户30分钟 ............错误!未指定书签。 3.4设置用户不能使用最近五次使用过的密码 ..........................错误!未指定书签。 3.5设置登陆系统账户超时自动退出登陆 ..................................错误!未指定书签。4系统安全加固..............................................................................错误!未指定书签。 4.1关闭系统中与系统正常运行、业务无关的服务 ..................错误!未指定书签。 4.2禁用“CTRL+ALT+DEL”重启系统...........................................错误!未指定书签。 4.3加密grub菜单 .........................................................................错误!未指定书签。

加强Linux系统安全的几大技巧

加强Linux系统安全的几大技巧 导读:计算机系统一旦被恶意软件攻击,就存在泄漏隐私数据的风险,除了使用安全杀毒软件外,还有做一些必要的安全防护措施,下面小编就给大家介绍下如何保护Linux系统的安全。 1. 使用SELinux SELinux是用来对Linux进行安全加固的,有了它,用户和管理员们就可以对访问控制进行更多控制。SELinux为访问控制添加了更细的颗粒度控制。与仅可以指定谁可以读、写或执行一个文件的权限不同的是,SELinux可以让你指定谁可以删除链接、只能追加、移动一个文件之类的更多控制。(LCTT译注:虽然NSA 也给SELinux贡献过很多代码,但是目前尚无证据证明SELinux有潜在后门)2禁用不用的服务和应用 通常来讲,用户大多数时候都用不到他们系统上的服务和应用的一半。然而,这些服务和应用还是会运行,这会招来攻击者。因而,最好是把这些不用的服务停掉。(LCTT译注:或者干脆不安装那些用不到的服务,这样根本就不用关注它们是否有安全漏洞和该升级了。) 3 订阅漏洞警报服务 安全缺陷不一定是在你的操作系统上。事实上,漏洞多见于安装的应用程序之中。为了避免这个问题的发生,你必须保持你的应用程序更新到最新版本。此外,订阅漏洞警报服务,如SecurityFocus。 4 使用Iptables Iptables是什么?这是一个应用框架,它允许用户自己为系统建立一个强大的防火墙。因此,要提升安全防护能力,就要学习怎样一个好的防火墙以及怎样使用Iptables框架。 5 检查系统日志 你的系统日志告诉你在系统上发生了什么活动,包括攻击者是否成功进入或试着访问系统。时刻保持警惕,这是你第一条防线,而经常性地监控系统日志就是为了守好这道防线。 6 考虑使用端口试探 设置端口试探(Port knocking)是建立服务器安全连接的好方法。一般做法

实验一:Linux用户管理与安全策略

操作系统安全Operating System Security Linux系统安全实验讲义 2013年12版本

实验一:Linux用户管理与安全策略1实验目的 ●通过实验熟悉Linux 环境下的用户操作管理; ●了解PAM工作原理和配置方法; ●掌握Linux 操作系统中常用用户安全策略配置; 2实验原理 2.1用户与用户组的基本体系 ●Linux提供了安全的用户名和口令文件保护以及强大的口令设置规 则,并对用户和用户组的权限进行细粒度的划分。 ●Linux 系统的用户和用户组的信息分别保存在 ?/etc/shadow ?/etc/passwd ?/etc/group ?/etc/gshadow 等几个文件中, ●/etc/passwd文件是系统用户认证访问权限的第一个文件。 文件的行格式如下:

login_name:password:uid:gid:user info: home_directory:default_shell ?其中: ?login_name:用户帐户,可以用1~8个字符表示,区分大小写, 避免使用数字开头; ?password:加密后的用户登录系统的密码; ?uid:系统指定给每个用户的唯一数值,即用户标识符,32位系统 中标识符在0~60 000之间。; ?gid:用户组标识; ?user info:用户注释信息(如用户身份、电话号码、特性等); ?home_directory:用户的主目录(家目录); ?default_shell:用户登录系统时默认执行的Shell程序,通常为 /bin/sh,表示执行Bourne Shell。如果是Korn Shell则用 /usr/bin/ksh。如果是C Shell则用/usr/bin/csh。如果是TC Shell 则用/usr/bin/tcsh(较少使用)。如果是Bash Shell则用 /usr/bin/bash(Linux系统) 特别说明: Linux 系统支持以命令行或窗口方式管理用户和用户组,本实验要求使用命令行方式实现,窗口方式为学生自行了解和掌握内容。 2.2PAM安全验证机制 详见课程讲义和教学课件

Linux安全策略配置

Linux安全策略配置

目录 一、关闭不必要的服务 (3) 二、控制使用开放的服务的用户 (4) 三、"/ETC/EXPORTS"文件设置 (6) 四、禁止使用控制台程序 (7) 五、"/ETC/ALIASES"文件 (8) 六、使系统对PING没有反应 (9) 七、不要显示系统提示信息 (10) 八、"/ETC/HOST.CONF"文件 (10) 九、防止源路由 (11) 十、使TCP SYN COOKIE保护生效 (12) 十一、特殊的帐号 (12) 十二、防止任何人都可以用SU命令成为ROOT (14) 十三、把RPM程序转移到一个安全的地方,并改变默认的访问许可 (15) 十四、登录SHELL (16) 十五、改变"/ETC/RC.D/INIT.D/"目录下的脚本文件的访问许可 (17) 十六、"/ETC/RC.D/RC.LOCAL"文件 (17)

一、关闭不必要的服务 Linux的服务分为两种,一种是由inetd超级服务器来启动的,如:ftp、telnet等;对于这些服务来说,系统并不总是运行telnetd、 ftpd等服务进程,而是由inetd进程监听这些服务的服务端口,一旦有服务请求到达就启动对应的服务进程(如:telnetd等)来提供服务。另外一种是独立的服务器,系统一直运行有对应的服务进程。 关闭这两种服务的方法是不同的,对于inetd启动的进程: inetd超级服务器的配置文件为/etc/inetd.conf,该文件指示了inetd应该监听哪些服务请求,并在请求时启动对应的服务。因此只要通过编辑 /etc/inetd.conf文件就可以实现关闭不需要的服务,例如希望关闭pop3服务,则在编辑/etc/inetd.conf文件以前文件中有如下的内容: pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d 要关闭pop3服务则在该行前添加注释符即可: #pop-3 stream tcp nowait root /usr/sbin/tcpd ipop3d 通过编辑该文件,实现关闭不需要的服务(例如我的系统我仅仅开放了telnet和ftp服务)以后,则需要重新启动inetd超级服务器。首先找到inetd 的进程号: [root@aid /etc]# ps ax|grep inetd 358 ? S 0:00 inetd 然后重新启动inetd服务器: [root@aid /etc]# kill -HUP 358 最后因为inetd.conf应该不允许普通用户读写,因此设置其访问权限为600: chmod 600 /etc/inetd.conf 而且该文件应该不被任何用户修改,包括root用户。因此为了防止用户错误的修改该文件,为该文件添加不可修改位: chattr i /etc/inetd.conf 对于独立服务器,则需要通过/usr/sbin/ntsysv命令来修改:

Linux系统安全配置基线

Linux系统安全配置基线 目录 第1章概述................................................... 错误!未指定书签。 1.1目的 .................................................... 错误!未指定书签。 1.2适用范围 ................................................ 错误!未指定书签。 1.3适用版本 ................................................ 错误!未指定书签。第2章安装前准备工作 ......................................... 错误!未指定书签。 2.1需准备的光盘 ............................................ 错误!未指定书签。第3章操作系统的基本安装 ..................................... 错误!未指定书签。 3.1基本安装 ................................................ 错误!未指定书签。第4章账号管理、认证授权 ..................................... 错误!未指定书签。 4.1账号 .................................................... 错误!未指定书签。 4.1.1用户口令设置........................................ 错误!未指定书签。 4.1.2检查是否存在除root之外UID为0的用户 ............... 错误!未指定书签。 4.1.3检查多余账户........................................ 错误!未指定书签。 4.1.4分配账户............................................ 错误!未指定书签。 4.1.5账号锁定............................................ 错误!未指定书签。 4.1.6检查账户权限........................................ 错误!未指定书签。 4.2认证 .................................................... 错误!未指定书签。 4.2.1远程连接的安全性配置 ................................ 错误!未指定书签。 4.2.2限制ssh连接的IP配置 ............................... 错误!未指定书签。 4.2.3用户的umask安全配置 ................................ 错误!未指定书签。 4.2.4查找未授权的SUID/SGID文件 .......................... 错误!未指定书签。 4.2.5检查任何人都有写权限的目录 .......................... 错误!未指定书签。 4.2.6查找任何人都有写权限的文件 .......................... 错误!未指定书签。 4.2.7检查没有属主的文件 .................................. 错误!未指定书签。 4.2.8检查异常隐含文件 .................................... 错误!未指定书签。第5章日志审计............................................... 错误!未指定书签。 5.1日志 .................................................... 错误!未指定书签。 5.1.1syslog登录事件记录.................................... 错误!未指定书签。 5.2审计 .................................................... 错误!未指定书签。 5.2.1Syslog.conf的配置审核................................. 错误!未指定书签。 5.2.2日志增强............................................ 错误!未指定书签。 5.2.3syslog系统事件审计.................................... 错误!未指定书签。第6章其他配置操作 ........................................... 错误!未指定书签。 6.1系统状态 ................................................ 错误!未指定书签。 6.1.1系统超时注销........................................ 错误!未指定书签。 6.2L INUX服务................................................ 错误!未指定书签。

Red Hat Linux服务器安全策略详解之MRTG安装配置

17.1 安装配置MRTG监控Linux网络 17.1.1 SNMP简介和MRTG监控过程 1.SNMP简介 SNMP是专门设计用于在 IP 网络管理网络节点(服务器、工作站、路由器、交换机及HUBS等)的一种标准协议,它是一种应用层协议。SNMP可以提高网络管理员管理网络的效率,发现并解决网络问题,以及规划网络增长。通过SNMP接收随机消息(及事件报告)网络管理系统获知网络出现问题。简单网络管理协议(SNMP)首先是由Internet工程任务组织(Internet Engineering Task Force)(IETF)的研究小组为了解决Internet上的路由器管理问题而提出的。许多人认为SNMP在IP上运行的原因是Internet运行的是TCP/IP,然而事实并不是这样的。SNMP被设计成与协议无关,所以它可以在IP, IPX, AppleTalk, OSI,以及其他用到的传输协议上被使用。 SNMP运行在UDP之上,它利用的是UDP的161/162端口。其中161端口被设备代理监听,等待接受管理者进程发送的管理信息--查询请求消息;162端口由管理者进程监听等待设备代理进程发送的异常事件报告--陷阱消息,如Trap等。SNMP提供三类操作,分别为Get、Set和Trap。 2.MRTG监控过程 服务器的操作系统多种多样,使用较多的一般是UNIX类或Windows类操作系统,它们都支持SNMP。例如,对于Windows系统而言,只要增加"管理和监控工具"中的Windows组件,就有了对SNMP的支持。 服务器启动SNMP后,就会开放161/162端口。管理员如果要监控这台机器,就要在自己的机器上安装MRTG,然后通过MRTG向服务器的161/162端口发出查询等请求,取得数据后会生成图形及HTML文档的流量报告。这就是MRTG简单的监控过程。 17.1.2 Linux下MRTG的安装与配置 MRTG通过SNMP从设备中得到使用设备(如交换机)的网络流量信息,并把PNG格式图形以HTML方式显示出来,便于网络管理员对所监控设备(交换机)进行管理。目前市场上可网管型(智能)的交换机都支持SNMP,可以通过MRTG进行网络流量监控。 下面以Red Hat Linux 9.0为例介绍MRTG的安装与配置。 1.安装基础软件包 要安装MRTG软件包必须首先安装gcc、perl、gd、libpng、zlib、freetype等软件包。 2.安装配置net-snmp 光盘里有net-snmp的安装RPM包,安装完以后,配置/etc/snmp/snmpd.conf文件,使其能配合MRTG工作。

相关文档
最新文档