前面我们学习了tomcat与jvm的优化,明白了为什么要优化!今天我们来深入的学习下系统的安全优化!这个是我们在实际工作中必须会的,系统优化的好坏直接影响你服务器运行的情况。所以大家一定要重视优化.这里我把我工作中给服务器做的一个系统优化方案给大家参考下,大家工作中就按照这个标准去部署到自己的服务器上就可以啦!
本文介绍Linux部署优化概念,使用参数,指导运维更好的了解Linux工作原理,维护与安全,让公司网站更好的运行。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
1.安装部署原则
安装最小化,分区合理化。用户密码复杂化。
2.优化原因
部署完Linux系统,默认安装开启了很多不需要服务,占用硬件资源,有些功能是根据客户的需要添加的故要做进一步优化。
3.Linux系统优化原则
安装系统最小化,开启服务最小化,操作最小化,登录最小化,配置参数合理,权限最小化
1、centos6.6最小化安装后启动网卡
2、ifconfig查询IP进行SSH链接
3、更新系统源
4、系统时间更新和设定定时任务
5、修改ip地址、网关、主机名、DNS
6、关闭selinux,清空iptables
7、创建普通用户并进行sudo授权管理
8、修改SSH端口号和屏蔽root账号远程登陆
9、锁定关键文件系统(禁止非授权用户获得权限)
10、精简开机自启动服务
11、调整系统文件描述符大小
12、设置系统字符集
13、清理登陆的时候显示的系统及内核版本
14、内核参数优化
15、定时清理/var/spool/clientmqueue
16、删除不必要的系统用户和群组
17、关闭重启ctl-alt-delete组合键
18、设置一些全局变量
1、启动网卡
#centos6.x最小化安装后,网卡默认不是启动状态
ifup eth0
2、SSH链接 ifconfig 查看IP后SSH终端连接。
3、更新源最小化安装是没有wget工具的,必须先安装在修改源)
yum install wget
备份原系统更新源
mv/etc/yum.repos.d/CentOS-Base.repo/etc/yum.repos.d/CentOS-Base.repo.backup
进入yum.repos.d目录
cd/etc/yum.repos.d
下载阿里镜像源
wget -O/etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
4、系统时间更新和设定定时任务第一种:更新时间并且写入BOIS
ntpdatetime.windows.com && hwclock -w && hwclock –systohc
5、修改ip地址、网关、主机名、DNS #eth0 网卡设置
6、关闭selinux,清空iptables 在服务器配置完全成功后各项服务正常后,在开启selinux注释:“本节在最后”
7、创建普通用户并进行sudo授权管理创建普通用户 useradd lele 修改用户密码 passwd
8、修改SSH端口号和屏蔽root账号远程登陆
###sshd###
GSSAPIAuthentication no
UseDNS no
Port 22
PermitRootLogin no
PermitEmptyPasswords no
###sshd###
9、锁定关键文件系统(禁止非授权用户获得权限)
chattr +i /etc/passwd
chattr +i/etc/inittab
chattr +i/etc/group
chattr +i/etc/shadow
chattr +i/etc/gshadow
10、精简开机自启动服务
注意: 刚装完操作系统一般可以只保留crond,network,syslog,sshd这四个服务。后期根据业务需求制定自启服务
11、调整文件描述符大小
echo '* - nofile 65535'>>/etc/security/limits.conf
#查看文件描述符大小
ulimit -n
12、设置系统字符集
第一种:vi /etc/sysconfig/i18n
如果想用中文提示:LANG=”zh_CN.UTF-8″如果想用英文提示:LANG=”en_US.UTF-8″
13、清理登陆的时候显示的系统及内核版本
#查看登陆信息
cat/etc/redhat-release cat /etc/issue
#清理登陆信息
echo>/etc/redhat-release
14、内核参数优化 vi /etc/sysctl.conf
net.ipv4.tcp_max_syn_backlog= 65536
net.core.netdev_max_backlog= 32768
net.core.somaxconn= 32768
net.core.wmem_default= 8388608
net.core.rmem_default= 8388608
net.core.rmem_max= 16777216
net.core.wmem_max= 16777216
net.ipv4.tcp_timestamps= 0
net.ipv4.tcp_synack_retries= 2
net.ipv4.tcp_syn_retries= 2
net.ipv4.tcp_tw_recycle= 1
#net.ipv4.tcp_tw_len= 1
net.ipv4.tcp_tw_reuse= 1
net.ipv4.tcp_mem =94500000 915000000 927000000
net.ipv4.tcp_max_orphans= 3276800
#net.ipv4.tcp_fin_timeout= 30
#net.ipv4.tcp_keepalive_time= 120
net.ipv4.ip_local_port_range= 1024 65535
16、删除不必要的系统用户和群组
#删除不必要的用户
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel operator
userdel games
userdel gopher
userdel ftp
#删除不必要的群组
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip
groupdel pppusers
17、关闭重启ctl-alt-delete组合键
vi/etc/init/control-alt-delete.conf
#注释掉
#exec/sbin/shutdown -r now "Control-Alt-Deletepressed"
18、设置一些全局变量
#设置自动退出终端,防止非法关闭ssh客户端造成登录进程过多,可以设置大一些,单位为秒
echo"TMOUT=3600">> /etc/profile
#历史命令记录数量设置为10条
sed -i"s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile
#立即生效
source/etc/profile
#######防火墙配置#######
iptables -F
iptables -X
iptables -Z
iptables -L -n
/etc/init.d/iptablessave
iptables -A INPUT-p tcp --dport 22 -j ACCEPT
iptables -A INPUT-p tcp --dport 80 -j ACCEPT
iptables -A INPUT-p tcp --dport 443 -j ACCEPT
iptables -A INPUT-p tcp --dport 3306 -j ACCEPT
iptables -A INPUT-p tcp --dport 53 -j ACCEPT
iptables -A INPUT-p udp --dport 53 -j ACCEPT
iptables -A OUTPUT-p icmp --icmp-type 8 -j ACCEPT
iptables -A INPUT-p icmp --icmp-type 8 -j ACCEPT
IPTABLES -A INPUT-i lo -p all -j ACCEP
IPTABLES -A OUTPUT-o lo -p all -j ACCEPT
iptables -A OUTPUT-p tcp --sport 31337 -j DROP
iptables -A OUTPUT-p tcp --dport 31337 -j DROP
iptables -A OUTPUT-p tcp --sport 31340 -j DROP
iptables -A OUTPUT-p tcp --dport 31340 -j DROP
iptables -P INPUTDROP
iptables -P OUTPUTACCEPT
iptables -PFORWARD DROP
iptables -A INPUT-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT-m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -AINPUT -p tcp --syn -m limit --limit 12/s--limit-burst 24 -j ACCEPT
iptables -AFORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
/etc/init.d/iptablessave
/etc/init.d/iptablesreload
#######################################
看到是不是很多,不懂啊!没关系,你只要勤快点儿把上面的优化方案部署内容给熟记下来,下面的就是怎么操作!这里如果是从最开始看我的文章的童鞋们应该能看到这18项优化内容,有很多都是我们前面做过的,这里我给他做了个汇总!注意哦!这些是我的一个系统的基本优化,大家可以在此上面改写适合自己的。首先测试环境哦