删除关机命令
rm -rf /sbin/shutdown
rm -rf /sbin/init
rm -rf /sbin/reboot
查看有哪些用户
cat /etc/passwd
删除用户 禁用用户
passwd -l username # 禁用用户
userdel usernmae # 删除用户# 也可编辑/etc/passwd 文件,在不要的用户前加注释
iptables防火墙
# 先看要求开放的端口,如:21,22,23,80,3306
# 因为靶机上有各种各样的后门端口,一个一个找太麻烦,直接全关了
iptables -L # 先查看已有规则
iptables -F # 删除所有规则
iptables -I INPUT -p tcp --dport 22 -j ACCEPT # 开放22端口,这个必须要!!! 比赛的时候是靠ssh连接上去的,如果这个关了,自己都连不上
iptables -I INPUT -p tcp --dport 21 -j ACCEPT # 开放21端口
iptables -I INPUT -p tcp --dport 23 -j ACCEPT # 开放23端口
iptables -I INPUT -p tcp --dport 80 -j ACCEPT # 开放80
iptables -I INPUT -p tcp --dport 3306 -j ACCEPT # 开放3306
iptables -I INPUT -p icmp -j ACCEPT # icmp,比赛的时候要求能ping通,所以这个也要开放
iptables -A INPUT -j DROP # 上面的配好后直接禁掉其他的,这里的一定要用 “-A” !!!常用命令:-A 追加规则-->iptables -A INPUT-D 删除规则-->iptables -D INPUT 1(编号)-R 修改规则-->iptables -R INPUT 1 -s 192.168.12.0 -j DROP #取代现行规则,顺序不变(1是位置)-I 插入规则-->iptables -I INPUT 1 --dport 80 -j ACCEPT #插入一条规则,原本位置上的规则将会往后移动一个顺位-L 查看规则-->iptables -L INPUT #列出规则链中的所有规则-N 新的规则-->iptables -N allowed #定义新的规则通用参数:-p 协议 例:iptables -A INPUT -p tcp-s源地址 例:iptables -A INPUT -s 192.168.1.1-d目的地址 例:iptables -A INPUT -d 192.168.12.1-sport源端口 例:iptables -A INPUT -p tcp --sport 22-dport目的端口 例:iptables -A INPUT -p tcp --dport 22-i指定入口网卡 例:iptables -A INPUT -i eth0-o指定出口网卡 例:iptables -A FORWARD -o eth0-j 指定要进行的处理动作常用的ACTION:DROP:丢弃REJECT:明示拒绝ACCEPT:接受SNAT基于原地址的转换source--指定原地址
配置文件
ssh
vim /etc/ssh/sshd_config # 编辑配置文件
Prot 22 # 端口号设置为22,比赛时一般不允许修改端口
PermitRootLogin yes # 允许root登录
PasswordAuthentication yes # 允许登录
PermitEmptyPasswords no # 不允许空密码登录
ftp
vim /etc/vsftpd.conf #配置文件路径可能有点不一样,根据当时环境而定
anonymous_enable=YES #这是允许匿名用户登录,把YES改为NO即可,ftp的加固基本上就这个了
telnet
# 这个基本上没得什么加固的,用户名密码难一点基本就没问题了
http
ls /var/www/html #查看html目录下有什么文件
cp -r /var/www/html/* /root/html_bak # 先备份
rm -rf /var/www/html/* # 删除html目录下所有文件
mysql
# mysql的话禁止外联就可以了
update mysql.user set host="127.0.0.1"; # 只允许127.0.0.1连接
flush privileges; # 使其立即生效还有一种改配置文件的方法
vi /etc/my.cf # 将#skip-networking注释去掉
rsync
配置文件默认路径为:/etc/rsyncd.conf
配置文件
uid = root #运行RSYNC守护进程的用户
gid = root #运行RSYNC守护进程的组
use chroot = no #不使用chroot
max connections = 4 # 最大连接数为4
strict modes =yes #是否检查口令文件的权限
port = 873 #默认端口873[backup] #这里是认证的模块名,在client端需要指定
path = /home/backup/ #需要做镜像的目录,不可缺少!
comment = This is a test #这个模块的注释信息
ignore errors #可以忽略一些无关的IO错误
read only = no# 只读
list = no #不允许列文件
auth users = hening #认证的用户名,如果没有这行则表明是匿名,此用户与系统无关
secrets file = /etc/rsync.pas #密码和用户名对比表,密码文件自己生成
hosts allow = 10.96.9.105,10.96.9.113#允许主机内容ip
hosts deny = 0.0.0.0/0 #禁止主机
#transfer logging = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
加固的话只需把path 参数给注释掉即可,如:
uid = root
gid = root
use chroot = no
max connections = 4
strict modes =yes
port = 873 [backup]
#path = /home/backup/
comment = This is a test
ignore errors
read only = no
list = no
auth users = hening
secrets file = /etc/rsync.pas
hosts allow = 10.96.9.105,10.96.9.113
hosts deny = 0.0.0.0/0
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock