分類
Linux

在ubuntu14上配置denyhost

昨天ss忽然變慢,一看好多條非法登陸。CentOS下的記錄文件是/var/log/secure。

#root登陸失敗次數
##ubuntu
sudo grep "Failed password for root" /var/log/auth.log | awk '{print $11}' | sort | uniq -c | sort -nr | more
##centos
sudo grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
#無效用戶登陸失敗次數
sudo grep "Failed password for invalid user" /var/log/auth.log | awk '{print $13}' | sort | uniq -c | sort -nr | more

denyhosts可以防止上面這種攻擊。但是我在ubuntu14的軟件源裏沒找到(12裏有)。於是去搜索,找到http://denyhosts.sourceforge.net/這個主頁,按照說明安裝下來,竟然失敗。後來安裝了denyhost(注意:沒有s了,這是前一個的fork),很順利。下面記一下安裝過程:

#下載denyhost
cd /tmp/ && wget http://downloads.sourceforge.net/project/denyhost/denyhost-2.8/denyhosts-2.8.tar.gz
#解壓
tar xzf denyhosts*.tar.gz
cd DenyHosts*
#安裝
sudo python setup.py install
#添加到開機啓動
sudo cp /usr/local/bin/daemon-control-dist /etc/init.d/denyhosts
#修改配置文件
#將文件中"DENYHOSTS_BIN"的值爲"/usr/local/bin/denyhosts.py"
sudo nano /etc/init.d/denyhosts
#修改攔截配置文件
sudo nano /etc/denyhosts.conf
#這個文件內部註釋很清晰,按需求修改就好,不改也沒關係。
#啓動服務
sudo /etc/init.d/denyhosts start

上面命令參考自How To Install DenyHosts On Ubuntu 14.04 Server。當然,修改下ssh的默認的配置也是很好的。

sudo nano /etc/ssh/sshd_config
#Port 12345 #改爲一個5位端口号,不要超過60000
#PermitRootLogin no #禁止root用戶登陸
#重啓ssh服務
sudo /etc/init.d/ssh restart
#在/etc/sysconfig/iptables中添加下面一行,打開12345端口
-A INPUT -m state --state NEW -m tcp -p tcp --dport 12345 -j ACCEPT
#重啟iptables
service iptables restart

禁用密碼登陸ssh(使用證書)也是很好的選擇。參考:Centos6.4下使用Denyhosts

用iptables防止ssh暴力破解

#添加如下iptables規則即可防止普通ssh暴力破解
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource 
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 4 --name DEFAULT --rsource -j DROP

時間來到 2022 年,denyhost 已經不再更新,但是我們可以使用它的繼任者——fail2ban。

#安裝 fail2ban
yum -y install fail2ban
#增加配置文件
nano /etc/fail2ban/jail.d/jail.local
#文件內容如下:
[sshd]
enabled  = true
filter   = sshd
action   = iptables[name=ssh,port=22,protocol=tcp]
logpath  = /var/log/secure
bantime  = 600
maxretry = 3
#啓動服務
systemctl restart fail2ban
#添加到開機啓動
systemctl enable fail2ban
#查看服務狀態
fail2ban-client status sshd

如果系統是 AlamLinux 可能需要啟動 EPEL 軟件源:

sudo dnf install epel-release
/usr/bin/crb enable

本文更新於 2024/08/06。

分類
Linux 软件

nano文本編輯器

nano是一個方便易用的命令行文本編輯器,相對於vi等文本編輯器勝在學習成本低廉而且linux平臺基本自帶(甚至android的busybox都有)。用nano常用的命令就是Ctrl+O寫入文件,Ctrl+X關閉文件,Ctrl+W查找文字。其他功能也很容易找到幫助,很適合不經常用linux的用戶(vi不常用的話,命令真的忘的好快)。

nano的複製粘貼也是很方便的。常用的就是CRTL+6用來選擇,ALT+6用來複製,CTRL+U用來粘貼。複製當前行的話直接ALT+6即可。

如果想把nano設置為默認的文本編輯器,比如使用crontab -e時,可以在~/.bashrc最後添加

export EDITOR=nano
export VISUAL=nano

如果要在多個文件間複製粘貼,可以用nano -F file1以多文件模式打開。打開之後,複製完按CTRL+R開啟另一個文件,就可以粘貼進去了。文件間的切換用ALT+,和ALT+.。

本文更新於 2017/03/22。

分類
Linux

Host a Debian in Win7 VirtualBox

