系统参数配置:
修改/etc/profile文件,加入:
ulimit -u 10240
ulimit -n 4096
ulimit -d unlimited
ulimit -m unlimited
ulimit -s unlimited
ulimit -t unlimited
ulimit -v unlimited
修改/etc/rc.d/rc.local,加入:
echo ‘131072′ > /proc/sys/fs/file-max
echo ‘131072′ > /proc/sys/fs/inode-max
(1G内存值修改成:65535 2G内存值修改成:131072 4G内存值修改成:262144)
修改/etc/sysctl.conf文件,加入:
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack =1
net.ipv4.tcp_window_scaling = 1
net.core.netdev_max_backlog=3000
#Modify i-node
#sys.fs.file-max= 65535
#sys.fs.inode-max= 65535
#Set System Memory
#vm.bdflush="30 500 0 0 500 3000 60 20 0"
#vm.kswapd="1024 32 64"
#Disable HackAttack!
net.ipv4.conf.eth0.accept_source_route=0
net.ipv4.conf.lo.accept_source_route=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.lo.accept_redirects=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.eth0.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.lo.secure_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.eth0.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.conf.eth0.send_redirects=0
net.ipv4.conf.lo.send_redirects=0
net.ipv4.conf.default.send_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.tcp_syncookies=1
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
#Web Servers
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_fin_timeout=30
net.ipv4.tcp_keepalive_time=1800
net.ipv4.tcp_keepalive_probes = 30
net.ipv4.tcp_keepalive_intvl = 3
net.ipv4.core.wmem_max=16777216
net.ipv4.core.rmem_max=16777216
net.ipv4.tcp_rmem="4096 87380 8388608"
net.ipv4.tcp.wmem="4096 87380 8388608"
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_retries2 = 5
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_mem = 78643200 104857600 157286400
net.ipv4.tcp_max_tw_buckets = 50000
修改/etc/security/limits.conf
* soft nofile 265535
* hard nofile 265535
防火墙安全:
iptables -A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
也有人写作
iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
--limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
防止各种端口扫描
iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT
Ping洪水攻击(Ping of Death)
iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT
备注说明:(相对比较激进的网络参数调整)
# Use TCP syncookies when needed
net.ipv4.tcp_syncookies = 1
# Enable TCP window scaling
net.ipv4.tcp_window_scaling: = 1
# Increase TCP max buffer size
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
# Increase Linux autotuning TCP buffer limits
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 65536 8388608
# Increase number of ports available
net.ipv4.ip_local_port_range = 1024 65000
LINUX安全设置步骤
删除所有那些不能在你系统上使用的默认用户和组账户: lp,sync,shutdown,halt, news, uucp, operator, games, gopher:
Userdel lp,sync,shutdown,halt, news, uucp, operator, games, gopher
ROOT自动从shell注销:修改/etc/profile
“HISTFILESIZE=”
TMOUT=3600
chattr +i /etc/services
Chattr +i /etc/inittab
=
禁止Control-Alt-Deletc键盘关机命令
编辑inittab文件(vi /etc/inittab),更换:
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
读入:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
立即生效:/sbin/init qc
关闭ipv6
vi /etc/modprobe.conf,在文件中添加以下两行
alias net-pf-10 off
alias ipv6 off
禁止未用的 SUID/SGID 程序
一个常规用户如果设置为SUID root,将能够作为root运行程序。一个系统管理员必须最小化使用这些 SUID/GUID程序, 而且禁止那些不需要的程序。
删除没有用的服务,或者如果有防火墙,禁止没有用的服务,看是否开启,自动设置为关闭状态。
磁盘子系统的调优:
磁盘在 LAMP 架构中扮演着重要的角色。静态文件、模板和代码都来自磁盘,组成数据库的数据表和索引也来自磁盘。对磁盘的许多调优(尤其是对于数
据库)集中于避免磁盘访问,因为磁盘访问的延迟相当高。因此,花一些时间对磁盘硬件进行优化是有意义的。
首先要做的是,确保在文件系统上禁用 atime 日志记录特性。atime 是最近访问文件的时间,每当访问文件时,底层文件系统必须记录这个时间戳。因为
系统管理员很少使用 atime,禁用它可以减少磁盘访问时间。禁用这个特性的方法是,在 /etc/fstab 的第四列中添加 noatime 选项
有多种磁盘硬件组合,而且 Linux 不一定能够探测出访问磁盘的最佳方式。可以使用 hdparm 命令查明和设置用来访问 IDE 磁盘的方法。hdparm -t