`

LNMP/VPS常用安全设置

 
阅读更多

一、修改SSH端口


vi /etc/ssh/sshd_config
找到其中的#Port 22(第13行),去掉#,修改成Port 3333
使用如下命令,重启SSH服务,注:以后用新端口登陆。

service sshd restart
二、禁止ROOT登陆

先添加一个新帐号 weidao ,可以自定义:
 
useradd weidao
给 weidao 帐号设置密码:
 
passwd weidao
仍旧是修改/etc/ssh/sshd_config文件,第39行:#PermitRootLogin yes,去掉前面的#,并把yes改成no,然后,重启SSH服务。以后,先使用 weidao 登陆,再su root即可得到ROOT管理权限。

login as: weidao
weidao@ip password:*****
Last login: Tue Nov 22 15:18:18 2011 from 1.2.3.4
su root
Password:*********** #注这里输入ROOT的密码
三、使用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秒,可根据情况调整
四、使用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切换是否时数流量图形条。

五、升级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
六、常用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
分享到:
评论

相关推荐

    LNMP/Nginx 虚拟主机面板 AMH v3.2

    Amysql - AMH简介 01) 简单: 简洁精致,支持ssh、web在线轻松管理维护虚拟主机、MySQL、FTP。 02) 高效: 使用高性能Nginx服务器软件支持,面板基于AMH命令行运行,实现过程快速...AMH为独立的一套LNMP/Nginx虚拟

    LNMP/Nginx 虚拟主机面板 AMH v5.0.zip

    欢迎使用LNMP/Nginx 虚拟主机面板 - AMH   01) 简单: 简洁精致,支持ssh、web在线轻松管理维护虚拟主机、MySQL、FTP。 02) 高效: 使用高性能Nginx服务器软件支持,面板基于AMH命令行运行,实现过程快速高效。 ...

    Linux VPS配置Web网站环境一键包(LNMP/LAMP/LNMPA)

    如果我们是资深Linux用户,可能不屑于网上免费Linux Web一键包、管理面板的安装,然后自己编译或者自由的一套环境安装配置环境。...我们可以利用LNMP一键包安装LNMP/LAMP/LNMPA组合环境。Nginx、Apache、MYSQL、P

    LNMP一键安装包 0.5 完整版/下载版.gz

     可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用),如果使用下载版执行命令 wget -c http://soft.vpser.net/lnmp/lnmp0.5.tar.gz,如果使用完整版,执行命令 wget -c ...

    LNMP(Nginx/MySQL/PHP)

    LNMP(Nginx/MySQL/PHP) LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 无需一个一个的输入命令,无需值守,编译安装优化编译参数,提高性能,解决不必要的软件间依赖,特别针对配置自动优化 作为...

    Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境

    主要介绍了Mac系统下使用brew搭建PHP(LNMP/LAMP)开发环境,本文讲解了使用Brew手动搭建PHP的开发环境,包括Apache、Nginx、PHP、MySQL、MongoDB、PHPMyAdmin等配置,需要的朋友可以参考下

    Ubuntu Debian(NGINX/PHP/MYSQL)快速配置工具LNMP云安装

    独特的DebianLNMP安全增强设置。2. 新软件库基于http://www.dotdeb.org/可保持同步更新。3. Nginx MySQL PHP 全部升级到最新稳定版本。4. 快捷的安装脚本,快速安装开源LNMP软件组合。5. 适合懒人+初学者。随着时间...

    Linux VPS LNMP一键安装及多站点设置 安装教程.docx

    Linux VPS LNMP一键安装及多站点设置 安装教程.docx

    lnmp1.4.tar.gz LNMP一键安装包

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP...

    docker-lnmp:Docker lnmp镜像,LinuxNginx(alpine)Mysql8.0PHP7.2Redis4.0

    docker-lnmpDocker镜像,包括Linux + Nginx + Mysql + PHP + Redis1. 功能支持PHP多版本切换(5.4/5.6/7.2)Mysql映射到宿主机目录docker-lnmp/mysql支持mysql/nginx/php日志站点配置见docker-lnmp/conf/conf.d支持...

    lnmp环境配置

    一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)...

    centos6.2+lnmp一键安装包+discuz论坛安装教程

    您可以选择使用下载版 推荐国外或者美国VPS使用 或者完整版 推荐国内VPS使用 下载完成后LNMP一键安装包就会被下载到您的服务器或VPS上(一般用root登陆没切换目录的话应该在 root 下面)">centos6 2+lnmp一键安装包+...

    Linux常用命令和LNMP相关操作

    Linux常用命令和LNMP相关操作,预览一下: 文件和目录 cd /home 进入 '/ home' 目录' cd .. 返回上一级目录 cd ../.. 返回上两级目录 cd 进入个人的主目录 cd ~user1 进入个人的主目录 cd - 返回上次所在的...

    LNMP一键安装文档

    linux下下载安装LNMP一键安装包: 可以选择使用下载版(推荐国外或者美国VPS使用)或者完整版(推荐国内VPS使用)

    Docker-LNMP::fire:MacLinux Docker LNMP

    $ cd Docker-LNMP // 进入项目根目录 $ docker-compose up -d // 容器编排命令 启用服务,第一次需要重建 第四步,测试服务访问 (可配置强制延长https) (由于证书不安全,所以需要点击继续访问) (访问Docker...

    使用LNMP一键安装包配置CentOS服务器环境教程

    因为不用职守,不用编译安装时输入大量的命令。作为使用linux配置生产环境的新手,无疑是最不想看到的。... wget -c http://soft.vpser.net/lnmp/lnmp0.6.tar.gz 2、执行以下命令解压LNMP一键安装包

    LNMP软件包部署网站

    LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP...

    lnmp环境搭建

    关于lnmp环境的搭建,搭建安全的lnmp环境

    DebianLNMP一键安装包Debian6系统下的Nginx/PHP5.3/MySQL最快最新

    •独特的DebianLNMP安全增强设置。 •新软件库基于http://www.dotdeb.org/ 可保持同步更新。 •Nginx MySQL PHP 全部升级到最新稳定版本。 •快捷的安装脚本,快速安装开源LNMP软件组合。 •适合懒人+初学者。...

Global site tag (gtag.js) - Google Analytics