随手记Debian 8升级10

这个博客的VPS买的是Vultr的2.5刀实例……
对,就是那个绝版的2.5刀还带IPv4的Plan,512M/20G/500G

总的来说,对于这样一个小博客一切都够用,不过系统是当初预装的Debian 8/Jessis,已经失去支持了……所以今天有点时间就顺手把系统升级了,顺便把PHP升级到7.3以消除WP后台的那个insecure version的提示……
因为是随手记,所以都比较简单,请勿怪。

升级Debian当前版本到Stable版本

这里我采用了偷懒的办法,因为这个vps上只跑了博客,所以直接把版本拉到stable(当前稳定版),而不是选择具体的版本。

简单说,就是大胆搞,搞完就重启,运气好没出岔子,哈哈哈哈哈。

升级PHP7.0到7.3

因为我的web server是caddy v1,所以php是以php-fpm的方式运行的,升级前跑的是php7.0,我发现7.3可以独立安装,于是没动7.0,直接装了新的7.3。

装好后php7.3-fpm直接就跑起来了……真是方便快捷,当年我用AMD Duron800玩Gentoo的时候,世界真的很混沌……
之后的话直接修改caddy的站点配置,把里面php7.0-fpm的路径直接修改为7.3的就好了……就是直接改个数字。
就是把

改成

之后重启一下caddy,并停用php7.0-fpm。

数据库自动从mysql 5.8升级到了mariadb 10.3。

结果发现WP各种报错……还好后台能进,把插件全禁用了挨个检查,发现Crayon Syntax Highlighter停止维护了,于是替换成Urvanov Syntax Highlighter

突然发现好多插件都不能用了……
唉,好多年都没正经用WP了,好像现在外面的世界流行Typecho?回头再试试。

NGINX 301跳转所有非IP访问至HTTPS

前几天入了个Vultr的$2.5方案用来放这个博客,然后看着每个站点的配置里面都要写一个443端口和一个80端口共两个server{}段,其中80只是用来做301跳转,显得有点,不是那么完美。

出于对NGINX的不太熟练,我研究了一个下午,突然在蹲坑的时候灵机一动,就给解决了,为了不让这个灵机跟着米田共一起冲走,我还是记下来比较好。

上配置:

这是个默认站点(80 default)配置,访问IP和任何不存在的站点,NGINX都会转向这个默认站点。

这个配置解决了这么三个问题:

  1. 如果访问的是IP地址,那么作为默认站点,显示的是 /usr/share/nginx/html/index.html ,我的是 Hello, World!
  2. 如果访问的是任意HTTP站点,就会强制带参数301跳转到同域HTTPS站点上,而且是个万能跳转器,谁把域名做个CNAME到我的IP都会跳。
  3. 每个站点的配置文件,只需要写一段443的server{},不用额外写跳转的站点。

如果认为上面第2条看起来不太安全,或者不太爽,那也可以稍微改一下。
把配置里面的

改成

Nginx就只会跳转到配置里面有的域名,没有的域名如果绑了你的IP,访问的是默认站点,不跳转。

BTW,
吐槽一下,Debian 8自带源也是不靠谱,默认编译的Nginx不带HTTP2,为了SSL Labs的A+评级,我只能用Nginx官方源的包……

-EOF-

给VPS配置HE.NET的IPv6

Update: Sep 4th, 2018
增加了修改Grub的设置,并调整了排版更便于观看。


在v2上看到有人说阿里云国际版HKB配置IPv6的话可以避免近期频繁出现的Google验证码的问题……而HKB是不提供IPv6的……

于是动手搞之。

根据这篇文章,只提供了Debian/Ubuntu可用的方法,我的HKB是CentOS的,另外放狗搜了方法,在此小记一下。两个系统都是修改一些配置文件就好了。

前提条件是,先去he.net申请一个IPV6的通道,这个就不赘述了。
Continue reading 给VPS配置HE.NET的IPv6

启用Web服务器的IPv6支持

