首页>参考读物>金融学>金融工程习题

Linux 黑客防范:开放源代码安全指南
作者 : (美)James Stanger, Patrick T.Lane
译者 : 钟日红 宋建才 等
出版日期 : 2002-02-01
ISBN : 7-111-09529-4
定价 : 49.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 420
开本 : 16开
原书名 : Hack proofing Linux :A Guide to Open Source Security
原出版社:
属性分类: 店面
包含CD :
绝版 : 已绝版
图书简介

这是开放源代码安全的完全手册,是一本极具价值的学习Linux安全的参考书。它从开放源代码的角度,以一个黑客的思维全面介绍了Linux操作系统的攻击与防御,涵盖了Linux的安全知识。书中不仅注重Linux安全基本知识的讲解,而且介绍了许多安全常识、安全技巧、安全工具、系统漏洞等知识。
  本书语言生动、图文并茂,对于Linux安全、网络安全、系统管理等领域的从业人员具有实用价值。随书所附光盘中包括了众多实用程序。

图书前言

本书的目的是告诉你如何根据Internet上不同层次的安全级别配置Linux系统。本书提供了一些实用的命令以及常用开放源代码安全工具的使用指南。
  本书首先告诉你如何获得这些软件,然后教你如何用Ba8Tille应用程序来加固你的Linux操作系统,以使其安全运转完成你交给它的任务(比如,作为Web服务器,作为电子邮件服务器等等)。你还可以学习到如何让Lnux系统为你扫描系统漏洞,就像创建一个入侵检测系统(Intrusion Detection System)一样,使你的Unux系统记录可疑行为并对其做出反应。使用GnU PriVny Guard和FreeSWAN,从病毒防护到加密传输,你既可以使本地数据安全化,也可以使网络数据传输安全化。读完这本书以后,你就知道哪些开放源代码以及收费工具可以使你的Linux系统更加安全了。
  我们还用一些章节介绍了怎样嗅探和排除网络连接中的故障,怎样使用一次性密码(OneTime Passwrds,OTP)和 Kerbe。建立可靠认证。有了Squid代理服务器和 Ipchains/ Ipta-bles,Linux系统就可以用作防火墙;有了附带光盘上的软件工具加上书中的建议和提示,你就可以自信地在你的Linux系统上实现各种功能。
  我们集中介绍Linux平台上普遍使用的安全工具。重点放在这些工具的实际配置,而不是概念上的简单介绍。最后介绍出现错误的时候该怎么做。因此,这本书是一个宝贵的资源,能教你最高效地使用你的Linux系统。
  这本书最让人激动的地方在于它提供了非常实用的指导,帮你建立安全应用程序。从Gnu Privacy GUard(GPG)、Bastille到 FreeSWAN、Kerberos和防水墙故障检测工具,这本书告诉你怎样使用Linux的技巧来提供最重要的安全服务,包括加密、认证、连接控制和日志。
  这本书的结构分以下三个主要部分:
  锁定网络(第1章~第4章)。
  保证数据在网上安全传输(第5章~第8章)。
  用防火墙保护网络周边(第9章~第11章)。
  每一部分都有对特殊情况的最佳解决办法。虽然这本书的章节划分不是很明显,但这种粗糙的划分能帮助你在你的环境中实施安全措施。
  第1章探讨了开放源代码的概念,包括GNU通用公共许可证(General Public License,GPL),由www.gun.ofg(自由软件基金会)提供,然后是怎样用GPG和PGP(Pretty GixxiPrivacy)来加密传输或检验你从Web上下载文件的签名。还有如何监测网络的步骤。
  第2章介绍如何锁定操作系统,使之只具备你所希望得到的Internet服务。第3章介绍如何使用应用程序(如 AntiVir、Gnom Servicescan、 Nmp、 Rnma和 Nessus)来扫描系统漏洞。第4章介绍主机和基于网络的入侵监测器应用程序,包括Sonrt、Tripwire和Portsentry。第5章解释如何很好地使用网络嗅探器,包括Tcpdump、Ethereal和EtherApe。使用这些知识监测网络并知道表面现象的本质,你会成为一个优秀的网络安全管理员。
  第6章,介绍怎样使用一次性密码(One Time Passwords)和Kerberos。第7章,介绍怎样防止嗅探攻击。第8章,介绍通过配置FreeSWAN来创建IPSec。第9章介绍如何使用Ipchains或者Iptables创建自己的防火墙或包过滤器防火墙。第川章,介绍如何配置和ud来更加详细地监测和处理数据包。最后,第11章提供了检测你的防火墙配置的工具。
  开放源代码组织满足了对免费且功能强大的系统的需求,使你可以进行监测,提供网页,提供电子邮件服务,或者任何其他你想提供的Internet服务。如果可以很好地使用这些开放源代码组织提供的安全软件,就会感受到很多开发者是在为你工作。你会拥有更大的自由,因为可以从很多由经验丰富的开发者开发的经过广泛测试的安全工具中选择。你甚至可以选用(自己冒险)那些刚刚开发的还不太明确的工具。这就由你自己决定了。
  开放源代码操作系统和安全工具是一把双刃剑,虽然它是免费的,但是你必须花很多时间来处理软件的不兼容问题。就像以前说的,通过对本书的学习,配置工具和练习,你应该能把它的不方便最小化。也希望你在读了本书以后更加积极地加入到开放源代码软件的运动中,共同实现创建强大而好用软件的愿望。
                      —— James Stanger博士、MCSE、MCT
  关于本书作者
  Patrick T.Lane(MCSE、MCP+I、MCT、Network+、I-Net+、CIW)是一流的Internet技术培训及课程开发公司ProsoftTraining.com的内容设置师,是二十多门技术课程的作者,也是CIW Foundations及CIW Internetworking Professional系列的董事。在ProsoftTranining.com时,Patrick帮助创建了Internet Web管理者认证(Certified Internet Webmater,CIW)项目以及为Intel、Novell及Microsoft专i-Accelerate课程。
  James Stanger(Ph.D.、MCSE、MCT)在ProsoftTranining.com负责Linux、Security Server Administrator认证。自从1977年获得博士学位以来,他致力于审计Internet服务器并编写关于Internet服务器管理和安全方面的课件、书籍及杂志。James是IBM、Smptec、Evinci(www.evinci.org)、Pomeroy(www.pomeroy.com)、Securify(www.securify.com)、BrighamYoung University,以及 California State、San Bernardino的顾问。他专门研究棘手的防火墙。人侵检测、DNS、e-mail以及Web服务器实现方面的问题。
  关于本书光盘
  本书附带光盘一张,盘中包括书中要用到的文件和程序。这些文件包含了配置举例、包截获以及附加资源。还包括了本书中要用到的特定开放源代码程序,因此就可以在你自己的系统上一步一步地跟着每章的范例练习。
  光盘中的每一个文件都在书中有详细讨论,并且在有光盘图标时被引用。当需要一个特定文件或程序时,会指示你到光盘中去找。本书也告诉你可以下载最新软件版本以及可以找到程序相关资源的网址。比如,你可以从www.freeswan.org下载Free Secure Wide Area Network(FreeS/WAN),或使用CD中的版本。建议使用 CD中的版本,这会提高范例的成功率,因为本书出版后,有些程序做了改变。
  本书基于Red Hat Linux 7.x平台编写,因此,CD中的大部分文件都是Red Hat Package Mannger(.rpm)文件。也有很多的Tape AIchive(.ta)文件和GNU Zip(.gZi)文件。解压缩和安装这些文件的命令包含在它们的相关目录。为了挂接CD到你的Linux系统,请输入以下命令(对于Red Hat系统):
  mount-t iso9660/dev/cdrom/mnt/cdrom
  如果要卸载CD,请输入:
  umount/mnt/cdrom
  建议你在使用CD中的文件前,将文件拷贝到硬盘。如果你使用了其他版本的Linux,你需要修正书中范例,或者下载一个与所用版本的Linux兼容的开放源代码的可移植版本。
  当要获取书中范例文件时,应该先找到这个光盘图标。


