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

Linux系统安全设置全面坚固你的系统

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

    不久前,我以极大的耐心下载了最新的内核版本,那可是通过拨入连接完成的。在整个下载的过程中,我渴望有一天在家里就能使用高速的Internet连接。xDSL和线缆猫的到来使其成为可能,但这并不包括价格因素。

    在我写此文章的同时,在世界的某个地方,也许正有一个人在他家里的计算机上第一次安装发布的Linux.一个新的Linux 的管理员通过为其家人和朋友设置帐户来使系统运转起来。也许在初次安装完成后的不长时间里,这个Linux 系统就会以令人感激涕零的高速DSL 接入Internet.

    还是容易被攻击

    今天几近所有可用的linux 发布在安全方面存在漏洞,其中的多数漏洞是很容易被攻入的,但不幸的是依惯例和习惯做法,他们是开放的。典型安装的Linux首次启动时就提供了多种多样的可被攻击的服务,譬如SHELL ,IMAP和POP3. 这些服务经常会被游手好闲的网民按其需要用来作为系统突破的切入点,这不仅是Linux 的局限——久经风霜的商业UNIX也提供此类服务,而且也会被突破。

    不用抱怨和指责,新系统的锁定(坚固系统的专业说法)是非常重要的。信不信由你,一个Linux 系统的坚固过程是不需要过多的系统安全专门知识。实际上,你可以在5 分钟之内就可以将百分之九十的不可靠因素屏蔽掉。

    开始吧

    在开始坚固系统前,要问清自己你的机器担当的角色和用来接入Internet的舒适度。要仔细确定你要对整个世界范围提供的服务,如果你还不能确定,最好什么也不要做。明确自己的安全策略是非常重要的。要决定你自己的系统上哪些使用是可接受的而哪些是不可接受的。

    本文中范例机器的目标是作为工作站用来收发mail,阅读新闻,浏览网页等等。

    确立网络服务安全

    首先,以超级用户(root)登入系统,用netstat 命令(这是多数Linux 系统标配的网络工具)查看一下当前的网络状态,输出的结果譬如是:
   

root@percy / ]# netstat -a 
  Active Internet connections (servers and established) 
  Proto Recv-Q Send-Q Local Address Foreign Address State 
  tcp 0 0 *:imap2 *:* LISTEN 
  tcp 0 0 *:pop-3 *:* LISTEN 
  tcp 0 0 *:linuxconf *:* LISTEN 
  tcp 0 0 *:auth *:* LISTEN 
  tcp 0 0 *:finger *:* LISTEN 
  tcp 0 0 *:login *:* LISTEN 
  tcp 0 0 *:shell *:* LISTEN 
  tcp 0 0 *:telnet *:* LISTEN 
  tcp 0 0 *:ftp *:* LISTEN 
  tcp 0 0 *:6000 *:* LISTEN 
  udp 0 0 *:ntalk *:* 
  udp 0 0 *:talk *:* 
  udp 0 0 *:xdmcp *:* 
  raw 0 0 *:icmp *:* 7 
  raw 0 0 *:tcp *:* 7


    如你所见到的输出结果,最初的安装对一定数量的服务并未侦听,而这些服务的大多数就是麻烦的制造者,在配置文件/etc/inetd.conf中就可以行使禁止。

    用你喜欢的文本编辑器打开这个文件,注销你不想提供的服务,这只需在包含服务内容的行前面添加一个``#'',在本例中所有的服务都被注销了,当然,如果你决定要提供这些服务中的某几个,那由你自己来决定。

    现在,重新启动 inetd 来使这些改变的内容起作用,这根据系统的不同会有多种方法,一个例子是: killall -HUP inetd,依诀窍,重新用netstat检查开放的socket并注意发生的变化。接下来,查看还有哪些进程在运行。通常会看到sendmail、lpd和snmd 在等待接入的请求。因此机器不对此类的任何请求提供服务,所以他们应当终止运行。

    通常,这些服务是由系统初始化脚本启动,脚本会因发布的不同而异,一般可以在/etc/init.d 或 /etc/rc.d中找到。如果你还不能确定,请参照你所用发布的文档。目标是在系统启动时禁止脚本启动这些服务。

    如果你的Linux发布使用的是打包的系统,花点时间移掉你不需的服务。在此范例机器中,包括了sendmail和r字头的服务进程(rwho、rwall等),lpd、ucd-snmp和apache。这是确保此类服务不会因意外而激活的最简捷的途径。

    X坚固手段

   近来多数的发布都支持机器首次启动时就登陆进入X窗口例如xdm进行管理,不幸的是,这也是主要的攻击点。默认方式下,机器允许任何主机请求登陆窗口,即使此机器仅仅只有一个用户直接从控制台登陆,这种特性亦需屏蔽。

   配置文件会赖于你所使用的登陆管理器而变化。本机选用xdm,故而/usr/X11R6/lib/X11/Xaccess文件需进行修改,添加一个``#''符号来阻止启动此服务。我的Xaccess如下设置:

#* #any host can get a login window 
  #* #any indirect host can get a chooser


   再次启动xdm时此设置有效。

   软件升级

   现在一些基本的坚固措施已完成,需要时时注意发行商对发布的升级和增强。缺乏甚至没有维护会是危及系统安全的一大因素。

   对开放源代码软件的保障之一是其在不断的发展中,有许多人花费大量的时间在不停地寻找安全方面存在的缺陷。这直接导致了Linux发布不断的维护过程,经常会有升级程序、臭虫补丁程序和安全方面的指导出现在网页中。隔几天或几周就浏览一下发布商的网页看是否有补丁或升级程序贴出来。

   后续工作

   现在,经处理过的机器比其初次安装后的安全性已提高了,但决不是对任何攻击就牢不可破了,但已不存在明显的可攻击之处了。在此列出的方法就象给你的车子或房子加了锁,一般水平的小偷就会被这类措施所动摇,意识到这是落锁的转而寻找其他没有加以保护的系统。

   如果你认定这些措施没有提供足够的安全性能,也许你还想通过Internet提供一些网络服务,在进行之前需要花费一些时间寻找更高级的安全技术。

   但不幸的是,许多Linux的发布商假定他们的客户已经熟知这些服务而且也想使用他们。但对初始用户通常这不是事实,当然,在Linux系统的安全性完全保障之前还有大量的未开发领域。而这些步骤就是对已知晓的系统漏洞加以最基本的安全保障。

   时至今日,对于危及系统和网络安全的多数保护手段还相对较弱,而随着Linux的流行且高速Internet存取逐渐实现的时刻,涌向未经预防的Linux 系统的攻击会越来越多


推荐阅读
  • CTF竞赛中文件上传技巧与安全绕过方法深入解析
    CTF竞赛中文件上传技巧与安全绕过方法深入解析 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • vsftpd配置(虚拟用户、匿名用户登录)
    一、ftp服务搭建(一)概述1.ftp连接及传输模式(1)控制连接TCP21,用于发送FTP命令信息 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 用阿里云的免费 SSL 证书让网站从 HTTP 换成 HTTPS
    HTTP协议是不加密传输数据的,也就是用户跟你的网站之间传递数据有可能在途中被截获,破解传递的真实内容,所以使用不加密的HTTP的网站是不 ... [详细]
  • XAMPP 遇到 404 错误:无法找到请求的对象
    在使用 XAMPP 时遇到 404 错误,表示请求的对象未找到。通过详细分析发现,该问题可能由以下原因引起:1. `httpd-vhosts.conf` 文件中的配置路径错误;2. `public` 目录下缺少 `.htaccess` 文件。建议检查并修正这些配置,以确保服务器能够正确识别和访问所需的文件路径。 ... [详细]
  • 本文详细介绍了VIM的基础操作和常用快捷键,VIM作为Unix及类Unix系统中的一款经典文本编辑器,源自VI的改进与发展。其简洁的界面和强大的扩展性使其在开发者中备受青睐,同时也催生了多个适用于Windows平台的版本。通过图文并茂的方式,帮助读者快速掌握VIM的核心功能与使用技巧。 ... [详细]
  • Linux基础知识:Vi与Vim编辑器详解
    Linux基础知识:Vi与Vim编辑器详解 ... [详细]
  • Vi编辑器的工作模式有哪些?如何在不同模式间切换?
    Vi编辑器是Linux系统中常用的文本编辑工具,具备三种主要工作模式:命令模式、插入模式和底行模式。用户可以通过特定的按键组合在这些模式之间进行切换,以实现不同的编辑功能。例如,在命令模式下,用户可以执行移动光标、删除文本等操作;而在插入模式下,则可以输入或修改文本内容。底行模式则用于执行保存文件、退出编辑器等命令。 ... [详细]
  • REST与RPC:选择哪种API架构风格?
    在探讨REST与RPC这两种API架构风格的选择时,本文首先介绍了RPC(远程过程调用)的概念。RPC允许客户端通过网络调用远程服务器上的函数或方法,从而实现分布式系统的功能调用。相比之下,REST(Representational State Transfer)则基于资源的交互模型,通过HTTP协议进行数据传输和操作。本文将详细分析两种架构风格的特点、适用场景及其优缺点,帮助开发者根据具体需求做出合适的选择。 ... [详细]
  • 在使用 SQL Server 时,连接故障是用户最常见的问题之一。通常,连接 SQL Server 的方法有两种:一种是通过 SQL Server 自带的客户端工具,例如 SQL Server Management Studio;另一种是通过第三方应用程序或开发工具进行连接。本文将详细分析导致连接故障的常见原因,并提供相应的解决策略,帮助用户有效排除连接问题。 ... [详细]
  • Linux Shell变量初探:初始值解析与使用指南
    本文探讨了Linux Shell中变量的基本概念及其在BASH中的应用。变量是用于存储可变数据的标识符,能够代表不同的值。文章详细介绍了BASH shell的主要优势,包括强大的命令编辑能力、自动补全功能、命令别名设置、作业控制以及前后台任务管理。此外,还涵盖了编程脚本编写和通配符的使用方法,为初学者提供了全面的指导。 ... [详细]
  • 在JavaWeb项目架构中,NFS(网络文件系统)的实现与优化是关键环节。NFS允许不同主机系统通过局域网共享文件和目录,提高资源利用率和数据访问效率。本文详细探讨了NFS在JavaWeb项目中的应用,包括配置、性能优化及常见问题的解决方案,旨在为开发者提供实用的技术参考。 ... [详细]
  • TCP三次握手过程详解与图示解析
    本文详细解析了TCP三次握手的过程,并通过图示清晰展示了各个状态的变化。同时,文章还介绍了四次挥手的图解,解释了在TIME_WAIT状态中,客户端最后一次发送的ACK包的作用和重要性。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
author-avatar
ALI韩帅该
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有