热门标签 | HotTags
当前位置:  开发笔记 > 前端 > 正文

实用Linux安全性事项

文章标题:实用Linux安全性事项。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类
    安全性是一个庞大和具有挑战性的主题,但每个负责服务器端工作的人都应当知道基本步骤。Cameron 概括了一些使您的用户帐户清洁和安全的方法。

    安全性是一大难题。它不会一成不变,而且很难知道它需要扩展到多大程度:如果您不小心的话,当您的老板真正想要的是不让看门人看到他的年度预算时,您才会最终相信他需要理解安全性的好处。

    不管在计算安全性的所有方面跟上潮流是多么的具有挑战性,毕竟有几个领域已经足够成熟,值得进行系统地学习。对于任何使用 Linux 服务器的人,我建议他学习的第一个领域是帐户管理。

注意您的用户

    在第一批专门介绍 Linux 管理和编程的书籍中,许多都包括关于“用户管理”或“帐户管理”的一章。它们的意思非常明确:如何为使用您主机的人设置和维护计算帐户和组关系。

    在那时,“使用”必然意味着“登录”。帐户管理的全部工作就是:使用诸如 useradd 、 chsh 等命令来配置 Linux 帐户,以便于由同部门开发人员占多数的用户群使用。/etc/passwd 及其 API 是 Linux 专家的关注重点。

    那个时代早已成为过去,我对大多数服务器提出的第一个建议就是清除 /etc/passwd 的大部分内容。我的意思是:由于历史原因,大多数电子邮件服务器、Web 服务器、文件服务器等,都用 /etc/passwd 管理它们的用户访问。我认为这通常都是一个错误。在早些时候,当可能有十几个或二十几个工程师共享一台高端工作站时,这是一种明智方式。但是,当一台电子邮件服务器可能要处理几万名用户(他们中的大多数只是把计算当成和饮水器或电话系统一样的公用设施)的邮箱时,传统的 /etc/passwd 方式就是一个错误。

    依靠 /etc/passwd 当然是可能的。它经历了足够的修补和调整,足以应付令人惊讶的工作量。但不是必须如此。如果您将用户帐户移到专门的数据存储,如 LDAP(轻量级目录访问协议)甚至 RDBMS(关系数据库管理系统)数据存储,您可以在可伸缩性、安全性和维护方面受益。将 /etc/passwd 限制为只供少数真正需要登录的开发人员和管理员使用。

    这一实践在安全性方面有很大好处,因为服务(电子邮件和 Web 等)用户的忙闲度与开发人员的完全不同。一旦您已设置好了一台新的服务器,它的 /etc/passwd 就不应经常更改。监控它是否被更新 — 特别是篡改 — 是一项简单的任务。但是,如果您正在运行一个较大的服务器,那么每天都会有几个新的和过期的电子邮件帐户更改。需要将这些帐户从 /etc/passwd 赋予的更大的访问权隔离开来。

    构建一个替代性帐户数据存储是一个认真而严肃的建议吗?的确如此,这确实令人惊讶。为了使由无需登录的用户占多数的非常庞大的 /etc/passwds 正常工作,过去几年已经投入了大量的工作。如果您确实决定编写自己的帐户认证,并且依靠象 sendmail 这样的传统电子邮件程序,那么您很可能发现自己正在为 SMTP、POP3 和 IMAP4 服务器编写更改。

    那些障碍常常使开发人员倾向于使用现成的软件。我的习惯是使用别人已编写好而我可以重用的解决方案。但是,与这些业界使用的服务器不同的一点在于:我还是常常需要定制它们 — 例如,设置特殊消息目录、日志记录信息或使用记帐。对我来说最重要的一点是使安全性考虑事项模块化。我希望能够将开发人员和管理员帐户与最终用户服务完全分开地加以管理。通过将后者从 /etc/passwd 清除,我可以很容易地锁定一方而不会影响另一方。

使策略自动化

    和将开发人员帐户与用户服务分开几乎同样重要的是使策略自动化。为创建和删除帐户 — 既包括开发人员(/etc/passwd)的也包括最终用户(电子邮件、Web 和数据库等)的 — 建立明确而详细的过程。尽管将这些纳入可执行文件是很好的规定,但并不完全有必要。重要的是过程是可理解的和明确的。不小心的帐户创建和删除 总是会留下安全性漏洞。应当与人力资源、客户支持或其它相关部门一起检查您的过程。如果不亲身体验替代方案,那么您很难认识到这是多么关键。

    当您没有为添加和除去用户帐号编写过程时,则总会出现这样的结果:假定新员工周一报到,那么他或她可能到周五仍不能访问其公司文件。或者,某人辞职,在假日聚会做了道别,可在二月份开始时仍在检索特殊用途的公司资产。

    帐户自动化一个附带的好处是它鼓励更加彻底的验证。如果开发人员没有用不同特性配置帐户的方便办法,他们很可能不会执行那些预计将使配置发生变化的应用程序。

    我最近亲身经历了这样的情况。我因某个紧急事件而被召来,当时实现小组实际上在“正确地”允许经理查看雇员业绩评审 — 甚至包括那些不属于他们管理的雇员!尽管听起来可笑,但这是典型的安全性问题。它甚至在分析和设计评审期间被指出过几次。虽然每次都向决策者反映了这个问题,但由于它是巨大而混乱的问题集合的一部分,所以它每次都在没有明确决议的情况下被忽略。

    只有当一位支持专家最终建立起一个一般实例的具体示例(在该示例中有几位经理,每位经理有多份雇员报告)时,错误才得到应有的注意。不要临阵磨枪;要定期对所有种类的用户帐户的配置进行彻底的测试。

保持警觉

    安全性最困难的部分,至少对我们中的许多人而言,是如何避免犯错。安全性是属于“最弱环节”事件之一,一个漏洞就可以使您目前的所有投资(不管多么庞大、计划多么周详)一钱不值。要做好安全性工作,您必须对原本不会考虑的事情保持警觉。

    美国政府网站常常是证明那种挑战的严重程度的最好例子。常在有关“反恐”的安全问题新闻中出现的某联邦机构维护一个网站,在那里用户密码在用于更改用户首选项的页面上公开地显示。相当多的组织解决频繁发生的丢失密码问题的方法是:根据或多或少的公共信息 指定密码(例如,“您的密码是您出生地的头四个字母,加上您出生年份的后两位数字”)。

    如何能避免这样的灾难性错误?遗憾的是,几乎没有系统的方法能“聪明地”成功实现这样的抽象目标。但是,在需要采取的有用步骤中,对 RISKS 文摘的研究和严格的工程检查是有用的步骤之一。

    RISKS 是 Peter G. Neumann 自 1985 年就一直在编辑的在线时事通讯(请参阅下面的 参考资料)。在思考事情(特别是 Linux 服务器上的安全性)的出错原因方面,阅读它是个很好的习惯。Neumann 使该文摘易读而且有趣,当然偶尔会令人恐怖。

    您还应该养成让其他人试验您的想法的习惯。您可能认为“软件检查”不过是找出开发人员的源代码中放错地方的标点符号的一种方法,但它实际上是非常有趣和高效的实践。特别是,检查是对需求文档、网站和所有其它产品的同行评审进行组织的极佳方法。请进行检查。通过别人的眼睛查看您的工作。您将有可能了解许多关于您服务器的安全或不安全性的信息。

 

原文链接:http://www-128.ibm.com/developerworks/cn/linux/server/clinic/part7/index.html


推荐阅读
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 本文介绍了在Hibernate配置lazy=false时无法加载数据的问题,通过采用OpenSessionInView模式和修改数据库服务器版本解决了该问题。详细描述了问题的出现和解决过程,包括运行环境和数据库的配置信息。 ... [详细]
  • 本文介绍了使用PHP实现断点续传乱序合并文件的方法和源码。由于网络原因,文件需要分割成多个部分发送,因此无法按顺序接收。文章中提供了merge2.php的源码,通过使用shuffle函数打乱文件读取顺序,实现了乱序合并文件的功能。同时,还介绍了filesize、glob、unlink、fopen等相关函数的使用。阅读本文可以了解如何使用PHP实现断点续传乱序合并文件的具体步骤。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Linux磁盘的分区、格式化的观察和操作步骤
    本文介绍了如何观察Linux磁盘的分区状态,使用lsblk命令列出系统上的所有磁盘列表,并解释了列表中各个字段的含义。同时,还介绍了使用parted命令列出磁盘的分区表类型和分区信息的方法。在进行磁盘分区操作时,根据分区表类型选择使用fdisk或gdisk命令,并提供了具体的分区步骤。通过本文,读者可以了解到Linux磁盘分区和格式化的基本知识和操作步骤。 ... [详细]
author-avatar
mmmm的海角_771
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有