作者简介

(美)James Stanger, Patrick T.Lane:暂无简介

译者简介

钟日红 宋建才 等:暂无简介

译者序

记得5年以前,为了买一张Linux的正版光盘,我跑遍了我所在的城市,最后还是通过邮寄才获得,那时候使用Linux的人很少,卖Linux软件的商家自然也少。如今的Linux再也不是5年以前的Linux了,各行各业都希望使用不担心“后门”,能够自主修改的操作系统。Linux的版本很多,Red Hat是使用最广的版本,这与其发布的形式和宣传力度是分不开的。随着Linux使用者的增加,其安全问题也越来越显得重要了。
  大家都知道,Linux是一种开放源代码的操作系统。开放源代码意味着,人们不用担心操作系统的后门。这么说网络的安全人员可以高枕无忧了吗?如果你这么认为,那就大错特错了。开放的源代码就意味着这种操作系统完全开放,不言而喻,安全问题也是相伴而生的。
  与众多喜欢去“书城踏青”的朋友一样,我很喜欢书店那种新书的清新感。当我试着在漫漫书海寻找一本介绍Linux系统安全方面的书籍时,却困惑了。我发现这个方面的书很少,并且大部分都只介绍了一些理论方面的知识,而没有真正地指导我们如何去使我们的网络变得更安全,也很少有书籍能够专业地从“开放源代码”的角度来透彻地讲解这种操作系统的安全问题。当我们看到这本书时,心里真的很激动。一方面,能够在翻译的同时系统地进行学习,另一方面,能够有机会将这么好的一本书奉献给广大的读者,这对我们来说真的是一个很难得的机会。
  本书重点讲述如何通过一些安全工具来使你的主机和网络安全化。作者将主机和网络的安全化工作分为三步:锁定你的网络;安全化网络数据传输;建立防火墙,保护网络边界。书中内容丰富,它告诉你如何以一个黑客的思维来预防黑客的进攻。通过演示,本书讲述了强化服务器、使用扫描工具、IDS的利用、如何截获网络流量、实现网络层加密和认证、如何创建防火墙等方面的防黑方案。同时本书也是一个很好的资源库,介绍了很多下载各种网络安全工具及源代码程序的网址。通过这些网址,你可以获得更多的有关网络安全方面的工具,并且参与到网络安全方面的讨论中去。另外,本书还配有光盘,光盘中木但有书中用到的程序及实例,还有本书内容的电子版,通过电子版的超级链接,你可以很方便地直接连接到相关网页,而无需再为寻找相关知识的网址而烦恼。
  这本书最主要的特点就是“所从即所得”(What you following is What Your Get)。因为在讲述每一个使网络安全化的步骤中,都有实现该步骤的实例以及练习。你只要跟着书中实例和练习一步一步地在你的服务器主机上操作,就可以轻松地掌握书中的方案。无论你现在是一有经验的网络管理者,还是一个刚刚对网络安全产生兴趣的新手,只要你想成为一名优秀的网络管理者,或者想使你的个人服务器更加安全,这本书都是一个很好的选择。
  全书由钟日红、宋建才、庄振运、张建军、张旭东、钱芳、李炎、孟萧、赵国峰、蔡强。曾庆、周文波、董涛、杨鸿、古字、常欣、江立云,郭星平、李二勇、陈松、卢毅然等翻译,梁静统稿。前导工作室全体工作人员为本书的翻译、校对、录排等工作付出了辛勤的劳动。由于时间仓促,且译者的水平有限,在翻译过程中难免会出现一些错误,敬请读者批评指正。
  如果你在阅读中碰到了什么问题,请同前导工作室联系: qiandao@263.net。我们会尽力解决你的问题。
                                    2001年9月