正常的安裝就是在VirtualBox裡添加虛擬機,掛載下載好的Debian鏡像,即可安裝完成,最後安裝VirtualBox的附加組件,一路應該很順利。實際感覺是Debian比Ubuntu要稍微麻煩些。

apt的設置

如果你在安裝系統的時候就設置好了且工作正常,則不用設置。設置軟件源

nano /etc/apt/sources.list
我的是
deb http://ftp.debian.org/debian stable main contrib non-free
deb-src http://ftp.debian.org/debian stable main contrib non-free

給apt設置代理

nano /etc/apt/apt.conf.d/70debconf
#ubuntu下是/etc/apt/apt.conf
我的是在底部添加
Acquire::http::proxy "http://192.168.1.2:8123/";
Acquire::ftp::proxy "http://192.168.1.2:8123/";
這是的代理是Win7里運行的Shadowsocks。

安裝VirtualBox附加組件

轉自Installing Guest Additions on Debian。安裝完成後就可以共享剪切板和自由縮放屏幕大小了。

  1. Login as root;
  2. Update your APT database with apt-get update;
  3. Install the latest security updates with apt-get upgrade;
  4. Install required packages with apt-get install build-essential module-assistant;
  5. Configure your system for building kernel modules by running m-a prepare;
  6. Click on Install Guest Additions… from the Devices menu of VirtualBox, then run mount /media/cdrom.
  7. Run sh /media/cdrom/VBoxLinuxAdditions.run, and follow the instructions on screen.

添加中文支持

dpkg-reconfigure locales
空格選擇,回車確認。我選擇了這幾個
  • zh_TW BIG5 - 繁體中文(台灣),使用 Big5 碼
  • zh_TW.UTF-8 UTF-8 - 繁體中文(台灣),使用 UTF-8 碼
  • zh_HK.UTF-8 UTF-8 - 繁體中文(香港),使用 UTF-8 碼
  • zh_CN GB2312 - 簡體中文,使用 GB2312-80
  • zh_CN.GBK GBK - 簡體中文,使用 GBK
  • zh_CN.UTF-8 UTF-8 - 簡體中文,使用 GB18030
然後首選項選擇了zh_CN.UTF-8。

安裝字體:

apt-get install ttf-arphic-uming  xfonts-intl-chinese  xfonts-wqy

安裝輸入法:

apt-get install fcitx-sunpinyin
apt-get install im-switch

重啟就好了。


Debian使用systemd開機啓動

我裝的是Debian8,似乎已經不再支持rc.local了。以ss爲例,開機啓動可以這麼添加:首先新建開機服務文件

nano /lib/systemd/system/ss.service
內容爲
[Unit]
Description=ss

[Service]
Type=simple
ExecStart=/usr/local/bin/ss-local -c /etc/shadowcksB.json > /home/$YOURNAME/.sslog 2$
PrivateTmp=true

[Install]
WantedBy=multi-user.target
ss用到的文件/home/$YOURNAME/.sslog需要自己新建touch下。

將服務設置爲開機啓動:

systemctl enable ss.service

測試服務是否正常:

systemctl start ss.service

查看當前服務狀態:

systemctl status ss.service -l

順便再貼一個polipo的開機啓動文件

[Unit]
Description=polipo
After=network.target

[Service]
Type=forking
ExecStart=/etc/init.d/polipo start
ExecReload=/etc/init.d/polipo restart
ExecStop=/etc/init.d/polipo stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

安裝flashplayer

Debian自帶的瀏覽器和火狐都沒有Flash,可以按照如下步驟安裝:
1, Lauch the browser and download the Flash Player in a seperate folder.Download link = http://get.adobe.com/flashplayer/
2, tar xzvf yourdownloadedfilename.tar.gz
3, cp libflashplayer.so /usr/lib/mozilla/plugins/

本文更新於 2016/05/19。

分類
說說

firefox is more secure

最近感覺到火狐確實是最注重安全的。前幾天看到利用WebRTC協議漏洞,網站可以通過幾行php代碼即可繞過SSH,VPN等服務獲取到本里局域網IP。火狐可以在設置中直接關閉(about:config->media.peerconnection.enabled),而酷容則需要下載插件才可以。書簽密碼同步方面也挺好用。主密碼的設置也很合理。對於Flash漏洞的提醒也只有firefox有警告。flash對linux的支持也不好,還好youtube可以設置成HTML5播放器。所以我現在基本都轉到火狐了。

本文更新於 2015/05/12。

分類
Linux

shadowsocks client and firefox on Ubuntu 12


Shadowsocks Client

