CentOS 6.5安全加固及性能优化
(文章来自:http://www.cnblogs.com/seasonzone/p/3526296.html)
我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结。
说明:经常玩Linux系统的朋友多多少少也知道些系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结:
操作系统:CentOS 6.5_x64最小化安装
1、主机名设置
- [root@localhost~]# vi /etc/sysconfig/network
- HOSTNAME=test.com
- [root@localhost~]# hostname test.com #临时生效
2、关闭SELinux
- [root@localhost~]# vi /etc/selinux/config
- SELINUX=disabled
- [root@localhost~]# setenforce #临时生效
- [root@localhost~]# getenforce #查看selinux状态
3、清空防火墙并设置规则
- [root@localhost~]# iptables -F #清楚防火墙规则
- [root@localhost~]# iptables -L #查看防火墙规则
- [root@localhost~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
- [root@localhost~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- [root@localhost~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
- [root@localhost~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT
- [root@localhost~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT
- [root@localhost~]# iptables -A INPUT -p icmp -j ACCEPT
- [root@localhost~]# iptables -P INPUT DROP
- [root@localhost~]# /etc/init.d/iptables save
#根据需求开启相应端口
4、添加普通用户并进行sudo授权管理
- [root@localhost~]# useradd user
- [root@localhost~]# echo "123456" | passwd --stdin user #设置密码
- [root@localhost~]# vi /etc/sudoers #或visudo打开,添加user用户所有权限
- root ALL=(ALL) ALL
- user ALL=(ALL) ALL
5、禁用root远程登录
- [root@localhost~]# vi /etc/ssh/sshd_config
- PermitRootLoginno
- PermitEmptyPasswords no #禁止空密码登录
- UseDNSno #关闭DNS查询
6、关闭不必要开机自启动服务
7、删除不必要的系统用户
8、关闭重启ctl-alt-delete组合键
- [root@localhost ~]# vi /etc/init/control-alt-delete.conf
- #exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注释掉
9、调整文件描述符大小
- [root@localhost ~]# ulimit –n #默认是1024
- 1024
- [root@localhost ~]# echo "ulimit -SHn 102400">> /etc/rc.local #设置开机自动生效
10、去除系统相关信息
- [root@localhost ~]# echo "Welcome to Server" >/etc/issue
- [root@localhost ~]# echo "Welcome to Server" >/etc/redhat-release
11、修改history记录
- [root@localhost ~]# vi /etc/profile #修改记录10个
- HISTSIZE=10
12、同步系统时间
- [root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime #设置Shanghai时区
- [root@localhost ~]# ntpdate cn.pool.ntp.org ;hwclock–w #同步时间并写入blos硬件时间
- [root@localhost ~]# crontab –e #设置任务计划每天零点同步一次
- 0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w
13、内核参数优化
- [root@localhost ~]# vi /etc/sysctl.conf #末尾添加如下参数
- net.ipv4.tcp_syncookies = 1 #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭
- net.ipv4.tcp_tw_reuse = 1 #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭
- net.ipv4.tcp_tw_recycle = 1 #TCP失败重传次数,默认是15,减少次数可释放内核资源
- net.ipv4.ip_local_port_range = 4096 65000 #应用程序可使用的端口范围
- net.ipv4.tcp_max_tw_buckets = 5000 #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000
- net.ipv4.tcp_max_syn_backlog = 4096 #进入SYN宝的最大请求队列,默认是1024
- net.core.netdev_max_backlog = 10240 #允许送到队列的数据包最大设备队列,默认300
- net.core.somaxconn = 2048 #listen挂起请求的最大数量,默认128
- net.core.wmem_default = 8388608 #发送缓存区大小的缺省值
- net.core.rmem_default = 8388608 #接受套接字缓冲区大小的缺省值(以字节为单位)
- net.core.rmem_max = 16777216 #最大接收缓冲区大小的最大值
- net.core.wmem_max = 16777216 #发送缓冲区大小的最大值
- net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手状态重试次数,默认5
- net.ipv4.tcp_syn_retries = 2 #向外SYN握手重试次数,默认4
- net.ipv4.tcp_tw_recycle = 1 #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭
- net.ipv4.tcp_max_orphans = 3276800 #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息
- net.ipv4.tcp_mem = 94500000 915000000 927000000
- net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;
- net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;
- net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。
至此CentOS 6.5_x64最小化安装系统基本优化调整完毕,需要重启下系统。
CentOS 6.5安全加固及性能优化的更多相关文章
- CentOS 6.5 安全加固及性能优化 (转)
通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化. 环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5- ...
- [转]CentOS 6.5安全加固及性能优化
原文链接:http://os.51cto.com/art/201312/423095.htm Centos 6.5 优化 一些基础优化和安全设置 这个也挺好 说明:经常玩Linux系统的朋友多多少少也 ...
- centos 6.5 安装 tomcat8 及性能优化_虚拟主机
Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx.Apa ...
- RHEL/CentOS通用性能优化、安全配置参考
RHEL/CentOS通用性能优化.安全配置参考 本文的配置参数是笔者在实际生产环境中反复实践总结的结果,完全适用绝大多数通用的高负载.安全性要求的网络服务器环境.故可以放心使用. 若有异议,欢迎联系 ...
- 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了
本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...
- MySQL数据库性能优化与监控实战(阶段四)
MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...
- Ceph性能优化总结(v0.94)
优化方法论 做任何事情还是要有个方法论的,“授人以鱼不如授人以渔”的道理吧,方法通了,所有的问题就有了解决的途径.通过对公开资料的分析进行总结,对分布式存储系统的优化离不开以下几点: 1. 硬件层面 ...
- mysql性能优化学习笔记
mysql性能优化 硬件对数据库的影响 CPU资源和可用内存大小 服务器硬件对mysql性能的影响 我们的应用是CPU密集型? 我们的应用的并发量如何? 数量比频率更好 64位使用32位的服务器版本 ...
- 利用 gperftools 对nginx mysql 内存管理 性能优化
利用 gperftools 对nginx 与 mysql 进行 内存管理 性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...
随机推荐
- Thinkphp入门 一 (45)
原文:Thinkphp入门 一 (45) 什么是框架? 就是一堆代码的集合,这些代码可以有变量.常量.函数.类等等.这些代码彼此紧密联系,彼此有合作关系.里边还有设计模式:MVC.单例.工厂等等. 为 ...
- cocos2d-x游戏开发系列教程-编译运行我们的第一个cocos2d-x游戏程序
环境准备和介绍: 操作系统:64位Windows 7 sp1(Microsoft Windows [版本 6.1.7601]) 必要的软件和源码: visual_studio_ultimate_201 ...
- 关于Android配色 自适应颜色的实现
在Android4.4系统中,更加详细地介绍了关于颜色的细节并提供了使用colour的新教程,以使我们的应用更加独一无二.也就是说,作为一个设计师或者开发者,为你的APP做完美的配色已经变成了你的职责 ...
- Introduction to Probability (三) Independence
两个事件独立性的定义是:事件A的发生对事件B的发生毫无影响,即从A的发生与否.我们不能猜測出B是否发生. 从概率等式的表示来看就是B在A发生的情况下发生的概率等于B发生的概率本身. 进而引出了A与B同 ...
- Delphi XE7 用indy开发微信公众平台所有功能(10篇博客)
http://www.cnblogs.com/devinlee/p/4282498.html http://www.cnblogs.com/devinlee/p/4565933.html
- dwz+jquery+fileupload+springmvc实现文件上传 及图片预览
1 前台jsp:文件的上传利用了iframe实现局部刷新功能.使用了apache的fileupload组件,用到的jar: commons-fileupload.jar,commons-io.jarD ...
- oracle 之数据字典屣履造门。
oracle 之数据字典屣履造门.(更新中) 今天是2013-06-20,哎,写这篇笔记的时候,我发现我是一个非常懒惰的人,这篇文章本该昨天就完成的,想起了钱鹤滩的<明日歌> ...
- Swift - 操作SQLite数据库(引用SQLite3库)
SQLite轻量级数据库在移动应用中使用非常普遍,但是目前的库是C编写的,为了方便使用,对SQLite相关的操作用Swift进行了封装.这个封装代码使用了一个开源项目SQLiteDB,地址是:http ...
- 爬虫框架: DotnetSpider
[开源 .NET 跨平台 数据采集 爬虫框架: DotnetSpider] [一] 初衷与架构设计 一 ,为什么要造轮子 有兴趣的同学可以去各大招聘网站看一下爬虫工程师的要求,大多是JAVA,PYTH ...
- javascript中使用Map
mis.comm.js.Map = function() { this.elements = new Array(); //获取MAP元素个数 this.size = function() { ret ...