本文通过阐述linux的基础安全知识,服务器安全基础,是近身防卫、是末端拦截,必须重视。
一,服务器安全方面
1.1 关闭不需要的系统服务
对于服务器来说,运行的服务越多,安全隐患越多,必须关闭不用的系统服务,提升系统安全性。
建议保留的服务有,crond sshd network rsyslog xinetd iptables sysstat
chkconfig|awk '{print "chkconfig",$1,"off"}'|bash
chkconfig|egrep "crond|sshd|network|rsyslog|sysstat|iptables" |awk '{print "chkconfig",$1,"on"}'|bash
1.2 删除不用的用户禁止某些用户登录
userdel test01
groupdel test01
usermod -s /sbin/nologin test02 #禁止登录
1.3 密码安全认证
使用RSA密钥认证登录
将本机的pub内容拷贝到服务器的./ssh/authorized_keys中
1.4 控制sudo权限的使用
test01 ALL = NOPASSWD: /etc/init.d/mysqld restart
test02 ALL = (ALL) NOPASSWD: ALL #形同root 谨慎使用
1.5 修改系统信息文件
/etc/issue /etc/issue.net /etc/redhat-release 记录了操作系统和版本号 可以删除或者修改
/etc/motd 系统公告信息,可以填入一些警告信息,警告震慑非法登陆者
1.6 禁用Control+Alt+Delete
centos5 打开/etc/inittab 注释掉 ca::ctrlaltdel:/sbin/shutdown -t3 -r now 这一行,然后执行 telinit q
centos6 打开/etc/init/control-alt-delete.conf 注释掉exec /sbin/shutdown -r now "Control-Alt-Delete pressed" 这一行
centos7 删除文件:/usr/lib/systemd/system/ctrl-alt-del.target即可,然后执行init q
2.1 开启ssh认证登陆
设置配置:禁root登陆 开启RSA密钥认证 限制登陆次数 禁用DNS反向解析等
2.2 history命令记录详细用户、IP、时间
编辑/etc/bashrc 或者编辑/etc/profile 添加修改用户IP时间的程序语句
2.3 开启设置iptables和tcp_wrappers
iptables配置方法http://blog.51cto.com/superleedo/1886999
tcp_wrappers配置 是通过修改/etc/hosts.allow /etc/hosts.deny
service: host [action]
sshd: 192.168.1.13
系统执行判断的顺序是先allow文件后deny文件
3.1 文件系统安全锁定
lsattr 查看文件属性
chattr +i /etc/passwd 设定文件不能删除修改重命名
chattr +a /etc/passwd 设定文件只能添加内容,不能删除
3.2 查找修改系统不安全权限
查找任何用户都有写权限的文件或目录
find / -type f -perm -2 -o -perm -20 |xargs ls -al
find / -type d -perm -2 -o -perm -20 |xargs ls -ld
检查具有s位权限的文件程序,去除不必要的s位权限
find / -type f -perm -4000 -o -perm -2000 -print |xargs ls -al
检查suid和sgid文件,保存检查结果以便日后系统检查
find / -user root -perm -2000 -print -exec md5sum {} \;
find / -user root -perm -4000 -print -exec md5sum {} \;
检查没有属主文件,添加属主
find / -nouser -o -nogroup
3.3 修改挂载目录权限,限制tmp的执行权限
编辑/etc/fstab
/dev/tmps /tmp ext4 defaults,nosuid,noexec,rw 0 0
3.4 配置yum源
配置阿里的yum源或者centos社区的源
3.5 安装入侵检测工具(文件级别,内核级别入侵,重装系统)
chkrootkit
RKHunter 建议用这个
3.6 收到入侵攻击处理流程
切断网络--查找攻击源---分析入侵路径原因---备份数据---重装系统---修复漏洞---恢复数据及网络
查找攻击源:受到攻击--检查应用程序--校验命令md5sum--断网分析--系统日志应用日志查找攻击源--日志文件用户文件密码文件历史记录--查看异常进程--查看异常pid对应的程序
二 网络安全监测
网络监测工具iftop
iftop是一个时时网卡流量监控工具,类似top命令,它可以监控指定网卡的时时流量、端口连接信息、反向解析ip等。对于网络故障流量异常监测很有效
常用命令 iftop -P -i em1
网络监控分析工具Ntop(停止更新)——》Ntopng(主推版本)
可以监控庞大的服务器网络,监控流量、端口、路由、服务、带宽、时间等
ntopng依赖redis 启动时候需要同时启动redis,启动后可以通过web方式访问(3000端口)admin:admin
常用命令 ntop -i em1 -L -d
ntopng 主要通过界面时时监控流量
网络性能评估工具iperf
iperf是一个基于TCP/IP和UDP/IP的网络性能检测工具用于测量网络带宽和质量,丢包率、网络延迟等
常用命令 iperf -c 192.168.1.13
网络探测工具nmap
nmap用于网络发现、端口扫描、系统及版本检测,应用及版本检测
常用命令 nmap -T4 -A -v 192.168.1.13
端口扫描 nmap -sU -sS -F 192.168.1.13
版本检测 nmap -sV 192.168.1.13
系统检测 nmap -O --osscan-guess 192.168.1.13
网络检测安全工具的具体安装使用,可以查找相应的文章以及官网指导。
原文地址:http://blog.51cto.com/superleedo/2093007