linux安全配置:教你配置Linux操作系统安全管理服务

任何计算机安全措施个重要方面是维持实际控制服务运行本文向你展示了在linux操作系统pc机上如何配置安全服务管理

  任何计算机安全措施个重要方面是维持实际控制服务运行让不必要网络服务接受请求将提高系统安全风险即使这些网络服务对于服务器某些功能是必要也需要仔细管理并且对其进行配置最小化不受欢迎入侵和登录可能性

  为linux系统配置安全性时使用/etc/inittab文件、runlevels和两个服务管理“superdaemons”如inetd或xinetd直接管理服务

  inittab

  /etc/inittab文件用于系统化过程启动系统服务个配置好系统上虽然它般都不会包括很多服务但是在某些linux系统默认安装中会加载很多其他服务/etc/inittab文件内容有些模糊重要的处在于让服务管理变得相对简单

  首先可不要通过/etc/inittab文件方式向系统启动项中添加服务

  第 2不要移除/etc/inittab文件中第个冒号的前其第个字段是单精度型数字或整个登录服务前面部分以单精度数字开头行可以打开 tty控制台所有服务在它们打开的前都列出甚至列出其更重要功能也许有些例外情况在不改动它时是很安全尤其如果不确定情况下请不要改动

  第 3/etc/inittab在导入和runlevel选择时候用于过程管理般不用于正常系统操作

  第 4在导入时由rc系统开始添加步骤而不是init系统如果看看/etc/inittab内容将会注意到登录以rc0到rc6这样结束这是化系统如何处理runlevels介绍说明

  runlevels

  基于linux操作系统运转可以通过runlevels进行管理区别runlevels被定义成有区别行为就像windows操作系统它有正常操作模式、安全模式、在某些情况下还有dos模式

  runlevel 0用于关闭系统如果软电源设置恰当它能关闭系统电源

  runlevel 1是单用户无网络模式它用于低水平故障修复和管理操作

  runlevel 2到runlevel 5正常系统操作多用户模式runlevel2和3是命令行模式3有网络连接而2没有网络连接runlevel 5用于启动x windows提供图形用户接口

  runlevel 6用于系统重启当整个init系统甚至bootloader 需要重启时采用它

  其他runlevels由系统管理员进行定义但是“传统”unix系统没有此功能这种情况下他们不能被定义也不能被使用

  在shell处可以输入runlevel命令找到以前renlevel和当前runlevel如果没有更改系统 runlevel 命令输出结果为大写n后面跟runlevel数字这里n表示没有前runlevel如果要更改runlevel可以使用init命令后面跟想要使用到runlevel数字例如输入init 6表示重启系统或init 1 进入单用户模式

  配置 runlevel过程每版本情况都区别例如在debian gnu/linux系统中位于/etc/init.d服务脚本有来自/etc/rcn.d路径和它们进行链接这里n表示需要配置 runlevel数字以字母k开头symlinks指示在进入runlevel时被杀死而以字母 s开头symlinks指示在进入runlevel时被启动字母后面数字值越大从1到99表示启动或杀死时间愈靠后

  大多数基于rpm版本都采用redhat所用到rc系统比起基于debian系统系统使用更复杂路径结构并且区别基于rpm系统的间也有很大区别介绍说明书上提供了更多有关管理runlevel信息

  inetd

  个用于linux后台管理“superdaemon”是众所周知inetd它是个用于服务管理命令行工具终止服务很简单:首先作为根用户用文本编辑器打开/etc/inetd.conf文件接下来找到文件中需要终止服务最后在服务所在行最前面添加#符号(其他还有“尖顶符”和“英镑符”)如下所示“注释掉”这因此ed以后都不会启动这服务

  编辑的前服务登录可能是下面这样:

  ident stream tcp wait identd /usr/sbin/identd identd

  停止的后服务登录变成下面这个样子:

  # ident stream tcp wait identd /usr/sbin/identd identd

  如果正在卸载被登录参考后台可以删除文件中某些行——是否通过包管理器进行卸载或删除执行文件卸载(对于上面例子是/usr/sbin/identd文件)

  编辑/etc/inetd.conf文件的后保存它inetd以后则可以使用更改编辑和保存旦完成可以在根部输入下面命令使更改即时生效:

  kill -hup `pidofinetd`

  使用修改(保存)后配置文件会导致inetd重启
  xinetd

  另外个称为xinetdsuperdaemon比inetd更新颖更复杂能完成更多功能但是对于关闭服务来说他们使用思路方法相似

  使用xinetd时必须在/etc/xinetd.conf文件中添加行关闭服务如果只想简单删除服务必须删除好几行代码而不是找到想要关闭服务所在在块后面添加“disable = yes”这或者删除整个块例如如果关闭telnet服务需要像下面这样做(这里省略号代表了块其他内容)

  service telnet

  {

  . . .

  disable = yes

  }

  在某些系统中对于某些服务服务配置并不在/etc/xinetd.conf文件中例如像telnet这样服务有可能在文件/etc/xinetd.d/telnet中改变其服务配置思路方法和它在/etc/xinetd.conf文件中思路方法是

  编辑保存了/etc/xinetd.conf文件后或者更改了服务文件后可以输入下面命令让修改即时生效:

  kill -usr2 `pidofxinetd`

  这将通知xinetd使用更改后配置

  xinetd除了关闭或移除服务配置的外还可以用于控制远程主机登录服务这将通过几个机制完成:

  可以为服务指定个允许主机例如:可以通过在服务配置文件中添加only_from = 192.168.0.101这行限制主机登录telnet服务尽管使用了词语“only”但是它只能限制主机数目而不仅仅只台主机也可以使用部分地址指定完整网络例如:可以使用“only_from = 192.168.0.to”表示本地 c任何主机都能访问这个服务

  可以在配置文件中为某个服务指定禁止主机例如:可以在配置文件中添加“no_access = 192.168.0.102”这行禁止这个主机远程访问telnet服务这个也可以使用多次而且也可以使用部分地址指定多个主机某个主机满足 only_from和no_access两个限制则会权衡确定其访问权限如果xinetd不能确定哪个限制能被应用则系统默认更安全选项——服务不会开启

  超越服务管理

  对于安全远程服务访问还有更多事情可以做应该恰当配置防火墙保护服务免受攻击代理服务器、通过网关服务器端口推进以及网络地址转移都能有效减少服务攻击风险针对安全使用那些用于登录正在运行服务工具也应进行配置例如如果使用安全shell进行远程连接而没有使用x server时在ssh中调低x forwarding是很重要直接进行安全管理是保证linux系统安全重要部分但是它也只是全面安全计划部分
Tags:  linux安全配置

延伸阅读

最新评论

发表评论