下載Shadowsocks-libev:https://github.com/madeye/shadowsocks-libev
unzip解壓至/home/me/Downloads/AppSrc/shadowsocks-libev cd到此目錄,運行

./configure
sudo make install

如果運行configure提示ssh header error,請安裝libssl-dev。Centos、Fedora下請安裝zlib-devel。如果提示ssl有問題,Fedora下可安裝openssl-devel。

新建配置文件

sudo nano /etc/shadowcks.json

粘貼進下面文本並保存

{
"server":"服务器的ip",
"server_port":服务器的端口,
"local_port":你的本地端口,默认1080,
"password":"密码",
"timeout":600,
"method":"加密方式"
}

運行下面命令啓動shadowsocks服務

ss-local -c /etc/shadowcks.json

如果提示隨機數不足,可以安裝rng-tools

yum install -y rng-tools
systemctl start rngd
systemctl status rngd
systemctl enable rngd

加入開機自動啟動:

#先建一個log文件
touch /home/me/.sslog
#将下面一行加入/etc/rc.local
/usr/local/bin/ss-local -c /etc/shadowcksB.json > /home/me/.sslog 2>&1 &

Firefox

從這裏下載firefox,或者通過市場安裝。火狐市場好像還沒被干擾,所以直接進插件市場搜索FoxyProxy安裝並重啓。點擊FoxyProxy圖標,新建代理服務器,選擇手動配置代理服務器,輸入127.0.0.1和端口,選中socks v5。URL模式勾選不要對內部網絡選項。保存後轉到訂閱模式,添加新的訂閱模式,訂閱網址http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txthttps://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt,代理服務器選擇剛剛新建的。Format選AutoProxy,Obfuscation選Base64。確定保存,如果訂閱添成功此時前面URL模式中應該多了很多項。最後將工作模式設置爲使用基於其預定義模板,就可以自動分流了。

18年09說06日,Firefox ESR版本也自動升級到了Quantum(版本號>60)。新版對於附加原件有較大改動,以至FoxyProxy老版本不能運行。雖然FoxyProxy作者開發了新版本,但是試用之後沒有找到導入gfwlist.txt的地方。搜了一下,發現SwitchOmega有了火狐的插件,雖然是測試版,用起來卻很好用。在auto swith中導入https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt就能自動分流,而且有加載不到的資源還可快速加入白名單,真實非常方便。


家裏長城寬帶按照上述方法無效。多數內容複製了+McNulty Gracie的帖子。

讓命令行通過shadowsocks的socksv5代理聯網

安裝proxychains

sudo apt-get install proxychains

修改配置文件/etc/proxychains.conf,更改如下4行:

dynamic_chain
#strict_chain
#socks4         127.0.0.1 9050
socks5    127.0.0.1 1234 #你的本地代理地址和端口

測試下proxychains:

proxychains wget -O - http://myip.dnsdynamic.org/ | more
#如果成功會顯示出你代理服務器的IP

Ubuntu搭建Shadowsocks

安裝

sudo apt-get install python-pip python-m2crypto supervisor
sudo pip install shadowsocks

编辑 /etc/shadowsocks.json

#sudo nano /etc/shadowsocks.json
{
"server":"0.0.0.0",
"server_port":服务器的端口,
"local_port":1080,
"password":"密码",
"timeout":600,
"method":"aes-256-cfb"
}

编辑 /etc/supervisor/conf.d/shadowsocks.conf

#sudo nano /etc/supervisor/conf.d/shadowsocks.conf
[program:shadowsocks]
command=ssserver -c /etc/shadowsocks.json
autorestart=true
user=nobody
#如果端口 < 1024,把上面的 user=nobody 改成 user=root

在 /etc/default/supervisor 最后加一行:

ulimit -n 51200

reboot或者

service supervisor start
supervisorctl reload

Ubuntu或CentOS分享Shadowsocks給局域網用戶

安裝polipo

sudo apt-get install polipo

在配置文件/etc/polipo/config的末尾貼上下面的配置信息

proxyAddress = "0.0.0.0"

socksParentProxy = "127.0.0.1:1080"
socksProxyType = socks5

chunkHighMark = 50331648
objectHighMark = 16384

serverMaxSlots = 64
serverSlots = 16
serverSlots1 = 32

重啟polipo

/etc/init.d/polipo restart

現在就可以在局域網設備上使用http代理了,主機為運行ssclient的ip地址,端口為8123。

本文更新於 2024/04/19。

分類
記事

臺灣之行

