iptables
初始化 > iptables -F #清空所有的链 > iptables -X #清空所有自定义的链 关掉全部端口 > iptables -P INPUT DROP > iptables -P OUTPUT DROP 开启端口第一步 iptables -A INPUT -p icmp --icmp-type any -j ACCEPT 允许icmp包进入 iptables -A INPUT -s localhost -d localhost -j ACCEPT 允许本地的数据包 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 允许已经建立和相关的数据包进入 iptables -A OUTPUT -p icmp --icmp any -j ACCEPT 允许icmp包出去 iptables -A OUTPUT -s localhost -d localhost -j ACCEPT 允许本地数据包 iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 允许已经建立和相关的数据包出去 关闭端口号 iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP 打开端口号 iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT
网络服务安全
禁止ping # echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 开启 # echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all 关闭
访问控制
为不同的管理员分配不同的账户 cat /etc/passwd useradd username passwd password 增加新用户 chmod 777 目录 去除不需要的帐号、修改默认帐号的shell变量 cat /etc/passwd cat /etc/shadow 删除不需要的账户 userdel username groupdel username 设置shell usermod -s /dev/hull username 对系统账号进行登陆限制 禁止某用户登陆 example: bin:x:2:2:bin:/bin:/bin/bash => bin:x:2:2:bin:/bin:/bin/nologin 禁用bin用户登陆 touch /etc/nologin 禁止除root以外所有用户登陆 建议禁掉的用户:daemon bin sys adm lp uucp nuucp smmsp等 设置关键目录的权限 关键目录: chmod 644 /etc/passwd chmod 600 /etc/shadow chmod 644 /etc/group 设置目录权限 ls -l查看权限 权限前边的ld为d是目录文件,l是链接文件 chmod -R 750 /etc/init.d/* 设置关键文件的属性
身份鉴别
为空口令用户设置密码 cat /etc/passwd 注册名:口令:用户标识号:组标识号:用户名:用户主目录:命令解释程序 查看是否存在空口令用户(X为存在密码,*为被封禁) passwd 空口令用户名 缺省密码长度限制 vim /etc/login.defs 查看PASS_MIN_LEN选项值 PASS_MIN_LEN 8 设置密码长度最短为8 缺省密码生存周期限制 vim /etc/login.defs PASS_MAX_DAYS 90 PASS_MIN_DAYS 0 设置帐户口令的生存期不长于90 天 口令过期提醒 vim /etc/login.defs PASS_WARN_AGE 7 口令到期前多少天开始通知用户口令即将到期 限制超级管理员远程登录 vim /etc/ssh/sshd_config 把PermitRootLogin yes修改为no service sshd restart 重启sshd服务 如果遇到sshd: unrecognized service错误 尝试一下service ssh restart 用ps -ef | grep sshd查看一下服务是否启动