(文章来自:http://www.cnblogs.com/seasonzone/p/3526296.html

我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结。

AD:2013云计算架构师峰会课程资料下载

说明:经常玩Linux系统的朋友多多少少也知道些系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解,对系统调优做了如下小结:

操作系统:CentOS 6.5_x64最小化安装

1、主机名设置

  1. [root@localhost~]# vi /etc/sysconfig/network
  2. HOSTNAME=test.com
  3. [root@localhost~]# hostname test.com  #临时生效

2、关闭SELinux

  1. [root@localhost~]# vi /etc/selinux/config
  2. SELINUX=disabled
  3. [root@localhost~]# setenforce #临时生效
  4. [root@localhost~]# getenforce #查看selinux状态

3、清空防火墙并设置规则

  1. [root@localhost~]# iptables -F   #清楚防火墙规则
  2. [root@localhost~]# iptables -L   #查看防火墙规则
  3. [root@localhost~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  4. [root@localhost~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
  5. [root@localhost~]# iptables -A INPUT -p tcp --dport 53 -j ACCEPT
  6. [root@localhost~]# iptables -A INPUT -p udp --dport 53 -j ACCEPT
  7. [root@localhost~]# iptables -A INPUT -p udp --dport 123 -j ACCEPT
  8. [root@localhost~]# iptables -A INPUT -p icmp -j ACCEPT
  9. [root@localhost~]# iptables -P INPUT DROP
  10. [root@localhost~]# /etc/init.d/iptables save

#根据需求开启相应端口

4、添加普通用户并进行sudo授权管理

  1. [root@localhost~]# useradd user
  2. [root@localhost~]# echo "123456" | passwd --stdin user  #设置密码
  3. [root@localhost~]# vi /etc/sudoers  #或visudo打开,添加user用户所有权限
  4. root    ALL=(ALL)       ALL
  5. user    ALL=(ALL)       ALL

5、禁用root远程登录

  1. [root@localhost~]# vi /etc/ssh/sshd_config
  2. PermitRootLoginno
  3. PermitEmptyPasswords no #禁止空密码登录
  4. UseDNSno #关闭DNS查询

6、关闭不必要开机自启动服务

7、删除不必要的系统用户

8、关闭重启ctl-alt-delete组合键

  1. [root@localhost ~]# vi /etc/init/control-alt-delete.conf
  2. #exec /sbin/shutdown -r now "Control-Alt-Deletepressed"  #注释掉

9、调整文件描述符大小

  1. [root@localhost ~]# ulimit –n #默认是1024
  2. 1024
  3. [root@localhost ~]# echo "ulimit -SHn 102400">> /etc/rc.local   #设置开机自动生效

10、去除系统相关信息

  1. [root@localhost ~]# echo "Welcome to Server" >/etc/issue
  2. [root@localhost ~]# echo "Welcome to Server" >/etc/redhat-release

11、修改history记录

  1. [root@localhost ~]# vi /etc/profile  #修改记录10个
  2. HISTSIZE=10

12、同步系统时间

  1. [root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai/etc/localtime  #设置Shanghai时区
  2. [root@localhost ~]# ntpdate cn.pool.ntp.org ;hwclock–w  #同步时间并写入blos硬件时间
  3. [root@localhost ~]# crontab –e     #设置任务计划每天零点同步一次
  4. 0 * * * * /usr/sbin/ntpdate cn.pool.ntp.org ; hwclock -w

13、内核参数优化

  1. [root@localhost ~]# vi /etc/sysctl.conf    #末尾添加如下参数
  2. net.ipv4.tcp_syncookies = 1            #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭
  3. net.ipv4.tcp_tw_reuse = 1             #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭
  4. net.ipv4.tcp_tw_recycle = 1            #TCP失败重传次数,默认是15,减少次数可释放内核资源
  5. net.ipv4.ip_local_port_range = 4096 65000  #应用程序可使用的端口范围
  6. net.ipv4.tcp_max_tw_buckets = 5000     #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000
  7. net.ipv4.tcp_max_syn_backlog = 4096    #进入SYN宝的最大请求队列,默认是1024
  8. net.core.netdev_max_backlog =  10240  #允许送到队列的数据包最大设备队列,默认300
  9. net.core.somaxconn = 2048              #listen挂起请求的最大数量,默认128
  10. net.core.wmem_default = 8388608        #发送缓存区大小的缺省值
  11. net.core.rmem_default = 8388608        #接受套接字缓冲区大小的缺省值(以字节为单位)
  12. net.core.rmem_max = 16777216           #最大接收缓冲区大小的最大值
  13. net.core.wmem_max = 16777216           #发送缓冲区大小的最大值
  14. net.ipv4.tcp_synack_retries = 2        #SYN-ACK握手状态重试次数,默认5
  15. net.ipv4.tcp_syn_retries = 2           #向外SYN握手重试次数,默认4
  16. net.ipv4.tcp_tw_recycle = 1            #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭
  17. net.ipv4.tcp_max_orphans = 3276800     #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息
  18. net.ipv4.tcp_mem = 94500000 915000000 927000000
  19. net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;
  20. net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;
  21. net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

至此CentOS 6.5_x64最小化安装系统基本优化调整完毕,需要重启下系统。

CentOS 6.5安全加固及性能优化的更多相关文章

  1. CentOS 6.5 安全加固及性能优化 (转)

    通过修改CentOS 6.5 的系统默认设置,对系统进行安全加固,进行系统的性能优化. 环境: 系统硬件:vmware vsphere (CPU:2*4核,内存2G) 系统版本:Centos-6.5- ...

  2. [转]CentOS 6.5安全加固及性能优化

    原文链接:http://os.51cto.com/art/201312/423095.htm Centos 6.5 优化 一些基础优化和安全设置 这个也挺好 说明:经常玩Linux系统的朋友多多少少也 ...

  3. centos 6.5 安装 tomcat8 及性能优化_虚拟主机

    Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选. Tomcat和Nginx.Apa ...

  4. RHEL/CentOS通用性能优化、安全配置参考

    RHEL/CentOS通用性能优化.安全配置参考 本文的配置参数是笔者在实际生产环境中反复实践总结的结果,完全适用绝大多数通用的高负载.安全性要求的网络服务器环境.故可以放心使用. 若有异议,欢迎联系 ...

  5. 安全开发运维必备,如何进行Nginx代理Web服务器性能优化与安全加固配置,看这篇指南就够了

    本章目录 1.引言 1.1 目的 1.2 目标范围 1.3 读者对象 2.参考说明 2.1 帮助参考 2.2 参数说明 3.3 模块说明 3.服务优化 3.1 系统内核 3.2 编译优化 3.3 性能 ...

  6. MySQL数据库性能优化与监控实战(阶段四)

    MySQL数据库性能优化与监控实战(阶段四) 作者 刘畅 时间 2020-10-20 目录 1 sys数据库 1 2 系统变量 1 3 性能优化 1 3.1 硬件层 1 3.2 系统层 1 3.3 软 ...

  7. Ceph性能优化总结(v0.94)

    优化方法论 做任何事情还是要有个方法论的,“授人以鱼不如授人以渔”的道理吧,方法通了,所有的问题就有了解决的途径.通过对公开资料的分析进行总结,对分布式存储系统的优化离不开以下几点: 1. 硬件层面 ...

  8. mysql性能优化学习笔记

    mysql性能优化 硬件对数据库的影响 CPU资源和可用内存大小 服务器硬件对mysql性能的影响 我们的应用是CPU密集型? 我们的应用的并发量如何? 数量比频率更好 64位使用32位的服务器版本 ...

  9. 利用 gperftools 对nginx mysql 内存管理 性能优化

    利用 gperftools 对nginx 与 mysql  进行 内存管理  性能优化 降低负载. Gperftools 是由谷歌开发.官方对gperftools 的介绍为: These tools ...

随机推荐

  1. frame.bounds和center

    CGPoint point=CGPoint(x,y);  //表示位置 CGSize size=CGSzieMake(width,height);  //表示大小 CGRect rect=CGRect ...

  2. SDUTOJ 1489 求二叉树的先序遍历

    <img src="http://img.blog.csdn.net/20141014212549703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi ...

  3. 关于时间,日期,星期,月份的算法(Java中Calendar的用法)(一)

    package cn.outofmemory.codes.Date; import java.util.Calendar; import java.util.Date; public class Ca ...

  4. alv行可编辑时带出描述

    ALV显示可以编辑的状态下可以带出描述信息等,比如维护表程序输入公司代码时需要带出公司代码的描述,这时就需要通过下面事件来触发 定义一个类: CLASS lcl_event_receiver DEFI ...

  5. NET Platform Standard

    NET Platform Standard 相关博文:ASP.NET 5 Target framework dnx451 and dnxcore50 .NET Platform Standard:ht ...

  6. Swift - 二进制,八进制,十六机制的表示方法

    当前位置: 首页 > 编程社区 > Swift > Swift - 二进制,八进制,十六机制的表示方法 Swift - 二进制,八进制,十六机制的表示方法 2015-01-23 14 ...

  7. 14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚

    14.3.2.2 autocommit, Commit, and Rollback 自动提交 提交和回滚 如果自动提交模式被启用,在InnoDB里, 所有的用户活动发生在一个事务里, 每个SQL语句 ...

  8. android在Canvas使用drawBitmap画一幅画

    1.画图的主要方法 //Bitmap:图片对象,left:向左偏移.top: 顶部偏移     drawBitmap(Bitmap bitmap, float left, float top, Pai ...

  9. DelphiXE 显示GIF动画

    DelphiXE可以直接显示GIF动画,不需要第三方控件的支持.只要引用GifImg单元即可. uses GIFImg; procedure TForm1.FormCreate(Sender: TOb ...

  10. 让自己的软件实现拖拽打开文件(使用WM_DROPFILES消息和DragQueryFile函数)

    //声明 protected procedure WMDROPFILES(var Msg : TMessage); message WM_DROPFILES; //实现 procedure TForm ...