一、服务器网络配置
1、服务器IP地址配置
/etc/sysconfig/network-scripts/ ifcfg-eth0/1/2….
重启网卡命令:
service network restart或者 /etc/init.d/network restart
2、网关/主机名配置
/etc/sysconfig/network
3、DNS配置
/etc/resolv.conf
4、HOSTS文件配置
/etc/hosts
二、网络安全配置
1、Selinux 配置(如何关闭selinux)
cat /etc/selinux/config
SELINUX的状态:
enforcing 开启状态 permissive 提醒的状态 disabled 关闭状态 命令行关闭:setenforce 0
2、iptables配置
/etc/sysconfig/iptables
推荐配置:
iptables -P INPUT ACCEPT iptables -F
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 1.1.1.1 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 2.2.2.2 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth1 -j ACCEPT iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags PSH,ACK PSH -j DROP
iptables -A INPUT -p tcp -m tcp --tcp-flags ACK,URG URG -j DROP
iptables -P INPUT DROP
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
查看iptables策略:
iptables –L –n
三、系统登录安全与 SSH 配置
1、授权用户登录与sudo设定
/etc/sudoers文件
=
常见配置:
iiveylinux ALL=(ALL) NOPASSWD: ALL
2、ssh 安全登录经验
备份:cp /etc/ssh/sshd_config sshd_config_bak(运维必备守则)
vi /etc/ssh/sshd_config
#SSH 链接默认端口
#丌使用DNS 反查,可提高ssh连接速度
UseDNS no
#关闭 GSSAPI验证,可提高ssh连接速度
GSSAPIAuthentication no
#禁止 root账号登陆
PermitRootLogin no
四、更新 yum 源以及软件版本
1、常用的几个yum源
epel 源:https://fedoraproject.org/wiki/EPEL
repoforge 源:http://repoforge.org/use/
rpm –ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm
2、升级系统内核以及更新软件
清空 yum 缓存 yum clean all 生存缓存 yum makecache 开始更新系统以及内核 yum upgrade 必备软件 yum -y install ntpdate wget
五、调整服务器时间 NTP 设置
1、通过crontab设置时间同步
推荐时间服务器:ntp.sjtu.edu.cn /usr/sbin/ntpdate ntp.sjtu.edu.cn >> /var/log/ntp.log 2>&1; /sbin/hwclock –w
2、架设ntp server
关注两个文件: /etc/ntp/ntpserver.conf /etc/ntp.conf
六、系统资源调优
1、关注ulimit命令
ulimit –n(最大打开文件数)
常见案例日志:java.net.SocketException: Too many open files
相关配置文件:
/etc/security/limits.conf
/etc/security/limits.d/90-nproc.conf(centos6.x 版本)
* soft nofile 65536 * hard nofile 65536 ulimit -u(最大用户数)
* soft nproc 65536 root soft nproc unlimited
2、系统内核参数调优
常见案例日志:kernel: ip_conntrack: table full, dropping packet
ip_conntrack_max 参数
/proc/sys/net/ipv4/netfilter/ip_conntrack_max 或者
/proc/sys/net/ipv4/ip_conntrack_max (centos5.x)
/proc/sys/net/netfilter/nf_conntrack_max(centos6.x)
在/etc/sysctl.conf加入
net.ipv4.netfilter.ip_conntrack_max = 655360(centos5.x)
net.nf_conntrack_max = 100000(centos6.x)
swappiness参数
表示使用 swap的概率,此值越大,表示使用swap的概率越大。推荐配置如下:
查看目前配置:cat /proc/sys/vm/swappiness
添加如下内容到/etc/sysctl.conf
vm.swappiness=10
表示当内存使用率超过(100-10)90%时,才开始使用swap。
我们线上 web服务器配置参考(每天 3亿的量)
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 20000
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 80000
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.conf.lo.arp_ignore = 1
net.ipv4.conf.lo.arp_announce = 2
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_max_syn_backlog = 20000
net.core.netdev_max_backlog = 32768
net.core.somaxconn = 32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 500000
net.ipv4.tcp_keepalive_time = 60
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
net.nf_conntrack_max = 2097152
七、精简系统服务和开机进程
1、线上朋务器建议开启的服务
crond,network,syslog,sshd、iptables、udev-post、sysstat
快捷开启方法:
先关闭所有
for serv in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $serv off;done
然后开启需要的朋务:
for serv in `crond network syslog sshd iptables udev-post sysstat`;do chkconfig --level 3 $serv on;done
2、可删除的系统用户和组
#删除不必要的用户
userdel adm
userdel lp
userdel sync
userdel shutdown
userdel halt
userdel news
userdel uucp
userdel video
userdel games
userdel gopher
userdel ftp
#删除不必要的群组
groupdel adm
groupdel lp
groupdel news
groupdel uucp
groupdel games
groupdel dip