前几天Burst西海岸的VPS开售了,于是21一个鸡冻就入了一个最低配的,看样子貌似我是第14个客户……
由于Burst在主机配置里面提到了提供IPv6地址,于是昨天发了ticket请求设置,今早来看已经给我设了4个v6的地址,但是默认安装默认配置的Apache2并不支持IPv6的访问,于是萌生了整理一下各主流Web Server启用IPv6方式访问的设置,其实都不复杂。

21个人喜欢nano编辑器,如果你喜欢vi,稍微换一下命令就行。
如果提示

请如下操作

高快直达:1. Apache 2 / 2. Nginx / 3. Lighttpd / 4. IIS 6/7
Continue reading 启用Web服务器的IPv6支持

利用Linux内核的多个安全漏洞提权

这是来自VPSee的消息,因为我个人试了一下Debian表示没有鸭梨,于是转过来,手痒的Ubunu用户可以试试……

——————————————-这是手痒的分割线——————————————-

系统安全高手 Dan Rosenberg 发布了一段 C 程序,这段200多行的程序利用了 Linux Econet 协议的3个安全漏洞,可以导致本地帐号对系统进行拒绝服务或特权提升,也就是说一个普通用户可以通过运行这段程序后轻松获得 root shell,以下在 update 过的 Ubuntu 10.04 Server LTS 上测试通过:

由于 RHEL/CentOS 默认不支持 Econet 协议,所以测试没有通过:

如果在企业环境用 Ubuntu 的话可能会比较杯具了,几百个帐号里总可以找到一两个帐号被内部或外部人员通过上面这段程序拿到 root,这对服务器的危害是毁灭性的。前天还在说 Ubuntu 在内核方面无作为,现在想起来还有点后怕。VPSee 提醒正在使用多个普通帐号登录 Ubuntu VPS 的朋友及时升级或打内核补丁,出售 VPN/SSH 帐号、提供免费 SSH 的商家尤其要小心 “客户” 捣乱,使用其他 Linux 发行版的朋友也最好检查一下自己的 VPS 有没有这些高危漏洞。

——————————————-这是手痒的分割线——————————————-

21个人的测试,在Debian 5.0.6上测试,结果如下:

同时,各位提供SSH番羽墙的童鞋,只要把用户的shell设置为nologin便可以表示没有鸭梨了~

-EOF-

小内存优化VPS的LNMP及fail2ban配置

哈,大家好,21经过长时间的“沉没”,在这个寒冷的冬日怎么着也该冒泡泡以表无恙呀~ 话说,今天是二四节气中的“大雪”,够不上下雪条件的昆明便下起了稀里哗啦的雨,让21这个电动车男给冻的 …… 无法用言语形容的呀~

经过近半年时间,21手上开始掌握了一些廉价的VPS进行个人学习和实验,基本配置小至128M OpenVZ大至512M Xen都有,当然,买来以后闲置的时间稍微占多了点,不过由于Hawkhost空间12.6到期的刺激,我把Mr. 2175%都搬迁到其中一个512M Xen VPS上并且进行了相关的配置。本着内存能少用就少用、资源能节约就节约的原则,我进行了一些学习和模仿。

文中涉及到的操作基本上都需要root权限,且,21个人喜欢nano编辑器,如果你喜欢vi,稍微换一下命令就行。

基础调配部分及LNMP

由于21喜欢用Debian,于是参考了VPSee的文章《64MB VPS 上优化 Debian 5》和LowEndBox的《Bootstraping WordPress/Nginx/PHP/MySQL on a Cheap VPS with lowendscript》,对VPS上的OpenSSH、 syslog-ng用Dropbear和inetutils-syslogd进行了替换,从基础上对资源占用进行了控制,大概操作如下:

    OpenSSH、 syslog-ng的替换,我使用了LEB的lowendscript,在root用户下,如此操作便可:

    如果你参考这里,会发现LEB的这个脚本其实还可以安装LNMP里面的NMP(Nginx, MySQL, PHP)三个组件,但是我个人比较喜欢国人的LNMP,于是仅使用LES脚本进行了系统组件的替换。

