vps如何安全设置?centos5的系统

vps如何安全设置?centos5的系统,第1张

1,关闭不需要的服务

这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,

这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性

那么哪些服务是肯定要保留的呢?

在linux机器上通常有四项服务是必须保留的

iptables

linux下强大的防火墙,只要机器需要连到网上,哪里离得开它

network

linux机器的网络,如果不上网可以关闭,只要上网当然要打开它

sshd

这是openssh server,如果你的机器不是本地操作,而是托管到IDC机房,

那么访问机器时需要通过这个sshd服务进行

syslog

这是linux系统的日志系统,必须要有,

否则机器出现问题时会找不到原因

除了这四项必需的服务之外,其他的服务需要保留哪些呢?

这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)

web服务器,就需要启用apache

2,关闭不需要的tty

请编辑你的/etc/inittab

找到如下一段:

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问

此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的

你用ps auxf这个命令可以看到,是六个进程

root 3004 0.0 0.0 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1

root 3037 0.0 0.0 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2

root 3038 0.0 0.0 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3

root 3051 0.0 0.0 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4

root 3056 0.0 0.0 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5

root 3117 0.0 0.0 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6

如何关闭这些进程?

通常我们保留前2个控制台就可以了,

把后面4个用#注释掉就可以了

然后无需重启机器,只需要执行 init q 这个命令即可

init q

q作为参数的含义:重新执行/etc/inittab中的命令

3,如何关闭ipv6?

ipv6目前我们还不需要,但系统安装完成后它会作为模块常驻核心,没有必要,

可以用这个步骤来关闭它:

首先编辑网络配置文件

vi /etc/sysconfig/network

修改

NETWORKING_IPV6=yes

NETWORKING_IPV6=no

然后关闭其模块:vi /etc/modprobe.conf

在文件中添加以下两行

alias net-pf-10 off

alias ipv6 off

修改完成后需重启机器使之生效

4,如何关闭atime?

一个linux文件默认有3个时间:

atime:对此文件的访问时间

ctime:此文件inode发生变化的时间

mtime:此文件的修改时间

如果有多个小文件时通常没有必要记录文件的访问时间,

这样可以减少磁盘的io,比如web服务器的页面上有多个小图片

如何进行设置呢?

修改文件系统的配置文件:vi /etc/fstab

在包含大量小文件的分区中使用noatime,nodiratime两项

例如:

/dev/md5/data/pics1 ext3noatime,nodiratime 0 0

这样文件被访问时就不会再产生写磁盘的io

5,一定要让你的服务器运行在level 3上

做法:

vi /etc/inittab

id:3:initdefault:

让服务器运行X是没有必要的

6,优化sshd

X11Forwarding no//不进行x图形的转发

UseDNS no //不对IP地址做反向的解析

7,优化shell

修改命令history记录

# vi /etc/profile

找到 HISTSIZE=1000 改为 HISTSIZE=100

然后 source /etc/profile

vps上如果启用防火墙,必须打开3389端口和4643端口

否则远程桌面和VZPP面板会无法连接

关于压力测试:UnixBench是一款不错的Linux下的VPS性能测试软件

Nginx+PHP-fpm组合,以内存占用小,负载能力强壮的特点,成为小内存VPS建站的首选组合。我们一起来探讨一下nginx+php-fpm高负载的优化方法。

先来看看nginx配置参数的优化。nginx是前端接受浏览器端请求的web server, 配置可调的参数如下:

下面是示例nginx配置

user www-data

worker_processes 8

#worker_processes 调至8, 大于8没什么用,小于8,nginx性能发挥不出来

worker_cpu_affinity 01 10 01 10 01 10 01 10

#worker_cpu_affinity 参数可以使nginx充分发挥多核Cpu的性能优势 ,上面的配置是针对双核CPU的配置。01表示第一个核,10表示第二个核,如果是四核cpu,一至四个核分别表示为 0001 0010 0100 1000

error_log /var/log/nginx/error_log crit

pid /var/run/nginx.pid

worker_rlimit_nofile 10240

#worker_rlimit_nofile 是nginx能打开文件的最大句柄数,我们需要把这个数字设大一点。

#linux系统的文件查看数限制查看是用 ulimit -n ,修改这个限制是用 ulimit -HSn 65535

events

{

use epoll

#必须要用高效的event驱动,以获得最大性能

worker_connections 10240

#max_clients = worker_processes * worker_connections/4 (最大连接数的计算公式)

}

http