10新台幣=2人民幣。高雄和恆春物價都比深圳低,而且那邊人文好,欺客宰客從來沒遇到。華夏銀行的銀聯卡很好用,因為它提供境外每天首筆取款免手續費。台灣遍地7-11和全家,全都有提款機和衛生間,這才對得起便利店的名字。去的那天晚上是週日,但是不明白為什麼地鐵站裡幾乎沒有人,難道也在調休過元旦。在淘寶上買的大哥大的4G卡,1.2G流量,挺便宜,也可以直接到臺灣的便利店裏買。我手機不支持臺灣4G,但是3G已經讓我感覺非常快了而且覆蓋率也很高,Hangout語音通話質量很好。康橋商旅是家很不錯的酒店,除了服務很棒外,還有免費的早餐和下午茶,還有自行車,非常推薦。臺灣電源插座兩腳的是和大陸一樣的,所以如果只是給相機手機充電的話,是不用帶轉換器的。還有就是酒店都會提供免費的礦泉水茶包和咖啡,像康橋之類的還會提供套套,當然也是免費的。交通的話,高雄呢主要就是地鐵,他們叫捷運,買張卡很方便,100臺幣塊工本費不退的。高雄的公交就不推薦了,發車頻率太低了。而且一開始不瞭解這邊坐公交的習慣,上車呢要跟司機示意,公交車才會停,下車也是一樣,下車可以按鈴,這個和香港一樣。其實仔細想想,這樣真的高效很多。高雄去恆春最佳方案就是做大巴,但是我們爲了體驗下臺灣的火車就選了火車加公交,事實證明我們的選擇非常好,當然就是耗時一點。火車比較推薦最便宜那種,我們坐到枋寮,八十多臺幣吧記不清了。這個屬於舊車,人非常少,座位寬敞,我們這節車廂除了我們4個就只有一個老太太還很早就下去了,前面車廂好像也只有兩三個人。一路欣賞沿途美景真的很不錯,體驗比大巴好。

恆春鎮挺小的,但是他有我們見過最乾淨最藍的海。酒店當然是不能和高雄比,但也不錯。很多遊客來這裏都是衝着墾丁夜市去的,由於之前在廈門和深圳也體驗過類似場合,高雄也很不少不錯的夜市,相比之下墾丁也是旅遊氣息太過濃重,不是特別推薦。雖然這麼說,但是我們還是很喜歡從墾丁也是買回來的米酒,真是好喝!忽然想到高雄夜市不是每晚都有的,去之前要打聽一下當天開不開業。恆春這邊有個四重溪溫泉,還是值得一去的,包車或者騎電動車(需要在沿途的臺灣牛肉麪充一次電)都可以去,公交車好像比較少。包車的話還可以往遠了跑,可以去東海岸的旭海草原吹吹太平洋的風和港仔大沙漠玩飆沙。其他值得去的還有龍磐公園可以看日出,鵝鑾鼻公園有海邊棧道,後碧湖有很棒的海鮮,貓鼻頭有很多旅遊團,是的可能是去的時機不對,貓鼻頭真的好多人。白砂沙灘也不錯,是《少年派》的取景地,這裏老外相對多一點,可能都是衝着《少年派》來的吧。電動車一定要騎一騎,太爽了。這邊的小公路上也都有休息站,有公廁和常凳,基礎設施真是好。比較遺憾的兩點是國立海洋生物博物館沒去成,誰能料到下午四點就停止入場了呢。還有就是冬天比較冷,我們都沒勇氣去潛水。

本文更新於 2016/12/27。

分類
网站

沃通免费数字证书试用

申请了沃通的免费数字证书,现在网站也可以用https访问了。申请很方便,只需要提供个邮箱就可以了,而且很快就能拿到手。网站所有权我用的是上传文件的方式验证的,也算方便。Vesta面板在SSL方面设计很方便,可以手动生成CSR,然后把生成的证书请求粘贴给沃通,自己把其他部分都存起来。证书下来后,解压for Other Server.zip,在Vesta面板SSL配置区中,SSL证书就粘进去4_yoursite.crt;SSL Key就粘前面生成CSR时生成的RSA PRIVATE KEY;SSL证书颁发机构这个虽然写的可选,实际是必填项,需要依次粘入3_issuer,2_cross,1_root。这样就完成了。

wordpress在settings-general里把两个链接前都改为https,后台就是https了。前台直接写https访问就是https,否则还是http。


之前填写错误,导致PC端没问题,手机端一直提示不被信任。后来找客服,客服态度非常好,折腾几下没成功后来直接远程给我操作了!

本文更新於 2015/01/14。