图书目录

第1章 开放源代码安全简介
1.1 简介
1.2 使用GNU通用公共许可证
1.2.1 收费的 GPL软件
1.2.2 在公司可以使用GPL软件冯
1. 3 处理开放源代码怪问题的技巧
1.3.1 普遍地缺少安装程序和配置支持
l.3.2 较少的或不定期的升级
1.3.3 命令行方式占统治地位
1.3.4 缺乏向后的兼容性和没有正规的发布版本
1.3. 5 升级途径不方便
1.3.6 供应库文件的冲突和有限的平台支持
1.3.7 接口的改变
1.3.8 未开发完的解决方案
1.4 应该选用RPM还是Tarball
1.4.1 Tarball
1.4.2 Raf ffet Pachag Mihagr(RPM)
1.4.3 Debian
1.5 获得开放源代码软件
1.5.1 SourceForge
1.5.2 Freshmeat
1.5.3 PacketStorm
1.5.4 SecurityFocus
1.5.5 那样下载安全吗
1.6 加密的简短回顾
1.6.l 对称密钥加密体制
1.6.2 非对称赛铜加密体制
1.7公钥和信任关系
1.7.l单向加密体制
1.7.2  GNU ffeV8cy Guar
1.7.3 超过公钥验征
1.7.4 使用GPG验证Trahall包的签名
1.7.5 使用Mdssum
1.8 监测过程
1.8.1 初定你的网络主机
1.8.2 在网上安全传输数据
1.8.3 保护网络周边
1.9 小结
1.10 解决方案快速回顾
1.11  常见问题
章2章 化操作系统
2.l 简介
2.2 升级操作系统
2.3 处理管理方面问题
2.4 手工禁止某些不必要的服务和端口
2.5 关掉喘口
2.5.l 众所周知的和已注册端口号码
2. 5.2 确定要禁止的端口
2.5.3 禁止端口
2.6 使用 Basille强化系统
2.6.1 Bastille的功能
2.6.2 Bastille的版本
2.6.3 使用Bastille
2.6.4 撤销Bastille的
2.7 用Sudo控制和监测root访问
2.7.1 系统需求
2.7.2 Sudo命令
2.7.3 下载 Sudo
2.7.4 安装Sudo
2.7.5 配置Sudo
2. 7.6 运行Sudo
2.7.7 不用密码
2.7.8 Sudo日志
2.8 管理日志文件
2. 9 使用日志增强器
2.9.1 SWATCH
2.9.2 Scanlogd
2.9.3 Syslogd-ng
2.10 小结
2.11 解决方案快速回顾
2.12 常见问题
第3章 系统扫描和检测
3.l 简介
3.2 使用 AntiVir Antivirus应用程序来检测病毒
3.2.1 理解Linux病毒防护
3.2.2 使用AntiVir
3.2.3 使用TkAntiVir
3.3 使用Zombie Zapper扫描系统来检查DDoS攻击软件
3.3.1 zombies如何工作以及如何停止
3.3.2 何时使用zombie zapper
3.4 使用 Gnome Service Scan端口扫描器扫描系统端口
3.4.l 需要的库
3.4.2 为什么使用瑞口扫描器
3.5 使用Nmap
3.5.1 Nmap仅仅是另外一个端口扫描器吗
3.5.2 获得并安装 Nmap
3.5.3 应用示例
3.5.4 在交互方式下使用Nmap
3.6 使用NmapFE作为图形化的FrontEnd
3.7 使用远端Nmap作为中心扫描设备
3.8 使用 Cheops监视你的网络
3. 8.1 Cheops如何工作
3.8.2 Cheops界面
3.9 使用Nessus来测试监控程序的安全性
3.9.1 Nessus客户端/报务器关系
3.9.2 配置插件
3.9.3 升级Nessus
3.9.4 理解不同的、分离的和连续的扫描
3.10 小结
3.11 解决方案快速回顾
3.12 常见问题
第4章 实现入侵检测系统
4.1 简介
4.2 理解IDS的策略和类型
4.2.1 IDS类型
4.2.2 基于网络的IDS应用和防火墙
4. 3 安装Tripwire检测文件改变
4.3.1 Tripwire依赖性
4.3.2 可获得世
4.3.3 部署Tripwire
4.3.4 Tripwire安装步骤
4. 4 为操作系统中的合法变化升级Tripwire
4.5 配置Tripwire来通知你关心的改变
4.6 部署PortSentry作为基于主机的IDS
4.6.1 重要的PortSentry文件
4.6.2 安装PortSentry
4.7 配置PortSentry来阻断用户
4.8 优化PortSentry来感知攻击类型
4.9 安装并配置Snort
4.9.1 可获得性
4.9.2 理解Snort规则
4.9.3 Snort变量
4.9.4 Snort文件和目录
4.9.5 Snort插件
4.9.6 启动Snort
4.10 作为基于网络的IDS运行Snort
4.11 配置Snort来日志数据库
4.11.1 控制日志和警报
4.11.2 获得信息
4.12 识别Snort Add-Ons
4.12.1 Snortsnarf
4. 12.2 为入侵数据库分析控制台
4.13 小结
4.14 解决方案快速回顾
4.15 常见问题
第5章 用嗅探器诊断网络故障
5.l 简介
5.2 理解包分析和TCP握手协议规范
5. 3 用Tcpdump生成过滤器
5.4 配置Ethereal来截获网络数据包
5.4. 1 Ethereal选项
5.4.2 Etherml过滤器
5.4.3 配置Ethereal截获数据包
5.5 使用EtherApe查看主机间网络流量
5. 6 小结
5. 7 解决方案快速回顾
5.8 常见问题
第6章 网络认证与加密
6.l 简介
6.2 理解网络认证
6.3 创建认证和加密方案
6.4 实现一次性密码
6.4.1 OPIE取代哪些文件
6.4.2 OPIE如何工作
6.4.3 OPIE文件和应用程序
6.4.4 使用Opieinfo和Opiekey来产生列表
6. 4.5 安装OPIE
6.4.6 卸载 OPIE
6.5 实现 Kerberos第五版
6.5.1 Kerberos为何如此庞大
6.5.2 Kerberos术语
6. 5.3  Kerberos主信息条
6.5.4  Kerberos认证过程
6.5. 5 信息如何穿过网络
6.5.6 创建 Kerberos数据库
6.5.7 使用Kadmin.loca1
6.6 使用kadmin以及创建Kerberos用户密码
6.6.1 设置策略(policy)
6.6.2 使用Kinit
6.6.3 管理Kerbeim客户信任状
6.6.4 kdestroy命令
6.7 通过kadrnin命令建立Kerberos客户信任关系
6.8 登录一个Kerberos主机监控程序
6.8.1 常见Kereros客户端疑问及其解决方案
6.8.2 Kerberos客户应用程序
6.8.3 Kerberos认证和 klogin
6.9 小结
6.10 解决方案快速回顾
6.11 常见问题
第7章 通过加密避免嗅探攻击
7.1 简介
7.2 理解网络加密
7.3 截获并分析未加密网络流量
7.4 用OpenSSH对两个主机间的数据流加密
7. 5 安装OpenSSH
7.6 配置SSH
7.7 通过实现SSH使在不安全网络传输数据安全化
7.8 截获并分析加密后网络流量
7.9 小结
7.10 解决方案快速回顾
7.11 常见问题
第8章 创建虚拟专用网
8.1 简介
8.2 VPN安全隧道技术
8.2.1 远距离工作者VPN解决方案
8.2.2 路由器一路由器WN解决方案
8.2.3 主机-主机VPN解决方案
8.2.4 隧道技术协议
8.3 阐述IP安全体系结构
8.3.1 VPN隧道技术协议中使用IPSec
8.3.2 因特网密钥交换协议
8.4 使用FreeS/WAN创建虚拟专用网
8.4.1 下载并解压FreeS/WAN
8.4.2 编译内核运行FreeS/WAN
8.4.3 重新将FreeS/WAN编译到新内核中
8.4.4 配置 FreeS/WAN
8.5 小结
8.6 解决方案快速回顾
8.7 常见问题
第9章 用Ipchains和Iptables实现防火墙
9.1 简介
9.2 理解为什么需要防火墙
9.3 配置IP转发和伪装
9.4 配置防火墙过滤网络数据包
9.5 理解Linux防火墙中的表和链
9.5.1 内置目标和用户定义链
9. 5.2 使用Ipehains伪装连接
9.5.3 使用Iptabes伪装连接
9.6 在防火墙中记录数据包
9.6.1 设置记录限制
9.6.2 增加和去除包过滤规则
9.6.3 在IpChains和Iptabes中重走向端口
9.7 配置防火墙
9.8 计算带宽利用
9. 9 使用和获取自动防火墙脚本和图形界面防火墙工具
9.10 小结
9.11 解决方案快速回顾
9.12 常见问题
第10章 配置Squid Web代理缓存服务器
10.1 简介
10.2 代理服务器方案的好处
10.2.1 代理缓存
10.2.2 网络地址转换
10. 3 包过滤器和代理服务器之间的区别
10.4 实现Squid Web代理缓存服务器
10.4.l 代理缓存系统要求
10.4.2 安装Squid
10.4.3 配置Squid
10.4.4 启动和测试Squid
10.5 配置代理客户机
10.5.1 配置Netscape Navigator和Lynx
10.5.2 配置Internet Explorer
10.6 小结
10.7 解决方案快速回顾
10.8 常见问题
第11章 维护防火墙
11.l 简介
11.2 测试防火墙
11.3 用Telnet、Ipchains、Netcat和SendIP探测防火墙
11.3.1 Ipchains
11.3.2 Telnet
11.3.3 Netcat
11.3.4 SendIP
11. 4 理解防火墙日志、拦截和警告选项
11.4.1 Firewall be Inemon
11.4.2 Fwlogwatch
11.4.3 使Fwlogwatch自动化
11.4.4 用CGI脚本使用Fwlogwatch
11.5 获取另外的防火墙日志工具
11. 6 小结
11.7 解决方案快速回顾
11.8 常见问题
附录A Bastille日志
附录B GNU通用公共许可证(GPU)


教学资源推荐
作者: (加)约翰·赫尔(John C.Hull) 著
参考读物推荐
作者: [美]威廉·斯托林斯 (William Stallings) 著