62

20030623 linuxbasic and-security

  • Upload
    -

  • View
    244

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: 20030623 linuxbasic and-security
Page 2: 20030623 linuxbasic and-security

什麼是電腦?硬體與作業系統的關係? Linux 是什麼?與 Linux 的功能? Linux 的操作介面與如何有效學習? Linux 的多人工作平台概念 ( 帳號管理 ) Linux 檔案系統管理 Linux 程序管理與工作排程 Linux 套件管理員 Linux 問題的檢驗程序 Linux 網路安全簡述

Page 3: 20030623 linuxbasic and-security

一堆硬體,配合一個可以管理硬體的『作業系統』,即成為電腦一詞。

Page 4: 20030623 linuxbasic and-security

1960 年代: Multics 計畫始末1970 年代初期:貝爾研究室的

Thompson1973 年: Ritchie 使 C 語言與 Unix 誕生1977 年: Berkeley 大學的 BSD 的誕生1980 年初期: AT&T 的商業行為

Page 5: 20030623 linuxbasic and-security

1984 年: Stallman 的 FSF 與 GNU 計畫 自由軟體 (free beer or free air ?) ; 通用授權 (GNU General Public License) 開放源碼 (Open Source) 影響:發展了數百個以上的好用軟體,全部取之於社群、用之於社群。

Page 6: 20030623 linuxbasic and-security

GNU 的大問題:有軟體、沒有作業系統… .

Page 7: 20030623 linuxbasic and-security

1991 年: Linus Torvalds 的一則 BBS簡訊Hello everybody out there using minix- I'm doing a (free) operation system (just a

hobby, won't be big and professional like gnu) for 386(486) AT clones.

Page 8: 20030623 linuxbasic and-security

Linux = 核心 (Kernel) 即是管理硬體的那個作業系統咯! 核心在控制整個系統 ( 軟、硬體 ) 核心的功能不同,支援的硬體就不同 可以支援外掛模組 ( 想像驅動程式 ) 硬體驅動模組設計是『硬體廠商』的責任 -- 每人一信、開發才會快! ^_^

Page 9: 20030623 linuxbasic and-security

Linux distribution : 僅有核心,能做的功能有限; 架構在 GNU 的 GPL ,由 GNU 與其他

Open Source 社群提供大量的軟體在 Linux 這個核心上面; 某些商業團體,將 Linux kernel 配合這些軟體套件 (Packages) 配套成為一可直接安裝在

X86 上的完整光碟。

Page 10: 20030623 linuxbasic and-security

Linux 的發行商 (distributions) Red Hat Mandrake Linpus CLE …..( 共有將近兩百家 ) 通通使用同一個核心功能!

Page 11: 20030623 linuxbasic and-security

Linux 的功能: 桌上型電腦:▪ Windows 能做的,在 Linux 上面都可以達到,不過,就是中文化差了點~▪ KDE, GNOME 都是很優良、很漂亮的 Window

Manager▪ X Window 僅是『一套軟體』

Page 12: 20030623 linuxbasic and-security

Linux 的功能: 工作站 (Workstations) :▪ 軟體開發、三 D 美術開發、數值模式運算… .

伺服器:▪ WWW, FTP, Mail, Proxy, File, Firewall, ….

Page 13: 20030623 linuxbasic and-security

Linux 優點: 網路功能強大、軟體眾多、 Open Source

Linux 缺點: 入門門檻高、中文化不夠徹底

大眾的問題: 認知不足…誰說 Linux 架站容易?!

Page 14: 20030623 linuxbasic and-security

Linux 與 Windows 的比較?? 無法比較,因為兩者定位不同; 各取所需,沒有誰好誰壞!

Page 15: 20030623 linuxbasic and-security

圖形介面 (X-Window System) KDE, GNOME….. 最大的優點是親和、中文化

文字介面 (BASH Shell) 功能強大、但學習歷程較長 最大的優點是,更深入系統,適合系統管理員

Page 16: 20030623 linuxbasic and-security

