CentOS 调整默认启动的TTY终端数量,关闭不需要的TTY

CentOS 6.X Linux 系统默认是打开6个控制台,分别可以用 ALT+F1 到 ALT+F6 进行访问,6个控制台默认都驻留在内存中,用 ps -aux 可以查看.

通常我们保留2个控制台就可以了,如果是 VPS 的话,自己不可能物理登录终端,可以全部禁止掉。

CentOS 6.0 开始 TTY 的配置由 /etc/inittab 更改为 /etc/init/start-ttys.conf,执行以下命令可将默认6个 TTY 改为2个:

找到 tty [1-6] 改成 tty [1-2]

先打开 /etc/init/start-ttys.conf

找到 tty [1-6] 改成 tty [1-2]

在打开 /etc/sysconfig/init

找到

ACTIVE_CONSOLES=/dev/tty[1-6]
修改为:

ACTIVE_CONSOLES=/dev/tty[1-2]

如果要临时停止tty终端,可使用 如:
initctl stop tty TTY=/dev/tty6 [停止tty6]。

附:
CentOS5修改配置文件注释禁止启动的TTY即可:

nano /etc/inittab
……
# Run gettys in standard runlevels
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
……

中兴ZXA10 F420 3.3 破解,禁止远程管理,预防光猫被黑

设备型号 F420
设备序列号 ×××××
硬件版本号 V3.0
软件版本号 V3.30.00×××
版本日期 2013-08-05

中兴F420 软件版本V3.3破解,断了电信的远程管理,禁止电信光猫外网登录超级管理员,有效去除被黑的烦恼

使用http://192.168.1.1/web_shell_cmd.gch
出现
500 Internal Error

Error 1501 on file ‘/home/httpd/web_shell_cmd.gch’.
Mini web server 1.0 ZTE corp 2005.

经过测试终于发现这个中兴ZXA10 F420光猫web管理的用户名和密码(admin)和普通用户(root),下面是具体的过程。

1、查找光猫超级密码

使用浏览器打开 http://192.168.1.1
输入密码登录

f420-1

