2023年4月27日 星期四

Linux 安全傳輸資料之心得

 0. 常見網路攻擊手法

a. IP

# nmap -sT 192.168.10.0/24 -> 192.168.10.0/24 網段


b. SSH 自動登錄攻擊

  Why SSH ?
  SSH 是提供使用者連線的一個服務,其埠是 22,如果沒有提供 ssh 服務的話,
  使用者將只能在主機前面登錄進行操作。

1. 檢視系統日誌

在 Debian Linux 底下請檢視 /var/log/auth.log 這個檔案,如果機器有直接接上網路
(沒有防火牆),那就會受到來自世界各地的攻擊。


2. 加強連線防護

https://zh.wikipedia.org/zh-tw/Fail2ban

如果避免主機遭受 SSH 攻擊 ?

fail2ban

假設判別一個 IP 是拿來攻擊的,在它輸入 N 次錯誤帳號/密碼時即把此 IP ban 掉。

fail2ban 的缺點 ?

a. 當封鎖 IP 太多時,fail2ban 會佔掉系統很多的運算能量。
b. 如果有人忘記密碼,當他登錄三次失敗,其 IP 就會被 ban3. 採用金鑰模式

https://xenby.com/b/220-%E6%95%99%E5%AD%B8-%E7%94%A2%E7%94%9Fssh-key%E4%B8%A6%E4%B8%94%E9%80%8F%E9%81%8Ekey%E9%80%B2%E8%A1%8C%E5%85%8D%E5%AF%86%E7%A2%BC%E7%99%BB%E5%85%A5


4. 其它防護技巧 (敲敲門、換 port、架 VPN)

敲敲門

https://newtoypia.blogspot.com/2018/02/spa.html

敲敲門的缺點是你必需有能力設定防火牆,如果你沒有管理防火牆的權限,你就沒辦法設
定 22 port 的轉址,那敲敲門這種防護方式對你來說沒有意義。

換 port

https://www.taki.com.tw/blog/change-ssh-port/

既然 22 port 很容易被攻擊,那我就把 ssh 預設的 22 port 改成其它 port,以避免
SSH 攻擊

換 port 的缺點:如果遇上真正的高手,那機器還是有可能被入侵。


架 VPN

好處:

1. 不必管防火牆設定,所有主機可透通連線
2. 不必擔心別人入侵,因為所有的 IP 如果不是假 IP 就是在防火牆後面。
3. 可建立不同網段的主機,整合在同一個群組裡面。

缺點:

我們必須找一個真實 IP 來掛 VPN 主機,如果 VPN 主機的網路連線有問題,那所有的
機器都無法連線。

5. 綜合討論

2021年5月19日 星期三

如何建立/更新 debian 鏡像站

 如何建立 debian 鏡像站


請將底下指令寫成 getdeb.sh


HOST=opensource.nchc.org.tw

METHOD=http # http, rsync, https

#echo "Don't do this in india"

#exit


debmirror \

        --arch=i386,amd64,armhf,arm64 \

        --dist=bullseye,buster,buster-updates,buster-backports\

        --di-arch=i386,amd64,armhf,arm64 \

        --di-dist=stable,unstable \

        --host=$HOST \

        --root=":debian" \

        --diff=none -p \

        --nosource \

        --method=$METHOD \

        --ignore-missing-release \

        --ignore-release-gpg \

        --ignore-small-errors \

        --section main,contrib,non-free \

        --i18n \

        --ignore-release-gpg /home/ftp/debian/ ;



另存新檔在 /home/ftp 目錄下,然後安裝 debmirror 套件,再執行

/home/ftp # sh getdeb.sh

如此一來即可更新你的 debian 鏡像站。





2021年5月2日 星期日

ADS 安裝 (2021/05/03)

 如何安裝 ADS (Advanced Design System)

ADS 是用來進行 RF 設計的工具,它的出版商是 KeySight,不是本課程先前所提到那些公司,因此其安裝跟設定都要特別處理:

1. 下載

請下載 ads_2020_update2.0_linux_x64.tar 以及 ads.csh

2. 解壓縮/安裝

解壓縮

tar xfva ads_2020_update2.0_linux_x64.tar

安裝

./SETUP.SH

裡面有很多問題,請一一作答,在設定安裝目錄的時候請輸入安裝目錄為

/opt/EDA/ads/ADS2020_update2
 

安裝完畢後,請以 root 權限切換到 /opt/EDA/ads 目錄,並新增 cur 連結,操作如下:

# cd /opt/EDA/ads
/opt/EDA/ads # ln -s /opt/EDA/ads/ADS2020_update2 cur

作完之後執行 ls -l 來驗證連結無誤,操作如下:

/opt/EDA/ads # ls -l
總計 8
drwxr-xr-x 63 root root 4096  5月  3 10:58 ADS2020_update2
lrwxrwxrwx  1 root root   15  5月  3 11:01 cur -> ADS2020_update2

3. 設定
 

請設定環境變數

ADS_bin="/opt/EDA/ads/cur/bin"

export PATH=$PATH:$ADS_bin

剛剛有下載一個 ads.csh 的檔案,現在來觀察其內容:

setenv HPEESOF_DIR /usr/ads
set path=($HPEESOF_DIR/bin $path)
setenv LM_LICENSE_FILE 1900@lscic3.cic.org.tw:$LM_LICENSE_FILE

