1.最小化安装,附加开发工具


2.创建用户和添加密码

useradd szk
echo szk | passwd --stdin  szk
 
修改主机名vim /etc/sysconfig/network

        

3.关于换yum源和本地光盘作为yum

cd /etc/yum.repos.d
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
mv CentOS-Base.repo CentOS-Base.repo.bak
yum clear all
yum make cache

4.安装后的基本调优及安全设置:

关闭Selinux
sed –I ‘s/SELINUX=enforcing/SELINUX=disabled/’/etc/selinux/config
修改配置文件则永久生效,但是必须要重启系统
grep SELINUX=disabled/etc/selinux/config  查看是否修改成功
setenforce 0   临时生效的命令
getenforce    查看selinux当前状态
Permissive    
/etc/selinux/config 配置文件


 

5.设定runlevel3

vim /etc/inittab  修改默认启动级别
init 3 切换到3级别
runlevel 查看当前运行级别


 

6.精简开机系统启动的服务为:

LANG=en 调整字符集
crond、network、rsyslog、sshd开机启动这四个即可
chkconfig 查看开机启动的程序
for szk in `chkconfig | awk '{print$1}'|grep -vE "crond|network|sshd|rsylog"`; do chkconfig $szkoff;done      一条命令搞定上面两条


 

   

7.最小化原则:

安装系统最小化

开启程序服务最小化

操作最小化

登录最小化

权限最小化

配置参数合理

尽量不安装不使用的软件,尽量不开启不需要开启的服务,即只要不用就不要开启

 

8.更改SSH服务远程登陆的配置:

更改SSH默认端口号为60522   添加一行

43行注释符去掉,yes改为no,不允许root直接登录

66行注释符去掉  PermitEmptyPasswords no

123行注释符去掉,yes改为no,不需要使用DNS

使用vimdiff检查是否修改成功

/etc/init.d/sshd reload   重载服务

 

9.清除系统防火墙,如需联网后续添加规则:

iptables -F
service iptables save

 

10.szk普通账号加入sudo管理:

为了安全及管理的方便,可将需要有root权限的用户名加入sudo管理,这样用户通过自己的普通账户登录,就可以以root的权限来管理整个系统,而不需要有root的账号及密码。

su类似于农民起义,sudo类似于拿着尚方宝剑

 

susu -的区别:

不加-环境变量和家目录还是上一个用户的,加-是回到当前用户

 

visudo   相当于直接编辑/etc/sudoer,但用命令当时更安全
跳至98行,yy pp 复制一行,改为:
szk     ALL=(ALL)       NOPASSWD:ALL
%szk ALL=(ALL)       NOPASSWD:ALL     给用户组添加权限


   

11.配置字符集

LANG="zh_EN.UTF-8"     中文环境
LANG="en_US.UTF-8"     英文环境
 
-------------------------------------永久修改
sudo vim /etc/sysconfig/i18n  修改配置文件
source /etc/sysconfig/il8n  使其生效
echo $LANG 查看是否生效
 
------------------------------------临时修改
LANG=EN

 

12.服务器时间同步

echo ‘#time sync by szk at 2016-1-17’>> /var/spool/cron/root
echo ‘*/5*****/usr/sbin/ntpdate us.pool.ntp.org>/dev/null 2>&1’ >> /var/spool/cron/root
crontab –l 查看定时任务
-------------------------------------------------
ntpdate us.pool.ntp.org 手动更新


 

13.调整内核参数

vim /etc/sysctl.conf
=============================== 内核优化 
net.ipv4.tcp_fin_timeout = 2
net.ipv4tcp_tw_reuse = 1
net.ipv4tcp_tw_recycle = 1
net.ipv4tcp_syncookies = 1
net.ipv4.tcp_keepalive_time = 600
net.ipv4.ip_local_port_range = 4000 65000
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.core.somaxconn = 16384
net.core.netdev_max_backlog = 16384
net.ipv4.tcp_max_orphans = 16384
==============以下参数是对iptables防火墙的优化,防火墙不开会有提示,可以忽略不理 
net.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_max = 25000000
net.netfilter.nf_conntrack_tcp_timeout_established= 180
net.netfilter.nf_conntrack_tcp_timeout_time_wait= 120
net.netfilter.nf_conntrack_tcp_timeout_close_wait= 60
net.netfilter.nf_conntrack_tcp_timeout_fin_wait= 120
=================================  
sysctl -p 使其生效


 

14.隐藏系统版本信息

>/etc/issue
cat /etc/issue

 

15.锁定关键系统文件

chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/inittab
=================== 如需要编辑
chattr -i /etc/passwd  解锁


 

16.优化总结

  • 不用root,添加普通用户,通过sudo授权管理

  • 更改默认的SSH服务端口及禁止root用户远程连接

  • 定时自动更新服务器时间

  • 配置yum更新源,从国内更新源下载安装rpm

  • 关闭selinuxiptables(如果服务器需要连接外网,Iptables一定得打开)

  • 精简开机自启动服务(crondsshdnetworkrsyslog

  • Linux内核参数优化

  • 更改字符集,支持中文,但建议还是用英文字符集

  • 锁定关键系统文件

                                                                  

szk

2016-1-17