之后,我安装LNMP 0.5(请参考这里)作为WEB服务器,并且进行了一些调整,这个调整请按照自己的需求就好。

  1. 将Nginx的子线程调整为2个,方法如下:

    找到worker_processes,将其改成下面的样子:

    然后按Ctrl+O保存,按Ctrl+X退出。
  2. 同时,我将PHP-FPM的子线程也调整为2个,方法如下:

    按Ctrl+W搜索max_children,改成下面这样的格式:

    然后按Ctrl+O保存,按Ctrl+X退出。再来重启nginx和php-fpm:
  3. 关于这个……MYSQL的调优,这个……21表示个人水平不足,就不献丑了。

Fail2Ban调配部分

这是一些比较基础的安全方面的调配。

  1. 首先,是禁用root用户的ssh登录,由于我们已经用Dropbear替换了OpenSSH,所以跟一般教程针对OpenSSH的修改方式不太一样,大概方法如下:

    然后把其中的server_args修改为如下样子

    让 /etc/xinetd.d/dropbear 配置文件看起来像这样

    然后按Ctrl+O保存,按Ctrl+X退出。
    -g的意思就是禁用root使用密码登录,但可以用公钥登录(public key)(请参考这里)。
    然后重启Dropbear:
  2. 禁用了root账户登录,但是21在某些特定的没有公钥情况下又需要登录SSH,怎么办呢?增加一个普通用户就好了,这个用户不用具备什么特殊权限,只要能登录SSH足矣,大概操作如下:

    [username]替换为你想要的用户ID(注:不能为纯数字),[password]替换为想要的密码便可。
    之后我们以[username]登录系统,然后输入su root,再输入root密码便可以切换到root用户的shell。
    推荐不要使用太简单的ID,比如a/ab/abc什么的,为什么?后面告诉你。

Continue reading 小内存优化VPS的LNMP及fail2ban配置

Intel 2200bg for Debian 5 (Lenny)

Debian 5 (Lenny) 发布后,
在我的DELL X300工作本子上试装了一下。

整个安装进程似乎比以前的版本快很多,
选Graphic Installer,很快就进入到界面,
发现安装过程需要手动提供名为 ipw2200-bss.fw 的固件,
应该是用于驱动 Intel 2200 802.11b/g 无线网卡的非开源自由固件。

基于此,GG搜寻了一下,找到官方提供的解决办法,
相关说明:http://wiki.debian.org/ipw2200 (全英文)
下载链接:http://cdimage.debian.org/cdimage/unofficial/non-free/firmware/lenny/current/

操作步骤:

  1. 下载页面提供gz和zip格式,请下载任一个firmware包。
  2. 解压,或者直接提取其中的 firmware-ipw2x00_0.14_all.deb
  3. 将提取的firmware-ipw2x00_0.14_all.deb放到U盘、MMC/SD卡等可移动介质上(以下统称U盘)。
  4. 执行你的Debian安装,这个时候随便你插不插U盘。
  5. 进行到探测网络设备时,会提示你,需要ipw2200-bss.fw文件。
  6. 插入你的U盘,点击继续
  7. OK,识别出来了,接下来就是配置网络。

据Debian Wiki说明,
这个fw文件会自动存放在 /lib/firmware 目录里。

同时,
看下载的文件名,应该是同时支持2100和2200系列的无线网卡,
且下载的 firmware.tar.gz 文件里面还有其它的 non-free 固件,
只要在安装过程中有提示需要fw文件的,都可以用以上办法,
因为那说明Debian已经内置驱动,差固件而已。

AirCrack-ng

由于某种需要,在研究AirCrack,
加上最近研习RHCE的需要,安装了CentOS 5.2,
所以需要搜寻了一下合适的RPM包。

说实话,系统装起来还没玩,
原来Debian的apt很熟,但是YUM就暂时不知所云了,
不过昨天看到Debian又出世了,Debian 5 (Lenny),可能又会不坚定了~

不废话了,
链接:http://packages.sw.be/aircrack-ng/
为什么不去官方呢?因为我没办法流畅访问….

