A1、登录安全加固
1、密码策略
最小密码长度不少于16个字符
/etc/login.defs
- PASS_MIN_LEN=16
2、登录策略
在用户登录时系统会出现”For authorized users only”的提示信息
/etc/issue
配置文件末尾添加
一分钟内允许4次登录失败,超过4次,登录账号锁定1分钟
/etc/pam.d/system.auth
- auth required pam_tally2.so onerr=fail deny=4 unlock_time=60 even_deny_root root_unlock_time=60
密码策略同时满足大小写字母、数字、特殊字符密码
/etc/pam.d/system.auth
- password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authok_type=retry=3 difok=5 minlen=12 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
远程用户非活动会话连接超时应小与5分钟
/etc/ssh/sshd.conf
修改
- ClientAliveInterval 300
A3、流量完整性保护
使用openssl申请证书,创建自签名证书server.crt和私钥server.key要求只允许使用域名通过SSL加密访问
- openssl req -new -x509 -keyout server.key -out server.crt -config ../openssl.cnf
A5、服务ssh/vsftpd加固
1、SSH服务加固(/etc/ssh/sshd.conf)
修改22服务端口为2222
- 默认端口修改
- Port 2222
ssh禁止root用户远程登录
- 修改配置文件
- RermitRootLogin NO
设置root用户的计划任务。每天早上7:50自动开启ssh服务,22:50关闭;每周7:30重新启动ssh服务
crontab -选项:
-u 指定用户设定计划
-e 进入用户编辑计划
-l 列出用户任务计划
-r 删除用户任务计划
编辑参数和取值范围有:
* * * * *
分 时 日 月 周
0/59 0/24 0/31 0/12 0/7
crontab -u root -e
- 50 7 * * * /sbin/service sshd start
- 50 22 * * * /sbin/service sshd stop
- 30 7 * * */6 /sbin/service sshd restart
2、VSFTPD服务加固(/etc/vsftpd/vsftpd.conf)
VSFTPD禁止匿名用户上传
- 修改配置文件:
- anon_upload_enable=NO
激活VSFTPD上传下载日志
- 修改配置文件:
- xferlog_enable=YES
设置无任何操作的超时时间为5分钟
- 修改配置文件:
- idle_seesion_timeout=300
用户访问的最大传输速率为1M
- 在文件末尾添加:
- local_max_rate=1000000
匿名用户访问的最大传输速率为512KB/S
- 在文件末尾添加:
- anon_max_rate=600000
VSFTPD同一个IP只能连接两个
- 在文件末尾添加:
- max_per_ip=2
VSFTPD将使客户端连接时的端口范围在50000和60000之间
- 在文件末尾添加:
- pasv_min_port=50000
- pasv_min_port=60000
VSFTPD使本地用户登录活动范围限制在home目录
- 修改配置文件:
- chroot_local_user=YES
A6、iptables防火墙
禁用23端口
- iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 23 -j DROP
禁止别人ping
- iptables -t filter -I INPUT -p icmp -j DROP
禁止所有人连接ssh,除了172.16.1.1
- iptables -A INPUT -p tcp --dport 22 -s 172.16.1.1 -j ACCEPT
- iptables -A INPUT -p tcp --dport 22 -j DROP
禁止转发来自MAC地址为23:0E:29:27:65:EF主机的数据包
- iptables -A FORWARD -m mac --mac-source 23:0E:29:27:65:EF -j ACCEPT
防御IP碎片攻击,限制IP碎片的数量,仅允许每秒处理1000个
- iptables -A FORWARD -f -m limit --limit 1000/s --limit-burst 1000 -j ACCEPT
允许本机开放从TCP端口20-1024提供的服务
- iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 20:1024 -j ACCEPT
只允许转发来自172.16.0.0/24局域网段的DNS解析请求数据包
- iptables -A FORWARD -s 172.16.0.0/24 -p udp --dport 53 -j ACCEPT
- iptables -A FORWARD -d 172.16.0.0/24 -p udp --sport 53 -j ACCEPT
设置防火墙允许本机对外开放TCP端口21以及被动模式FTP端口1250-1280
- iptables -A INPUT -p tcp -m multiport --dport 21,1250:1280 -j ACCEPT
拒绝TCP标志位全部为1以及全部为0的报文访问本机
- iptables -A INPUT -p tcp --tcp-flags ALL ALL -j DROP
拒绝访问防火墙的新数据包,但允许响应连接或以有连接响应的数据包
- iptables -A INPUT -p tcp -m state --state ESTABLISHED,RELATED -j ACCEPT
以封堵目标网段(172.16.1.0/24),并在两小时后接触封锁
- iptables -I INPUT -s 172.16.1.0/24 -j DROP
- iptbales -I FORWARD -s 172.16.1.0/24 -j DROP
- at now 2 hours
- iptables -D INPUT 1
- iptables -D FORWARD 1
ftp服务器的数据下载请求次数每分钟不得超过五个
- iptables -A OUTPUT -m state --state RELATED -m limit --limit 5/minute -j ACCEPT
限制本机的web服务在周一不允许访问
- iptables -A INPUT -p tcp --dport 80 -m time ! --weekdays Mon -j ACCEPT
在工作时间,即周一到周五的8:30-18:00,开放本机的ftp给192.168.1.0/24网络中的主机访问
- iptables -A INPUT -p tcp --dport 21 -s 192.168.1.0/24 -m time --weekdays 1,2,3,4,5 --timestart 08:30 --timestop 18:00 -j ACCEPT
禁止本机ping任何机器
- iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
允许转发除icmp外所有的数据包
- iptables -A INPUT -p icmp -j REJECT
保存
- service iptables save
重启
- service iptables restart
可能有误,多去找找资料