标签:style blog http color 使用 os io strong
目录
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.html http://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/xferlog FTP系统日志 6. /var/log/secure 记录系统自开通以来所有用户的登录时间和地点,可以给系统管理员提供更多的参考 7. /var/log/wtmp 记录当前和历史上登录到系统的用户的登录时间、地点和注销时间等信息。和/var/log/lastlog一样,这个文件是一个二进制文件,需要用last命令查看 last -f /var/log/wtmp 8. /var/log/spooler News日志 9. /var/log/rpmpkgs RPM软件包 10. /var/log/boot.log: 引导日志 记录开机启动讯息,就是Linux系统开机自检过程显示的信息 dmesg | more 11. /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 |more Linux 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 2014 KERNEL supported cpus: Intel GenuineIntel AMD AuthenticAMD NSC Geode by NSC Cyrix CyrixInstead Centaur CentaurHauls Transmeta GenuineTMx86 Transmeta TransmetaCPU UMC UMC UMC UMC Disabled fast string operations BIOS-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.html http://www.liufofu.com/201207524.html http://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用户无法直接远程登录,需要用普通账号登陆后su 4. 限定信任主机 检查方法: 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/bin chgrp compiler *cc* chgrp compiler *++* chgrp compiler ld chgrp compiler as
0x2: .history安全
这是一个避免删除.bash_history或重定向到/dev/null的好方法,目的是禁止清除或删除他最后执行的命令,黑客常常通过删除.history来隐藏自己的攻击痕迹,影响取证
方法:
chattr +a .bash_history
chattr +i .bash_history
0x3: chmod危险文件
chmod 700 /bin/ping chmod 700 /usr/bin/finger chmod 700 /usr/bin/who chmod 700 /usr/bin/w chmod 700 /usr/bin/locate chmod 700 /usr/bin/whereis chmod 700 /sbin/ifconfig chmod 700 /usr/bin/pico chmod 700 /usr/bin/vi chmod 700 /usr/bin/which chmod 700 /usr/bin/gcc chmod 700 /usr/bin/make chmod 700 /bin/rpm
0x4: 指定允许root登陆的TTY设备
/etc/securetty文件允许你指定root可以从哪个TTY设备登录
方法:
vi /etc/securetty //一个好的建议是,只留2个可信的连接 tty1 tty2
Relevant Link:
http://yonghui702.blog.163.com/blog/static/817183420110131102257/
6. 系统病毒、后门、rootkit安全
0x1: 检测Rootkit
关于rootkit的基本原理和防御策略请参阅另外几篇文章
http://www.cnblogs.com/LittleHann/p/3870974.html http://www.cnblogs.com/LittleHann/p/3879118.html http://www.cnblogs.com/LittleHann/p/3879961.html
7. 系统端口、服务安全
0x1: 关闭不用的服务
我们应该把任何未使用的服务关闭,可以在/etc/xinetd.d文件夹里找到
方法:
cd /etc/xinetd.d grep disable * //这将显示所有服务开启或关闭的状态,然后根据需要来开启或关闭服务
0x2: 检测监听的端口
检测是否有必要开放端口是非常重要的
方法:
netstat -tulp lsof -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 forwarding net.ipv4.ip_forward = 0 # Controls source route verification net.ipv4.conf.default.rp_filter = 1 # Controls the System Request debugging functionality of the kernel kernel.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 attack net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 2048 net.ipv4.tcp_synack_retries = 2 # Disables packet forwarding net.ipv4.ip_forward=0 # Disables IP source routing net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.lo.accept_source_route = 0 net.ipv4.conf.eth0.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 # Enable IP spoofing protection, turn on source route verification net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.lo.rp_filter = 1 net.ipv4.conf.eth0.rp_filter = 1 net.ipv4.conf.default.rp_filter = 1 # Disable ICMP Redirect Acceptance net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv4.conf.eth0.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 # Enable Log Spoofed Packets, Source Routed Packets, Redirect Packets net.ipv4.conf.all.log_martians = 1 net.ipv4.conf.lo.log_martians = 1 net.ipv4.conf.eth0.log_martians = 1 # Disables IP source routing net.ipv4.conf.all.accept_source_route = 0 net.ipv4.conf.lo.accept_source_route = 0 net.ipv4.conf.eth0.accept_source_route = 0 net.ipv4.conf.default.accept_source_route = 0 # Enable IP spoofing protection, turn on source route verification net.ipv4.conf.all.rp_filter = 1 net.ipv4.conf.lo.rp_filter = 1 net.ipv4.conf.eth0.rp_filter = 1 14 net.ipv4.conf.default.rp_filter = 1 # Disable ICMP Redirect Acceptance net.ipv4.conf.all.accept_redirects = 0 net.ipv4.conf.lo.accept_redirects = 0 net.ipv4.conf.eth0.accept_redirects = 0 net.ipv4.conf.default.accept_redirects = 0 # Disables the magic-sysrq key kernel.sysrq = 0 # Modify system limits for Ensim WEBppliance fs.file-max = 65000 # Decrease the time default value for tcp_fin_timeout connection net.ipv4.tcp_fin_timeout = 15 # Decrease the time default value for tcp_keepalive_time connection net.ipv4.tcp_keepalive_time = 1800 # Turn off the tcp_window_scaling net.ipv4.tcp_window_scaling = 0 # Turn off the tcp_sack net.ipv4.tcp_sack = 0 # Turn off the tcp_timestamps net.ipv4.tcp_timestamps = 0 # Enable TCP SYN Cookie Protection net.ipv4.tcp_syncookies = 1 # Enable ignoring broadcasts request net.ipv4.icmp_echo_ignore_broadcasts = 1 # Enable bad error message Protection net.ipv4.icmp_ignore_bogus_error_responses = 1 # Log Spoofed Packets, Source Routed Packets, Redirect Packets net.ipv4.conf.all.log_martians = 1 # Set maximum amount of memory allocated to shm to 256MB kernel.shmmax = 268435456 # Improve file system performance vm.bdflush = 100 1200 128 512 15 5000 500 1884 2 # Improve virtual memory performance vm.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 allocatable net.ipv4.tcp_mem = 57344 57344 65536 # Increase the maximum TCP write-buffer-space allocatable net.ipv4.tcp_wmem = 32768 65536 524288 15 # Increase the maximum TCP read-buffer space allocatable net.ipv4.tcp_rmem = 98304 196608 1572864 # Increase the maximum and default receive socket buffer size net.core.rmem_max = 524280 net.core.rmem_default = 524280 # Increase the maximum and default send socket buffer size net.core.wmem_max = 524280 net.core.wmem_default = 524280 # Increase the tcp-time-wait buckets pool size net.ipv4.tcp_max_tw_buckets = 1440000 # Allowed local port range net.ipv4.ip_local_port_range = 16384 65536 # Increase the maximum memory used to reassemble IP fragments net.ipv4.ipfrag_high_thresh = 512000 net.ipv4.ipfrag_low_thresh = 446464 # Increase the maximum amount of option memory buffers net.core.optmem_max = 57344 # Increase the maximum number of skb-heads to be cached net.core.hot_list_length = 1024 ## DO NOT REMOVE THE FOLLOWING LINE! ## nsobuild:20051206 //3. 重启后生效 sbin/sysctl -p sysctl -w net.ipv4.route.flush=1
Copyright (c) 2014 LittleHann All rights reserved
Linux System Reinforcement,布布扣,bubuko.com
标签:style blog http color 使用 os io strong
原文地址:http://www.cnblogs.com/LittleHann/p/3892465.html