為何強調 Bash Shell ? Bash shell 佔用資源較少,且由於來自 GNU ,與 Linux kernel 相容性高; X Window 不但佔用資源較多,使系統運作龜速,且可能容易掛點; Shell scripts 能夠直接設計 program ,可以很快速的管理好 Linux 主機; 多人多工平台,較適合 Bash shell 。

Page 17: 20030623 linuxbasic and-security

想玩一玩 Linux 而已: 使用 X-Window 爽一爽即可 但不要架站喔!

為了生活、為了興趣、為了管理: 可以理解為什麼要這樣做? 問題發生了,會知道哪裡可能出錯? 整個流程的檢驗程序清晰!

Page 18: 20030623 linuxbasic and-security

有心要學習,最好要會的咚咚: BASH 與最簡易的 vi ( 文書處理機 ) 正規表示法 (Regular Expression) Linux 的檔案、帳號等基本概念 套件的安裝 (Package Manager) 網路基礎觀念 至於架站… .. 上面的學會了,架站自然就會了!

Page 19: 20030623 linuxbasic and-security

其他必備技巧: 還是需要讀英文的! 上網 Google 搜尋技巧; 懂得找男人 ( man ) 注意閱讀螢幕出現的訊息資料; 注意登錄檔資訊 ( log file ) 注意發問時提供的資訊

Page 20: 20030623 linuxbasic and-security

文書處理器 vi 管理員至少一定要會一種編輯器 vi 的使用:▪ 一般模式:移動、複製、刪除、貼上▪ 編輯模式:插入與取代文件▪ 指令列模式:搜尋、自動取代、檔案存取等

Page 21: 20030623 linuxbasic and-security

線上查詢 man page 是否一定要『背』指令?▪ man command▪ man 5 configuration▪ info command (尤其 GNU 提供的工具 )▪ /etc/man.conf (尤其自行安裝軟體 )▪ whatis filename

Page 22: 20030623 linuxbasic and-security

每個帳號均有自己的家目錄與相關的 mail box 以及其他帳號相關的操作環境之設定

Linux 僅認識 ID 數字: UID, GID 兩種 UID : 0(root), 1~65534( 一般身份 )

三種身份: owner, group, others 與 Linux 檔案權限相關性很高!

/etc/passwd, /etc/shadow, /etc/group密碼的設定技巧

Page 23: 20030623 linuxbasic and-security

root 的重要性: 系統管理、安全管理、套件管理… .. 『技術』不是問題『操守』才是重點

多人維護之主機的 root 身份變換: 即使是 root ,亦建議使用一般身份操作平時的 Linux 作業; su, sudo

Page 24: 20030623 linuxbasic and-security

檔案類型: file type regular files: data, ascii, binary

programs.. Directory device files: Block, Character

檔案系統類型: filesystem type ext2, ext3, reiserfs vfat, ntfs…..

Page 25: 20030623 linuxbasic and-security

樹狀目錄

Page 26: 20030623 linuxbasic and-security

檔案權限 User, Group, Others 適合多人多工、可達保密防諜之目的

Page 27: 20030623 linuxbasic and-security

檔案權限

Page 28: 20030623 linuxbasic and-security

基本檔案與目錄管理操作 ls, pwd, cd, mkdir, rmdir cp, mv, rm, cat, nl, head, tail, less, more, file, diff

Page 29: 20030623 linuxbasic and-security

檔案屬性的變換 chown, chgrp, chmod # chmod 777 bar

Page 30: 20030623 linuxbasic and-security

檔案的搜尋 which command ( 與 PATH 有關 ) whereis filename locate filename find path type arguments

Page 31: 20030623 linuxbasic and-security

連結檔 hard link▪ 不可跨 filesystems, 不可連結 directory▪ 所有的 link 為 0 時,檔案才會完蛋。

Symbolic link▪ 就是『捷徑』囉!

Page 32: 20030623 linuxbasic and-security

磁碟分割槽與掛載問題:

Page 33: 20030623 linuxbasic and-security

