2013年10月30日 星期三

ASUS WIN7套裝電腦的中文介面亂碼問題


前幾天測試win7的系統時發現,asus的電腦不管怎麼調整,在某些中文程式的介面總是出現亂碼,用了ASUS提供的4個版本的還原光碟全都有同樣的情況發生!

這什麼鬼....

語系和地區都設定無誤,到底是怎麼回事!!

====
ASUS出包,從WIN7發行到現在的包都沒解,馬的....




[HKEY_CURRENT_USER\Control Panel\International]
"Locale"="00000404"
 

修改 registry ,將原本的
"Locale"="00000414" (數字有可能不同)
改成
"Locale"="00000404"



2013年7月9日 星期二

win7 change SSID

在舊的XP系統下,要變更系統的SSID非常簡單,只需要執行一個new ssid的程式即可。但是在win7底下new ssid是無法執行的,唯一的解法是執行 c:\windows\system32\sysprep\sysprep.exe

作法:
  1. 執行 c:\windows\system32\sysprep\sysprep.exe
  2. 選擇 「進入系統全新體驗 (OOBE)」+「一般化」
 
在執行的過程中若發生錯誤可參考C:\Windows\System32\sysprep\Panther\setuperr.log檔案,找出發生錯誤的原因。

--
2013.8.2 update

由於win7的sysprep一般只能執行3次,超過之後 log 就會出現 slc.dll 的錯誤訊息,
這是一個很討厭的機制!!

要破解這個限制就要改regedit內容

破解3次限制,延長為8次
skiprearm.reg
---
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SoftwareProtectionPlatform]
"SkipRearm"=dword:00000001

---


如果一執行就馬上遇到錯誤,log內容如下
, Error      [0x0f0073] SYSPRP RunExternalDlls:Not running DLLs; either the machine is in an invalid state or we couldn't update the recorded state, dwRet = 31
, Error      [0x0f00ae] SYSPRP WinMain:Hit failure while processing sysprep cleanup external providers; hr = 0x8007001f
 就改執行

 GeneralizationState.reg
--
 Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\Setup\Status\SysprepStatus]
"GeneralizationState"=dword:00000007

--

2013年3月27日 星期三

CentOS 製作log循環備份

之前在 利用newsyslog製作log循環備份 這篇有寫到,如何設定 FreeBSD的 log循環。
在CenOS裡的設定方式是從
  • /etc/logrotate.conf
  • /etc/logrotate.d/
這2個地方設定,運作原理可以參考鳥哥的說明。

由於在前次設定 利用 Fail2ban 封鎖暴力破解 時,我有指定 dovecot的 log 存放位置,但是系統並不會自動幫我作循環備份,所以 log 會越來越大。

此時只要在 /etc/logrotate.d/ 裡面新增一個跟 /var/log/ 裡的 log檔名相同的檔案,再設定參數即可。

以我的例子來說:
  • # vi /etc/logrotate.d/dovecot.log
  • 設定內容:
    /var/log/dovecot.log {
        weekly
        rotate 4
        missingok
        notifempty
        create 0600 root root
        postrotate
            killall -HUP dovecot
        endscript
    }
  • 檢查設定檔執行內容是否正確
    # logrotate -v /etc/logrotate.d/dovecot.log
    引用鳥哥的說明:
    logrotate [-vf] logfile
    選項與參數:
    -v  :啟動顯示模式,會顯示 logrotate 運作的過程喔!
    -f  :不論是否符合設定檔的資料,強制每個登錄檔都進行 rotate 的動作!
關於設定檔內的參數說明,可以自行 man logrotate


2013年3月20日 星期三

可調整linux分割區的工具

 以下介紹取自 ubuntu 官方網站介紹

介紹

GParted 是 GNOME 的硬碟分割軟體。是個能取代 Partition Magic 的工具,目前它甚至已經能處理 Windows 上的 NTFS。GParted 也有 GParted LiveCDGParted LiveUSB 可以讓您用一片光碟片或 USB隨身碟 就能處理硬碟分割。


