网络服务安全-ipchains(zt)

由 空心菜 在 06-23-2003 10:46 发表:

网络服务安全-ipchains(zt)

摘要

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-18) 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 rfc82

Published At
Categories with 服务器类
Tagged with
comments powered by Disqus