Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->Linux技术 ->系统管理 ->正文

网络服务安全

来源:Linux-cn.com 作者:Webmaster 时间:2007-05-05 点击: [收藏] [投稿]

1.使用ipchains作防火墙和路由(包过滤和tcp/ip参考知识)

  ipchains适用于2.2内核和2.4内核

1.1 与ipchains防火墙相关的内核选项(2.2内核)


    CONFIG_FIREWALL		
    CONFIG_IP_FIREWALL      	激活IP包过滤
    CONFIG_IP_MASQUERADE	         路由器  MASQ
    CONFIG_IP_MASQUERADE_IMCP	
    CONFIG_IP_ADVANCED_ROUTER	高级路由
    CONFIG_IP_TRANSPARENT_PROXY	将指向远程主机的局域网流量重
                                     定向到本地端口的代理服务起
                                    (PROXY)REDIRECT

  注意:IPCHAINS规则只适用于tcp/ip,无法阻止同一个接口上基于ipx或者appletack的攻击

1.2 理解IPCHAINS的七个对象

  ACCEPT,DENY,REJECT,MASQ,RETURN(相当于链的子程序调用的回归),user chain

1.3 ipchains基本参数

  -A,-D,-R,-I,-L,-F,-N,-X,-P,-C

  实例 动手操作


  #ipchains -A input -s 0/0 -d 192.168.0.1 -j ACCEPT
  #ipchains -R  input 1 -s 192.168.0.2 -d 192.168.0.1 -j DENY
  #ipchains -I input 1 -s 0/0 -d 0/0 -j REJECT
  如果是远程登陆,会出现。。。断线的情况
  #ipchains -nL
  #ipchains -N mychain
  #ipchains -F input
  #ipchains -F 
  #ipchains -X
  #ipchains -P input DENY
  #ipchains -C input -i eth0 -s 192.168.1.2 www -d 192.168.1.1 www -p tcp 
  #ipchains -D input 1

1.4 ipchains基本选项


  -p  [!]protocol
  -s  [!]addr [[!]port]
  -d  [!]addr  [[!]port]
  -i  [!]interface
  -j target
  -l	当匹配时,该规则纪录有关包的信息
  [!]-y   该规则应该仅匹配正在初始化连接的tcp包。

1.5 example

  a.关于domain的设置注意tcp和udp


  #ipchains -A input -p tcp -s $DNS domain -j ACCEPT
  #ipchains -A input -p udp -s $DNS domain -j ACCEPT

  b.设置ip masquerade时不要忘记打开ip转发

  可以在/etc/rc.d/rc.local脚本中写入 #echo 1 > /proc/sys/net/ipv4/ip_forward,否则重起后,ip_forward又变成0


  #ipchains -A input -i eth1 -s $INT -j ACCEPT
  #ipchains -A forward -s $INT -j MASQ
  #ipchains -A forward -j DENY -l 禁止并纪录其他转发企图

  注意$INT的范围:92.168.1.0/24 (192.168.1.1-192.168.1.254);主机为192.168.1.1、192.168.0.0/16(192.168.1.1-192.168.255.254)

  c.允许内部网络访问外部ftp服务


  #ipchains -A input -p tcp -s 0/0 ftp-data  -j ACCEPT
  #ipchains -A input -p tcp -s 0/0  ftp  -j ACCEPT

  介绍:port forwarding端口转发,允许到达外部接口的网络接口的数据包转发到内部网相同端口的 一种方法,

  允许在防火墙后面提供网络服务。可以通过ipchains和ipmasqadm(ip伪装工具管理)来实现。

  语法为:ipmasqadm portfw -a -P tcp -L $myip port -R server_ip port

  具体为:#ipmasqadm portfw -a -P tcp -L $myip 80 -R 192.168.1.2 80

2.保护Apache,Ftp,Samba服务

  2.1 核心配置文件的位置

  /etc/httpd/conf/httpd.conf、resourceconfig、conf/srm.conf、accessconfig

  conf/access.conf定义了配置文件的位置,现在已经不使用了;


  maxclients	100

  不可以太大,也不可以太小,根据服务器配置和客户数量综合决定


  port  80

  修改为别的端口时,最好不要与/etc/services中的端口重复


  user	  apache
  group  apache

  指定运行httpd进程的用户和组的所有权,不要以root身份运行httpd进程


  userdir  public_html
  userdir  disabled  root

  如果只允许少数用户的web空间,如下作


  userdir  disabled
  userdir  enabled  kim  ben  jack
  userdir disabled

  例如如下配置:


  userdir  public_html
  #userdir  disabled
  #userdir enabled ben
  
      AllowOverride FileInfo AuthConfig Limit
      Options MultiViews Indexes
    SymLinksIfOwnerMatch IncludesNoExec
      
          Order allow,deny
          Allow from all
      
      
          Order deny,allow
          Deny from all
      
  


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Linux99问(上)   下一篇:win与linux间的通讯除Samba之外的另一种方案

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章