里面的RPM包我认为挺全的,
版本: aircrack-ng-0.6.2-1 -> aircrack-ng-0.9.3-1
平台: x86, x86_64
系统: RHEL3/CentOS-3, FC1 -> RHEL5/CentOS-5, FC9

公司发的Dell X300本子内置Intel 2200bg的卡,可以练手咯~
后续会更新相关教程,同时可以访问 http://www.anywlan.com .

免费的午餐?NO

一直以来,我都疑惑那些免费网站的盈利方式,
而我想到的第一念头并且深有体会的就是:广告。

深刻的感触来自当初想尽办法去屏蔽的BlogCN广告,
有莫名其妙的Top通栏,有浮动的,还有在LOGO那里还插入BLOGCN自己的。

一切看起来相当不如人意,
至少,不如我的意,所以搬出来了。

今天在Ecko’s Blog看到一篇POST《免费经济学的六种模式》,
里面列出了六种基于免费的服务或者产品获得盈利的模式,非常值得借鉴参考。

连接:http://okce.net/posts/304

其中,
第一种模式,Freemium,免费增值模式,
我首先想到的是BlogBus的VIP服务:增量的空间和额外的域名绑定,
当然,还有一个使用WP MU提供服务的yo2,它绑定域名也属于增值服务需要额外的费用,

第二种模式,Advertisement,广告模式,
这样的方式其实随处可见,就是典型的Blog+GG Ads,还应该算上新兴的阿里妈妈,

马云的确是个很牛的人,B2B的“阿里爸爸”,BC2C的淘宝,怕爷俩孤单,又给张罗了个阿里妈妈….
Ecko说,这是马云旗下吉祥的一家。(comment below) 哈哈,吉祥三宝~

第三种,Cross-subsidies,交叉补助模式,
文中提到的是“吉列的刀架与刀片”,本来想说喷墨打印机的,

仔细想想,打印机跟吉列不一样,墨水不是唯一匹配的,因为还有兼容墨水的存在,并且质量不差….
(关于墨水可以参考Google黑板报硅谷的见证人—惠普公司 — 亚洲制造的冲击 “)

第四种,Zero marginal cost,
其中说到“可以极低单位成本提供的产品”,这个,还是基于免费而引发的盈利么?

不过,不知道杀毒软件的免费试用(长达3~6个月)算不算呢?

至少,因为360Safe让我长期免费用Kaspersky,在向同学朋友推荐的同时自己也成为KAV的付费用户,
在付费之前的服务应该算是免费服务,并且诱发了我消费的心理,虽然待遇是一样的, :mrgreen:

虽然,KAV的杀猪叫非常刺耳,不过这不是差别化服务因素,也就可以接受了。

我想,真正理智的消费者,不是到处去找keygen或者Crack的“特别文件”,而是真正去支持一样产品 — 如果你认为它的确优秀,只要不是囊中羞涩或者消费心理被错误导向,没有理由不支持自己喜欢的产品,包括付费和捐赠。缺少理性支持的产品日不久矣~

第五种,Labor exchange,劳务交换模式,
这个自己没能想到,看过之后想想,大量的用户调查回馈数据也属于有偿服务,还有调查问卷~

第六种,Gift economy,礼品经济模式,
我非常赞同原文提到开源软件,Red Hat产品就是一个比较典型的例子:Red Hat EnterpriseCentOS
用产品卖服务,本身产品的价值不高、甚至免费,但是其中带来的后期服务支持和培训费用是不菲的。

由此我联想到Ubuntu,通过免费的CD/下载达到极高的市场占有率,进而推动兼容性和通用性的改进,同时千千万万的用户也是千千万万的测试员,通过不断的反馈,可以增进服务器产品的适用性,从而从服务器的产品支持上获得收益。
但是为什么同样都是免费下载的产品,Ubuntu似乎势头看来比它的老爸Debian好并且迅速崛起呢?
我想,因为还有免费的CD可以领取~

当然,我不确定我的猜想是否正确,以上是一些个人的观点,
原文还请访问:http://okce.net/posts/304,《免费经济学的六种模式》