今天有位同仁抱著電腦來問這個問題,記錄一下解決方法 ~ 在 Mircosoft TechNet 找到解決方法

借原文直接引用

1. 進入安全模式(開機時按鍵盤上的F8)

2. 點選左下角開始->所有程式->附屬應用程式->在命令提示字元上點選右鍵選擇以系統管理員身分執行

3. 在黑色視窗輸入net user Administrator /active:yes並按下enter鍵(此動作為將Administrator帳號啟動,若要停用此帳戶時將後面的Yes改為No後即可)

4. 執行完上述動作後重新開機進入正常模式,並以Administrator帳號做登入的動作

5. 登入後點選左下角開始->輸入regedit並按下enter鍵,會出現登錄編輯程式

6. 進入下列機碼HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList,您在左邊的畫面會看到兩個類似的資料夾,應該為為S-1-5-21-xxxxx & S-1-5-21xxxxx.bak(前面都一樣,只有後面有一個會加上.bak)

7. 在S-1-5-21-xxxxx上點選右鍵->重新命名,在檔名最後面輸入.old

8. 在S-1-5-21-xxxxx.bak上點選右鍵->重新命名,在檔名最後面的.bak刪除,檔名會變成S-1-5-21-xxxxx

9. 點選資料夾S-1-5-21-xxxxx在右邊視窗點選RefCount兩下,並將數值修改為0,修改完後點選State兩下,也將數值修改為0

上述動作完成後關閉所有視窗並重新開機,使用原來的帳號登入即可

bojack 發表在 痞客邦 PIXNET 留言(1) 人氣()

這一篇教學是延續上篇 【Linux】在 CentOS 上安裝 LDAP Server 2.4,考量到日後還要做二台 LDAP Server 資料同步

而二台彼此同步要考量到安全性的問題,所以得採加密傳輸,因此再研究了一下做法

首先要修改一下 /etc/sysconfig/ldap 這個檔案

# vi /etc/sysconfig/ldap

將差不多第 16 行的地方改成這樣

SLAPD_LDAPS=yes

接下來要來製作憑證了,原則上可以參考我以前這篇 【FreeBSD】Apache + SSL 憑證製作 來直接製作,不過 FreeBSD 和 CentOS 的路徑還是有一點點不一樣

因此我還是重新寫一個 For CentOS 的文件

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

最近因任務需求必須將 LDAP Server 從 FreeBSD 移至 CentOS 上面,做個簡單的小筆記

原則上在 CentOS 下安裝 OpenLDAP 是件很輕鬆的事,用 YUM 裝一下就好了,我的環境如下

CentOS:6.4 x86_64

OpenLDAP:2.4.32

1. 安裝 openldap 套件

# yum install -y openldap-servers openldap-clients openldap-devel

2. 複製設定檔到對應的目錄

# cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
# cp /usr/share/openldap-servers/slapd.conf.obsolete /etc/openldap/slapd.conf

3. 產生 LDAP 管理者 root 的密碼,並記下來等會兒設定至 slapd.conf

# slappasswd
New password: (輸入密碼)Re-enter new password: (輸入密碼)
{SSHA} UtMBTNpmr8QuRHyDBEQEBljDWwet3iv9

4. 修改主要 Config 檔 slapd.conf (以下是我的範例,僅供參考)

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

架構圖如下

PC ---- 172.16.1.0/24 ( vlan103 ) <---> Core Switch <---> 192.168.1.0/24 ( vlan102 ) ---- DHCP Server 192.168.1.2

之前曾有架設過 DHCP Server 的經驗,不過當時是在同一個網段做 IP 配發的動作

若要在不同網段也配發 IP,舉例來說我的 DHCP Server 在 vlan102 192.168.1.0/24 的網段,想要配發 vlan103 172.16.1.0/24 的網段 IP 該怎麼做呢?

這是我的設定參考一下

ddns-update-style none;
authoritative;
default-lease-time      86400;
max-lease-time          172800;

subnet 192.168.1.0 netmask 255.255.255.0 {
}

shared-network vlan103 {
        subnet 172.16.1.0 netmask 255.255.255.0 {
         range 172.16.1.10 172.16.1.100;
         option subnet-mask 255.255.255.0;
         option routers 172.16.1.1;
         option broadcast-address 172.16.1.255;
         option domain-name-servers 168.95.1.1,8.8.8.8;
        }
}

至於 Router 的部份設定如下,設定 DHCP Relay 即可

interface Vlan103
   ip address 172.16.1.1 255.255.255.0
   ip helper-address 192.168.1.2

 

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

現今的資安問題,其實有很大的問題都發生在網站上面,網站程式若沒有開發好就有可能遭到駭客入侵與攻擊

