Chinaunix首页 | 论坛 | 博客
  • 博客访问: 325368
  • 博文数量: 82
  • 博客积分: 1530
  • 博客等级: 上尉
  • 技术积分: 771
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-16 03:44
文章分类

全部博文(82)

文章存档

2011年(6)

2010年(76)

我的朋友

分类: LINUX

2010-08-21 17:59:14


Nmap:扫描网络端口
这是一个网络端口扫描程序,主要功能是检查一组目标主机,看看哪个TCP和UDP端口上有服务程序正在监听。
nmap -sT secure.example.com  -sT参数要求以正常方法尝试连接目标主机上的每个TCP端口。一旦建立连接,nmap就会断开,这样做作虽然不礼貌,但对一个正常编写的网络服务程序来说是无害的。
nmap还有一套悄悄探测而不发起实际连接的方法。
nmap -O -sV    通过查看一个远程系统TCP/IP实现的细节来推测该系统运行的是什么操作系统。有时候甚至能够确定一个开放端口上正在运行什么软件。


Nessus:下一代的网络扫描程序

John the Ripper:找出不安全的口令
sudo john /etc/shadow
这个直接从隐蔽文件里读出口令,随着口令被破解,John会把它们显示在屏幕上,并且保存在一个叫做john.pot的文件中。


hosts_acess:主机访问控制
linux里使用里两个文件/etc/hosts.allow和/etc/hosts,deny,根据网路请求的来源限制对服务的访问。
大多数情况下,明治的做法是先作限制,然后只允许从特定主机访问关键服务。所以,现在deny文件下加入:
All:All
接下来在allow中逐个开放访问许可。例如:
sshd: 192.168.0.0/255.255.0.0
sendmail: ALL


20.13 Linux的防火墙功能:IP Tables
iptables把有次序的规则“链(chain)”应用到网络包上。链的集合就构成了“表(table)”,用于处理特殊类型的流量。
默认的iptables的表名叫filter,这个表里的规则链用于根据包来过滤网络流量。过滤表包含三个默认链,内核处理的每个包都要经过三个链中的其中一个。
FORWARD链里的规则用于在一个网络接口接收到的,并且需要转发到另一个网络接口的所有包。
INPUT和OUTPUT链里面的规则分别哦嗯域目的是本地主机,或者从本地主机发出的流量。
这三个链通常能够满足两个网络接口之间防火墙的全部需要。如果需要,还可以定义一个定制的配置。

除了filter表之外,iptables还包含了nat和mangle表。
nat表包含的规则控制着NAT。
mangle表包含了链可以修改或者改变在NAT和包过滤之外的网络包的内容,一般不会用到。

构成一条链的每条规则都有一个target子句,它决定了如何处理匹配包。还可以指定另一条链作为规则的target。
在filter表中的规则可以使用的target子句有ACCEPT、DROP、REJECT、LOG、MIRROR、QUEUE、DIRECT、RETURN和ULOG
ACCEPT:包继续通过
DROP:默默地丢弃
REJECT:丢弃,并且返回一则ICMP错误消息
LOG:提供跟踪包匹配规则情况的简单方法
ULOG:提供了范围更广的日志记录信息
REDIRECT:把包分流到一个代理
MIRROR:在目标在发送包之前交换IP源和目的地址
QUEUE:通过一个内核模块,把包交给本地用户程序

Linux防火墙通常是由rc启动脚本中的一些列iptables命令来实现的
例如:
iptable -F chain
iptables -P chain target
iptables -A chain -i interface -j target
-F  把之前所有的规则从链中清除
-P  给链设置一条默认的策略
-A  把当前的设置追加到链上,除非用-t指定table,不然默认是filter表上的
下面是更详细的命令行标志:
-p ptoto     协议匹配,如TCP、UDP或者ICMP
-s source-ip  匹配主机或者网络源IP地址,CIDR的记法也行
-d dest-ip   匹配目的地址
--sport       匹配源端口
--dport       匹配目的端口
--icmp-type   匹配ICMP类型代码
!         否定一条子句
-t table     指定一条命令用的表,默认是filter

下面是一个完整的例子。假定接口ppp0通往Internet,eth0通往内部网络。ppp0的IP地址是128.138.101.4,eth0的网络地址是10.1.1.1,两个接口的子网掩码都是255.255.255.0.这个例子是使用无状态包过滤机制来保护IP地址为10.1.1.2的Web服务器。
在使用iptables之前,必须启用IP forwarding的功能。
1、首先对filter表进行初始化,然后将INPUT和FORWARD链的默认目标设为DROP
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
2、规则是按照他们在链中出现的顺序进行匹配,所有将使用的最多的规则放在最前面。允许SSH,HTTP和HTTPS能够连到服务器。
iptables -A FORWARD -i eth0 -p ANY -j ACCEPT
iptables -A FOEWARD -d 10.1.1.2 -p tcp --dport 22 -j ACCEPT
iptables -A FOEWARD -d 10.1.1.2 -p tcp --dport 80 -j ACCEPT
iptables -A FOEWARD -d 10.1.1.2 -p tcp --dport 443 -j ACCEPT
3、允许流到防火墙主机10.1.1.1的唯一TCP流量是SSH。然后允许环回流量。第三条是允许从内部IP地址来的ICMPECHO_REQUEST包。
iptables -A INPUT -i eth0 -d 10.1.1.1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i lo -d 127.0.0.1 -p ANY -j ACCEPT
iptables -A INPUT -i eth0 -d 10.1.1.1 -p icmp --icmp-type 8 -j ACCEPT
4、为了能让任何TCP/IP主机在Internet正常工作,必须允许某些类型的ICMP包通过防火墙。下面‭八条规则是让ICMP包既能送到防火墙主机,也能送到在它之后的网络的最小集合。
iptables -A INPUT -p icmp --icmp-type 0 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 3 -j ACCEPT
iptables -A INPUT -p icmp --icmp-type 5 -j ACCEPT
iptables -A FORWARD -d 10.1.1.2 -p icmp --icmp-type 0 -j ACCEPT
iptables -A FORWARD -d 10.1.1.2 -p icmp --icmp-type 3 -j ACCEPT
iptables -A FORWARD -d 10.1.1.2 -p icmp --icmp-type 5 -j ACCEPT
iptables -A FORWARD -d 10.1.1.2 -p icmp --icmp-type 11 -j ACCEPT
5、向nat表的PREROUTING链加入规则。虽然nat表的目的并不是做包过滤,但是它的PREROUTING链对于反IP欺骗的过滤很有用。如果在PREROUTING链中加入DROP项,就不需要出现在INPUT和FORWARD链里了。
iptables -t nat -A PREROUTING -i ppp0 -s 10.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i ppp0 -s 172.16.0.0/12 -j DROP
iptables -t nat -A PREROUTING -i ppp0 -s 192.168.0.0/16 -j DROP
iptables -t nat -A PREROUTING -i ppp0 -s 127.0.0.0/8 -j DROP
iptables -t nat -A PREROUTING -i ppp0 -s 224.0.0.0/4 -j DROP
6、最后记录到日志。
iptables -A INPUT -i ppp0 -j LOG
iptables -A FORWARD -i ppp0 -j LOG
7、还有一个强大的功能是对有状态的包的过滤机制。针对连到Internet的客户机的防火墙不是允许特定的传入服务,而是允许根据客户机的请求而传入的响应。下面这条简单的有状态FORWARD链允许离开我们的网络的所有流量通过,但只允许和我们的主机发起的链接有关的入流量通过。
iptables -A FORWARD -i eth0 -p ANY ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
阅读(1037) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~