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

安全之道部署Linux五个步骤

文章标题:安全之道部署Linux五个步骤。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    道,意味着途径或方法,是一个对实现想要的结果而设置的指南或规则,与其它道类似,安全需要一个结构化的、系统化的方法,同时,它也应该是整体的、涵盖系统生命周期(从计划到退休)的每一个部分。在本文中的道由五个步骤组成,每个Linux系统要建立一个基线都应该通过这些步骤。这些步骤不是开始也不是最终的安全方案。

  我详细讨论每个步骤时,我将部署两个样例系统(一个Fedora桌面系统和一个Debian服务器系统)来展示安全是如何实施的,我选择 Fedora是因为它是现在最流行的发行版,它可以为任何目标工作得很好,它有许多桌面增强特色,并且是用户推荐的无命令行的最容易使用的Linux发行版,我选择Debian作为我们的服务器平台是因为它是轻量级的、有非常悠久的历史而且很稳定、有一个强大的支持社区和大量的文档。这两个都是非常优秀的平台并且都有它们自己的内置安全标准。如果你喜欢其它的发行版,这里指出的步骤可以应用到任何的系统。

  第一步:计划

  第一步也是最重要的一步,因为你在这里做出的决策将影响到全盘的安全,第一步定义系统将部署成什么样的目标,它将是一个小的邮件服务器吗?或者是一个桌面系统吗?又或是一个入侵检测系统?一旦你有一个目标后,你就可以用它来指导整个过程,然后将精力集中在如何尽可能地提供更安全的环境上,安全永远都不应该妨碍功能的完整,毕竟部署一个无人能用的系统有什么用呢?!

  接着,你需要为你的系统决定一个安全目标,主要目标应建立在最小访问或最小权限原则之上,这就意味着仅仅为用户和程序提供系统操作必要的最小权限,你应该还有其他安全目标,如用杀毒软件扫描每个文件或用LDAP对每个用户进行认证,但是最小权限应是不变的原则。

  实现这些目标,在你动手前,你应该思考如何实现它们,回答一些简单的问题将有助于你在步骤2和4里作出正确的决策。系统将作为一个服务器还是一个桌面系统?这个问题决定了你新系统上的大部分配置;用户将在本地访问还是远程访问这个系统?这是另外一个重要的与安全有关的配置问题;系统需要一个桌面环境吗?

  如果你对命令行非常熟悉,将系统部署成无头的或者说无GUI接口的,将X window系统从你的安装中删除,你将很意外地减少系统的攻击面(你暴露在外的区域),另一方面,如果你或你的同事需要一个GUI,只安装一个GUI并弄清楚如何将系统正确地锁定,安装服务器时不安装X,安装桌面系统时才安装X是一个值得竖大拇指的方法。

  最后,计划应用程序将会在系统上做什么,判断它依赖什么库以及比不可少的操作,常见的有:系统运行一个远程命令后不必须的库也被使用了,掩饰住了入侵者的姿态或探测网络,如果你不需要某个包请不要安装它。

  当你弄清楚了这些问题和答案后,写到你的安装日志或笔记簿并保持更新。

  步骤二:安装

  写下这些计划后,进入建造步骤,从你在计划步骤中设定的安全目标的应用程序开始,由于空间限制,下面的章节不会给样例安装列出一个详细的检查列表,我仅将与安全有关的选项做了记号,在第一步中,在安装日志中写下你在安装过程中的选项,在重新安装系统时就可以派上用场了。

  Fedora Core 7

  从一个Fedora 7 ISO文件(可以在发行镜像站点找到)启动到一个干净的系统,在确定你的键盘和语言设置好后,来到磁盘分区部分,对于大多数桌面发行版,安装程序直接就把分区配置好了,但是,如果这个系统是供某些工作敏感的人准备的,请将/home文件夹放在一个独立的分区上。

  分区完成后进入启动管理器选项,选择GRUB并为其设置一个密码,给启动管理器设置一个密码是最佳实践,它可以帮助你在磁盘或系统被盗的情况保护你的数据不会丢失。一个好的密码应该比较复杂,避免使用字典中的单词、纯数字、纯字母和非字母数字混合的符号。

  下一个屏幕,选择DHCP,因为客户端机器通常不需要静态的ip地址,如果你需要使用静态ip地址,在你网络的某个地方务必使用网络地址转换(NAT),接下来,设置一个主机名和域,并为root用户设置一个复杂的密码,在软件包选择屏幕,如果选择自定义安装,请仔细检查你选择的软件包,在自定义选择屏幕,只选择一个桌面环境[译者注:GNOME/KDE等],多安装一个桌面环境就多一分危险,保留默认的选择GNOME,检查其他每一个选项,你会发现有许多软件包将被安装(图1),在我的安装中有843个软件包,你的数字可能不同,排除你不需要的软件包,每个包前面都一个可选框,当你选择完软件包后,系统将重新启动。

  

                              图1 在Fedora 7下选择要安装的软件包

[1] [2] [3] [4] [5] 下一页


推荐阅读
  • Linux环境下配置Subclipse访问SVN+SSH仓库的方法
    本文详细介绍如何在Linux操作系统中配置Subclipse,以便通过SSH协议安全访问SVN仓库。不同于常见的Windows配置指南,本文提供了针对Linux用户的详细步骤。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • 如何配置Unturned服务器及其消息设置
    本文详细介绍了Unturned服务器的配置方法和消息设置技巧,帮助用户了解并优化服务器管理。同时,提供了关于云服务资源操作记录、远程登录设置以及文件传输的相关补充信息。 ... [详细]
  • 本文详细分析了Hive在启动过程中遇到的权限拒绝错误,并提供了多种解决方案,包括调整文件权限、用户组设置以及环境变量配置等。 ... [详细]
  • 在现代网络环境中,两台计算机之间的文件传输需求日益增长。传统的FTP和SSH方式虽然有效,但其配置复杂、步骤繁琐,难以满足快速且安全的传输需求。本文将介绍一种基于Go语言开发的新一代文件传输工具——Croc,它不仅简化了操作流程,还提供了强大的加密和跨平台支持。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 本文介绍了如何在Ubuntu 16.04系统上配置Nginx服务器,以便能够通过网络访问存储在服务器上的图片资源。这解决了在网页开发中需要使用自定义在线图标的需求。 ... [详细]
  • 本文探讨了Unix和Linux操作系统的起源和发展历程。从20世纪60年代计算机技术的初期阶段,到Unix的诞生及后续Linux的崛起,文章详细介绍了这些操作系统如何逐步成为现代计算不可或缺的一部分。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
  • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
  • 数字图书馆近期展出了一批精选的Linux经典著作,这些书籍虽然部分较为陈旧,但依然具有重要的参考价值。如需转载相关内容,请务必注明来源:小文论坛(http://www.xiaowenbbs.com)。 ... [详细]
  • 本文介绍了一款用于自动化部署 Linux 服务的 Bash 脚本。该脚本不仅涵盖了基本的文件复制和目录创建,还处理了系统服务的配置和启动,确保在多种 Linux 发行版上都能顺利运行。 ... [详细]
  • 在Ubuntu 14.04 (Desktop AMD64) 上安装与配置ROS Indigo
    本文档详细介绍了如何在Ubuntu 14.04 (Desktop AMD64) 系统上安装和配置ROS Indigo。包括设置软件源、安装ROS核心组件、初始化rosdep以及创建ROS工作空间等步骤。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • 本文介绍了如何在Linux系统中获取库源码,并在从源代码编译软件时收集所需的依赖项列表。 ... [详细]
author-avatar
道士也调情
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有