1.关闭SELinux

#临时关闭
setenforce 0 #永久关闭
vim /etc/selinux/config SELINUX=disabled

2.设定运行级别为3

#设定运行级别
vim /etc/inittab id:3:initdefault: #查看当前级别
[root@cobbler ~]# runlevel
N 3

3.精简开机自启动

#系统安装后只保留crond、sshd、network、rsyslog、sysstat五个服务开机启动

chkconfig --list | grep 3:on | egrep -v "crond|sshd|network|rsyslog|sysstat" | awk '{print "chkconfig "$1" off"}' | bash

4.关闭iptables防火墙

#iptables一般在配置了外网ip的服务器才需打开,内网一般关闭。iptables开启会损失一部分性能

/etc/init.d/iptables stop

#检查开机启动项

chkconfig --list | grep iptables

5.修改SSH服务端远程登录配置

vim /etc/ssh/sshd_config

Port 52113                       #修改端口
PermitRootLogin no #禁止root登录
PermitEmptyPasswords no #禁止空密码登录
UseDNS no #不对主机名进行反解,加速连接
GSSAPIAuthentication no #加速连接
ListenAddress 172.16.1.0/24 #仅监听内网IP地址

6.利用sudo控制用户管理权限

visudo

peter   ALL=(ALL)       NOPASSWD: ALL

#语法检查

visudo -c

7.调整字符集

vim /etc/sysconfig/i18n

LANG="en_US.UTF-8"        #表示语言为英文,字符集为utf-8
SYSFONT="latarcyrheb-sun16" #LANG="zh_CN.UTF-8" 表示语言为中文,字符集为utf-8

8.设置时间同步

#使用定时任务同步时间服务器上的时间
echo "Time sync by peter at 2017-10-16" >> /var/spool/cron/root
echo "*/5 * * * * /usr/sbin/ntpdate time.nist.gov &> /dev/null" >> /var/spool/cron/root

9.设置历史记录和登录超时

#设置登录超时
echo 'export TMOUT=300' >> /etc/profile #设置历史记录条数
echo 'export HISTSIZE=4096' >> /etc/profile #设置历史纪录文件(~/.bash_history)命令的数量
echo 'export HISTFILESIZE=4096' >> /etc/profile #设置历史记录格式
echo 'export HISTTIMEFORMAT="%F %T `whoami` "' >> /etc/profile #使配置文件生效
source /etc/profile

10.设置文件描述符的数量

在编写文件操作的或者网络通信的软件时,初学者一般可能会遇到“Too many open files”的问题。这主要是因为文件描述符是系统的一个重要资源,虽然说系统内存有多少就可以打开多少的文件描述符,但是在实际实现过程中内核是会做相应的处理的,一般最大打开文件数会是系统内存的10%(以KB来计算)(称之为系统级限制),查看系统级别的最大打开文件数可以使用sysctl -a | grep fs.file-max命令查看。与此同时,内核为了不让某一个进程消耗掉所有的文件资源,其也会对单个进程最大打开文件数做默认值处理(称之为用户级限制),默认值一般是1024,使用ulimit -n命令可以查看。在Web服务器中,通过更改系统默认值文件描述符的最大值来优化服务器是最常见的方式之一。

#设置单个进程文件描述符的数量
vim /etc/security/limits.conf * - nofile 65535 #重新登录shell才能查看更改,因为shell也是一个进程 [root@cobbler ~]# ulimit -n
65535 #系统级别的文件描述符数量会在内核参数调优中加以调整

11.内核参数优化

vim /etc/sysctl.conf

net.ipv4.tcp_fin_timeout = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_max_syn_backlog = 16384
net.ipv4.tcp_max_tw_buckets = 36000
net.ipv4.route.gc_timeout = 100
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_max_orphans = 16384
net.ipv4.ip_forward = 1
#net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.ip_local_port_range = 10000 65000
net.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
fs.file-max = 2000000
vm.swappiness = 0 sysctl -p

12.定时清理邮件服务临时目录垃圾文件

#将清理命令写入脚本
echo "find /var/spool/postfix/maildrop/ -type f | xargs rm -f" > /server/scripts/del_file.sh #定时执行脚本
echo "00 00 * * * /bin/sh /server/scripts/del_file.sh &> /dev/null" >> /var/spool/cron/root

13.隐藏登录时版本信息

> /etc/issue
> /etc/issue.net

14.锁定关键系统文件

#锁定
chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab #解锁
chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

15.用户操作审计

vim /etc/bashrc
export PROMPT_COMMAND='{ msg=$(history 1 | { read x y; echo $y; });logger "[euid=$(whoami)]":$(who am i):[`pwd`] "$msg"; }'

