2016年2月24日 星期三
以 mod_evasive 阻擋 D.o.S 攻擊
$ yum install mod_evasive
編輯mod_evasive設定檔
$ vim /etc/httpd/conf.d/mod_evasive.conf
# 用來儲存黑名單的檔案大小
DOSHashTableSize 3097
# 同一個網址在 DOSPageInterval 內被同一個IP存取幾次時,要阻擋此IP
DOSPageCount 2
# 同一個IP在 DOSSiteInterval 存取了網站幾次時,要阻擋此IP
DOSSiteCount 50
DOSPageInterval 1
DOSSiteInterval 1
# 被加入阻擋名單的IP要被擋多久,預設為10秒
# 若被阻擋期間持續攻擊時,此時間會一直加上去,所以不用設很大
DOSBlockingPeriod 10
#用這個目錄來記錄log檔
DOSLogDir "/var/lock/mod_evasive"
# 設定白名單
DOSWhitelist 127.0.0.1
DOSWhitelist 192.168.*.*
建立可供 apache 寫入log的 mod_evasive 目錄
$ mkdir /var/lock/mod_evasive; chown apache /var/lock/mod_evasive
重載 apache
$ service httpd reload
安裝DoS Deflate 減輕 DDoS攻擊
netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
How To Install (D)DoS Deflate :-
wget http://www.inetbase.com/scripts/ddos/install.sh
chmod 0700 install.sh
./install.sh
How To UnInstall (D)DoS Deflate :-
wget http://www.inetbase.com/scripts/ddos/uninstall.ddos
chmod 0700 uninstall.ddos
./uninstall.ddos
vi /usr/local/ddos/ddos.conf
sh /usr/local/ddos/ddos.sh
How To Restart DDos Deflate:-
sh /usr/local/ddos/ddos.sh -c
更新ClamAv病毒碼!
DNSDatabaseInfo current.cvd.clamav.net
DatabaseMirror clamav.stu.edu.tw
DatabaseMirror db.ac.clamav.net
DatabaseMirror database.clamav.net
使系統自動更新病毒碼
在crontab中加入
N * * * * /usr/local/bin/freshclam --quiet
其中的N值要在3~57中間,但不要用偶數值,因為很多工加台都設成偶數值了。
2016年1月28日 星期四
wget 直接下載google硬碟的檔案
接著用下列語法
wget --no-check-certificate https://googledrive.com/host/ID -O /本地端的檔案儲存路徑與檔名
其中的ID就是若你分享的連結為:https://drive.google.com/file/d/0B7wsIMxK5Td0dTNPdnNFtsdfwv/view?usp=sharing
即為0B7wsIMxK5Td0dTNPdnNFtsdfwv
換言之你的下載完整指令為wget --no-check-certificate https://googledrive.com/host/0B7wsIMxK5Td0dTNPdnNFtsdfwv -O /temp/test.tar.bz2
2016年1月23日 星期六
2016年1月22日 星期五
在 CentOS 6.x 安裝 ClamAV
在 CentOS 6.x 安裝 ClamAV
1
|
root # rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
|
1
|
root # yum install clamav clamd clamav-devel -y
|
1
|
root # freshclam
|
1
|
root # service clamd start
|
1
|
root # clamscan -r /etc
|
2015年8月22日 星期六
ipkg安裝的服務程式之啟動指令位置與語法
cd /opt/etc/init.d
會看到如:
S08samba S10cron S40sshd S57rsyncd
而重新啟動特定務則是以:
/opt/etc/init.d/S40sshd restart
仿照這樣的架構下指令即可。
2012年12月31日 星期一
我的ibt安裝與自動啟動之設定法
開始吧..../ipkg install cron
設定ibt-1283的網路,使用固定IP(浮動IP的SMB.CONF我不會設)
將ibt-1283連上internet
使用PC telnet 到ibt-1283
用root登入
確認一下上網有沒有成功
ping一下tw.yahoo.com
看看回應是不是alive
/ # ping tw.yahoo.com
tw-tpe-fo.fyap.b.yahoo.com is alive!
接下來下面#中間的指令一行一行的執行(我用windows 7 內建的telnet,全部複製,貼到telnet去,等幾分鐘就好了)
#
mkdir /tmp/hdd/root/opt
mount -o bind /tmp/hdd/root/opt /opt
mkdir /tmp/hdd/root/package
mount -o bind /tmp/hdd/root/package /tmp/package
mkdir /opt/tmp/ipkg
cd /opt/tmp/
wget http://www.kovari.priv.hu/download/ipkg-cl.tgz
tar -xvf ipkg-cl.tgz
chmod +x /opt/tmp/ipkg-cl
rm ipkg-cl.tgz
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/uclibc-opt_0.9.28-13_mipsel.ipk
./ipkg-cl install uclibc-opt_0.9.28-13_mipsel.ipk
wget http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/ipkg-opt_0.99.163-10_mipsel.ipk
./ipkg-cl install ipkg-opt_0.99.163-10_mipsel.ipk
rm *.ipk
cd /opt/bin
./ipkg update
./ipkg install samba
./ipkg install openssh./ipkg install openssh-sftp-server
./ipkg install bftpd底下是我自己的設定法:
./ipkg list_installed
#
ipkg list_installed看一下有沒有samba,bftpd
如果沒有,我也不知道,看你要放棄還是要重做一次
如果有那就只剩設定檔了
下載附檔bftpd.conf,smb.conf,rcS
用ultraEdit修改(不要轉成Dos格式)
修改smb.conf
interfaces = 172.16.1.16/16
hosts allow = 172.16.1.16/16
我的ip是172.16.1.16
如果你的ip是用192.168.X.X
interfaces = 192.168.X.X/24
hosts allow = 192.168.X.X/24
bftpd.conf應該可以直接用
如果你要修改請自行google
將bftpd.conf,smb.conf,rcS放到隨身碟的根目錄
接上ibt-1283後,copy到/opt/etc
在telnet上輸入以下指令(sdb1是USB隨身碟mount後的目錄,有可能是sda1,sdc1....可以輸入mount看一下)
cp /tmp/usbmounts/sdb1/bftpd.conf /opt/etc
cp /tmp/usbmounts/sdb1/smb.conf /opt/etc
cp /tmp/usbmounts/sdb1/rcS /usr/local/etc
rcS我不知道可不可以用copy的
如果不行請用vi(請google vi 的用法)
在telnet上輸入以下指令
vi /usr/local/etc/rcS
按一下鍵盤的A
將游標一直往下移到不能移
copy#間的文字貼過去
按一下鍵盤的ESC鍵
輸入:wq
再按一下enter
#
sleep 60
mount -o bind /tmp/hdd/root/opt /opt
sleep 2
/opt/sbin/smbd -s /opt/etc/smb.conf -D
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
#
做完以上後
在telnet上輸入reboot
重啟後再telnet到ibt-1283
root登入後
等個一兩分鐘
輸入ps看看
598 root 2968 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
601 root 376 S /opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
610 root 2940 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
614 root 468 S /bin/sh /usr/sbin/pppoe-connect
667 root 452 S /usr/sbin/pppd pty /usr/sbin/pppoe -p /var/run/pppoe.
669 root 416 S sh -c /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pi
671 nobody 128 S /usr/sbin/pppoe -p /var/run/pppoe.conf-pppoe.pid.pppo
876 root 992 R N /tmp/package/btpd
952 root 3696 S /opt/sbin/smbd -s /opt/etc/smb.conf -D
samba跟bftpd都有起來了
大功告成了
關於rcS的修改
#
sleep 60
#休息60秒,等硬碟mount上來
mount -o bind /tmp/hdd/root/opt /opt
#把/tmp/hdd/root/opt mount成 /opt
sleep 2
#休息2秒
/opt/sbin/smbd -s /opt/etc/smb.conf -D
#啟動SAMBA
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
#啟動BFTPD
#撥接上網,改完後,好像不會自動上網(改前會嗎?)
我在ipkg安裝好之後還除了安裝如上述之內容外,還安裝的cron與openssh,我的目的是要讓ibt能自動將資料與我的nas資料同步,而ibt內定只能執行telnet所以只好自己安裝openssh,然而安裝好openssh後卻無法以root帳法登入(因為密碼怎麼打都不對!不知怎麼?),所以我只好改以試著讓ssh登入以不需密碼而直接以金鑰由nas登入的方法嘗試,然因為ibt內建root的家目錄已沒空間了所以用這編文章中qnap與一般linux主機間要ssh金鑰登入,不用密碼的方法!之建立金鑰的方法建也不成,所以我打開/etc/passwd這個檔案,改root的家目錄,把它改成如下
root::0:0:root:/tmp/hdd/root/homes/root:/bin/sh
admin::0:0:root:/tmp/hdd/root/homes/admin:/bin/sh
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:100:sync:/bin:/bin/sync
mail:x:8:8:mail:/var/spool/mail:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www-data:x:0:0:www-data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
operator:x:37:37:Operator:/var:/bin/sh
sshd:x:103:99:Operator:/var:/bin/sh
nobody::99:99:nobody:/:/bin/sh
default::1000:1000:Default non-root user:/:/bin/sh
總算將金鑰建起,將其放到nas的authorized_keys裡,然而因為nas的內定值反而始得即使我建立好ibt的金鑰並將其放入nas的authorized_keys檔裡,結果怎麼試都還是要我輪入密碼,於是我反向操作,將nas建好的金鑰置入ibt的authorized_keys裡(其中ibt裡的sshd_config檔要更改一些設定如下:
RSAAuthentication yes
PubkeyAuthentication yes
果然可以了,root ssh登入ibt不需要密碼!
接著我要將ibt的sshd自動在開機時執行,於是我在/opt/sbin裡建立一個sshd.sh檔並將其權限改為755,
chmod 755 sshd.sh
而後
vi sshd.sh
其內容如下:
/opt/etc/init.d/S40sshd start
而打開/usr/local/etc/rcS這個檔案,在裡面增加一行使其大致如下:
sleep 60
mount -o bind /tmp/hdd/root/opt /opt
sleep 2
/opt/sbin/smbd -s /opt/etc/smb.conf -D
/opt/sbin/bftpd -d -c /opt/etc/bftpd.conf
/opt/sbin/sshd -f /opt/etc/openssh/sshd_config
/opt/sbin/sshd.sh
/opt/bin/transmission-daemon -g /tmp/hdd/root/transmission
如此ibt一開機,就會自動執行sshd,而我就可以在nas的crontab檔設定rsync指令及其參數讓nas定時自動與ibt的資料同步!
2012年1月6日 星期五
linux 如何關掉SELINUX?
/etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=Disabled #這樣就把SELINUX伺服器關掉了,請重新開機系統;
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
如果只要關掉selinux而不想重新開機,可以直接下如下指令:setenforce 0
2012年1月4日 星期三
centos 安裝ffmpeg 及 mplayer mencoder
You need FFmpeg, MPlayer and MEncoder for video processing. I’ll show you how to install and configure it on Hyper-V.
I’ve already posted couple of articles about CentOS 6 installation on Hyper-V, so I won’t mention about that again.
You can see CentOS 6 installation on Hyper-V at the following posts:
http://www.yusufozturk.info/linux-server/centos-6-desktop-installation-on-hyper-v-and-mouse-support-part2.html
First, we need to install RPMforge repository on CentOS 6.
1. Install the DAG GPG key.
rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt

2. Download RPMforge-release package.
cd /home wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm (if your server x86) wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

3. Verify the RPMforge-release package you have downloaded.
rpm -K rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

4. Install the RPMforge-release package.
rpm -i rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

5. Now we can install FFmpeg, MPlayer and MEncoder.
yum install ffmpeg ffmpeg-devel mplayer mencoder

6. You may get this error when you try to install components.

7. Download perl-SGMLSpm package to CentOS.
wget http://ftp.twaren.net/Linux/Scientific/41/i386/SL/RPMS/perl-SGMLSpm-1.03ii-14.noarch.rpm

8. perl-SGMLSpm may require OpenJade.

9. Let’s install openjade on CentOS.
yum install openjade

10. Try re-install perl-SGMLSpm.
rpm -ivh perl-SGMLSpm-1.03ii-14.noarch.rpm

11. After perl-SGMLSpm installation, you can continue to install FFmpeg, MPlayer and MEncoder.
yum install ffmpeg ffmpeg-devel mplayer mencoder

12. Now, you can test your ffmpeg installation.
ffmpeg -v

If you see same results on your server, it means your ffmpeg is ready.
2012年1月3日 星期二
2011年3月16日 星期三
我透過windows client端,透過事件控制,windows自動發布一個指令連上B linux伺服主機,並利用B linux伺服主機關閉A linux伺服主機的方法
由於有些ups不斷電系統支援斷電時,自動關閉伺服器的功能,我手邊就有這樣一個ups,然而它雖說有支援linux,實際上我雖將它的控制程式安裝起來了,也捉的到該ups卻真的遇到停電時,它卻無法真的做到自動關機與重開機。
所以我現在只好做另一種嘗試,那就是在該ups上接兩台pc,一台是A linux server,一台是windows client,然後透過windows client端,當斷電事件發生時,windows client會自動發布一個指令連上B linux伺服主機(windows client能直接透過ssh連線),並利用B linux伺服主機關閉A linux伺服主機(與B linux伺服主機同一個網段裡,但被router限制,所以雖與windows client接在同一個ups上,卻不能被windows client直接透過ssh連線)。
為了達到這個目的,我做了如下動作:
windows client安裝ups for windows的控製程式,並設定當斷電時,自動執行這個程式指令:
plink -P 端口 用戶帳號@B主機IP –pw 密碼 sh halt204
2010年10月22日 星期五
我中文化gallery2語言檔的方法!
照http://www.zzbaike.com/wiki/Gallery:%E6%9C%AC%E5%9C%B0%E5%8C%96的方法去做,最後會卡在make install PO=zh_TW,而網路上找了半天,一直找不到我所遇到的問題,明明檔案的中文化就是已經做好,為何就是無法中文化?最後終於找到問題,原來是檔案擺的位置。
2010年10月16日 星期六
rsync透過ssh備份指定連線port參數
例如若port為8023
Rsync與ssh合作配備份主機是很簡單的,寫一個Shell Script或是直接寫到crontab上
非常簡單,但是若我們使用ssh加密與非標準的22Port所以要使用--rsh或-e這參數來使用ssh
--rsh='ssh -p 8083'或是 -e 'ssh -p 8083' ,注意要使用' '
使用public/private key讓putty(ssh)自動登錄(以及linux上使用金鑰做ssh自動登陸)
資料來源:http://hi.baidu.com/felixwang/blog/item/7ce2cf1b2fccf7fdaf51338b.html
方法一:使用puttygen.exe
第一步:生成密匙
運行puttygen.exe,選擇需要的密匙類型和長度,使用默認的SSH2(RSA),長度設置為1024就可以了。
passphrase可以為空,免得登錄時還是要輸入一次密碼。
點擊Save private key 按鈕保存公匙和私匙,例如key.ppk,public key不用保存,以後使用Puttygen.exe Load功能就可以顯示public key。
ssh_confing的一些小設定
使ssh登入僅接受金鑰登入而不接受root密碼輸入的sshd_config之設定
PermitRootLogin no => yes #若要使root無法登入則保留為no
PasswordAuthentication yes => no
要使特定使用者才可以使用su指令
2010年9月1日 星期三
gallery2配合apach2虛擬主機時的網頁路徑問題:
$gallery->setConfig('baseUri', 'http://www.tp.edu.tw/main.php');
改為你新增的虛擬主機網址的gallery2路徑即可,例如,若你的gallery2虛擬主機的網址為http://gallery2.dyndns.com則在原來未設虛擬主機時的網址http://www.tp.edu.tw/改為http://gallery2.dyndns.com這樣即可。