Archive for the ‘vps教程’ Category

CentOS iptables配置筆記

2011-01-14

針對網站近期被入侵的現狀,對iptables做以下設置,提升服務器安全性能

(1)屏蔽所有端口
(2)把SSH的缺省端口設置為56565
(3)把56565、80、3306端口打開
(4)把3306端口設置為只允許本機訪問

如果沒有安裝iptables的話,運行命令yum install iptables完成iptables安裝

初始化安裝以后,顯示為以下信息:

  1. [root@tp ~]# iptables -L -n
  2.  
  3. Chain INPUT (policy ACCEPT)
  4.  
  5. target prot opt source destination
  6.  
  7. Chain FORWARD (policy ACCEPT)
  8.  
  9. target prot opt source destination
  10.  
  11. Chain OUTPUT (policy ACCEPT)
  12.  
  13. target prot opt source destination

(1)屏蔽所有端口

  1. [root@tp ~]# iptables -F
  2. [root@tp ~]# iptables -X
  3. [root@tp ~]# iptables -P INPUT DROP
  4. [root@tp ~]# iptables -P OUTPUT DROP
  5. [root@tp ~]# iptables -P FORWARD DROP

當超出了IPTABLES里filter表里的兩個鏈規則 (INPUT,FORWARD)時,不在這兩個規則里的數據包怎么處理呢,那就是DROP(放棄),有同學喜歡配置OUTPUT為accpet,因為如果被入侵,對方可以使用服務器做為中轉,發起攻擊,也會產生大量的數據包,所以這里配置為DROP

(2)把SSH的缺省端口設置為56565

在修改ssh端口時,應先把要修改的端口號56565加入白名單

  1. [root@tp ~]# iptables -A INPUT -p tcp --dport 56565 -j ACCEPT
  2. [root@tp ~]# iptables -A OUTPUT -p tcp --sport 56565 -j ACCEPT
  3. [root@tp ~]# /etc/rc.d/init.d/iptables save
  4. [root@tp ~]# service iptables restart

再修改端口號

  1. [root@linux ~]# vi /etc/ssh/sshd_config

將"#Port 22"修改為"Port 56565"

重啟ssh服務

  1. [root@linux ~]# /etc/init.d/sshd restart
  2. Stopping sshd: [ OK ]
  3. Starting sshd: [ OK ]

如果想看看sshd端口號是否修改成功的話,可以使用 netstat -an 命令查看一下或退出ssh使用新端口號登陸嘗試。

(3)把80端口打開

  1. [root@tp ~]# iptables -A INPUT -p tcp --dport 80 -j ACCEPT
  2. [root@tp ~]# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT
  3. [root@tp ~]# /etc/rc.d/init.d/iptables save
  4. [root@tp ~]# service iptables restart

(4)把3306端口設置為只允許本機訪問

  1. [root@tp ~]#/sbin/iptables -A INPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT
  2. [root@tp ~]#/sbin/iptables -A OUTPUT -p tcp -s 127.0.0.1 --dport 3306 -j ACCEPT

至此,完成CentOS iptables配置,此配置可提升服務器安全性能,過濾掉一些常見的linux攻擊,對于少量爆超管系統權限的linux 0day攻擊,也只能算走運了。
 

反向代理介紹及配置

2010-10-14

1、什么是反向代理?
反向代理(Reverse Proxy)方式是指以代理服務器來接受internet上的連接請求,然后將請求轉發給內部網絡上的服務器,并將從服務器上得到的結果返回給internet上請求連接的客戶端,此時代理服務器對外就表現為一個服務器。

2、反向代理有何作用?
(1)提高安全性:可以提供從防火墻外部代理服務器到防火墻內部安全內容服務器的加密連接。
(2)可以允許客戶機安全地連接到代理服務器,從而有利于安全地傳輸信息(如信用卡號)。
(3)做負載均衡。

3、正向代理與反向代理有何區別?
如圖所示:
反向代理示意圖

4、如何來配置反向代理服務器?

以nginx為示例,修改nginx配置文件/usr/local/nginx/conf,代碼如下:

  1. server
  2. {
  3. listen       80;
  4. server_name kuankuan.net www.kuankuan.net;
  5.   location / { 
  6.     proxy_pass http://192.168.1.103:8081;
  7.   }
  8. access_log off;
  9. }

php執行.sh命令

2010-08-01

工作需要用不定期執行服務器上的幾個腳本,所以用上次的定時備份腳本的方法行不通,PHP提供共了3個專門的執行外部命令的函數:system(),exec(),passthru(),嘗試使用php來執行.sh命令,以下為測試代碼(已經測試成功):

<?php

$sys= "/home/abc.sh";

exec($sys,$result);

print_r($result);

?>

exec ()函數與system()類似,執行命令但不會輸出結果,而是返結果的最后一行,所以上述代碼顯示的結果為:

Array ( )

網上有很多朋友說命令執行不成功,可以檢查以下原因:

1、執行這個命令需要特殊用戶組權限可以執行以下命令

chown -c /home/abc.sh apache

2、使abc.sh有可執行的權限

chmod +x abc.sh

vps數據備份腳本 - vps教程

2010-07-11

  以前的站點放在服務器的緩存盤因為服務器中斷導致數據丟失了,又一次提醒我數據備份的重要性;最近有接觸到廉價的vps,感覺在性能上會有問題,最擔心的就是數據丟失的問題了,恰好對數據做個遠程備份,方便站點遷移和數據保存。

簡要說明:在/root目錄下新建一腳本backup.sh,通過crontab對網站數據進行定時備份,然后新建一ftp進程,自動上傳至遠程ftp服務器。

使用的空間:godaddy的免費空間 (注冊域名可申請,有廣告,測試過,速度不錯)

腳本如下(點擊下載):

#!/bin/bash
/usr/bin/mysqldump -u mysql用戶名 -pmysql密碼 –opt mysql數據庫名 > /var/www/rsqq/$(date +%Y%m%d)-rsqq.sql
cd /var/www/rsqq.com
tar -zcvf $(date +%Y%m%d)-rsqq.tar.gz ./*
echo "open ftp的ip地址
user ftp用戶名 ftp密碼
bin
prompt off
mput $(date +%Y%m%d)-rsqq.tar.gz
printf "\n"
close
bye"|ftp -i -n
rm -rf $(date +%Y%m%d)-rsqq.sql $(date +%Y%m%d)-rsqq.tar.gz

說明:以上腳本適用于debian服務器,本人已經做過測試有用,測試站點為http://www.rsqq.com

然后修改backup.sh的權限,使其有可執行的權限

chmod +x backup.sh

最后設置crontab:

crontab -e

在里面添加一行(每天的00:10分開始備份):

10 00 * * * /root/backup.sh

注意:有些情況下設置crontab后,但是并不運行,這時你可以重新啟動一下crontab:

service crond restart

女校剑道部官网