Linux系统调优及安全设置的更多相关文章

  1. Linux系统调优1

    Linux在进行系统调优的时候,首先要考虑整个操作系统的结构,然后针对各个部分进行优化,下面展示一个Linux系统的各个组成部分: 有上图可以看出,我们可以调整的有应用程序,库文件,内核,驱动,还有硬 ...

  2. Linux系统调优——CPU(一)

    (1).系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况:  CPU -> MEM  -& ...

  3. Linux系统调优相关工具

    一.系统调优概述 系统的运行状况: CPU -> MEM -> DISK*-> NETWORK -> 应用程序调优 分析是否有瓶颈(依据当前应用需求) 调优(把错误的调正确) ...

  4. linux系统调优工具

    系统调优思路 性能优化就是找到系统处理中的瓶颈以及去除这些的过程,性能优化其实是对 OS 各子系统达到一种平衡的定义.具体步骤如下: 1. 系统的运行状况: CPU -> MEM -> D ...

  5. Linux系统调优

    Linux核心参数都是放置在/proc下面:系统的参数都是放置在/proc/sys swap最好放置在运行最快的硬盘上面,但是swap并能取代ram,因为并有I/O上面的损耗,所以优先考虑检验内存没有 ...

  6. Linux系统调优——网络(四)

    (1).查看网络(Network)运行状态相关工具 1)nload监控总体带宽使用情况 nload需要自己安装,而且在安装前需要安装epel-release [root@youxi1 ~]# yum ...

  7. Linux系统调优——磁盘I/O(三)

    (1).查看I/O运行状态相关工具 1)查看文件系统块大小 对于ext4文件系统,查看文件系统块大小 [root@CentOS6 ~]# tune2fs -l /dev/sda1 | grep siz ...

  8. Linux系统调优——内核相关参数(五)

    修改内核参数有3种办法:一种临时修改,两种永久修改. 临时修改是使用sysctl [选项] [参数名=值]命令:永久修改是修改/etc/sysctl.conf文件或修改/proc/sys/目录下的对应 ...

  9. 1.linux系统调优

    首先来说调优是一门黑色艺术,使用来满足人的感知,通过人的感觉来进行配置,达到让人感觉操作系统速度很块的感觉. 操作系统拥有四个瓶颈:cpu,内存,网络,磁盘.调优主要是对上述四个子系统进行配置优化,其 ...

随机推荐

  1. 洛谷 P3391 【模板】文艺平衡树(Splay)

    题目背景 这是一道经典的Splay模板题——文艺平衡树. 题目描述 您需要写一种数据结构(可参考题目标题),来维护一个有序数列,其中需要提供以下操作:翻转一个区间,例如原有序序列是5 4 3 2 1, ...

  2. 【BZOJ5338】[TJOI2018]异或(主席树)

    [BZOJ5338][TJOI2018]异或(主席树) 题面 洛谷 题解 很明显的是\(Trie\)树上暴力判断答案 因为要支持区间,用主席树的结构存\(Trie\)树就好了 #include< ...

  3. WlanGetAvailableNetworkList

    原文msdn链接地址:https://docs.microsoft.com/zh-cn/windows/desktop/api/wlanapi/nf-wlanapi-wlangetavailablen ...

  4. Spring MVC @CookieValue注解

    @CookieValue的作用 用来获取Cookie中的值 @CookieValue参数 1.value:参数名称 2.required:是否必须 3.defaultValue:默认值 @Cookie ...

  5. duilib 增加gif控件(基于gdi+,可控制播放暂停,自动设置大小)

    转载请说明原出处,谢谢~~:http://blog.csdn.net/zhuhongshu/article/details/42502081 因为项目需要我需要给duilib增加一个gif控件,目前已 ...

  6. 详谈AngularJS的Directive

    指令Directive是AngularJS最重要的核心.我用AngularJS用的并不是很深,一直以来也是在使用中摸索,从一开始的什么都不懂,查不到系统的资料,到开始使用一些简单的数据绑定{{}},到 ...

  7. 【Hadoop】大数据时代,我们为什么使用hadoop

    博客已转移,请借一步说话.http://www.daniubiji.cn/archives/538 我们先来看看大数据时代, 什么叫大数据,“大”,说的并不仅是数据的“多”!不能用数据到了多少TB , ...

  8. 【BZOJ】4293: [PA2015]Siano 线段树上二分

    [题意]给定n棵高度初始为0的草,每天每棵草会长高a[i],m次收割,每次在d[i]天将所有>b[i]的草收割到b[i],求每次收割量.n<=500000. [算法]线段树上二分 [题解] ...

  9. 【51nod】1222 最小公倍数计数 莫比乌斯反演+组合计数

    [题意]给定a和b,求满足a<=lcm(x,y)<=b && x<y的数对(x,y)个数.a,b<=10^11. [算法]莫比乌斯反演+组合计数 [题解]★具体 ...

  10. 【BZOJ】4555: [Tjoi2016&Heoi2016]求和 排列组合+多项式求逆 或 斯特林数+NTT

    [题意]给定n,求Σi=0~nΣj=1~i s(i,j)*2^j*j!,n<=10^5. [算法]生成函数+排列组合+多项式求逆 [题解]参考: [BZOJ4555][Tjoi2016& ...