顯示具有 [電腦][作業系統][Linux]CentOS 標籤的文章。 顯示所有文章
顯示具有 [電腦][作業系統][Linux]CentOS 標籤的文章。 顯示所有文章

2013年1月6日 星期日

fail2ban 阻擋暴力破解錯誤嘗試登入

Linux 系統裝好後,某些提供帳號密碼登入的伺服器功能,像是SSH,會不斷地被網路駭客及一些無聊人士嘗試入侵攻擊,雖然不一定會被猜到您的帳號密碼,但是每秒就做登入的動作也是會消耗網路頻寬及系統資源,建議還是要安裝套件,針對登入錯誤幾次的人,直接封鎖該網路位址 (IP Address),而 fail2ban 套件具有此功能且非常好用。

可以檢查您的 /var/log/secure 檔案(根據Linux版本可能檔名有些差異,基本上就是尋找一下系統的紀錄檔案),可以發現幾乎每秒就不斷地被登入測試帳號密碼。


官方網站:
http://www.fail2ban.org/wiki/index.php/Main_Page

透過套件管理程式來安裝:
# yum install fail2ban

P.S 由於筆者裝的 Centos 6 套件庫已經沒有內建 fail2ban 所以我們採用 EPEL repository 的方式來安裝:

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm

修改設定檔,找到[base]區塊,並且新增設定值 enable=1
vi /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
enable=1


2012年11月15日 星期四

遠端存取 MySQL

預設的情況下 root 帳號是沒有辦法從遠端登入存取 MySQL 資料庫。

平常開發網頁程式,大多是在伺服器本機端使用帳號密碼登入做處理,所以比較不會有甚麼問題,但是因為自己需要用到 Android 透過 JDBC 遠端登入 MySQL 伺服器的需求,結果出現了錯誤訊息。


先以 root 身分登入 MySQL 伺服器:


# mysql -u root -p


新增一個遠端 ( % ) 使用者 admin 密碼為 pw1234,並且設定權限給它,我這裡只開放 db 這個資料庫底下所有的資料表 ( db.* ) 的所有權限(ALL)給這個使用者使用:


mysql> CREATE USER 'admin'@'%' IDENTIFIED BY 'pw1234';

mysql> GRANT ALL PRIVILEGES ON db.* TO 'admin'@'%';
mysql> FLUSH PRIVILEGES;


2012年11月6日 星期二

Linux + Apache + MySQL - PHP 安裝過程記錄 (LAMP)

安裝 Apache(httpd) + MySQL(mysql, mysql-server) + PHP(php, php-mysql)
# yum install httpd mysql mysql-server php php-mysql

啟用「使用者家目錄網頁支援」,修改 Apache 設定檔
# vi /etc/httpd/conf/httpd.conf

找到以下這段,並且修改

<ifmodule mod_userdir.c="mod_userdir.c">
    #UserDir disable
    UserDir www
</ifmodule>

UserDir disable 設定前面加上註解符號「#」,然後重新啟動 Apache 伺服器
# /etc/init.d/httpd restart

隨便先登入一個使用者,假設使用者名稱為 user

建立 public_html 目錄,並且設定權限
# mkdir ~/public_html
# chmod 755 /home/user/public_html
# chmod 711 /home/user

正常來說,這樣子就可以使用了,但是在支援 SELinux 的 Linux 系統中,必須還要做一些安全機制的設定跟處理,否則開啟瀏覽器會出現 You don't have permission 的錯誤訊息,可以檢查  /var/log/messages 得知必須先做一些處理才能正常使用。

2012年9月16日 星期日

CentOS ZIP檔案解壓縮(unzip)

由於ZIP檔案格式對Linux來說不一定是常用的,但是平常我們從Windows使用或者網站直接下載下來的檔案,許多還是 ZIP 格式

因此當初如果預設安裝的情況下沒有安裝的到相關方面的解壓縮套件的話,我們則必須手動安裝

<安裝過程>

# su
# yum install unzip

關於「ZIP格式」請參考WIKI
http://zh.wikipedia.org/wiki/ZIP_(%E7%AE%97%E6%B3%95)

<使用方式>

# unzip *.zip

*.zip 換成您的ZIP檔案名稱即可


2012年7月23日 星期一

CentOS 安裝與設定 vsFTPd 檔案伺服器

安裝 vsFTPd

# yum install vsftpd

修改設定檔

# vi /etc/vsftpd/vsftpd.conf
------------------------------------------------------------------------------------------------------------
anonymous_enable=YES 改成anonymous_enable=NO
#chroot_local_user=YES 把前面的#拿掉 chroot_local_user=YES
然後最後面加上 use_localtime=YES
------------------------------------------------------------------------------------------------------------

啟動服務(並設定每次開機時啟動)

# chkconfig vsftpd on
# /etc/init.d/vsftpd start


CentOS SSH 遠端連線

預設的情況下,幾乎都有安裝 SSH,實際使用上不用太多複雜的設定

# vi /etc/ssh/sshd_config
--
把 #PermitRootLogin yes 改成 PermitRootLogin no

--
重新啟動服務
# /etc/init.d/sshd restart

把root登入的權限先關掉,這樣對安全性會好一點,以一般使用者登入後再進行 su 切換至 root


伺服器端設定好之後,習慣上喜歡使用Windows底下的pietty的客戶端軟體去做連線操作伺服器


2012年7月22日 星期日

CentOS 安裝 PPPoE 網路連線套件 rp-pppoe

由於 NetworkManager 的問題實在很多,也遇到有時候連線失敗的問題,用來一般使用可能還好,作為伺服器的用途的話,穩定性實在令人擔憂,因此還是決定把NetworkManager移除掉,改安裝最原始的文字介面的 rp-pppoe 吧。

為了避免 NetworkManager 和 rp-pppoe 發生衝突,自己是只留一套運作,但是在移除NetworkManager 之前,記得先把 rp-pppoe 安裝好,否則沒網路當然就沒辦法下載套件了。

可以透過yum搜索功能,尋找 pppoe 的相關套件,可以找到 rp-pppoe

# yum search pppoe


# yum install rp-pppoe


CentOS 網路設定 DSL 新增連線失敗

安裝好CentOS後,當然是馬上設定網路連線,沒想到內建的 NetworkManager遇到了一些問題...

由於筆者的網路是使用 PPPoE 的方式連到網際網路上的,目前比較新的CentOS如果有裝視窗的話,基本上都內建了對初學者非常方便的NetworkManager 圖形化介面的網路設定管理,可是卻沒想到遇到了不少問題。

新增 DSL連線在最後[套用]的時候會出現以下錯誤訊息

新增連線失敗 Saving connection failed: (0) Can't write connection type 'pppoe'


解決方式:


CentOS 6.3 安裝過程