使用方式很簡單,先從官方網站抓取 GParted Live CD/USB/HD/PXE Bootable Image。
將下載下來的 iso燒成光碟,用光碟開機時會看到以下畫面

直接選第一個選項即可進入光碟預載的系統


使用預設選項
選擇語系打入「30」台灣地區-繁體中文

直接使用預設「ENTER」

第一眼看到的畫面,右下角的 logo 感到特別熟悉!!
這個畫面大約會停留1秒後會自動跳到下個畫面


介面很簡單、清楚、直覺

選擇不同硬碟的方式

調整分割區大小
最後按下 apply 結束編輯。
按下後會有提示要作備份,由於備份是事前工作,這邊忽略他
至於怎麼備份,這應該不用介紹了  @@


2013年2月5日 星期二

Tripwire - 即時發現特定檔案異動

會認識這個套件,是因為某台不重要的主機被入侵,檔案被寫入不該有的文字,雖然對網站影響不大,但這是一個警訊。

Tripwire 主要功能是將檔案製作指紋資料庫,當發現某檔案的指紋被變更時才有辦法即時知道。

環境:
  • CentOS release 5.8  i386 (Final) 
安裝方式:
目前網路上查到的方式都是要自行 make file,但是新版的已經有rpm可以用。


目錄架構:
  • 主目錄:/etc/tripwire
  • twcfg.txt:可用來設定 tripwire 的工作環境,可依照你的習慣來調整。
  • twpol.txt:指定 tripwire 對哪些檔案的哪些項目進行監控。
說明:
  • twcfg.txt
    ROOT                      =/usr/sbin
    POLFILE                 =/etc/tripwire/tw.pol
    DBFILE                   =/var/lib/tripwire/$(HOSTNAME).twd
    REPORTFILE         =/var/lib/tripwire/report/$(HOSTNAME)-$(DATE).twr
    SITEKEYFILE         =/etc/tripwire/site.key
    LOCALKEYFILE    =/etc/tripwire/$(HOSTNAME)-local.key
    EDITOR                   =/bin/vi
    LATEPROMPTING          =false
    LOOSEDIRECTORYCHECKING   =false
    MAILNOVIOLATIONS                      =true
    EMAILREPORTLEVEL                   =3
    REPORTLEVEL                               =3
    MAILMETHOD                                  =SENDMAIL
    SYSLOGREPORTING                     =false
    MAILPROGRAM                               =/usr/sbin/sendmail -oi -tGLOBALEMAIL                                ="root@localhost,root@192.168.1.25"
    • DBFILE 為指紋資料庫之檔名
    • REPORTFILE 為檢測報告檔之檔名。

  • twpol.txt
    內容太多了,省略....
    重點在於 rulename、severity 群組內的設定。
    (
      rulename = "Invariant Directories",
      severity = $(SIG_MED)
    )
    {
      /                                    -> $(SEC_INVARIANT) (recurse = 0) ;
      /home                                -> $(SEC_INVARIANT) (recurse = 0) ;
      /etc                                 -> $(SEC_INVARIANT) (recurse = 0) ;
    }
    • 基本上可以直接套用預設值。
    • 也可以另外自己創造新的群組,例如我要監控 /var/www 內的網頁資料。
      (
        rulename = "WWW",
        severity = 100
      )
      {
           /var/www/html                             -> $(SEC_CRIT) ;
      }