而網路上的使用者若不小心瀏覽了被駭的網站,也是有可能在不知覺的情況發生中毒或資料遭竊取

網站程式應該如何被檢核呢?簡單來說可分為黑箱 ( 實際模擬駭客攻擊行為 ) 或白箱 ( 檢核原始碼 ) 測試,詳細的資訊可以參考 iThome 這一篇靜態程式碼安全性檢核說明

若對資安有些了解的朋友,針對 WAF ( Web Application Firewall ) 這個字眼應該不會很陌生,在程式尚未改寫已知的漏洞時,這時 WAF 就可以跳出來幫忙擋一下了

不過還是要說,利用 WAF 來擋並不是治本的方法,它只是能就所知的攻擊手法進行防護,程式有哪些 Bug 還是得花時間改寫才能夠確保沒問題

而市面上其實也是有一些 Commercial WAF,不過就是得花$$買,這篇教學是用免錢的方式直接在 Web Server 上架起 WAF 的防護功能

以我的 FreeBSD 環境來說,利用 Ports 就可以很輕易的將 ModSecurity 安裝起來

# cd /usr/ports/www/mod_security
# make install clean

裝好之後來去將設定檔放上去 Apache 裡的 httpd.conf

# cd /usr/local/etc/apache22
# vi httpd.conf

加入下面幾行

# 載入 mod_security
LoadModule security2_module libexec/apache22/mod_security2.so
Include /usr/local/etc/modsecurity.conf

# 將自己假裝成 IIS,等等測試用
<IfModule mod_security2.c>
SecServerSignature "Microsoft-IIS/5.0"
</IfModule>

接下來去產生 modsecurity.conf

# cd /usr/local/etc/
# cp modsecurity.conf-example modsecurity.conf

modsecurity.conf 產生出來之後,可以去做一些適度的修改,以下是我有改的地方

SecRuleEngine DetectionOnly
SecAuditLog /var/log/mod_security/modsec_audit.log
SecDebugLog /var/log/mod_security/modsec_debug.log

好了之後重新啟動 Apache 即可,至於要改 modsecurity 有沒有生效呢?可以透過剛才我們加入假裝成 IIS 的設定來檢驗

# telnet 127.0.0.1 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
get http:1.1 / (輸入左邊的指令)

HTTP/1.1 400 Bad Request
Date: Thu, 24 Jan 2013 07:31:43 GMT
Server: Microsoft-IIS/5.0
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>
Connection closed by foreign host.

到這邊就算安裝完成了,接下來要來設定一些常用的 Rule,在 ModSecurity 的網站上有提供二個版本

一個是 OWASP ModSecurity Core Rule Set ,這是不用錢的,而另一個是 Commercial Rules ,能擋的東西就不少了

本篇的教學既然是以免費的為主,那當然是用 OWASP ModSecurity Core Rule Set 來設定囉 ~~ 先下載 Core Rule Set 設定檔並解開到 Apache 的目錄底下

# cd /tmp
# tar -zxvf SpiderLabs-owasp-modsecurity-crs-2.2.7-0-ga77c1a1.tar.gz
# mv SpiderLabs-owasp-modsecurity-crs-a77c1a1 /usr/local/etc/apache22/Includes/crs

接下來我們要將要啟用的規則與設定都 copy 過去 activated_rules 目錄

# cd /usr/local/etc/apache22/Includes/crs
# cp modsecurity_crs_10_setup.conf.example activated_rules/modsecurity_crs_10_setup.conf
# cd activated_rules
# cp ../base_rules/* .
# cp ../optional_rules/* .

這時再回頭去改一下 Apache 的 httpd.conf 的設定,改這下面這樣

<IfModule mod_security2.c>
SecServerSignature "Microsoft-IIS/5.0"
Include "/usr/local/etc/apache22/Includes/crs/activated_rules/*.conf"
</IfModule>

接下來重新啟動一下 Apache,不過此時會發現一直啟動不了,會有 Error 訊息如下

Syntax error on line 52 of /usr/local/etc/apache22/Includes/crs-bak/activated_rules/modsecurity_crs_20_protocol_violations.conf: Error parsing actions: Unknown action: ver

原因在這裡可以看到,因為目前我在 Ports 安裝的 ModSecurity 是 2.6.6 版,而下載回來的 Core Rule Set 是 for 2.7.0 用的,因為版本不相容的關係所以會無法使用

所以請重新下載舊版的即可,從這邊就可以下載了,再重新啟動一次 Apache ~~ 大功告成!

[1] ModSecurity

[2] 以 ModSecurity 實作 Webapp Firewall

[3] How to install apache2 mod_security and mod_evasive on Ubuntu 12.04 LTS server

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

