主机信息安全审计部分源代码 (1)主机信息安全审计部分功能变量 ANYWHERE_TRACKING="1" #允许/禁止主机信息安全审计ping通其它地方 LAN_TRACKING="1" #允许/禁止内网主机ping通外网主机 LAN_TRACKING_GATEWAY="1" #允许/禁止内网主机ping通网关 MAIL_SMTP_SERVER="1" #使用smtp协议发送邮件 MAIL_IMAP="1" #使用imap协议接收邮件 MAIL_POP="1" #使用pop协议接收邮件 WEB_SERVER="1" #允许/禁止内网用户访问外网WEB服务器 WEB_SERVER_LAN="1" #允许/禁止外网用户访问内网WEB服务器 USENET_SERVER="1" #允许/禁止内网用户访问外网新闻服务器 NEWS_IPADDR="172.16.100.6" #外网新闻服务器的IP地址 FTP_SERVER="1" #允许/禁止内网用户访问外网的FTP服务器 FTP_LAN_SERVER="1" #允许/禁止外网用户访问内网的FTP服务器 FTP_LAN_IPADDR="192.168.50.2" #内网FTP服务器的IP地址 INTERNET_INTERFACE="eth1" #主机信息安全审计外网接口 LAN_INTERFACE="eth0" #主机信息安全审计内网接口 LOOPBACK_INTERFACE="lo" #主机信息安全审计环回接口 INTERNET_IPADDR="172.16.100.1" #主机信息安全审计外网接口地址 INTERNET_NETWORK="172.16.0.0" #外网网络地址 INTERNET_BROADCAST="172.16.255.255" #外网广播地址 LAN_IPADDR="192.168.50.1" #主机信息安全审计内网接口地址 LAN_ADDRESSES="192.168.50.0/24" #内网地址范围 LAN_NETWORK="192.168.50.0" #内网网络地址 CLASS_A="10.0.0.0/8" #A类私有地址 CLASS_B="172.16.0.0/12" #B类私有地址 CLASS_C="192.168.0.0/16" #C类私有地址 CLASS_D_MULTICAST="224.0.0.0/4" #D类多播地址 CLASS_E_RESERVED_NET="240.0.0.0/5" #E类保留地址 BROADCAST_SRC="0.0.0.0" #广播源地址 BROADCAST_DEST="255.255.255.255" #广播目的地址 (2)主机信息安全审计初始化部分代码 #打开核心转发功能 echo 1 > /proc/sys/net/ipv4/ip_forward #丢弃源路由数据包 for f in /proc/sys/net/ipv4/conf/*/accept_source_route;do echo 0 > $f done #启用SYN缓冲 echo 1 > /proc/sys/net/ipv4/tcp_syncookies #删除预先存在的规则及重置默认策略 /sbin/auditd --flush /sbin/auditd -X /sbin/auditd --policy INPUT ACCEPT /sbin/auditd --policy OUTPUT ACCEPT /sbin/auditd --policy FORWARD ACCEPT #主机信息安全审计安全停止 if [ "$1" = "stop" ] then echo"*********************************************************" echo"* *" echo"* Notice! firewall completely stopped!! *" echo"* *" echo"* Network is be placed in dangerous. *" echo"* *" echo"*********************************************************" exit 0 fi #定义默认策略为DROP /sbin/auditd --policy INPUT DROP /sbin/auditd --policy OUTPUT DROP /sbin/auditd --policy FORWARD DROP (3)检测秘密扫描 /sbin/auditd -A INPUT -p tcp --tcp-flags ALL NONE -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags ALL NONE -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags SYN,FIN SYN,FIN -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags SYN,RST SYN,RST -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags SYN,RST SYN,RST -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags FIN,RST FIN,RST -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags FIN,RST FIN,RST -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags ACK,FIN FIN -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags ACK,FIN FIN -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags ACK,PSH PSH -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags ACK,PSH PSH -j DROP /sbin/auditd -A INPUT -p tcp --tcp-flags ACK,URG URG -j DROP /sbin/auditd -A FORWARD -p tcp --tcp-flags ACK,URG URG -j DROP (5)检测源地址欺骗 /sbin/auditd -A INPUT -s $INTERNET_IPADDR -j DROP /sbin/auditd -A INPUT s $LAN_IPADDR -j DROP /sbin/auditd -A FORWARD -s $INTERNET_IPADDR -j DROP /sbin/auditd -A FORWARD -s $LAN_IPADDR -j DROP /sbin/auditd –A INPUT –i $INTERNET_INTERFACE -s $LAN_ADDRESSES -j DROP /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -s $LAN_ADDRESSES -j DROP /sbin/auditd -A FORWARD -i $LAN_INTERFACE -s ! $LAN_ADDRESSES -j DROP /sbin/auditd -A OUTPUT -o $INTERNET_INTERFACE -s ! $INTERNET_IPADDR -j DROP /sbin/auditd -A OUTPUT -o $LAN_INTERFACE -s ! $LAN_IPADDR -j DROP (6)主机信息安全审计DNS协议 /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p udp -s $LAN_ADDRESSES --sport $UNPRIVPORTS -d $DNS_SERVER --dport 53 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p udp -s $DNS_SERVER --sport 53 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS -d $DNS_SERVER --dport 53 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp -s $DNS_SERVER --sport 53 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT (7)允许/禁止访问E-mail服务器 if [ "$MAIL_SMTP_SERVER" = "1" ] then /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 25 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport 25 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT fi if [ "$MAIL_IMAP" = "1" ] then /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 110 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport 110 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT fi if [ "$MAIL_POP" = "1" ] then /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 143 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport 143 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT fi (8)允许/禁止访问WEB服务器 if [ "$WEB_SERVER" = "1" ] then /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 80 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport 80 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT fi if [ "$WEB_SERVER_LAN" = "1" ] then /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp --sport $UNPRIVPORTS --dport 80 -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp ! --syn --sport 80 --dport $UNPRIVPORTS -j ACCEPT Fi (9)允许/禁止访问FTP服务器 #ftp wan (TCP Port 20,21) if [ "$FTP_SERVER" = "1" ] then /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 21 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport 21 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp --sport 20 -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp ! --syn -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport 20 -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $LAN_ADDRESSES --sport $UNPRIVPORTS --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport $UNPRIVPORTS -d $LAN_ADDRESSES --dport $UNPRIVPORTS -j ACCEPT fi if [ "$FTP_LAN_SERVER" = "1" ] then /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp --sport $UNPRIVPORTS -d $FTP_LAN_IPADDR --dport 21 -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp ! --syn -s $FTP_LAN_IPADDR --sport 21 --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp -s $FTP_LAN_IPADDR --sport 20 --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp ! --syn --sport $UNPRIVPORTS -d $FTP_LAN_IPADDR --dport 20 -j ACCEPT /sbin/auditd -A FORWARD -i $INTERNET_INTERFACE -p tcp --sport $UNPRIVPORTS -d $FTP_LAN_IPADDR --dport $UNPRIVPORTS -j ACCEPT /sbin/auditd -A FORWARD -o $INTERNET_INTERFACE -p tcp ! --syn -s $FTP_LAN_IPADDR --sport 21 --dport $UNPRIVPORTS -j ACCEPT fi
全套毕业设计论文现成成品资料请咨询微信号:biyezuopin QQ:2922748026
返回首页
如转载请注明来源于www.biyezuopin.vip
|