執行方式:
  1. 設定密碼:
    • # tripwire-setup-keyfiles
    • 執行過程中會要求你設定兩個密碼(pass phrase):
      • site pass phrase :加密 twpol.txt 及 twcfg.txt 時用。
      • local pass phrase:加密指紋資料庫時用。
  2. 從twcfg.txt生成加密配置文件tw.cfg
    # twadmin --create-cfgfile -S /etc/tripwire/site.key /etc/tripwire/twcfg.txt
    此時會提示「
    Please enter your site passphrase」
  3. 用twadmin對策略文件進行語法檢查
    # twadmin -m P /etc/tripwire/twpol.txt
    此時會提示「Please enter your site passphrase」
  4. tripwire數據庫初始化
    # tripwire --init
    會跑1-3分鐘。
  5. 測試email電子郵件通知功能
    # tripwire -m c | mail -s “Tripwire Daily Report from {$HOSTNAME}”  root@localhost ((打上自己的email)
  6. 定時檢查
    • 在 /etc/cron.daily/ 下新增 script: (tw-check)
      #!/bin/bash
      /usr/sbin/tripwire -m c | mail -s “Tripwire Daily Report from {$HOSTNAME}” root@localhost
email報告內容範例:
  • 第一次執行 # tripwire -m c | mail -s “Tripwire Daily Report from {$HOSTNAME}”  root@localhost   時:
    Parsing policy file: /etc/tripwire/tw.pol
    *** Processing Unix File System ***
    Performing integrity check...
    Wrote report file: /var/lib/tripwire/report/202-
    3-168-16-static.unigate.net.tw-20130205-013834.twr
    Open Source Tripwire(R) 2.4.2.2 Integrity Check Report

    Report generated by:          root
    Report created on:            西元2013年02月05日 (週二) 01時38分34秒
    Database last updated on:     Never

    ==============================
    ==============================
    Report Summary:
    ==============================
    ==============================
    Host name:                    oooooooo
    Host IP address:              Unknown IP
    Host ID:                      None
    Policy file used:             /etc/tripwire/tw.pol
    Configuration file used:      /etc/tripwire/tw.cfg
    Database file used:           /var/lib/tripwire/oooooooo.twd
    Command line used:            tripwire -m c

    ==============================
    ==============================
    Rule Summary:
    ==============================
    ==============================
    ------------------------------
    -------------------------------------------------
      Section: Unix File System
    ------------------------------
    -------------------------------------------------
      Rule Name                       Severity Level    Added    Removed  Modified
      ---------                       --------------    -----    -------  --------
      Invariant Directories           66                0        0        0
      Temporary directories           33                0        0        0
    * Tripwire Data Files             100               1        0        0
      Critical devices                100               0        0        0
      User binaries                   66                0        0        0
      Tripwire Binaries               100               0        0        0
      Critical configuration files    100               0        0        0
      Libraries                       66                0        0        0
      Operating System Utilities      100               0        0        0
      Critical system boot files      100               0        0        0
      File System and Disk Administraton Programs
                                      100               0        0        0
      Kernel Administration Programs  100               0        0        0
      Networking Programs             100               0        0        0
      System Administration Programs  100               0        0        0
      Hardware and Device Control Programs
                                      100               0        0        0
      System Information Programs     100               0        0        0
      Application Information Programs
                                      100               0        0        0
      Shell Related Programs          100               0        0        0
      Critical Utility Sym-Links      100               0        0        0
      Shell Binaries                  100               0        0        0
      System boot changes             100               0        0        0
      WWW                             100               0        0        0
      (/var/www/html)
      OS executables and libraries    100               0        0        0
      Security Control                100               0        0        0
      Login Scripts                   100               0        0        0
      Root config files               100               0        0        0

    Total objects scanned:  18817
    Total violations found:  1

    ==============================
    ==============================
    Object Summary:
    ==============================
    ==============================
    ------------------------------
    -------------------------------------------------
    # Section: Unix File System
    ------------------------------
    -------------------------------------------------
    ------------------------------
    -------------------------------------------------
    Rule Name: Tripwire Data Files (/var/lib/tripwire)
    Severity Level: 100
    ------------------------------
    -------------------------------------------------
    Added:
    "/var/lib/tripwire/oooooooo.
    bak"
    ==============================
    ==============================
    Error Report:
    ==============================
    ==============================
    ------------------------------
    -------------------------------------------------
      Section: Unix File System
    ------------------------------
    -------------------------------------------------
    1.   File system error.
         Filename: /dev/kmem
         \xe6\xb2\x92\xe6\x9c\x89\xe6\
    xad\xa4\xe4\xb8\x80\xe6\xaa\x94\xe6\xa1\x88\xe6\x88\x96\xe7\x9b\xae\xe9\x8c\x84
    2.   File system error.
         Filename: /proc/ksyms
         \xe6\xb2\x92\xe6\x9c\x89\xe6\
    xad\xa4\xe4\xb8\x80\xe6\xaa\x94\xe6\xa1\x88\xe6\x88\x96\xe7\x9b\xae\xe9\x8c\x84
       ====略====
    -------------------------------------------------
    *** End of report ***

    Open Source Tripwire 2.4 Portions copyright 2000 Tripwire, Inc. Tripwire is a registered
    trademark of Tripwire, Inc. This software comes with ABSOLUTELY NO WARRANTY;
    for details use --version. This is free software which may be redistributed
    or modified only under certain conditions; see COPYING for details.
    All rights reserved.
    Integrity check complete.
  • 修改 /var/www/html/index.php 之後
    Open Source Tripwire(R) 2.4.2.2 Integrity Check Report
    Report generated by:          root
    Report created on:            西元2013年02月05日 (週二) 01時49分02秒
    -------------------------------------------------
    Rule Name: WWW (/var/www/html)
    Severity Level: 100
    ------------------------------
    -------------------------------------------------
    Modified:
    "/var/www/html"
    "/var/www/html/index.php"

    ------------------------------
    -------------------------------------------------
    Rule Name: Root config files (/root)
    Severity Level: 100
    ------------------------------
    -------------------------------------------------
    Modified:
    "/root"
    "/root/.viminfo"

