1、Linux 基本操作與網路安全VBird2003/06/23報告內容 什麼是電腦?硬體與作業系統的關係?Linux 是什麼?與 Linux 的功能?Linux 的操作介面與如何有效學習?Linux 的多人工作平台概念(帳號管理)Linux 檔案系統管理 Linux 程序管理與工作排程 Linux 套件管理員 Linux 問題的檢驗程序 Linux 網路安全簡述什麼是電腦?一堆硬體,配合一個可以管理硬體的作業系統,即成為電腦一詞。什麼是電腦?1960年代:Multics 計畫始末 1970年代初期:貝爾研究室的 Thompson 1973年:Ritchie 使 C 語言與 Unix 誕生 197
2、7年:Berkeley 大學的 BSD 的誕生 1980年初期:AT&T 的商業行為什麼是電腦?1984年:Stallman 的 FSF 與 GNU 計畫 自由軟體(free beer or free air?);通用授權(GNU General Public License)開放源碼(Open Source)影響:發展了數百個以上的好用軟體,全部取之於社群、用之於社群。什麼是電腦?GNU 的大問題:有軟體、沒有作業系統.Linux 是什麼?1991年:Linus Torvalds 的一則BBS簡訊Hello everybody out there using minix-Im doing a
3、(free)operation system(just a hobby,wont be big and professional like gnu)for 386(486)AT clones.Linux 是什麼?Linux=核心(Kernel)即是管理硬體的那個作業系統咯!核心在控制整個系統(軟、硬體)核心的功能不同,支援的硬體就不同 可以支援外掛模組(想像驅動程式)硬體驅動模組設計是硬體廠商的責任-每人一信、開發才會快!_Linux 是什麼?Linux distribution:僅有核心,能做的功能有限;架構在 GNU 的 GPL,由 GNU 與其他 Open Source 社群提供大量的軟
4、體在 Linux 這個核心上面;某些商業團體,將 Linux kernel 配合這些軟體套件(Packages)配套成為一可直接安裝在 X86 上的完整光碟。Linux 是什麼?Linux 的發行商(distributions)Red Hat Mandrake Linpus CLE.(共有將近兩百家)通通使用同一個核心功能!通通使用同一個核心功能!Linux 是什麼?Linux 的功能:桌上型電腦:Windows 能做的,在 Linux 上面都可以達到,不過,就是中文化差了點 KDE,GNOME 都是很優良、很漂亮的 Window Manager X Window 僅是一套軟體Linux 是什
5、麼?Linux 的功能:工作站(Workstations):軟體開發、三D美術開發、數值模式運算.伺服器:WWW,FTP,Mail,Proxy,File,Firewall,.Linux 是什麼?Linux 優點:網路功能強大、軟體眾多、Open Source Linux 缺點:入門門檻高、中文化不夠徹底 大眾的問題:認知不足誰說 Linux 架站容易?!Linux 是什麼?Linux 與 Windows 的比較?無法比較,因為兩者定位不同;各取所需,沒有誰好誰壞!Linux 的操作介面 圖形介面(X-Window System)KDE,GNOME.最大的優點是親和、中文化 文字介面(BASH
6、Shell)功能強大、但學習歷程較長 最大的優點是,更深入系統,適合系統管理員Linux 的操作介面 為何強調 Bash Shell?Bash shell 佔用資源較少,且由於來自 GNU,與 Linux kernel 相容性高;X Window 不但佔用資源較多,使系統運作龜速,且可能容易掛點;Shell scripts 能夠直接設計 program,可以很快速的管理好 Linux 主機;多人多工平台,較適合 Bash shell。如何有效學習?想玩一玩 Linux 而已:使用 X-Window 爽一爽即可 但不要架站喔!為了生活、為了興趣、為了管理:可以理解為什麼要這樣做?問題發生了,會知
7、道哪裡可能出錯?整個流程的檢驗程序清晰!如何有效學習?有心要學習,最好要會的咚咚:BASH 與最簡易的 vi(文書處理機)正規表示法(Regular Expression)Linux 的檔案、帳號等基本概念 套件的安裝(Package Manager)網路基礎觀念 至於架站.上面的學會了,架站自然就會了!如何有效學習?其他必備技巧:還是需要讀英文的!上網 Google 搜尋技巧;懂得找男人(man)注意閱讀螢幕出現的訊息資料;注意登錄檔資訊(log file)注意發問時提供的資訊如何有效學習?文書處理器 vi 管理員至少一定要會一種編輯器 vi 的使用:一般模式:移動、複製、刪除、貼上 編輯模
8、式:插入與取代文件 指令列模式:搜尋、自動取代、檔案存取等如何有效學習?線上查詢 man page 是否一定要背指令?man command man 5 configuration info command(尤其 GNU 提供的工具)/etc/man.conf(尤其自行安裝軟體)whatis filenameLinux 的多人工作平台 每個帳號均有自己的家目錄與相關的 mail box 以及其他帳號相關的操作環境之設定 Linux 僅認識 ID 數字:UID,GID 兩種 UID:0(root),165534(一般身份)三種身份:owner,group,others 與 Linux 檔案權限相
9、關性很高!/etc/passwd,/etc/shadow,/etc/group 密碼的設定技巧Linux 的多人工作平台 root 的重要性:系統管理、安全管理、套件管理.技術不是問題操守才是重點 多人維護之主機的 root 身份變換:即使是 root,亦建議使用一般身份操作平時的 Linux 作業;su,sudoLinux 檔案系統管理 檔案類型:file type regular files:data,ascii,binary programs.Directory device files:Block,Character 檔案系統類型:filesystem type ext2,ext3,r
10、eiserfs vfat,ntfs.Linux 檔案系統管理 樹狀目錄Linux 檔案系統管理 檔案權限 User,Group,Others 適合多人多工、可達保密防諜之目的Linux 檔案系統管理 檔案權限Linux 檔案系統管理 基本檔案與目錄管理操作 ls,pwd,cd,mkdir,rmdir cp,mv,rm,cat,nl,head,tail,less,more,file,diffLinux 檔案系統管理 檔案屬性的變換 chown,chgrp,chmod#chmod 777 barLinux 檔案系統管理 檔案的搜尋 which command(與 PATH 有關)whereis f
11、ilename locate filename find path type argumentsLinux 檔案系統管理 連結檔 hard link 不可跨 filesystems,不可連結 directory 所有的 link 為 0 時,檔案才會完蛋。Symbolic link 就是捷徑囉!Linux 檔案系統管理 磁碟分割槽與掛載問題:Linux 檔案系統管理 磁碟分割槽與掛載問題:每個 partition 就是一個完整的 filesystem 使用 mount 來掛載每一個 partition,需要有 mount point 來掛載(directory)#mount-t vfat/de
12、v/hda5/mnt/windows#mount-t ntfs/dev/hda6/mnt/winnt#mount-t ext3/dev/hdb1/mnt/linux2Linux 檔案系統管理 磁碟分割槽的分割問題:fdisk 的使用(需瞭解 MBR,partition 的基本觀念)mke2fs 來格式化 fsck 來檢驗磁區/etc/fstab 來開機掛載!Linux 程序管理與工作排程 什麼是程序?任何觸發系統工作的事件,系統會給予一個 process ID 來控制該事件的執行,這個 PID 就是程序!需要注意到,程序屬於誰?他的權限是不同的!而程序執行後輸出的訊息則與資料流有關!Linux
13、 程序管理與工作排程 如何觀察程序?top ps 常駐記憶體的程式(daemon,服務)在背景下執行 是系統正常運作所必需要的(syslog,cron)是某些服務提供所必需要的(www,mail.)Linux 程序管理與工作排程 程序的優先執行順序?Priority nice value nice 新的 PID renice 已存在的 PIDLinux 程序管理與工作排程 給予程序訊號,signal kill-signal PID-1 重新讀取設定檔-9 無條件強制驅離記憶體-15 正常方式關閉該 PIDLinux 程序管理與工作排程 重要的程序之一:syslog 系統在背景下工作的各項服務所
14、產生的訊息均統一由 syslog 這個服務(daemon)所管理/etc/syslog.conf/var/log/messages/var/log/secure.Linux 程序管理與工作排程 工作排程 循環式工作排程:crontab/etc/crontab 單一工作排程:at Linux 套件管理員 RPM 具有資料庫:容易安裝、升級、移除 在查驗及搜尋方面極為有效率 漏洞修補速度快速 最大的缺點:屬性相依的問題(這包含了版本、平台等等)Linux 套件管理員 Tarball 為原始碼(open source)大部分的 tarball 均支援跨平台 需要額外的套件支援:make,kernel
15、 source,gcc 等等 升級、反安裝等較為不方便Linux 套件管理員 沒有任何一套作業系統會完全滿足您,所以使用者必需要至少學習一種套件管理員,以提供自我程式資料庫的安裝!Linux 問題的檢驗程序 先查看螢幕出現的錯誤訊息;由螢幕出現的錯誤訊息以 man 來查尋該問題的解決方法;檢驗登錄檔(logfile)的錯誤記錄;由錯誤記錄反查該套件的設定檔或者相關指令的校正!個人小建議 學會一種以上的 package manager 務必努力去找男人!至少要會使用 vi 吧 _ 一定要瞭解 Linux 的目錄架構 一定要知道 User,Group,Others,以及 Process 之間的關係
16、!個人小建議 知道如何追查與克服問題:養成日誌觀察的好習慣!天助自助者!科技永遠來自於人類的惰性:知道 cron 的用途;訓練執行 BASH 與編寫 scripts 的能力個人小建議 會用比會考試應該要重要的多!由實作去體驗會比冥想有效的多!由搜尋取代發問會快速而有效的多!Linux 網路安全簡述 如何入侵與攻擊 Linux 主機?使用軟體套件的漏洞(ExWu-FTP)使用 port scan 軟體掃瞄後,以 root kit 攻擊軟體取得 Linux 主機的 root 功能 利用防火牆規則的不當規劃來滲透 使用玉石俱焚的當機手段Linux 網路安全簡述 那麼該如何預防?瞭解網路的基礎(不論
17、Linux 與 Windows 的網路基礎均是相同的!)將不同的服務分別設定在不同主機上 如何升級套件?瞭解如何啟動與關閉一個 service(daemon)如何架設防火牆?Linux 網路安全簡述 網路基礎 OSI 網路七層協定 Hub 與 Switch 的差異;網路卡卡號?TCP/IP 的相關重點:Public IP 與 Private IP?什麼是 port 與協定及 daemon?Linux 網路安全簡述 如何升級套件?RPM 由 Red Hat 或者是 中山大學 FTP 下載 RPM 套件;使用 rpm-Fvh 升級已安裝者需注意與硬體的搭配(EXKernel)Linux 網路安全簡
18、述 如何升級套件?Tarball 如何移除?需要哪些前驅套件?gcc,make,kernel source,kernel head.查看 INSTALL 與 READMELinux 網路安全簡述 如何查看自己的主機開了多少 port?netstat 與其參數;top,ps 等程序管理;nmap 等 port scan 軟體Linux 網路安全簡述 啟動與關閉 Services?Stand alone:/etc/rc.d/init.d/scripts(start|stop)Super daemon:vi/etc/xinetd.d/files/etc/rc.d/init.d/xinetd rest
19、art ps&killLinux 網路安全簡述 防火牆:一堆規則的比對,所以.就是設定一堆規則來限制登入 基礎防火牆:TCP_Wrappers 找到 daemon 名稱 編輯/etc/hosts.allow 與/etc/hosts.deny 編輯完畢,立即生效!Linux 網路安全簡述 基礎防火牆:iptables iptables-L-n 查看 共有三條鏈(chains),初級來說,只要管理 INPUT 即可!架設概念:關閉所有,啟動特定!能登入的 service 盡量限制進入點!Linux 網路安全簡述 基礎防火牆:iptables 使用 script 來啟動防火牆規則;#1.清除所有已存
20、在規則 iptables-F iptables-X iptables-ZLinux 網路安全簡述#2.設定預設規則 iptables-P INPUT DROP iptables-P OUTPUT ACCEPT iptables-P FORWARD ACCEPTLinux 網路安全簡述#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 ma
21、c-mac-source aa:bb:cc:dd:ee:ff-j ACCEPT#針對網路卡卡號!Linux 網路安全簡述-個人建議 主機服務單純化:Models 主機就只跑 Models,不要有太多的額外伺服器軟體啟用,且對於 ssh 登入點需要強烈的限制!最好僅允許中心內部連線;並且,防火牆可以設定的嚴格一點Linux 網路安全簡述-個人建議 主機服務單純化:伺服器的架設中,由於需要開放對外,因此,漏洞的即時修補為最重要的工作!最好可以使用自動更新的 scripts 來輔助系統管理!Linux 網路安全簡述-個人建議 備份的重要性:有防火牆仍無法高枕無憂!兩部電腦互相備份,可使用 scripts 並進入自動排程;仍須每個月定時手動將重要資料燒錄出來!報告完畢 敬請指教!