如果在做 VMware Convert 時發生失敗,且 log 顯示下列錯誤

Error: Unable to obtain the IP address of the destination virtual machine running the Converter helper server.

這表示說您轉移過去的環境是沒有 DHCP Server 的服務,解決的方法是在 Conversion 設定時

在 Options 步驟時點選 Helper VM network 去編輯它,在 Network 的地方手動給它 IP 就 OK 了

[1] vmware community - FAILED: Unable to obtain the IP address of the helper virtual machine

bojack 發表在 痞客邦 PIXNET 留言(1) 人氣()

這可能是一篇落落長的故事,但我還是要盡力記錄下來 ~ 因為是一個很寶貴的資安事件與經驗

話說我們有一台主機,它的功能是一台委外廠商對外營運的 Web 主機,非常單純 ~ 防火牆就是只有開放 80 Port 可存取

前陣子有一天業管單位說怎麼外面 Internet 的使用者都連不太進來,網路感覺很頓,第一時間我把問題反應給管理 VM 環境的同仁,請他協助查看是否在 VM 環境有異常

而管理 VM 主機的同仁說可能是網路的問題,於是再把問題轉給管理網路的人查看

初步察看的情況,管理網路的同仁說入偵防禦系統有很大量的來自於那台 Web 主機 IP 的異常 log,當下的直覺就是主機可能出問題了

bojack 發表在 痞客邦 PIXNET 留言(1) 人氣()

一般來說用來測試網路是否正常的指令,我們會使用 Ping 或 Traceroute 的方式來測試

不過 Ping 和 Traceroute 的功能又不一樣,Ping 是用來看封包從來源到目的地所回應的資訊,Traceroute 是用來檢視到目的地中間跳了哪些節點

實際上有個好用的工具叫 MTR ,它結合了二者的功能,使用 MTR 就可以一次到位檢梘所有資訊

這工具支援 Unix-likes ,而在 Windows 上的版本叫 WinMTR

透過 MTR 這工具,可以看到封包的遺失率、送出的封包個數、最後一次回應的 ms 秒數、平均回應的 ms 秒數、最快回應的 ms 秒數及最糟的 ms 秒數

FreeBSD 上面透過 Ports 安裝就有了,執行也很簡單,假設我要看 Hinet DNS 168.95.1.1

# mtr 168.95.1.1

而 WinMTR 的畫面也很簡單使用

真的是方便多了 : )

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

首先先到 ports 裡安裝 portupgrade

# cd /usr/ports/ports-mgmt/portupgrade
# make install clean

在開始更新套件之前,首先要做的事情就是先更新 Ports tree

# cd /usr/ports
# make update

接下來列出有哪些套件是需要更新,可以透過下列的指令來檢視

# pkg_version -v | grep '<'

在更新之前請先利用指令 pkgdb 來檢查程式的相依性,避免等等升級時出問題

# pkgdb -F

假設我要更新的是 php 5.4.5 -> 5.4.7,同時也想要一併更新相關的 extensions

# portupgrade -fry php-5.4.5

-f 是強制更新的意思
-r 是把有相依性的套件也一併升級
-y 反是有要問 yes 的地方一律回答 yes

然後系統就會開始更新了,這時就會花一點時間

當更新作業完成時,可以再整理一次 package

# pkgdb -F

也可以透過下列指令一併清楚升級時產生的暫存檔

# portsclean -CD

大功告成 n_n

[1] 不自量力的Weithenn - PortUpgrade-升級已安裝套件

[2] BRYAN手札-生活記趣 - 使用 portupgrade 來升級 FreeBSD 上的套件

[3] zgod拉哩拉紮 專業高級水電工 - [FreeBSD] portupgrade好用啊XD

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

一個很簡單的 shell,寫好後放到 crontab 每天執行一次就可以了

#!/bin/sh
#先產生昨天的日期,請自行決定要用 FreeBSD or Linux 的
#FreeBSD 的用法
dt=`date -v-1d "+ %Y%m%d`

#Linux 的 Shell
#dt=`date -d'-1 day' +%Y%m%d`

#切換到 log 存放的目錄
cd /xxx/xxx/xxx

#壓縮昨天一整天的 log ( log 檔可能長成這樣 asa_log-20121116 )
tar -zcvf asa_log-`echo $dt`.tar.gz asa_log-`echo $dt`

#將壓縮好的檔案搬移到某處
mv asa_log-`echo $dt`.tar.gz /xxx/xxx/asa_log-`echo $dt`.tar.gz

#刪除原來的未壓縮的 log
rm -rf asa_log-`echo $dt`

bojack 發表在 痞客邦 PIXNET 留言(0) 人氣()

找更多相關文章與討論