2013年1月31日 星期四

postfix 分析工具

安裝方式:# yum install postfix-pflogsumm

使用方式:
  • 分析今天:pflogsumm -d today /var/log/maillog
  • 分析昨天;pflogsumm -d yesterday /var/log/maillog
  • 分析全部:pflogsumm /var/log/maillog
  • 分析多檔:pflogsumm /var/log/maillog /var/log/maillog.1
  • 分析 postfix今天的 maillog,並且寄信通知:pflogsumm -d today /var/log/mailllog | mail -s ‘Postfix Maillog Report’ mailAccount


2013年1月10日 星期四

利用 Fail2ban 封鎖暴力破解

前輩丟出個功課找些好方法來自動偵測+阻擋。

Fail2ban 就是一個非常實用的套件!

官方網頁:http://www.fail2ban.org

環境:
  • CentOS release 5.8 (Final)
  • Dovecot 1.0.7
  • Postfix 2.3.3 
  • fail2ban 0.8.4
安裝:# yum -y install fail2ban

若無法安裝,用 # yum search fail2ban 也無法找到套件,需編輯以下資料。

# vim /etc/yum.repos.d/CentOS-Base.repo

[atrpms]
name=Red Hat Enterprise Linux $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/el$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1





套件架構:
  • 安裝位置:/etc/fail2ban
  • 設定檔:
    •  fail2ban.conf      fail2ban 設定
    •  jail.conf               各服務阻擋參數設定
      2013.03.19 取自官方文件
      Every .conf file can be overridden with a file named .local. The .conf file is read first, then .local, with later settings overriding earlier ones. Thus, a .local file doesn't have to include everything in the corresponding .conf file, only those settings that you wish to override.
      因此有任何客製化的設定,要另外建立 jail.local
    • filter.d/*. conf       過濾規則、判斷式 
  • jail.conf 內的各個設定,必須在filter.d有一個對應的 conf 檔案。
    例如:在 jail.conf內新增 [dovecot-check] 設定,且filter設為 dovecot-check,那就必須在 filter.d資料夾新增 dovecot-check.conf
 fail2ban.conf 設置說明:
  • 沒什麼特別的地方,重點放在log設置位置
    logtarget = /var/log/fail2ban.log
 jail.local 設置說明:
  • 主要為各個需要偵測的服務設定。
  • 範例:
    新增 dovecot-check 設定
    [dovecot-check]
    enabled = true
    #過濾名稱,對應filter.d/*.conf 
    filter = dovecot-check 
    #iptables設定 
    action =  iptables-multiport[name=dovecot-check, port="pop3,pop3s,imap,imaps",  protocol=tcp]
              sendmail-whois[name=dovecot, dest=xxx@example.com, sender=xxx@example.com] 
     
    #需要掃描的記錄檔
    logpath = /var/log/secure
    #排除的ip、網域
    ignoreip = 168.192.0.1  192.168.1.0/24
    #阻擋的時間,-1表示永久阻擋 
    bantime  = 86400
    #監視的log時間區段
    findtime  = 300
    #最高嘗試錯誤次數
    maxretry =  3
    其中部份參數說明如下:
    • action中的port:可直接打上標準的服務名稱或是port number。
    • sendmail-whois中的dest:預設是寄到 root ,也就是本機端的root帳戶的信箱。
    • sendmail-whois中的sender:這個設定會顯示在寄信的來源位置,預設是 fail2ban@mail.com 。
      sendmail-whois 可省略。
    • logpath:mail log預設值是 /var/log/secure。每個Linux發行版的服務記錄登入訊息的位置都不太一樣,dovecot會將訊息記錄在 /var/log/secure ,因此參數必須設置成此路徑。
    • maxretry:最高嘗試錯誤次數。一旦登入錯誤超過這個次數,fail2ban就會發生阻擋事件,將該IP擋在門外。預設是使用 [DEFAULT] 區塊中的maxretry ,可另外在這邊重新指定。實際上,嘗試登入時可以比maxretry還多一次,例如maxretry = 3,那麼登入時可以錯誤4次才會被擋下。
    • bantime:發生阻擋事件之後,阻擋該IP的時間。預設是用 [DEFAULT] 區塊中的 bantime ,單位是秒,也就是10分鐘。但是這個阻擋時間實在太短,有人設定為 86400,也就是一整天。若設定為 -1 ,表示永久阻擋。
filter.d/*. conf設置說明:
  • 比照 jail.local 的設定,由於新增了 dovecot-check,因此也在 filter.d資料夾新增 dovecot-check.conf
  •  dovecot-check.conf 內容範例:
    [Definition]
    #掃描log檔時的過濾規則
    failregex =  (?: Authentication failure|Aborted login|Disconnected).*rip=(?:::f{4,6}:)?(?P<host>\S*),
    .*
    #排除部份
    ignoreregex  = (?: Disconnected: Logged out).*
    • failrege:可自行使用正規表示式修改成需要的內容(由於小弟不熟,直接套用網路上的設定後再做測試)

測試 filter 內設定是否正確:
  • fail2ban-regex [log路徑] [filter路徑]
    fail2ban-regex /var/log/dovecot.log /etc/fail2ban/filter.d/dovecot-check.conf 
啟動 fail2ban 的服務:
  •  service fail2ban start
    {start|stop|status|restart}
重新載入 fail2ban 的設定:
  • fail2ban-client reload
查看iptable的設定:
  • iptables –L
查看 fail2ban 的狀態:
  • fail2ban-client status 
查看某服務過濾情況:
  • fail2ban-client status [jail.conf 設定的名稱]
    fail2ban-client status dovecot-check
 設定 fail2ban 開機時自動啟動:
  • chkconfig fail2ban on


補充說明:
  • 如果在 dovecot 有另外指定log位置,jail.local內的設定要指到相對應的log。
  • dovecot 會將登入失敗的訊息會放在 /var/log/secure /var/log/maillog(預設) 內,2邊都做測試會比較保險。



參考: