系统相关:检查-优化
新系统优化
1.证书登陆 变更默认的ssh服务端口等配置
创建证书:ssh-keygen -t rsa
配置:mv id_rsa.pub authorized_keys
编辑:vi /etc/ssh/sshd_config
Protocol 2048
SyslogFacility AUTHPRIV
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
PasswordAuthentication no #同值 UsePAM
ChallengeResponseAuthentication no #同值 UsePAM
UsePAM no #同值上面两项
UseDNS no
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
2.操作历史时间配置
vi .bashrc
HISTFILESIZE=200
HISTSIZE=100
HISTTIMEFORMAT="%Y%m%d-%H%M%S: " #or HISTTIMEFORMAT="%Y%m%d %T "
export HISTTIMEFORMA
history -c 命令:清空history当前历史命令的记录
history -w 命令:立即更新history文件
3.文件系统优化
修改ulimit -n 参数:默认是1024---该配置项是每个进程可以打开的文件数.
1、vi /etc/profile #ulimit -n 65535 #source /etc/profile
2、修改/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
调整内核参数 vi /etc/sysctl.conf #sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 8192 4336600 873200
net.ipv4.tcp_rmem = 32768 4336600 873200
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 786432 1048576 1572864
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 300
net.ipv4.ip_local_port_range = 1024 65000
net.nf_conntrack_max = 655360 #默认65535 防火墙跟踪表
4.iptables配置
规则被清除
iptables -F
iptables -X
设置chain默认策略
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 2048 -j ACCEPT #与sshd配置的端口相同
-A INPUT -p icmp -j DROP #不允许ping
-A INPUT -i lo -p all -j ACCEPT #允许loopback
-A INPUT -s 192.168.0.3 -p tcp --dport 2048 -j ACCEPT #控制源地址访问这台服务器的SSH
5.账号加固:禁用root,管理用户和用户组
/etc/passwd
/etc/shadow
/etc/group
/etc/gshadow
*更改root名字
6.添加常用yum源 并升级到最新版本
CentOS 基础(常用)的源:
http://dl.fedoraproject.org/pub/epel/epel-release-latest-5.noarch.rpm
http://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
CentOS 升级内核的源
http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
7.定时自动更新服务器时间 修改时区
ntpdate 1.pool.ntp.org
crontab -e
0 21 * * * ntpdate ntpdate 1.pool.ntp.org
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #命令tzselect
8.修改DNS信息
vi /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114
9.ntsysv 关闭不常用服务
- acpid, haldaemon, messagebus, klogd,network, syslogd 务必须开启!其他的分析如下:
- 1.NetworkManager,NetworkManagerDispatcher 自动切换网络连接的后台进程 开
- 2.acpid 新型电源管理标准 开
- 3.anacron 同cron、at、和 batch。可关
- 4.apmd 传统的电源管理标准 可关
- 5.atd 使用cron 可关
- 6.autofs 实现光盘、软盘、U盘等移动存储介质的自动加载 关
- 7.avahi-daemon, avahi-dnsconfd DNS 服务的局域网里发现基于 zeroconf 协议的设备和服务 关
- 8.bluetooth, hcid, hidd, sdpd, dund,pand 如果没有蓝牙设备或蓝牙相关的服务 关
- 9.capi SDN 设备的用户有用 关
- 10.cpuspeed 监测系统空闲百分比,降低或加快CPU时钟速度和电压从而将能源消耗降为最小 开
- 11.crond 执行例行性命令的守护程序 开
- 12.cups 打印机配置 关
- 13.cups-lpd 不安装打印机,就不需要启 关
- 14.dc_client, dc_server 盘缓存(Distcache)用于分布式的会话缓存Apache 使用 SSL/TLS 服务器 可关
- 15.dhcdbd 保留默认的关闭状态
- 16.diskdump, netdump 除非你在诊断内核相关的问题,否则它们应该被关闭 关
- 17.dund 通过蓝牙拨号来连接网络。如果没有蓝牙设备,就关闭它 关
- 18.firstboot Fedora 安装过程特有的 关
- 19.gpm 提供了鼠标的支持。
- 20.hcid 管理所有可见的蓝牙设备 关
- 21.hidd 对输入设备(键盘,鼠标)提供支持 开
- 22.iptables 应该开启它
- 23.ip6tables 应该关闭它。
- 24.irda 实现红外无线数据传输的工业标准 关
- 25.irqbalance 多个系统处理器环境下的系统中断请求进行负载平衡的守护程序 开
- 26.kudzu 硬件自动检测程序 如果你不打算增加新硬件,那么就可以关闭这个启动服务 可关
- 27.mcstrans 如果你使用 SELinux 就开启它 可关
- 28.mdmonitor 监测 SoftwareRAID 或 LVM 的信息。与RAID设备相关的守护程序 开
- 29.mdmpd 监测 Multi-Path设备 与RAID设备相关的守护程序 开
- 30.messagebus 它与 DBUS 交互 开
- 31.microcode_ctl
- 32.netdump 应该被关闭。
- 33.netfs 系统启动时自动挂载网络中的共享文件空间 比如:NFS,Samba 等等
- 34.netplugd netplugd是一个守护程序,可以监控一个或多个网络接口的状态 默认关闭状态
- 35.network 说明:在系统启动时激活所有的网络接口。开
- 36.nfs 网络文件系统。
- 37.nfslock 提供了NFS文件锁定功能
- 38.pcmcia Pcmcia卡,支持笔记本电脑的PCMCIA 设备,如调制解调器, 网络适配器, SCSI卡等等 开
- 39.pcscd 提供智能卡(和嵌入在信用卡,识别卡里的小芯片一样大小)和智能卡读卡器支持 关
- 40.portmap Portmap守护程序为RPC服务,该服务是 NFS(文件共享)和 NIS(验证)的补充。除非你使用 NFS 或 NIS 服务,否则关闭它
- 41.psacct 用来监控进程活动的工具,包括ac,lastcomm, accton 和sa。
- 42.random 快速的将系统的状态在随机的时间内存到镜象档案中,对于系统相当重要。因为在开机之后,系统会迅速的恢复到开机之前的状态。必须启动。
- 43.readahead_early、readahead_later 在启动系统期间,将启动系统所要用到的文件首先读取到内存中,然后在内存中进行执行,以加快系统的启动速度
- 44.restorecond 如果你使用 SELinux 的话强烈建议开启它
- 45.rpcgssd, rpcidmapd, rpcsvcgssd 用于 NFS v4。除非你需要或使用 NFS v4,否则关闭它。
- 46.rhnsd Red Hat 网络服务
- 47.rsync remote sync,远程数据备份工具。
- 48.saslauthd 使用SASL的认证守护程序。
- 49.sgi-fam 实现实时数据镜像
- 50.smartd 监控你的硬盘是否出现故障 建议开启它,特别是服务器
- 51.syslog 记录所有的系统行为。
- 52.time 从远程主机获取时间和日期,采用TCP协议
- 53.time-udp 从远程主机获取时间和日期,采用UDP协议。
- 54.vncserver 在本地系统上显示远程计算机整个"桌面"的轻量型协议
- 55.xfs 如果使用run-level为5的图形界面,那么就需要启动
- 56.xinetd 负责管理系统中不频繁使用的服务 必须启动。
- 57.yum 动更新、安装和删除RPM软件包的管理程序
- 58.ksmd ksmtuned KSM默认是开着,无虚拟机,关
- 59.
10.设置字符集为英文(中文)
cat /etc/sysconfig/i18n
LANG="en_US.UTF-8"
SUPPORTER="en_US.UTF-8:en_US:zh"
SYSFONT="latarcyrheb-sun16"
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
LC_ALL="en_US.UTF-8"
export LC_ALL
改登录用户的.bash_profile
export LANG=zh_CN.GB18030
export LANGUAGE=zh_CN.GB18030:zh_CN.GB2312:zh_CN
11.关闭多余控制台
vi /etc/init/start-ttys.conf #tty[1-3]
12.关闭ipv6
/etc/sysconfig/network
echo "alias net-pf-10 off" >> /etc/modprobe.d/ECS.conf
echo "alias ipv6 off" >> /etc/modprobe.d/ECS.conf
/sbin/chkconfig --level 35 ip6tables off
13 隐藏服务器系统信息
mv /etc/issue /etc/issuebak
mv /etc/issue.net /etc/issue.netbak
14、服务器禁止ping
vi /etc/rc.d/rc.local #在文件末尾增加下面这一行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #参数0表示允许 1表示禁止