gpt4 book ai didi

VPS常用安全设置(linux)

转载 作者:qq735679552 更新时间:2022-09-29 22:32:09 28 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章VPS常用安全设置(linux)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

1、修改SSH端口 。

vi /etc/ssh/sshd_config 。

找到其中的#Port 22(第13行),去掉#,修改成Port 3333 。

使用如下命令,重启SSH服务,注:以后用新端口登陆.

service sshd restart 。

2、禁止ROOT登陆 。

先添加一个新帐号80st ,可以自定义:

useradd 80st 。

给weidao 帐号设置密码:

passwd 80st 。

仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用weidao 登陆,再su root即可得到ROOT管理权限.

login as: 80st 。

weidao@ip password:***** 。

Last login: Tue Nov 22 15:18:18 2011 from 1.2.3.4 。

su root 。

Password:*********** #注这里输入ROOT的密码 。

3、使用DDos deflate简单防落CC和DDOS攻击 。

使用netstat命令,查看VPS当前链接确认是否受到攻击:

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 。

IP前面的数字,即为连接数,如果说正常网站,几十到一百都属于正常连接,但出现几百,或上千的就可以垦定这个IP与你的VPS之间可能存在可疑连接现象.

可以使用iptables直接BAN了这个IP的永久访问:

iptables -A INPUT -s 12.34.56.78 -j DROP 。

使用软件DDos deflate来自动检测并直接BAN掉的方法,首先要确认一下iptables服务状态,默认CENTOS就安装的,不看也行.

service iptables status 。

安装DDos deflat:

wget http://www.inetbase.com/scripts/ddos/install.sh 。

chmod +x install.sh 。

./install.sh 。

安装后需要修改/usr/local/ddos/ddos.conf,主要是APF_BAN=1要设置成0,因为要使用iptables来封某些可疑连接,注意EMAIL_TO=”root”,这样BAN哪个IP会有邮件提示:

##### Paths of the script and other files 。

PROGDIR=”/usr/local/ddos” 。

PROG=”/usr/local/ddos/ddos.sh” 。

IGNORE_IP_LIST=”/usr/local/ddos/ignore.ip.list” //IP地址白名单 。

CRON=”/etc/cron.d/ddos.cron”//定时执行程序 。

APF=”/etc/apf/apf” 。

IPT=”/sbin/iptables” 。

##### frequency in minutes for running the script 。

##### Caution: Every time this setting is changed, run the script with –cron 。

##### option so that the new frequency takes effect 。

FREQ=1 //检查时间间隔,默认1分钟 。

##### How many connections define a bad IP? Indicate that below. 。

NO_OF_CONNECTIONS=150 //最大连接数,超过这个数IP就会被屏蔽,一般默认即可 。

##### APF_BAN=1 (Make sure your APF version is atleast 0.96) 。

##### APF_BAN=0 (Uses iptables for banning ips instead of APF) 。

APF_BAN=1 //使用APF还是iptables。推荐使用iptables,将APF_BAN的值改为0即可.

##### KILL=0 (Bad IPs are’nt banned, good for interactive execution of script) 。

##### KILL=1 (Recommended setting) 。

KILL=1 //是否屏蔽IP,默认即可 。

##### An email is sent to the following address when an IP is banned. 。

##### Blank would suppress sending of mails 。

EMAIL_TO=”root”//当IP被屏蔽时给指定邮箱发送邮件,推荐使用,换成自己的邮箱即可 。

##### Number of seconds the banned ip should remain in blacklist. 。

BAN_PERIOD=600 //禁用IP时间,默认600秒,可根据情况调整 。

4、使用iftop查看详细网络状况 。

安装IFTOP软件:

yum -y install flex byacc libpcap ncurses ncurses-devel libpcap-devel 。

wget http://www.ex-parrot.com/pdw/iftop/download/iftop-0.17.tar.gz 。

tar zxvf iftop-0.17.tar.gz 。

cd iftop-0.17 。

./configure 。

make && make install 。

安装后,使用iftop运行,查看网络情况。TX,发送流量;RX,接收流量;TOTAL,总流量;Cumm,运行iftop期间流量;peak,流量峰值;rates,分别代表2秒、10秒、40秒的平均流量.

快捷键:h帮助,n切换显示IP主机名,s是否显示本机信息,d是否显示远端信息,N切换端口服务名称,b切换是否时数流量图形条.

5、升级LNMP中的NGINX到最新版 。

现在最新版是0.8.53,如果以后出新版,只要更新版本号就可以,在SSH里运行:

wget http://www.nginx.org/download/nginx-0.8.53.tar.gz 。

tar zxvf nginx-0.8.53.tar.gz 。

cd nginx-0.8.53 。

./configure –user=www –group=www –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module –with-http_sub_module 。

make 。

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.old 。

cd objs/ 。

cp nginx /usr/local/nginx/sbin/ 。

/usr/local/nginx/sbin/nginx -t 。

kill -USR2 `cat /usr/local/nginx/logs/nginx.pid` 。

kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin` 。

/usr/local/nginx/sbin/nginx -v 。

cd .. 。

cd .. 。

rm -rf nginx-0.8.53 。

rm -rf nginx-0.8.53.tar.gz 。

6、常用netstat命令:

1.查看所有80端口的连接数 。

netstat -nat|grep -i “80″|wc -l 。

2.对连接的IP按连接数量进行排序 。

netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 。

3.查看TCP连接状态 。

netstat -nat |awk ‘{print $6}’|sort|uniq -c|sort -rn 。

netstat -n | awk ‘/^tcp/ {++S[$NF]};END {for(a in S) print a, S[a]}’ 。

netstat -n | awk ‘/^tcp/ {++state[$NF]}; END {for(key in state) print key,”\t”,state[key]}’ 。

netstat -n | awk ‘/^tcp/ {++arr[$NF]};END {for(k in arr) print k,”\t”,arr[k]}’ 。

netstat -n |awk ‘/^tcp/ {print $NF}’|sort|uniq -c|sort -rn 。

netstat -ant | awk ‘{print $NF}’ | grep -v ‘[a-z]‘ | sort | uniq -c 。

4.查看80端口连接数最多的20个IP 。

netstat -anlp|grep 80|grep tcp|awk ‘{print $5}’|awk -F: ‘{print $1}’|sort|uniq -c|sort -nr|head -n20 。

netstat -ant |awk ‘/:80/{split($5,ip,”:”);++A[ip[1]]}END{for(i in A) print A,i}’ |sort -rn|head -n20 。

5.用tcpdump嗅探80端口的访问看看谁最高 。

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F”.” ‘{print $1″.”$2″.”$3″.”$4}’| sort | uniq -c | sort -nr |head -20 。

6.查找较多time_wait连接 。

netstat -n|grep TIME_WAIT|awk ‘{print $5}’|sort|uniq -c|sort -rn|head -n20 。

7.找查较多的SYN连接 。

netstat -an | grep SYN | awk ‘{print $5}’ | awk -F: ‘{print $1}’ | sort | uniq -c | sort -nr | more 。

最后此篇关于VPS常用安全设置(linux)的文章就讲到这里了,如果你想了解更多关于VPS常用安全设置(linux)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com