{

include /etc/nginx/deny.iplist

include /etc/nginx/mime.types

default_type application/octet-stream

server_name_in_redirect off

server_names_hash_bucket_size 128

server_tokens off

client_header_buffer_size 32k

#client头buffer可以调为32K

large_client_header_buffers 4 32k

client_max_body_size 8m

sendfileon

tcp_nopush on

keepalive_timeout 65

tcp_nodelayoff

client_body_timeout 10

client_header_timeout 10

send_timeout 60

output_buffers 1 32k

postpone_output 1460

open_file_cache max=1000 inactive=20s

open_file_cache_valid30s

open_file_cache_min_uses 2

open_file_cache_errors on

fastcgi_connect_timeout 300

fastcgi_send_timeout 300

fastcgi_read_timeout 300

fastcgi_buffer_size 32k

fastcgi_buffers 4 32k

fastcgi_busy_buffers_size 32k

fastcgi_temp_file_write_size 32k

gzip on

gzip_buffers 4 16k

gzip_http_version 1.0

gzip_comp_level 2

gzip_types text/plain application/x-javascript text/css application/xml

gzip_proxied expired no-cache no-store private auth

proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=staticfilecache:80m inactive=1d max_size=2500m

proxy_temp_path /var/lib/nginx/proxy

proxy_connect_timeout 300

proxy_read_timeout 120

proxy_send_timeout 120

proxy_buffer_size 16k

proxy_buffers 4 16k

upstream wordpressnginx

{

server 127.0.0.1:6000 weight=1 fail_timeout=120s

}

include /etc/nginx/sites-enabled/*

}

上面的配置里面,有多处设及到buffer和timeout的地方。我们可以根据需要,慢慢调大这些参数,buffer自然是大点好,但不要太大。16K是标准配置,可以增加到32,往上加更大也不是不行,但 要考虑到你系统内存大不大,够不够用。timeout是超时,如果服务器很繁忙,不妨增加超时等待时间,以避免频繁出现502错误。

gzip是必须开启的,reverse proxy在允许的情况下,也尽量开启,一 是可以提升响应效率,二是降低服务器压力,gzip开启后更可以节省服务器带宽。

nginx主要的配置如上所述。

现在看一下php-fpm的配置。

[global]

pid = run/php5-fpm.pid

process_control_timeout = 5

[www]

listen = /dev/shm/php-cgi.sock

listen.allowed_clients = 127.0.0.1

user = www-data

group = www-data

pm = static

pm.max_children = 7

#这个决定了 php-fpm的总进程。我们要想同时响应更多的并发数,这个数值要尽可能大,比如500,1000

pm.max_requests = 10000

#并发数越大,这个最大请求数应该越大,并发数小,这个数值也应该越小。它表示,php-fpm进程响应了10000个并发请求之后,就自动重启一下进程。

request_terminate_timeout = 30

#表示等待30秒后,结束那些没有自动结束的php脚本,以释放占用的资源。

env[HOSTNAME] = $HOSTNAME

env[PATH] = /usr/local/bin:/usr/bin:/bin

env[TMP] = /tmp

env[TMPDIR] = /tmp

env[TEMP] = /tmp

小内存的vps虽然经过使用php-fpm+nginx,提升了系统的效率,可以同时响应较多的并发请求,但是当并发数上来了,比如从100上升到10000,小内存肯定响应不过来,cpu也会 因为太忙,而导致系统负载变得很高很高,这个时候,我们就要考虑升级硬件配置了。

内存越大越好,CPU核心频率越高越好,CPU核越多越好。硬盘最好是SSD+RAID10。这样性能不仅高,数据安全也有保障。

上面所提到的各个配置参数,设及到数值的,不妨自己 多试着调小,调大参数,然后重启下nginx或者php-fpm进程,看看效果怎么样。

下面介绍一个比较好的压力测试工具,siege.

debian和ubuntu用户可以通过apt-get install siege来安装siege.

siege是一个跟ab.exe相似的http压力测试软件。

我们可以用siege来测试我们的网站和服务器性能。

siege -r 100 -c 10 http://www.domain.com/test.php

-r 是 repeat , -r 100是重复100次测试

-c 10是表示模拟10个用户同时并发连接

最后面是要测试的URL地址。

测试过程中可以随时按CTRL+C中止进程,siege会生成一个报告给我们。

我们可以同时根据siege的测试结果和监视服务器的负载情况,对系统压力状况进行一个深入了解和分析。接下来可以帮助我们判断该如何进行下一步操作,是继续优化配置,还是升级硬件。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/67644.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-01
下一篇2023-03-01

发表评论

登录后才能评论

评论列表(0条)

    保存