01 系统服务 -- 网络

1 Service Management
服务的四种管理方式:

  1. by init 根据/etc/inittab的runlevel—>/etc/rc?.d 下的link文件
  2. by System V scripts  如: /etc/init.d/httpd start
  3. by direct command
  4. by xinetd

2 Services Managed by init

  1. 可管理非TCP/IP的服务
  2. 提供respawn (再生)的能力
  3. Confgured in /etc/inittab

3 System V service Management

  1. System V类型的程序被包在SysV被始的脚本里 比如: /etc/init.d/httpd 文件就是一个script文件,真实的文件在/usr/sbin/httpd.
  2. service命令是SysV初始文件全部打包,即”wrapper of wrapper” #/etc/init.d/httpd start 可以用 #service httpd start代替

4 chkconfig

  1. 管理服务定义于不同的runlevel
  2. chkconfig –list 列出所有定义的runlevel值
    chkconfig 服务名 –add or –del 添加或删除/etc/rc?.d/下的所有服务link文件,这些link文件都link到/etc/init.d/目录下,所以有自己开发system V程序,可以将它放到/etc/init.d/下
  3. chkconfig httpd on 开机时就要启动某服务

5 xinetd Managed Services

  1. xinetd服务是当xinetd程序回应连进请求时,才用xinetd程序启动xinetd服务.xinetd管理都是平时很少用到的程序;只启用xinetd程序来管理如telnet/rsh/rcp等服务就可以节省系统资源.
  2. xinetd管理的服务可用chkconfig来启用

6 The xinetd Deamon

  1. xinetd可管理以下网络资源与验证:
    • 很少用到的服务,避免这些较少用到的服务浪费系统资源
    • 可管理验证类的服务
    • 对服务做统计和生成记录
    • 对服务做IP位置的导向
  2. xinetd使用/etc/services 来设定各服务所使用的端口号
    常用的服务对应端口: ftp-20,21, ssh-22, smtp-25, domain(DNS)-53, http-80, pop3-110, netbios(SMB)-137,138,139, https-443
  3. xinetd这个super deamon程序会链接到libwarp.so函数库,用于判断允许或拒绝接受哪些请求.增加安全性.
  4. 它拥有独立的配置文件
    • /etc/xintd.conf
    • /etc/xintd.d/<service>  各服务的设定文件

7 xinetd default controls

  • 主要配置文件
    • /etc/xinetd.conf
      defaults {
      instances=60  //60个xinetd管理的服务可同时执行
      log_type=SYSLOG authpriv //产生的记录都记录在syslog里
      log_on_success=HOST PID //远程成功登录,记录远程电脑的IP地址及进程PID
      log_on_failure=HOST  //远程登录失败,只记下IP地址
      cps=25 30  //如果一秒内建立了25个以上连线就停止服务30秒,这样可以防止DoS(Denial of Service 拒绝服务攻击)
      }
      includedir /etc/xinetd.d  //启动xinetd服务的同时读入 /etc/xinetd.d/下的配置文件

8 xinetd service controls

  • 由xinetd管理的服务有其自身的配置文件,它们放在/etc/xinetd.d/<service>
    举例: #cat /etc/xinetd.d/telnet
    service telnet
    {
    disable=yes                     //默认关闭该服务
    flags=REUSE                    //连接断开后自动释放服务占用的内存
    socket_type=stream     //使用stream信息流的方式处理资料
    wait=no                           //Multi-thread即允许多人可以连进
    user=root                        //由root帐号管理该服务
    server=/usr/sbin/in.telnetd    //telnet是该服务的一脚本,真正的SysV程序位置
    log_on_failure +=USERID        //远程登录失败记录IP并记录使用者帐号
    }

9 The /etc/sysconfig/ files
常用服务根据/etc/sysconfig/目录下的设定决定服务如何执行:

  • named
  • sendmail
  • dhcpd
  • samba
  • init
  • syslog

10 服务错误分析

  • 检查以下几点
    1. 是否资料问题
    2. 是否程序问题
    3. 是否操作系统问题
    4. 是否电脑硬件问题
  • 查看log记录
  • 使用命令来显示更详细的信息
  • 查看帮助文档

11 Security Enhanced Linux(SElinux)
当操作系统决定谁可以执行哪些操作时,在传统的Linux环境下根据文件中的user/group/other权限决定的.而在SElinux环境下则是由security administator(root帐号)决定控制存取权限.

当要执行某个进程或存取某文件及目录时,系统就会依照Policy所制定的内容来检查用户或进程相对应的权限;如果权限都符合,系统将允许该操作的执行,不符则返回deny的值.

当系统在检查用户或进程相对应的权限时,会拿一部分的暂存区来做运算,这个暂存区叫AVC(Access Vector Cache)

  • 每个进程和对象都有SELinux的安全设置
    • 所谓的Security context就是一些安全性的属性:包含identity(身份):role(角色):domain/type
  • 在security policy context中定义了哪种操作需要security context权限.

ecurity context  是指一个对象,封装了跟安全有关的两个实体之间的共享状态信息。
查看SElinux的启用状态: sestatus
启用SElinux: vi /etc/sysconfig/selinux

12 SELinux Installation Options and control

  • Installation options
    • Enforcing - 强制启用
    • Permissive - 仅提供警告,但无保护
    • Disabeld
  • Control Options when SELinux is enforced
    targeted - 只保护与网络相关的服务
    strict - 保护所有Linux的服务
  • 修改完成后需执行 reboot

13 Controlling SElinux

  • setenforce 0 and setenforce 1 当启用SELinux的targeted保护模式后,即使root用户也无法重启网络服务.这时就可以使用这两命令切换保护开启或关闭保护状态.
  • getsebool and setsebool SELinux的设定方式采用Boolean值(Boolean:0 or 1)的方式来设定的.注意:0=inactive(受保护) 1=active(不受保护)
    例如: getsebool httpd_disable_trans  查看某服务是否受SELinux保护,值为inactive为保护状态
    setsebool -P httpd_disable_trans=1     -P选项为如果带有该参数,设定值会写到boolean的文件中.即改变了原来的的boolean值.如果不带-P只是暂时改变,并不写入文件中.
    • /etc/selinux/targeted/booleans 存放着SELinux设定的布尔值.也可以直接编辑这个文件决定哪些服务需要受它的保护.
  • /etc/sysconfig/selinux 设定SElinux的状态.
  • system-config-securitylevel 图形化界面管理

14 SELinux Contexts的查看及修改

  • ps -Z 列出进程的contexts
  • l s -Z 列出文件的contexts
  • chcon 修改文件的contextes   e.g.  chon -t file1 file2  把文件2更改为文件1的contexts
  • runcon : 使用特定的security context来执行命令.
  • id -Z 查看当前用户的Security Context.

15 Troubleshooting SELinux

  • 检查错误类型
    • 查看 /var/log/message中有没有 AVC 的拒绝信息
  • 查看文件或进程是否有正确的security context
  • 检查SELinux里是否需要调整Boolean的设置值.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值