简单的优化,大概从以下几个方面来优化
1.ssh服务的优化
2.selinux/iptables
3.字符集调整
4.开机自启动服务优化
5.时间优化(定时任务)
ssh服务的优化
A、修改默认的端口
修改方法。
vim /etc/ssh/sshd_config(修改配置文件)
修改配置文件的13行把默认的22成其他的。注意改完后把注释去掉
B、禁止root用户远程登陆
修改配置文件的42行把yes改成no
C、禁止无密码登陆
通过ssh登陆的时候要不要密码。当然要密码所以yes默认的也是yes
D、禁止DNS解析
把DNS关了可以对链接速度提快
selinux
SELinux是一种基于 域-类型 模型(domain-type)的强制访问控制(MAC)安全系统,它由NSA编写并设计成内核模块包含到内核中,相应的某些安全相关的应用也被打了SELinux的补丁,最后还有一个相应的安全策略。
众所周知,标准的UNIX安全模型是"任意的访问控制"DAC。就是说,任何程序对其资源享有完全的控制权。假设某个程序打算把含有潜在重要信息的文件扔到/tmp目录下,那么在DAC情况下没人能阻止他!
而MAC情况下的安全策略完全控制着对所有资源的访问。这是MAC和DAC本质的区别。
SELinux提供了比传统的UNIX权限更好的访问控制。
下面介绍关闭和开启selinux
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]#
命令行模式通过getrnforce查看selinux的状态
[root@localhost ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
[root@localhost ~]# setenforce 1
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
[root@localhost ~]#
可以通过setenforce临时修改selinux 0表示发出警告但是不阻止 1执行
想永久修改selinux的状态那就要修改配置文件了
vim /etc/selinux/config
selinux的配置文件
修改第六行即可改为
SELINUX=disabled
这样就表示关闭selinux 当然你也可以改成警告和执行
修改配置文件要想生效那就要重启。所以临时修改加配置文件修改等于永久修改
注意如果你配置文件禁止了selinu那么命令行的setenforce就改不了了。只有在没有禁止的情况下才可以用setenforce改
iptables(防火墙)
查看/etc/init.d/iptables status
关闭/etc/init.d/iptables stop
重启/etc/init.d/iptables restart
开启/etc/init.d/iptables start
具体根据情况来确定
字符集的调整
[root@localhost ~]# echo $LANG
en_US.UTF-8
[root@localhost ~]#
用系统默认的 en_US.UTF-8 即可用其他的如果出现乱码改成en_US.UTF-8就好了
中文的zh_CN.GB2312改成这个系统中的部分英文会翻译成中文
临时修改直接
[root@localhost ~]# export LANG=aaa
[root@localhost ~]# echo $LANG
aaa
[root@localhost ~]# echo $LANG
开机自启动服务的优化
精简开机系统启动
Linux在服务器运行过程中,会有很多无用的软件服务默认就在运行,这些服务占用了系统资源,带来安全隐患,因此要关闭这些服务。重要的开机服务如下所示:
sshd
远程连接Linux服务器需要这个服务程序。否则,无法连接Linux;
rsyslog
是操作系统提供的一种机制,系统的守护程序通常会使用rsyslog将各种信息写到格格系统日志文件中。CentOS中此服务名为syslog;
network
系统启动时,若想激活/关闭各个网络接口,则必须启动该服务;
crond
该服务用于周期性的执行系统及用户配置的计划任务;
sysstat
该服务包含监测系统性能及效率的一组工具。这些工具对于收集系统性能数据很有帮助,核心工具包:
修改方法第一种
通过修改 setup
命令行输入setup
选择系统服务
system services
然后有星的是开启的没有星的是不开启的可以用空格健切换
选择好后用tab选择ok
第二种
[root@localhost ~]# chkconfig | grep -v "sshd|rsyslog|network|crond|sysstat"|awk '{print "chkconfig " $1 " off"}'|bash
通过grep -v 排除不关。然后通过字符串的拼接然后交给bash处理
时间优化
ntpdate ntp1.aliyun.com
把这条命令写到定时任务里执行
crontab -e
输入 * * * * * /usr/sbin/ntpdate ntp1.aliyun.com >>/dev/null 2>&1
记得给命令加绝对路径