首页 > 代码库 > Linux System Reinforcement
Linux System Reinforcement
目录
1.文件系统及访问权限2. Linux日志审计3. 帐号安全管理4. 基础物理安全5. 系统编译环境安全6. 系统病毒、后门、rootkit安全7. 系统端口、服务安全8. 系统内核安全
1.文件系统及访问权限
Linux为每个文件都分配了一个文件所有者,称为"文件属主",并赋予文件主惟一的注册名
1. 对文件的控制取决于文件主或超级用户root(linux系统中的root用户有无条件的最高权限)2. 文件或目录的创建者(属主)对所创建的文件或目录拥有特别使用权文件的所有关系是可以改变的,文件或目录的所有权可以转让给其它用户,但只有文件主或root用户才有权改变文件的所有关系
linux下文件/目录的权限基本原理如下
1. 文件权限转移文件的所有权标志是用户ID(UID)。chown命今可以更改某个文件或目录的所有权。例如,超级用户把自己的一个文件拷贝给用户cg,为了让用户cg能够存取这个文件,超级用户(root)应该把这个文件的属主设为cg,否则,用户cg就
无法存取这个文件 chown [cfhvR] 用户 或 组[文件1] [文件2].... 1) 用户可以是用户名或用户ID 2) 文件是以空格分开的、要改变权限的文件列表,可以用通配符表示文件名如果改变了文件或目录的所有权,原文件主将不再拥有该文件或目录的权限。系统管理员经常使用chown命令,在将文件拷贝到另一个用户的目录下以后,让用户拥有使用该文件的权限2. 文件的属主/属组在Linux下,每个文件又同时属于一个用户组。当创建一个文件或目录时,系统就会赋予它一个用户组关系,用户组的所有成员都可以使用此文件或目录。文件用户组关系的标志是GID。文件的GID只能由文件主或超级用户(root)来修改。chgrp命令可以改变文件或目录的拥有者或所属群组 chgrp [cfhRv] group文件名或目录 1) group是用户组ID 2) 文件名是以空格分开的,它支持通配符Linux系统中的每个文件和目录都有访问许可权限(ACL),用它来确定谁可以通过何种方式对文件和目录进行访问及操作。访问权限规定三种不同类型的用户 1) 文件主(owner) 2) 同组用户(group) 3) 可以访问系统的其它用户(others)访问权限规定三种访问文件或目录的方式,即 1) 读(r) 1.1) 文件 对于文件,读权限(r)表示只允许指定用户读其内容,而禁止对其做任何的更改操作,将所访问的文件内容作为输入的命令需要有读的权限,例如命令more、head、cat等 1.2) 目录 对于目录,读权限(r)可以列出存储在该目录下的文件,即读目录内容列表。这一权限允许shell使用文件扩展名字符列出相匹配的文件名(即ll xxdir | grep xxx) 2) 写(w) 2.1) 文件 写权限(w)表示允许指定用户打开并修改文件,例如命令cp、vi、mv等 2.2) 目录 写权限(w)表示允许从目录中删除或添加新的文件,通常只有目录主才有写权限 3) 可执行(x) 3.1) 文件 执行权限(x)允许指定用户将该文件作为一个程序执行。可以使用"ls -l"查看一个文件的详细属性。 3.2) 目录 执行权限(x)允许在目录中查找,并能用cd命令将工作目录改到该目录。使用"ls -ld"命令可以查看一个目录的详细属性
Relevant Link:
http://www.cnblogs.com/LittleHann/p/3862652.htmlhttp://www.2cto.com/Article/201205/129787.html
2. Linux日志审计
0x1: 系统级别的日志
Linux的日志文件用来记录整个操作系统使用状况,他们是黑客攻击的重点目标,linux系统中,大部分的日志都保存在/var/log(还有一些例外例如mysql、未读邮件等),所以作为一个Linux网络系统管理员要充分用好以下几个系统日志文件
1. /var/log/boot.log系统的引导日志2. /var/log/dmesg核心(内核)启动日志3. /var/log/messages: 系统报错日志messages日志是核心系统日志文件。它包含了大量的运行时信息,例如 1) 系统启动时的引导消息 2) IO错误 3) 网络错误信息 4) 某个人的身份切换为root 5) 如果服务正在运行,比如DHCP服务器,您可以在messages文件中观察它的活动通常,/var/log/messages是我们在做故障诊断时首先要查看的文件 4. /var/log/maillog邮件系统日志5. /var/log/xferlogFTP系统日志 6. /var/log/secure 记录系统自开通以来所有用户的登录时间和地点,可以给系统管理员提供更多的参考7. /var/log/wtmp 记录当前和历史上登录到系统的用户的登录时间、地点和注销时间等信息。和/var/log/lastlog一样,这个文件是一个二进制文件,需要用last命令查看last -f /var/log/wtmp8. /var/log/spoolerNews日志9. /var/log/rpmpkgsRPM软件包10. /var/log/boot.log: 引导日志记录开机启动讯息,就是Linux系统开机自检过程显示的信息dmesg | more11. /var/log/cron: cron(定制任务日志)日志该日志文件记录crontab守护进程crond所派生的子进程的动作(包括用户、登录时间和PID,以及派生出的进程的动作) 1) CMD的一个动作是cron派生出一个调度进程的常见情况 2) REPLACE(替换)动作记录用户对它的cron文件的更新 3) RELOAD动作在REPLACE动作后不久发生,这意味着cron注意到一个用户的cron文件被更新而cron需要把它重新装入内存该文件可能会查到一些反常的情况12. /var/log/lastlog记录最后进入系统的用户信息,包括登录的时间、登录是否成功等信息。这个文件是一个2进制文件,需要用lastlog命令进行读取 1) lastlog 查看一下/var/log/lastlog文件中记录的所用账号的最后登录时间,再与自己的用机记录对比一下就可以发现该账号是否被黑客盗用,如果发现在某个时间段有一个自己不认可的帐号的进行了登录,则说明发现了可疑行为 2) du -h /var/log/lastlog 查看其lastlog保存空间占用情况 3) echo "" > /var/log/lastlog 清空lastlog的日志保存
以上几个文件都是由klogd、和syslogd进行记录的
1. klogd通常klogd用来记录系统内核所产生的日志信息,也就是工作在系统内核态的进程所产生的日子记录2. syslogd守护进程进行记录的syslogd用来记录工作在用户态的进程的日志信息,这些程序包括以下几种进程 1) 用户进程 2) 网络服务器进程 3) 多数的系统守护进程
因此,对于管理人员而言,通过及时检查syslogd记录的信息能够发现绝大多数的系统异常情况
syslogd负责发送、记录系统内核及工具所产生的信息。整个机制由以下几部分共同组成 1) 系统调用syslog() 2) 系统守护进程syslogd sys1ogd进程在系统启动时由/etc/rc.d/rc2.d/S12syslog启动。如果需要手工启动或停止syslogd,可以使用下面命令: 2.1) /etc/rc.d/init.d/syslog start | stop 3) 配置文件/etc/syslog.conf 通过配置syslog.conf,可以灵活地对信息的发送和保存进行控制
当系统内核及工具产生信息时,通过调用syslog(),把信息送往syslogd,它再根据/etc/syslog.conf中的配置要求,这些信息分别做如下处理
1) 记录到系统日志中2) 输出到系统控制台上3) 转发给指定的用户4) 通过网络转发给其它主机上的syslogd
0x2: 用户级别的操作日志
1. 特权指令执行记录除了系统登录记录和syslog记录之外,在linux系统里,使用自己的记录方式。系统每天都会自动检查系统的安全设置, 包括对SetUID、SetGID的执行文件的检查,其结果将输出到/var/log/setuid.today文件中,管理员可以与
/var/log/security.yesterday文件对比,寻找系统安全设置的变化。2. 硬件状态信息在系统启动的时候,就将内核的检测信息输出到屏幕上,这些信息可以帮助用户分析系统中的硬件状态。一般使用dmesg命令来查看最后一次启动时输出的这个检测信息,这些信息被系统保存在/var/log/dmesg文件中#cat /var/log/dmesg |moreLinux version 2.6.32-431.23.3.el6.centos.plus.i686 (mockbuild@c6b9.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Tue Jul 29 23:27:50 UTC 2014KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMCDisabled fast string operationsBIOS-provided physical RAM map: BIOS-e820: 0000000000000000 - 000000000009f400 (usable) BIOS-e820: 000000000009f400 - 00000000000a0000 (reserved) BIOS-e820: 00000000000dc000 - 0000000000100000 (reserved) BIOS-e820: 0000000000100000 - 000000007fef0000 (usable) BIOS-e820: 000000007fef0000 - 000000007feff000 (ACPI data) BIOS-e820: 000000007feff000 - 000000007ff00000 (ACPI NVS) BIOS-e820: 000000007ff00000 - 0000000080000000 (usable) BIOS-e820: 00000000f0000000 - 00000000f8000000 (reserved) BIOS-e820: 00000000fec00000 - 00000000fec10000 (reserved) BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved) BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved).....3. Bash Shell执行记录各种Bash(kshell、cshell)还会记录用户使用的命令历史,使用用户主目录下的文件来记录这些命令历史,通常这个文件的名字为 1) .bash-history 2) .history(csh) ..
Relevant Link:
http://blog.chinaunix.net/uid-25120309-id-3359929.htmlhttp://www.liufofu.com/201207524.htmlhttp://blog.chinaunix.net/uid-26569496-id-3199434.html
3. 帐号安全管理
0x1: 账户安全
1. 锁定系统中多余的自建帐号检查方法: 执行命令 1) #cat /etc/passwd 2) #cat /etc/shadow查看账户、口令文件,与系统管理员确认不必要的账号。对于一些保留的系统伪帐户:bin、sys、adm、uucp、lp、nuucp、hpdb、www、daemon等可根据需要锁定登陆在进行操作之前,需要与管理员确认此项操作不会影响到业务系统的登录,如果对操作后的风险不确定,则可以采用备份的思路备份方法: 1) #cp -p /etc/passwd /etc/passwd_bak 2) #cp -p /etc/shadow /etc/shadow_bak加固方法: 1) 使用命令passwd -l <用户名>锁定不必要的账号 2) 使用命令passwd -u <用户名>解锁需要恢复的账号 2. 设置系统口令策略检查方法: 执行命令 1) #cat /etc/login.defs | grep PASS查看密码策略设置备份方法: 1) cp -p /etc/login.defs /etc/login.defs_bak加固方法: 1) #vi /etc/login.defs修改配置文件 PASS_MAX_DAYS 90 #新建用户的密码最长使用天数 PASS_MIN_DAYS 0 #新建用户的密码最短使用天数 PASS_WARN_AGE 7 #新建用户的密码到期提前提醒天数 PASS_MIN_LEN 9 #最小密码长度9 3. 禁用root之外的超级用户检查方法: 1) #cat /etc/passwd 查看口令文件,口令文件格式如下备份方法: 1) #cp -p /etc/passwd /etc/passwd_bak加固方法: 1) 使用命令passwd -l <用户名>锁定不必要的超级账户 2) 使用命令passwd -u <用户名>解锁需要恢复的超级账户 4. 限制能够su为root的用户检查方法: 1) #cat /etc/pam.d/su 查看是否有auth required /lib/security/pam_wheel.so这样的配置条目备份方法: 1) #cp -p /etc/pam.d /etc/pam.d_bak加固方法: 1) #vi /etc/pam.d/su 在头部添加: auth required /lib/security/pam_wheel.so group=wheel 这样,只有wheel组的用户可以su到root #usermod -G10 test 将test用户加入到wheel组 5. 检查shadow中空口令帐号检查方法: 1) #awk -F: ‘( == "") { print }‘ /etc/shadow备份方法: 1) cp -p /etc/shadow /etc/shadow_bak加固方法: 1) 对空口令账号进行锁定,或要求增加密码
0x2: 最小化服务
1. 停止或禁用与承载业务无关的服务检查方法: 1) runlevel 查看当前init级别 2) chkconfig --list 查看所有服务的状态备份方法:记录需要关闭服务的名称加固方法: 1) #chkconfig --level <服务名> on|off|reset 设置服务在个init级别下开机是否启动
0x3: 数据访问控制
1. 设置合理的初始文件权限检查方法: 1) cat /etc/profile 查看umask的值备份方法: 1) #cp -p /etc/profile /etc/profile_bak加固方法: 1) #vi /etc/profile umask=027 会修改新建文件的默认权限,如果该服务器是WEB应用,则此项谨慎修改
0x4: 网络访问控制
1. 使用SSH进行管理检查方法: 1) ps –aef | grep sshd 查看有无此服务备份方法:加固方法: 1) 使用命令开启ssh服务 #service sshd start 2. 设置访问控制策略限制能够管理本机的IP地址检查方法: 1) #cat /etc/ssh/sshd_config 查看有无AllowUsers的语句备份方法: 1) #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak加固方法: 1) #vi /etc/ssh/sshd_config 添加以下语句 AllowUsers *@10.138.*.* 此句意为: 仅允许10.138.0.0/16网段所有用户通过ssh访问 保存后重启ssh服务 2) #service sshd restart值得注意的是,需要和管理员确认能够管理的IP段3. 禁止root用户远程登陆检查方法: 1) #cat /etc/ssh/sshd_config 查看PermitRootLogin是否为no备份方法: 1) #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak加固方法: 1) #vi /etc/ssh/sshd_config PermitRootLogin no 保存后重启ssh服务 2) service sshd restart"禁止root用户远程登陆"带来的直接后果就是root用户无法直接远程登录,需要用普通账号登陆后su4. 限定信任主机检查方法: 1) #cat /etc/hosts.allow 查看其中的主机 2) #cat /$HOME/.rhosts 查看其中的主机备份方法: 1) #cp -p /etc/hosts.allow /etc/hosts.allow_bak #cp -p /$HOME/.rhosts /$HOME/.rhosts_bak加固方法: 1) #vi /etc/hosts.allow 删除其中不必要的主机 2) #vi /$HOME/.rhosts 删除其中不必要的主机 5. 屏蔽登录banner信息检查方法: 1) #cat /etc/ssh/sshd_config 查看文件中是否存在Banner字段,或banner字段为NONE 2) #cat /etc/motd 查看文件内容,该处内容将作为banner信息显示给登录用户。备份方法: 1) #cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak 2) #cp -p /etc/motd /etc/motd_bak加固方法: 1) #vi /etc/ssh/sshd_config banner NONE 2) #vi /etc/motd 删除全部内容或更新成自己想要添加的内容 6. 防止误使用Ctrl+Alt+Del重启系统检查方法: 1) #cat /etc/inittab | grep ctrlaltdel 查看输入行是否被注释备份方法: 1) #cp -p /etc/inittab /etc/inittab_bak加固方法: 1) #vi /etc/inittab 在行开头添加注释符号"#" 2) #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
0x5: 用户鉴别
1. 设置帐户锁定登录失败锁定次数、锁定时间检查方法: 1) #cat /etc/pam.d/system-auth 查看有无auth required pam_tally.so条目的设置备份方法: 1) #cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak加固方法: 1) #vi /etc/pam.d/system-auth auth required pam_tally.so onerr=fail deny=6 unlock_time=300 设置为密码连续错误6次锁定,锁定时间300秒 2) 解锁用户 faillog -u <用户名> -r当系统验证出现问题时,首先应当检查/var/log/messages或者/var/log/secure中的输出信息,根据这些信息判断用户账号的有效性2. 修改帐户TMOUT值,设置自动注销时间检查方法: 1) #cat /etc/profile 查看有无TMOUT的设置备份方法: 1) #cp -p /etc/profile /etc/profile_bak加固方法: 1) #vi /etc/profile 增加 TMOUT=600 无操作600秒后自动退出 3. Grub/Lilo密码检查方法: 1) #cat /etc/grub.conf|grep password 查看grub是否设置密码 2) #cat /etc/lilo.conf|grep password 查看lilo是否设置密码备份方法: 1) #cp -p /etc/grub.conf /etc/grub.conf_bak 2) #cp -p /etc/lilo.conf /etc/lilo.conf_bak加固方法:为grub或lilo设置密码 4. 限制FTP登录检查方法: 1) #cat /etc/ftpusers 确认是否包含用户名,这些用户名不允许登录FTP服务(只有你安装了ftp服务才会有这个文件)备份方法: 1) #cp -p /etc/ftpusers /etc/ftpusers_bak加固方法: 1) #vi /etc/ftpusers 添加行,每行包含一个用户名,添加的用户将被禁止登录FTP服务5. 设置Bash保留历史命令的条数检查方法: 1) #cat /etc/profile|grep HISTSIZE= 2) #cat /etc/profile|grep HISTFILESIZE= 查看保留历史命令的条数备份方法: 1) #cp -p /etc/profile /etc/profile_bak加固方法: 1) #vi /etc/profile 修改HISTSIZE=5和HISTFILESIZE=5即保留最新执行的5条命令
0x6: 审计策略
1. 配置系统日志策略配置文件检查方法: 1) #ps –aef | grep syslog 确认syslog是否启用 2) #cat /etc/syslog.conf 查看syslogd的配置,并确认日志文件是否存在 2.1) 系统日志(默认)/var/log/messages 2.2) cron日志(默认)/var/log/cron 2.3) 安全日志(默认)/var/log/secure备份方法: 1) #cp -p /etc/syslog.conf 2. 为审计产生的数据分配合理的存储空间和存储时间检查方法: 1) #cat /etc/logrotate.conf 查看系统轮询配置,有无
4. 基础物理安全
0x1: BIOS
我们应该总是在系统启动的时候设置一个BIOS密码和禁用从CD-ROM和软盘引导。这将防止一些人未经允许访问你的系统和更改BIOS设置
5. 系统编译环境安全
0x1: 禁用代码编译
我们可以禁用代码编译并且只把编译的权限分配给一个用户组
方法:
//1. 添加编译用户组/usr/sbin/groupadd compiler//2. 把常见的编译器所属组赋给编译用户组cd /usr/binchgrp compiler *cc*chgrp compiler *++*chgrp compiler ldchgrp compiler as
0x2: .history安全
这是一个避免删除.bash_history或重定向到/dev/null的好方法,目的是禁止清除或删除他最后执行的命令,黑客常常通过删除.history来隐藏自己的攻击痕迹,影响取证
方法:
chattr +a .bash_historychattr +i .bash_history
0x3: chmod危险文件
chmod 700 /bin/pingchmod 700 /usr/bin/fingerchmod 700 /usr/bin/whochmod 700 /usr/bin/wchmod 700 /usr/bin/locatechmod 700 /usr/bin/whereischmod 700 /sbin/ifconfigchmod 700 /usr/bin/picochmod 700 /usr/bin/vichmod 700 /usr/bin/whichchmod 700 /usr/bin/gccchmod 700 /usr/bin/makechmod 700 /bin/rpm
0x4: 指定允许root登陆的TTY设备
/etc/securetty文件允许你指定root可以从哪个TTY设备登录
方法:
vi /etc/securetty//一个好的建议是,只留2个可信的连接tty1tty2
Relevant Link:
http://yonghui702.blog.163.com/blog/static/817183420110131102257/
6. 系统病毒、后门、rootkit安全
0x1: 检测Rootkit
关于rootkit的基本原理和防御策略请参阅另外几篇文章
http://www.cnblogs.com/LittleHann/p/3870974.htmlhttp://www.cnblogs.com/LittleHann/p/3879118.htmlhttp://www.cnblogs.com/LittleHann/p/3879961.html
7. 系统端口、服务安全
0x1: 关闭不用的服务
我们应该把任何未使用的服务关闭,可以在/etc/xinetd.d文件夹里找到
方法:
cd /etc/xinetd.dgrep disable *//这将显示所有服务开启或关闭的状态,然后根据需要来开启或关闭服务
0x2: 检测监听的端口
检测是否有必要开放端口是非常重要的
方法:
netstat -tulplsof -i -n | egrep ‘COMMAND|LISTEN|UDP’nmap!//这3种方法都可以
8. 系统内核安全
0x1: 内核加固
sysctl.conf用来加固内核,目的是避免DOS和欺骗攻击
方法:
//1. 了解下当前配置的大概情况sysctl -a//2. 添加如下内容vi /etc/sysctl.conf# Kernel sysctl configuration file for Red Hat Linux## For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and# sysctl.conf(5) for more details.# Controls IP packet forwardingnet.ipv4.ip_forward = 0# Controls source route verificationnet.ipv4.conf.default.rp_filter = 1# Controls the System Request debugging functionality of the kernelkernel.sysrq = 0# Controls whether core dumps will append the PID to the core filename.# Useful for debugging multi-threaded applications.kernel.core_uses_pid = 1#Prevent SYN attacknet.ipv4.tcp_syncookies = 1net.ipv4.tcp_max_syn_backlog = 2048net.ipv4.tcp_synack_retries = 2# Disables packet forwardingnet.ipv4.ip_forward=0# Disables IP source routingnet.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.lo.accept_source_route = 0net.ipv4.conf.eth0.accept_source_route = 0net.ipv4.conf.default.accept_source_route = 0# Enable IP spoofing protection, turn on source route verificationnet.ipv4.conf.all.rp_filter = 1net.ipv4.conf.lo.rp_filter = 1net.ipv4.conf.eth0.rp_filter = 1net.ipv4.conf.default.rp_filter = 1# Disable ICMP Redirect Acceptancenet.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.lo.accept_redirects = 0net.ipv4.conf.eth0.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0# Enable Log Spoofed Packets, Source Routed Packets, Redirect Packetsnet.ipv4.conf.all.log_martians = 1net.ipv4.conf.lo.log_martians = 1net.ipv4.conf.eth0.log_martians = 1# Disables IP source routingnet.ipv4.conf.all.accept_source_route = 0net.ipv4.conf.lo.accept_source_route = 0net.ipv4.conf.eth0.accept_source_route = 0net.ipv4.conf.default.accept_source_route = 0# Enable IP spoofing protection, turn on source route verificationnet.ipv4.conf.all.rp_filter = 1net.ipv4.conf.lo.rp_filter = 1net.ipv4.conf.eth0.rp_filter = 114net.ipv4.conf.default.rp_filter = 1# Disable ICMP Redirect Acceptancenet.ipv4.conf.all.accept_redirects = 0net.ipv4.conf.lo.accept_redirects = 0net.ipv4.conf.eth0.accept_redirects = 0net.ipv4.conf.default.accept_redirects = 0# Disables the magic-sysrq keykernel.sysrq = 0# Modify system limits for Ensim WEBppliancefs.file-max = 65000# Decrease the time default value for tcp_fin_timeout connectionnet.ipv4.tcp_fin_timeout = 15# Decrease the time default value for tcp_keepalive_time connectionnet.ipv4.tcp_keepalive_time = 1800# Turn off the tcp_window_scalingnet.ipv4.tcp_window_scaling = 0# Turn off the tcp_sacknet.ipv4.tcp_sack = 0# Turn off the tcp_timestampsnet.ipv4.tcp_timestamps = 0# Enable TCP SYN Cookie Protectionnet.ipv4.tcp_syncookies = 1# Enable ignoring broadcasts requestnet.ipv4.icmp_echo_ignore_broadcasts = 1# Enable bad error message Protectionnet.ipv4.icmp_ignore_bogus_error_responses = 1# Log Spoofed Packets, Source Routed Packets, Redirect Packetsnet.ipv4.conf.all.log_martians = 1# Set maximum amount of memory allocated to shm to 256MBkernel.shmmax = 268435456# Improve file system performancevm.bdflush = 100 1200 128 512 15 5000 500 1884 2# Improve virtual memory performancevm.buffermem = 90 10 60# Increases the size of the socket queue (effectively, q0).net.ipv4.tcp_max_syn_backlog = 1024# Increase the maximum total TCP buffer-space allocatablenet.ipv4.tcp_mem = 57344 57344 65536# Increase the maximum TCP write-buffer-space allocatablenet.ipv4.tcp_wmem = 32768 65536 52428815# Increase the maximum TCP read-buffer space allocatablenet.ipv4.tcp_rmem = 98304 196608 1572864# Increase the maximum and default receive socket buffer sizenet.core.rmem_max = 524280net.core.rmem_default = 524280# Increase the maximum and default send socket buffer sizenet.core.wmem_max = 524280net.core.wmem_default = 524280# Increase the tcp-time-wait buckets pool sizenet.ipv4.tcp_max_tw_buckets = 1440000# Allowed local port rangenet.ipv4.ip_local_port_range = 16384 65536# Increase the maximum memory used to reassemble IP fragmentsnet.ipv4.ipfrag_high_thresh = 512000net.ipv4.ipfrag_low_thresh = 446464# Increase the maximum amount of option memory buffersnet.core.optmem_max = 57344# Increase the maximum number of skb-heads to be cachednet.core.hot_list_length = 1024## DO NOT REMOVE THE FOLLOWING LINE!## nsobuild:20051206 //3. 重启后生效sbin/sysctl -psysctl -w net.ipv4.route.flush=1
Copyright (c) 2014 LittleHann All rights reserved