Linux网关及安全应用总结由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“linux网关及安全应”。
第一章 系统安全常规优化
一、用户账号安全优化
1、基本安全措施
删除系统中不使用的用户和组
pawd-l zhangsan或
vi /etc/shadow(用户名前加!)userdel lp 确认程序或服务用户的登录shell不可用
vi /etc/pawd usermod –s /sbin/nologin rpm 限制用户的密码有效期(最大天数)
vi /etc/login.defs(PASS_MAX_DAYS
30)
只对新建立的用户有效
chage-M 30 zhangsan Chage-d 0 zhangsan 限制用户密码的最小长度
vi /etc/pam.d/system-auth paword requisite pam_cracklib.so try_first_pa retry=3 minlen=12 限制记录命令历史的条数
HISTSIZE=100 设置闲置超时自动注销终端
vi /etc/profile export TMOUT=6002、使用su切换切换用户身份
gpawd-a zhangsan wheel vi /etc/pam.d/su auth required pam_wheel.so use_uid vi /etc/sudoers lisi jerry 或 visudo
NOPASSWD:命令列表
3、使用sudo提升执行权限
用户 主机名=(权限用户)
localhost=/sbin/ifconfig
localhost= NOPASSWD:/sbin/ifconfig
ALL=(ALL)
NOPASSWD:ALL localhost=(lisi)NOPASSWD:ALL
对已有用户有效
指定用户在下次登录时必须修改密码
%wheel zhangsan
sudo-l 使用sudo执行命令(以jerry为例)
sudo /sbin/ifconfig eth0 10.0.0.1
二、文件和文件系统安全优化
1、文件系统层次的安全优化
合理规划系统分区
建议部分分区为独立的分区/boot、/home、/var、/opt等 vi /etc/fstab /dev/sdc1 /var
ext3 /var
defaults,noexec 2 mount
-o remount 通过挂载选项禁止执行set位程序、二进制程序
锁定不希望更改的系统文件
chattr +i /etc/services /etc/pawd /boot/grub.conf lsattr /etc/pawd chattr-i /etc/pawd2、应用程序和服务
关闭不需要的系统服务,如cupsd、bluetooth等 禁止普通用户执行init.d目录中的脚本
chmod-R o-rwx /etc/init.d 或 chmod-R 750 /etc/init.d/ 禁止普通用户执行控制台程序
cd /etc/security/console.apps/ tar jcpvf /etc/conheplpw.tar.bz2 poweroff halt reboot--remove find /-type f-perm +6000 > /etc/sfilelist vi /usr/sbin/chksfile
#!/bin/bash OLD_LIST=/etc/sfilelist for i in `find /-type f-perm +6000` do grep-F “$i”
$OLD_LIST > /dev/null [ $?-ne 0 ] && ls-lh $i 去除程序文件中非必需的set-uid或set-gid附加权限
done chmod 700 /usr/bin/chksfile
三、系统引导和登录安全优化
1、开关机安全控制
调整BIOS引导设置(只设置系统硬盘启动,并设置BIOS口令)防止用户Ctrl+Alt+Del热键重启系统(vi /etc/inittab)
第二章 配置iptables防火墙
(一)一、netfilter/iptables1、规则表:
使用pam_acce认证控制用户登录地点
禁止除了root以外的用户从tty1终端上登录系统
vi /etc/pam.d/login
account required pam_acce.so: root :192.168.1.0/24 172.16.0.0/8
vi /etc/security/acce.conf filter:INPUT、OUTPUT、FORWARD nat:PREROUTING、POSTROUTING、OUTPUT mangle :PREROUTING、POSTROUTING、FORWARD、INPUT、OUTPUT raw:OUTPUT、PREROUTING2、数据包过滤匹配流程
规则表优先顺序:raw、mangle、nat、filter 各规则间的优先顺序:按顺序匹配处理,有匹配项并处理后,不再继续查找(除LOG记录日志外),均不匹配,按默认规则处理
二、管理和设置iptables规则
1、iptables
[-t 表名] 命令选项
[链名] [条件匹配] [-j 目标动作或跳转]
iptables
[-t 表名]
命令选项
[链名]
-t filter-A
INPUT
-t nat-D
OUTPUT-t mangle-I
FORWARD
-t raw-L
PREROUTING
-F
POSTROUTING
-X
-N
-n
-v
-V
-h
-P
--line-numbers2、语法示例:
iptables-L INPUT-line-numbers iptables
-vnL iptables
-D INPUT 2 iptables
-F iptables
-t
nat-F iptables
-t mangle-F iptables
-t
filter-P FORWARD DROP iptables
-P OUTPUT ACCEPT iptables-p icmp-h iptables-t raw-N TCP_PACKETS iptables-t raw-X iptables-I INPUT-p-j REJECT iptables-A FORWARD-p
!icmp
-j iptables-L FORWARD
[条件匹配]
[-j 目标动作或跳转]
通用条件匹配
-j DROP
-p icmp/tcp/udp
-j ACCEPT
-s 10.0.0.0/8
-j REJECT
-d
20.0.0.10
-j LOG 隐含条件匹配
-j SNAT
--dport
-j DNAT
--sport
20:1024
-j
REDIRECT
tcp标记匹配
--tcp-flags [!]SYN,RST,ACK SYN
ICMP类型匹配
--icmp-type Echo-Request
--icmp-type Echo-Reply
--icmp-type destination-Unreachable
显式条件匹配
-m
mac--mac-source
-m
multiport--dport 20,21,25
-m
iprange--src-range 10.0.0.10-10.0.0.100
-m state--state NEW
-m
state--state ESTABLISHED,RELATED
-m
limit--limit 3/minute--limit-burst 8-j LOG
ACCEPT
iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables iptables-A FORWARD-A FORWARD-A INPUT-I INPUT-A INPUT-A INPUT-i-s-p-p-s-s
192.168.1.11-j 192.168.0.0.24
-s
-j
REJECT-j
ACCEPT
-j
DROP
-j
ACCEPT 53-j 53-j
ACCEPT ACCEPT
-j-j
REJECT ACCEPT eth1 192.168.0.0/16
DROP 22-s 10.0.0.0/8 tcp--dport INPUT-s-d
-p
202.13.0.0/16
20:1024-j udp udp-p-p
tcp--dport ACCEPT-A FORWARD-A FORWARD-I-I INPUT INPUT-i-i-p-p-p-p
192.168.0.0/24 192.168.0.0/24
-p-p
--dport--sport eth1 eth1 icmp icmp icmp
tcp--tcp-flags tcp--tcp-flags
SYN,RST,ACK
-j-j
SYN
!SYN,RST,ACK SYN
DROP ACCEPT
-j
-A INPUT-A INPUT-A INPUT-A INPUT
--icmp-type--icmp-type--icmp-type
Echo-Request Echo-Reply
destination-Unreachable ACCEPT-j
ACCEPT-A FORWARD-A FORWARD-A FORWARD-A INPUT-A INPUT-I-I-I INPUT INPUT INPUT-p-p-p-p-p 1-m mac--mac-source 00:01:02:03:04:05-j tcp-m multiport--dport-p-m state--state NEW tcp-m state tcp-m state tcp-m state tcp--dport-p
tcp--dport
--state--state--state
tcp-m tcp-m iprage
-p
DROP
20,21,25,110,1250 :1280
tcp!--syn-j
-j
DROP
--src-range 192.168.1.20-192.168.1.99-j DROP
DROP
-j
ACCEPT
NEW
ESTABLISHED,RELATED
20,21,80
-j-j
ESTABLISHED tcp-m multiport-j
--dport DROP
ACCEPT ACCEPT-j LOG-R INPUT 22-m limit--limit 3/minute--limit-burst3、导出、导入防火墙规则
iptables-save > /etc/sysconfig/iptables iptables-restore4、加载包过滤相关的内核模块
iptables用到的大部分模块都可以在需要时动态载入内核,而有一小部分模块可能需要管理员手动加载 /sbin/depmod-a /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe /sbin/modeprobe ip_tables ip_conntrack iptable_filter iptables_nat iptable_mangle iptable_raw ipt_REJECT ipt_LOG ipt_iprange xt_tcpudp xt_state xt_multiport xt_mac xt_limit ip_nat_ftp ip_nat_irc ip_conntrack_ftp ip_conntrack_irc 第三章配置iptables防火墙
(二)一、SNAT策略
iptables-t nat-A POSTROUTING-s 192.168.1.0/24-o eth1-j SNAT--to-source 218.29.30.31 或
iptables-t nat-A POSTROUTING-s 192.168.1.0/24 –o eth1-j MASQUERADE iptables-t nat-A PREROUTING-i eth0-d 218.29.30.31-p tcp--djport 80
-j DNAT--to-destination 192.168.1.6 iptables-t nat-A PREROUTING-i eth1-s 63.64.65.0/24-d 218.29.30.31-p tcp--dport 2222
-j DNAT--to-destination 192.168.1.5:22
二、DNAT策略
三、使用Layer7应用层过滤功能
1、重新编译安装Linux内核
第四章 构建squid代理服务器
一、概述:
1、代理与NAT的区别
2、传统代理/透明代理/反向代理
二、添加实验
1、拓朴: tar zxvf netfilter-layer7-v2.21.tar.gz-C /usr/src/ tar jxvf linux-2.6.28.8.tar.bz2-C /usr/src/ cd /usr/src/linux-2.6.28.8
patch-p1
.conffig make menuconfig 选择相关模块,保存退出
2、重新编译安装iptables并安装l7-protocols协议包
rpm-e iptables-ipv6 iptables iptstate--nodeps tar-jxvf iptables-1.4.2.tar.bz2-C /usr/src cd /usr/src/iptables-1.4.2/
tar zxvf l7-protocols-2009-05-10.tar.gz-C /usr/src cd l7-protocols-2009-05-10 make install cp /usr/src/netfilter-layer7-v2.21/iptables-1.4.1.1-for-kernel-2.6.20forward/libxt_layer7.*
extensions/./configure--prefix=/--with-ksource=/usr/src/linux-2.6.28.8 make && make install
3、使用iptables设置应用层过滤规则
iptables-A FORWARD-m layer7--l7proto qq-j DROP iptables-A FORWARD-p tcp--syn-m connlimit--connlimit-above 100-j DROP iptables-A FORWARD-p tcp--dport 80-m time--timestart 8:30--timestop 18:00
--weekdays Mon,Tue,Wed,Thu,Fri-j ACCEPT Iptables-A FORWARD-p udp--dport 53-m string--string “tencent”
--algo bm-j DROP2、要求:
代理:用squid实现http透明代理,其它服务通过nat实现 网关安全:
内网能ping通网关,可以使用代理,其它访问拒绝 外网请求均被拒绝
参考步骤:
iptables –t nat –A PREROUTING-i eth1-s 10.0.0.0/8-p tcp--dport 80-j REDIRECT
--toports 3128 Iptables-P INPUT DROP iptables-A INPUT-i eth0-s 10.0.0.0/8-p icmp--icmp-type Echo-Request-j ACCEPT iptables-A INPUT-i eth0-s 10.0.0.0/8-p tcp--dport 3128-j ACCEPT iptables-A INPUT-i eth1-p tcp-m state--state ESTABLISHED-j ACCEPT