我們可以看到 ADS 的 License 設定為 1900@lscic3.cic.org.tw,現在要先確定這台機器能不能連上,請執行底下操作:

$ ping lscic3.cic.org.tw

看看能不能連上,如果沒問題的話,請在環境變數中加上:

export LM_LICENSE_FILE=1900@lscic3.cic.org.tw

把環境設定載入,然後準備執行 ads。


4. 故障排除

$ ads

我們第一次啟動 ads 時,會出現無法檢查 License 的錯誤,此時要自己定義 license server,請輸入 1900@lscic3.cic.org.tw,然後 ads 會自動跳出。

之後,我們再重啟 ads 即可正確啟動這套軟體。

2021年2月10日 星期三

寫於好讀網站關站

好讀於今年 1/1 正式關門,沒想到創辦人周劍輝博士已經在 2017/12/04 因心臟病過世,也沒想到我何其有幸可以在他走之前跟他能在網路上結緣。
好讀的電子書掃下來之後,因為他們不曉得可以使用 ImageMagik 來進行影像強化、雜訊移除跟自動切頁的工作,所以他們用 OCR 的辦識率一直不高。需要很多人作後端的手工校正,我因為某種原因跟周博士聯繫上,並且寫了一些 script 協助他作影像強化。原本以為對好讀會有幫助的,沒想到我跟周博士聯繫完沒多久他就驟然離世。
今天才知道好讀網站也關站(我真是後知後覺)了,順手留下紀錄,作為這段過程的註腳。

 

後記:好讀又於 2021/02/12 復站了,這次可以維持多久不知道,大家好好把握吧!!


 

2020年10月17日 星期六

建置程式開發環境

建置程式開發環境

教學目標:

在 Linux 上面有許多程式開發環境,從最陽春的 vim、Emacs 乃至於大型專案開發會用到的Eclipse 都是 Linux 上面的程式開發環境。使用 vim 作程式開發對學生而言略嫌功能太過簡陋,而 Eclipse 是屬於大型專案工具,光是啟動、運作都需要不少資源,因此不大建>議學生使用。本課程的目標即在於教導學生建置 Linux 上面的程式開發環境,我們的首選>是 geany 這個輕量級的 IDE 程式開發工具。


教學方法:

在這門課程上我們採用 geany 來進行程式開發,其安裝方式如下:

# apt-get install geany

Geany 的好處是它的介面非常精簡,支援 C/C++、 Python 等程設語言之語法高亮度顯示,

而且可以直接呼叫 GNU C 或是 Python 來進行程式編譯與執行的操作,簡單來說其功能非常類似 DOS 時代的 Turbo C/C++ 一樣,是個輕量級的程式開發環境。下圖是 geany 載入 C 語言的畫面,我們可以看到其介面非常的簡潔,適合初學程式設計的學生來使用。





2020年6月10日 星期三

Milkyway 安裝與設定

Milkyway 安裝與設定



1. 下載

   請至 TSRI 網頁下載最新版的 Milkyway,其檔案為:

milkyway_2019.12_linux.tgz

2. 解壓縮/安裝


# tar xfva milkyway_2019.12_linux.tgz -C /opt/EDA

3. 設定

請編輯 .bashrc,新增底下段落:

Milkyway_bin="/opt/EDA/milkyway/cur/bin/linux64"

export PATH=$PATH:$Milkyway_bin


4. 測試

請執行

$ Milkyway -galaxy

看看有沒有畫面出來

2020年6月3日 星期三

IC Compiler2 之安裝與設定



IC Compiler 2 是 Synopsys 所推出之 P&R (Place & Route) 軟體,主要針對 16nm 以下的先進製程,目前最新的版本是2019.12-sp1 版,下載後會出現 icc2_2019.12-sp1_linux.tgz 這個檔案,請至 /opt/EDA 目錄中解開:

# tar xfva icc2_2019.12-sp1_linux.tgz -C /opt/EDA

解完後會出現底下檔案/目錄:

2019.12-sp1
cur -> 2019.12-sp1/

接下來可以設定 .bashrc

請在 .bashrc 中設定:

ICC2_bin="/opt/EDA/icc2/cur/bin"

PATH=$PATH:$ICC2_bin


由於 IC Compiler 是 Check Synopsys 的 License 設定,因此我們可以直接沿用之前的設定,不必重新再修改 LM_LICENSE_FILE。

執行

icc2_shell -gui

執行後會出現底下錯誤訊息:

Warning: Cannot use command line editor for terminal type 'rxvt-unicode'. (CLE-100)
Cannot initialize GUI.
IceWM version 1.3.8+mod+20161220 is not supported. Plese upgrade to
version 1.3.8 or newer.

第一個錯誤訊息是說它不支援 rxvt-unicode 的終端機,我們可以執行:

export TERM=vt100

來重新設定 TERM,如此一來可以「騙過」icc2_shell 執行。

第二個錯誤訊息則是要更新 icewm 到 1.3.8 以上,我把 icewm 升級到 1.4.3 即可以正常執行,IC Compiler 2 是我第一個遇上會挑 Window Manager 的 EDA 工具。基本上絕大多數的 EDA 工具都不挑 Window Manager,ICC2 是目前遇到唯一的一個。