进入用户配置页面,下载默认配置文件(转载请注明出处:http://clin003.com/)
f420-12

然后使用记事本软件打开这个文件

ctrl+F 搜索 TS_UName

f420-13

这样就查找到使用Telnet终端可登录的用户名及密码了!!

2、使用telnet登录F420光猫

telnet 192.168.1.1

#ls bin
查看可使用的命令都有哪些
f420-14
转载请注明出处:http://clin003.com/
3、修改远程控制,防止远程修改你的超级账号,对一些功能做出限制
在命令行下(以下命令 不包含解释)
#sendcmd 1 DB p MgtServer (注意空格和大小写)解释:查看一下当前的电信远程控制
#sendcmd 1 DB set MgtServer 0 URL http://123.0.0.1 (注意空格和大小写)解释:简明的方法是把服务器 URL 改掉
#sendcmd 1 DB set MgtServer 0 Tr069Enable 0 (注意空格和大小写)解释:禁用TR069远程控制
#sendcmd 1 DB save (注意空格和大小写)解释:修改保存

f420-15

4、 Telnet连接数改大一些,防止锁住
#sendcmd 1 DB p TelnetCfg
# sendcmd 1 DB set TelnetCfg 0 Max_Con_Num 5

5、ETHPORTCONFProduct,打开千兆模式
#sendcmd 1 DB p ETHPORTCONFProduct
#sendcmd 1 DB set ETHPORTCONFProduct 0 PortIsolateEn 0 (关闭端口隔离,有助于提高交换机性能 )
#sendcmd 1 DB set ETHPORTCONFProduct 1 PortIsolateEn 0
#sendcmd 1 DB set ETHPORTCONFProduct 2 PortIsolateEn 0
#sendcmd 1 DB set ETHPORTCONFProduct 3 PortIsolateEn 0

#sendcmd 1 DB set ETHPORTCONFProduct 0 MacLimitEn 0 (关闭 MAC 地址总数限制)
#sendcmd 1 DB set ETHPORTCONFProduct 1 MacLimitEn 0
#sendcmd 1 DB set ETHPORTCONFProduct 2 MacLimitEn 0
#sendcmd 1 DB set ETHPORTCONFProduct 3 MacLimitEn 0

#sendcmd 1 DB set ETHPORTCONFProduct 0 IngressPolicing_cir 1024000 (打开4个口 千兆模式 )

6、保存设置
#sendcmd 1 DB save (修改保存)

转载请注明出处:http://clin003.com/

Centos 5.8 开启apache rewrite(rewrite_module模块),支持.htaccess

系统环境 Centos 5.8
apache 2.2

首先检查一遍 /etc/httpd/conf/httpd.conf 中

#LoadModule rewrite_module modules/mod_rewrite.so

前面去掉#号

若网站是根目录,可以找到:


Options FollowSymLinks
AllowOverride None

将上面的None改为All

若站点不在根目录:

Order allow,deny
Allow from all
AllowOverride All

若网站是虚拟VirtualHost,
可以把上面的
嵌入

格式为:
AllowOverride All

centos-rewrite-htaccess

OK,然后重启服务器,service httpd restart ,这样.htaccess就可以使用了。

阿里云ECS:从Debian6(squeeze)升级到Debian7(Wheezy)

1、查看当前系统版本
root@clin003.com:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l

root@clin003.com:~# uname -a
Linux clin003.com 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux
root@clin003.com:~#

2、修改更新源
root@clin003.com:~# nano /etc/apt/sources.list

#deb http://ftp.cn.debian.org/debian squeeze main
#deb-src http://ftp.cn.debian.org/debian squeeze main

#deb http://ftp.cn.debian.org/debian squeeze-updates main
#deb-src http://ftp.cn.debian.org/debian squeeze-updates main

#deb http://security.debian.org/ squeeze/updates main
#deb-src http://security.debian.org/ squeeze/updates main

# deb http://mirrors.aliyun.com/debian wheezy main
# deb http://mirrors.aliyuncs.com/debian wheezy main

deb http://mirrors.aliyun.com/debian wheezy main
deb http://mirrors.aliyuncs.com/debian wheezy main
deb-src http://mirrors.aliyun.com/debian wheezy main
deb-src http://mirrors.aliyuncs.com/debian wheezy main

deb http://security.debian.org/ wheezy/updates main
deb-src http://security.debian.org/ wheezy/updates main

# wheezy-updates, previously known as ‘volatile’
deb http://mirrors.aliyun.com/debian wheezy-updates main
deb http://mirrors.aliyuncs.com/debian wheezy-updates main
deb-src http://mirrors.aliyun.com/debian wheezy-updates main
deb-src http://mirrors.aliyuncs.com/debian wheezy-updates main

说明一下,“#”代表注释的意思,如果不想删除之前的源文件,可以像我这样只是注释掉之前的源地址,添加wheezy的源地址就可以了。

3、然后更新
root@clin003.com:~# apt-get update

root@clin003.com:~# apt-get -y upgrade

这中间有个等待的过程,会提示输入,按回车或空格然后按q即可。

debian6to7config

需要重启服务,我选择yes(不要再问我,该重启服务时就重启服务吧,所以建议选择在夜深人静的时候来升级)

phpmyadmin-config

由于我是用了rds,所以这里的配置phpmyadmin直接忽略掉了。
root@clin003.com:~# cat /etc/issue
Debian GNU/Linux 6.0 \n \l

root@clin003.com:~# uname -a
Linux clin003.com 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux
root@clin003.com:~#

apt-get -y dist-upgrade

root@clin003.com:~# uname -a
Linux clin003.com 2.6.32-5-amd64 #1 SMP Sun Jan 1 04:57:38 CST 2012 x86_64 GNU/Linux
root@clin003.com:~# cat /etc/issue
Debian GNU/Linux 7 \n \l

root@clin003.com:~#

upgrade:系统将现有的Package升级,如果有相依性的问题,而此相依性需要安装其它新的
Package或影响到其它Package的相依性时,此Package就不会被升级,会保留下来.

dist-upgrade:可以聪明的解决相依性的问题,如果有相依性问题,需要安装/移除新的Package,
就会试着去安装/移除它.
(所以通常这个会被认为是有点风险的升级)

iptables防御DDOS轻量攻击脚本

SYN攻击是利用TCP/IP协议3次握手的原理,发送大量的建立连接的网络包,但不实际建立连接,最终导致被攻击服务器的网络队列被占满,无法被正常用户访问。SYN Flood攻击虽然原理简单,但是造成的危害却十分严重。
首先检测短时间内大量IP发起请求,两种方法:
netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n
netstat -alnt | awk ‘{print $5}’ |awk -F “:” ‘{print $1}’ | sort | uniq -c |sort -n
一.
初步先制定iptables关于单个IP并发TCP连接。
1.1
限制单个IP并发TCP连接的方法适应于保护Linux上的各种TCP服务,使用iptables
iptables是v1.3.5以上。
1.2
实现细节:
限制连往本机的web服务,1个C段的IP的并发连接不超过100个,超过的被拒绝:
#iptables -I INPUT -p tcp –dport 80 -m iplimit –iplimit-above 100 –iplimit-mask 24 -j REJECT
延伸例子:
限制连往本机的telnet单个IP并发连接为2个,超过的连接被拒绝:
#iptables -I INPUT -p tcp –dport 23 -m iplimit –iplimit-above 2 -j REJECT
1.3
防止同步包洪水(Sync Flood)
# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
也有人写作
#iptables -A INPUT -p tcp –syn -m limit –limit 1/s -j ACCEPT
–limit 1/s 限制syn并发数每秒1次,可以根据自己的需要修改
防止各种端口扫描
# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT
Ping洪水攻击(Ping of Death)
# iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

二.
内核优化,通过修改内核参数或使用TCP Cookie技术只能在一定程度上减轻SYN Flood攻击的影响,但是加大了服务器的负担,但是可以减缓被拒绝攻击,实现细节:
sysctl -a | grep syn
看到:
net.ipv4.tcp_max_syn_backlog = 1024
net.ipv4.tcp_syncookies = 0
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_syn_retries = 5
tcp_max_syn_backlog是SYN队列的长度,tcp_syncookies是一个开关,是否打开SYN Cookie功能,该功能可以防止部分SYN攻击。tcp_synack_retries和tcp_syn_retries定义SYN的重试次数。
加大SYN队列长度可以容纳更多等待连接的网络连接数,打开SYN Cookie功能可以阻止部分SYN攻击,降低重试次数也有一定效果。
调整上述设置的方法是:
增加SYN队列长度到2048:
sysctl -w net.ipv4.tcp_max_syn_backlog=2048
打开SYN COOKIE功能:
sysctl -w net.ipv4.tcp_syncookies=1
降低重试次数:
sysctl -w net.ipv4.tcp_synack_retries=3
sysctl -w net.ipv4.tcp_syn_retries=3

附录:iptables防DDOS攻击和CC攻击设置

防范DDOS攻击脚本
#防止SYN攻击 轻量级预防
iptables -N syn-flood
iptables -A INPUT -p tcp –syn -j syn-flood
iptables -I syn-flood -p tcp -m limit –limit 3/s –limit-burst 6 -j RETURN
iptables -A syn-flood -j REJECT
#防止DOS太多连接进来,可以允许外网网卡每个IP最多15个初始连接,超过的丢弃
iptables -A INPUT -i eth0 -p tcp –syn -m connlimit –connlimit-above 15 -j DROP
iptables -A INPUT -p tcp -m state –state ESTABLISHED,RELATED -j ACCEPT

#用Iptables抵御DDOS (参数与上相同)
iptables -A INPUT -p tcp –syn -m limit –limit 12/s –limit-burst 24 -j ACCEPT
iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT
##########################################################
防范CC攻击
当apache站点受到严重的cc攻击,我们可以用iptables来防止web服务器被CC攻击,实现自动屏蔽IP的功能。
1.系统要求
(1)LINUX 内核版本:2.6.9-42ELsmp或2.6.9-55ELsmp(其它内核版本需要重新编译内核,比较麻烦,但是也是可以实现的)。
(2)iptables版本:1.3.7
2. 安装
安装iptables1.3.7和系统内核版本对应的内核模块kernel-smp-modules-connlimit
3. 配置相应的iptables规则
示例如下:
(1)控制单个IP的最大并发连接数
iptables -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 50 -j REJECT #允许单个IP的最大连接数为 30
#默认iptables模块不包含connlimit,需要自己单独编译加载

(2)控制单个IP在一定的时间(比如60秒)内允许新建立的连接数
iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –update –seconds 60 –hitcount 30 -j REJECT iptables -A INPUT -p tcp –dport 80 -m recent –name BAD_HTTP_ACCESS –set -j ACCEPT
#单个IP在60秒内只允许最多新建30个连接

4. 验证
(1)工具:flood_connect.c(用来模拟攻击)
(2)查看效果:
使用
watch ‘netstat -an | grep:21 | grep< 模拟攻击客户机的IP>| wc -l’

实时查看模拟攻击客户机建立起来的连接数,
使用
watch ‘iptables -L -n -v | \grep< 模拟攻击客户机的IP>‘

查看模拟攻击客户机被 DROP 的数据包数。
5.注意
为了增强iptables防止CC攻击的能力,最好调整一下ipt_recent的参数如下:
#cat/etc/modprobe.conf options ipt_recent ip_list_tot=1000 ip_pkt_list_tot=60
#记录1000个IP地址,每个地址记录60个数据包 #modprobe ipt_recent

参考文章:
http://blog.chinaunix.net/uid-20773865-id-113920.html
http://sookk8.blog.51cto.com/455855/321242

Blog搬入Linode VPS,已完成域名解析与数据转移!

之前使用photonvps接近一年的时间了,偶尔抽抽风,也没发现太大的问题,只是用了Dnspod的D监控后发现问题还是很多的说:
photonvps

之前受限于只能使用支付宝支付来购买国外主机,可以选择的“好”主机真不多。
昨天使用财付通的运通卡购入了Linode,从ping值来看的话比photonvps表现稍微稳定些(从Linode ping photonvps 显示都是各位数),数据打包好专业,重新使用 apt-get 安装apache+MySQL+PHP服务器环境配置apache静态支持.htaccess,从打包备份服务器文件恢复配置文件,还原数据库,一切都还算顺利。

继续观察下Linode再说。

顺便说一下,之前用PhotonVPS的 “WARP 1” 配置:MEMORY
512 MBDISK SPACE
35 GBTRAFFIC
4 TBPRICE
$16.95
使用长期优惠码的价格大概是13.多

现在使用Linode的最低配(我的第一感觉是他的硬盘容量有点小,不过现在还够用):
Linode
1GB
1 GB RAM
8 CPU (1x priority)
24 GB Storage
2 TB Transfer
$20 / month

可以使用df -h 命令查看硬盘真实使用空间(Linode控制面板里显示的是你的镜像文件用的空间,不得不说,Linode的控制面板真系比Photonvps强大太多)

linux查看磁盘分区占用空间
linux查看磁盘分区占用空间

我的Linode推介码
Referrals
Description Referrals reward you when you refer people to Linode. If someone signs up using your referral code, you’ll receive a credit of $20.00, so long as the person you referred remains an active customer for 90 days.
Your referral code(Linode推介码) a2ff48502acc8ce28470b8a38a1d6828069a829b
Your referral URL(Linode推介链接) http://www.linode.com/?r=a2ff48502acc8ce28470b8a38a1d6828069a829b