磁碟分割槽與掛載問題: 每個 partition 就是一個完整的 filesystem 使用 mount 來掛載每一個 partition , 需要有 mount point 來掛載 (directory) # mount -t vfat /dev/hda5 /mnt/windows # mount -t ntfs /dev/hda6 /mnt/winnt # mount -t ext3 /dev/hdb1 /mnt/linux2

Page 34: 20030623 linuxbasic and-security

磁碟分割槽的分割問題: fdisk 的使用 ( 需瞭解 MBR, partition 的基本觀念 ) mke2fs 來格式化 fsck 來檢驗磁區 /etc/fstab 來開機掛載!

Page 35: 20030623 linuxbasic and-security

什麼是程序? 任何觸發系統工作的事件,系統會給予一個

process ID 來控制該事件的執行,這個 PID 就是程序! 需要注意到,程序『屬於誰?他的權限是不同的!』而程序執行後輸出的訊息則與資料流有關!

Page 36: 20030623 linuxbasic and-security

如何觀察程序? top ps

常駐記憶體的程式 (daemon, 服務 ) 在背景下執行 是系統正常運作所必需要的 (syslog,cron) 是某些服務提供所必需要的 (www, mail..)

Page 37: 20030623 linuxbasic and-security

程序的優先執行順序? Priority nice value▪ nice 新的 PID▪ renice 已存在的 PID

Page 38: 20030623 linuxbasic and-security

給予程序『訊號 , signal 』 kill -signal PID▪ -1 重新讀取設定檔▪ -9 無條件強制驅離記憶體▪ -15 正常方式關閉該 PID

Page 39: 20030623 linuxbasic and-security

重要的程序之一: syslog 系統在背景下工作的各項服務所產生的『訊

息』均統一由 syslog 這個服務 (daemon) 所管理 /etc/syslog.conf /var/log/messages /var/log/secure ...

Page 40: 20030623 linuxbasic and-security

工作排程 循環式工作排程:▪ crontab▪ /etc/crontab

單一工作排程:▪ at

Page 41: 20030623 linuxbasic and-security

RPM 具有資料庫:容易安裝、升級、移除 在查驗及搜尋方面極為有效率 漏洞修補速度快速 最大的缺點:屬性相依的問題 ( 這包含了版本、平台等等 )

Page 42: 20030623 linuxbasic and-security

Tarball 為原始碼 (open source) 大部分的 tarball 均支援跨平台 需要額外的套件支援: make, kernel

source, gcc 等等 升級、反安裝等較為不方便

Page 43: 20030623 linuxbasic and-security

沒有任何一套作業系統會『完全』滿足您,所以使用者必需要至少學習一種套件管理員,以提供自我程式資料庫的安裝!

Page 44: 20030623 linuxbasic and-security

先查看螢幕出現的錯誤訊息; 由螢幕出現的錯誤訊息以 man 來查尋該問題的解決方法; 檢驗登錄檔 (logfile) 的錯誤記錄; 由錯誤記錄反查該套件的設定檔或者相關指令的校正!

Page 45: 20030623 linuxbasic and-security

學會一種以上的 package manager務必努力去找男人!至少要會使用 vi 吧~~ ^_^ 一定要瞭解 Linux 的目錄架構 一定要知道 User, Group, Others ,以及

Process 之間的關係!

Page 46: 20030623 linuxbasic and-security

知道如何追查與克服問題: 養成日誌觀察的好習慣! 天助自助者!

科技永遠來自於人類的惰性: 知道 cron 的用途; 訓練執行 BASH 與編寫 scripts 的能力

Page 47: 20030623 linuxbasic and-security

『會用』比『會考試』應該要重要的多!由『實作』去體驗會比冥想有效的多!由『搜尋』取代『發問』會快速而有效的多!

Page 48: 20030623 linuxbasic and-security

如何入侵與攻擊 Linux 主機? 使用軟體套件的漏洞 (Ex>Wu-FTP) 使用 port scan 軟體掃瞄後,以 root kit 攻擊軟體取得 Linux 主機的 root 功能 利用防火牆規則的不當規劃來滲透 使用玉石俱焚的當機手段

