免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2920 | 回复: 0
打印 上一主题 下一主题

网络服务安全 [复制链接]

论坛徽章:
6
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-03 17:33:522015元宵节徽章
日期:2015-03-06 15:50:39IT运维版块每日发帖之星
日期:2016-01-11 06:20:00IT运维版块每日发帖之星
日期:2016-03-19 06:20:0019周年集字徽章-19
日期:2019-09-06 18:56:11
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2003-01-30 09:33 |只看该作者 |倒序浏览
网络服务安全

摘要
  samba,ftp,apache,ipchains(2002-07-19 16:18:41)

--------------------------------------------------------------------------------
By shokme



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
      
  



  注意修改/home/*的目录属性为711

  2.2 全局日志指令

  好的日志对于好的安全性非常关键,尤其是高流量的服务器时。


  ErrorLog logs/error_log
#
# LogLevel: Control the number of messages logged to the error_log.
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#
LogLevel warn
#产生最少的日志流量,不会错过任何危险的情况

LogFormat "%h %l %u %t "%r" %>;s %b" common

#logformat的特殊值
#  %a 远程用户ip,
#  %A 本地httpd服务器的ip,
#  %f 传送的文件名,
#  %h 远程主机,
#  %m 请求方式
#  %l identd给出的远程名,
#  %p连接httpd的端口,
#  %P 请求的httpd进程,
#  %t 时间,
#  %T 服务请求时间
CustomLog logs/access_log combined



  2.3 作用域和其他作用域


  
        order deny,allow
        deny from all
  
  #例外如下
  
        order allow,deny
        allow from all
  
  #例如:allow from all,
  #   allow from 10.0.0.0/8,
  #   allow from 10. ,
  #   allow from .china.com
  
  # 如果把private.txt改成index.html会怎么样?
        order deny,allow
        deny from all
  



  a.4 验证


  
        authtype basic
        authname "private areas"
        authuserfile   /etc/httpd/conf/privatepasswd
        require valid-user




  创建验证数据库


  #htpasswd  -bc  /etc/httpd/conf/privatepasswd  ben  ben
  #htpasswd -b  /etc/httpd/conf/privatepasswd kim



  新密码:kim
  重新输入密码:kim

  还有一种方式创建.htaccess文件,使用accessfilename .htaccess选项,格式为:


  authtype basic
  authname  "student club"
  authuserfile   /etc/httpd/conf/studentclub
  require valie-user



  另外:用mysql+php来验证网络服务,学有余力的学员可以try


3.ftp服务属于xinetd服务

  3.1 禁止你名ftp登陆

  /etc/passwd和/etc/shadow中删除ftp
  /etc/ftpusers中加入ftp或者anonymous

  3.2 /etc/ftpaccess配置文件


  loginfails        3
  greeting brief
  # 显示简短的消息给用户,忽略了版本信息
  # 220 liwei FTP server (Version wu-2.6.1-1 ready.

  # Turn on logging to /var/log/xferlog
  log transfers anonymous,guest,real inbound,outbound
  # 纪录所有种类的用户初始化传输
  
  log  commands  anonymous,guest,real
  # 纪录所有种类的用户输入的所有命令

  chmod no anonymous,guest
  delete no anonymous,guest
  overwrite no anonymous,guest
  rewrite no anonymous,guest
  umask no anonymous,guest
  passwd-check  rfc822        enforce
  # 强制使用合法的email账号作为匿名ftp登陆的密码
  noretrieve        /etc/        /home/*/.htaccess        core
  # 以下内容为复习
  class  all real,guest,anonymous    *
  limit   all   20 Any   /etc/mesg
  upload        /var/ftp        *        no       
  upload /var/ftp  /pub/imcoming        yes  ftp  daemon 0600 dirs
  alias        inc        /pub/incoming
  email        admin@localhost
  restricted-uid        %501-510
  # 流量限制自己。。。
  throughput /var/ftp * * oo - *
  throughput /var/ftp /pub* * 2000 0.5 *
  throughput /var/ftp /pub* readme oo - *
  throughput /var/ftp /pub* * oo - *.fudan.edu.cn
  cdpath        /pub
  # 指定优先搜寻路经,例如cd  abc,会优先寻找/pub下的abc
  cdpath        /
  # 然后再是/目录下的abc



  3.3命令(客户端命令略)


  ftpshut now
  ftpshut 1001
  ftpshut  +20
  ftpshut  -l 30 -d 10  1700  "ftp is shutting down "
  ftprestart
  对/etc/shutmsg和/var/ftp/shutmsg文件删除操作
  ftpwho
  ftpcount
  匿名上传目录权限位chmod  733  incoming




4.samba的安全

  不属于xinetd服务,但是samba的管理工具swat属于xinetd服务

  swat(samba web administration tool) 启动swat不必启动apache服务器,swat有自己的内嵌的web服务器

  因为samba不使用加密连接,所以不要远程使用swat工具

  包过滤


  #grep  netbios   /etc/services



  允许外部某个主机访问内部samba服务,通过ipchains建立如下规则


  #ipchains -A input -p tcp -s trusted.ext.system.ip       
    -d myip 137:139         -j ACCEPT
  #ipchains -A input -p udp -s trusted.ext.system.ip
    -d myip 137:139         -j ACCEPT
  #ipchains -A input -i !lo -d myip 137:139 -j DENY -l



  通过iptable实现如下(略)


  #iptables -t filter -A INPUT -p tcp -s trusted.ext.system.ip
     -d myip 137:139 -j ACCEPT
  #iptables -t filter -A INPUT -p udp -s trusted.ext.system.ip  
    -d myip 137:139 -j ACCEPT
  #iptables -t filter -A INPUT -i !lo  -d myip 137:139  -j DROP
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP