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 �CI ‘s/SELINUX=enforcing/SELINUX=disabled/’/etc/selinux/config 修改配置文件则永久生效,但是必须要重启系统 grep SELINUX=disabled/etc/selinux/config 查看是否修改成功 setenforce 0 临时生效的命令 getenforce 查看selinux当前状态 Permissive /etc/selinux/config 配置文件
5.设定runlevel为3
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类似于拿着尚方宝剑
su和su -的区别:
不加-环境变量和家目录还是上一个用户的,加-是回到当前用户
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 �Cl 查看定时任务 ------------------------------------------------- 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包
关闭selinux及iptables(如果服务器需要连接外网,Iptables一定得打开)
精简开机自启动服务(crond、sshd、network、rsyslog)
Linux内核参数优化
更改字符集,支持中文,但建议还是用英文字符集
锁定关键系统文件
szk
2016-1-17