Page 49: 20030623 linuxbasic and-security

那麼該如何預防? 瞭解網路的基礎 ( 不論 Linux 與 Windows 的網路基礎均是相同的! ) 將不同的服務分別設定在不同主機上 如何升級套件? 瞭解如何啟動與關閉一個 service (daemon) 如何架設防火牆?

Page 50: 20030623 linuxbasic and-security

網路基礎 OSI 網路七層協定 Hub 與 Switch 的差異; 網路卡卡號? TCP/IP 的相關重點:▪ Public IP 與 Private IP ?▪ 什麼是 port 與協定及 daemon ?

Page 51: 20030623 linuxbasic and-security

如何升級套件? RPM ▪ 由 Red Hat 或者是 中山大學 FTP 下載 RPM 套件;▪ 使用 rpm -Fvh 升級已安裝者▪ 需注意與硬體的搭配 (EX>Kernel)

Page 52: 20030623 linuxbasic and-security

如何升級套件? Tarball▪ 如何移除?▪ 需要哪些前驅套件?▪ gcc, make, kernel source, kernel head….

▪ 查看 INSTALL 與 README

Page 53: 20030623 linuxbasic and-security

如何查看自己的主機開了多少 port ? netstat 與其參數; top, ps 等程序管理; nmap 等 port scan 軟體

Page 54: 20030623 linuxbasic and-security

啟動與關閉 Services? Stand alone:▪ /etc/rc.d/init.d/scripts (start|stop)

Super daemon:▪ vi /etc/xinetd.d/files▪ /etc/rc.d/init.d/xinetd restart

ps & kill

Page 55: 20030623 linuxbasic and-security

防火牆: 一堆規則的比對,所以… .就是設定一堆規則來限制登入

基礎防火牆: TCP_Wrappers 找到 daemon 名稱 編輯 /etc/hosts.allow 與 /etc/hosts.deny 編輯完畢,立即生效!

Page 56: 20030623 linuxbasic and-security

基礎防火牆: iptables iptables -L -n 查看 共有三條鏈 (chains) ,初級來說,只要管理

INPUT 即可! 架設概念:▪ 關閉所有,啟動特定!▪ 能登入的 service 盡量限制進入點!

Page 57: 20030623 linuxbasic and-security

基礎防火牆: iptables 使用 script 來啟動防火牆規則;▪ # 1. 清除所有已存在規則▪ iptables -F▪ iptables -X▪ iptables -Z

Page 58: 20030623 linuxbasic and-security

▪ # 2. 設定預設規則▪ iptables -P INPUT DROP▪ iptables -P OUTPUT ACCEPT▪ iptables -P FORWARD ACCEPT

Page 59: 20030623 linuxbasic and-security

▪ # 3. 設定進入 (INPUT) 規則▪ iptables -A INPUT -p TCP -i eth0 -s

192.168.0.0/24 -j ACCEPT #針對 IP▪ iptables -A INPUT -p TCP -i eth0 --dport 80 -j

ACCEPT # 針對 daemon▪ iptables -A INPUT -m mac --mac-source

aa:bb:cc:dd:ee:ff -j ACCEPT # 針對網路卡卡號!

Page 60: 20030623 linuxbasic and-security

主機服務單純化: Models 主機就只跑 Models ,不要有太多的額外伺服器軟體啟用,且對於 ssh 登入點需要『強烈的限制!』最好僅允許中心內部連線;並且,防火牆可以設定的嚴格一點

Page 61: 20030623 linuxbasic and-security

主機服務單純化: 伺服器的架設中,由於需要開放對外,因此,漏洞的即時修補為最重要的工作!最好可以使用自動更新的 scripts 來輔助系統管理!

Page 62: 20030623 linuxbasic and-security

備份的重要性: 有防火牆仍無法高枕無憂! 兩部電腦互相備份,可使用 scripts 並進入自動排程; 仍須每個月定時手動將重要資料燒錄出來!