安装完linux系统后调优及安全设置
1.关闭SELINUX功能(这里修改了配置文件。需要重新启动才可以起作用)
# sed -i ‘s#SELINUX=enforcing#SELINUX=disabled‘ /etc/selinux/config
# grep ‘SELINUX=disabled‘ /etc/selinux/config
SELINUX=disabled
2.临时关闭selinux
# setenforce 0
(setenforce 的用法:usage: setenforce [ Enforcing | Permissive | 1 | 0 ])
# getenforce (查看selinux的状态)
3.设定centos6运行级别:查看/etc/inittab #cat /etc/inittab 如何查看当前默认级别:runlevel
Default runlevel. The runlevels used are:
0 - halt (Do NOT set initdefault to this)
1 - Single user mode
2 - Multiuser, without NFS (The same as 3, if you do not have networking)
3 - Full multiuser mode
4 - unused
5 - X11
6 - reboot (Do NOT set initdefault to this)
id:3:initdefault:
4.精简开机系统自启动服务。
一般新安装的系统需要启动的服务包括:network,rsyslog,sshd,sysstat,crond
他们作用:网络服务,系统日志生成,加密传输协议用于连接主机,linux系统监控工具,计划任务。
一般如果在命令行里面通过语句关闭。思路是:先过滤掉这5个命令关闭其它的命令。
1.# chkconfig --list | grep 3:on | grep -Ev "crond|sysstat|network|rsyslog|sshd"|awk ‘{print "chkconfig " $1 " off"}‘|bash
(这里需要注意的是 awk 在拼接 chkconfig servicename off 这个命令时要体现出空格。"chkconfig " $1 " off"。
这个语句的作用是:先查找出 需要操作的服务名称 然后写入到 chkconfig servicename off 命令中,最后利用bash执行拼接命令)
#chkconfig --list | grep 3:on (查看效果)
2.或者用到awk和sed结合(awk 负责取出 要关闭的服务名称 sed 负责拼接 chkconfig servicename off 命令)
# chkconfig --list |grep 3:on |grep -vE "crond|sshd|rsyslog|network|sysstat"|awk ‘{print $1}‘|sed -r ‘s#(.*)#chkconfig \1 off#g‘|bash
# chkconfig --list | grep 3:on
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rsyslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sysstat 0:off 1:on 2:on 3:on 4:on 5:on 6:off
5.更改SSH服务器远程登录配置
# cat /etc/ssh/sshd_config
#Port 22 (ssh监听的端口号默认22 可以任意修改,但是不可以重复)
#ListenAddress 0.0.0.0(监听ip地址后面可以加端口号 格式 ip:sports)
#PermitRootLogin yes (是否允许root登录)
#PermitEmptyPasswords no (是否允许空密码登录)
#UseDNS yes (如果SSH连接慢可以关闭。一般负责主机名称的反向解析)
#GSSAPIAuthentication no (如果ssh连接慢,可以关闭。)
6.通过history会获取操作信息。
这里可以通过一条命令来防止这个隐患出现:
# HISTCONTROL=ignorespace
(这一句意思是忽略空格的命令。使用方法:在下次输入命令时前面加入空格history就查询不到了)
7.调整linux系统文件描述符数量
文件描述符由无发号整数表示的句柄,进程通过它来标识打开的文件。默认是1024(#ulimit -n)
可以通过在 /etc/security/limits.conf 末尾添加 * - nofile 65535 重新登录后生效。
8.清理邮件服务临时目录垃圾,防止 inode数量使用枯竭。
# find /var/spool/postfix/maildrop/ -type f --exec rm -rf {} \;
9.对敏感文件锁定防止被黑
chattr +i /etc/passwd /etc/shadow /etc/inittab /etc/group
chattr -i /etc/passwd /etc/shadow /etc/inittab /etc/group (解锁文件)
此外还可以移动chattr 命令的位置。mv /usr/bin/chattr 任意位置 (linux 一切皆文件。)
10.为grub 菜单加密码
# grub-md5-crypt
Password:
Retype password:
$1$f9jS9/$LxIB6l4mzzkj9DPVdiL6n0
# vim /etc/grub.conf (编辑这个文件在 hiddenmenu 和 title之间插入一行语句)
13 hiddenmenu
14 password --md5 $1$f9jS9/$LxIB6l4mzzkj9DPVdiL6n0
15 title CentOS (2.6.32-431.el6.x86_64)
11.关于vmware克隆虚拟机网卡无法启动:
1.进入 /etc/sysconfig/network-scripts/ifcfg-eth0 删除配置文件的HWADDR和UUID
2.清空 /etc/udev/rules.d/70-persistent-net.rules
3.重新系统。
12.内核参数优化
本文出自 “赵雁生的linux之旅” 博客,请务必保留此出处http://12042068.blog.51cto.com/12032068/1894327
原文地址:http://12042068.blog.51cto.com/12032068/1894327