热门标签 | 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 系统的攻击会越来越多


推荐阅读
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文介绍了在RHEL 7中的系统日志管理和网络管理。系统日志管理包括rsyslog和systemd-journal两种日志服务,分别介绍了它们的特点、配置文件和日志查询方式。网络管理主要介绍了使用nmcli命令查看和配置网络接口的方法,包括查看网卡信息、添加、修改和删除配置文件等操作。 ... [详细]
  • Linux防火墙配置—允许转发
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • Linux环境变量函数getenv、putenv、setenv和unsetenv详解
    本文详细解释了Linux中的环境变量函数getenv、putenv、setenv和unsetenv的用法和功能。通过使用这些函数,可以获取、设置和删除环境变量的值。同时给出了相应的函数原型、参数说明和返回值。通过示例代码演示了如何使用getenv函数获取环境变量的值,并打印出来。 ... [详细]
  • PDF内容编辑的两种小方法,你知道怎么操作吗?
    本文介绍了两种PDF内容编辑的方法:迅捷PDF编辑器和Adobe Acrobat DC。使用迅捷PDF编辑器,用户可以通过选择需要更改的文字内容并设置字体形式、大小和颜色来编辑PDF文件。而使用Adobe Acrobat DC,则可以通过在软件中点击编辑来编辑PDF文件。PDF文件的编辑可以帮助办公人员进行文件内容的修改和定制。 ... [详细]
  • 本文详细介绍了Vim编辑器中的三种模式(命令模式、末行模式和编辑模式)以及它们之间的操作区别和切换方法。Vim编辑器凭借其多种命令快捷键和高效率的操作方式,得到了广大厂商和用户的认可。对于想要高效操作文本的用户来说,了解这些模式的使用方法是必不可少的。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • 本文分享了一位Android开发者多年来对于Android开发所需掌握的技能的笔记,包括架构师基础、高级UI开源框架、Android Framework开发、性能优化、音视频精编源码解析、Flutter学习进阶、微信小程序开发以及百大框架源码解读等方面的知识。文章强调了技术栈和布局的重要性,鼓励开发者做好学习规划和技术布局,以提升自己的竞争力和市场价值。 ... [详细]
  • 引号快捷键_首选项和设置——自定义快捷键
    3.3自定义快捷键(CustomizingHotkeys)ChemDraw快捷键由一个XML文件定义,我们可以根据自己的需要, ... [详细]
  • linux qt打开常用文件格式,设置Linux Qt文件默认打开方式为QtCreator
    Linux自定义文件打开方式也可参照文本抱歉,本文前段时间写的ubuntu下的Qt工程文件默认打开方式是不好用的,因为其他的文本文件也会受到影响,强迫症患者,每次打开Qt工程都是先 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了VoLTE端到端业务详解|VoLTE用户注册流程相关的知识,希望对你有一定的参考价值。书籍来源:艾怀丽 ... [详细]
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社区 版权所有