AWS 從 0 到 1

-一段 4/6 的打情罵俏-

本課重點

  • Build VsFTP server
    • Introduction
    • Setup
    • Setting
    • Using
  • FireWall Introduction

Build VsFTP Server

Introduction

Introduction

Installation

Installation

僅允許訪客登入

Configuration

啟用服務器

查看是否啟用通訊埠

開啟對外通訊埠

開啟對外通訊埠

Windows 上連接

僅允許使用者登入

檔案預設權限:umask = [number]

umask 的分數指的是該預設值需要減掉的權限

 

Example.

     umask = 022

     建立目錄權限為:777

     建立檔案權限為:666

     實際建立目錄權限為:777 - 022 = 755 = rwx r-x r-x

     實際建立檔案權限為:666 - 022 = 644 = rw-  r--  r--

撰寫歡迎語詞

在 config 中的相同位置建立檔案

填入歡迎語詞

設定禁止使用者名單

檔案位置:/etc/vsftpd/user_list

填入禁止名單

重啟服務器

內部測試登入

FTP 常用指令說明

    ls           查看 Server 端的目錄或檔案
    pwd      查看 Server 端目前所在的目錄
    cd          變更 Server 端目前的目錄
    cdup     變更 Server 端目前的目錄到上一目錄
    lls          查看 Local 端的目錄或檔案
    lcd         變更 Local 端目前的目錄
    get         將 Server 端的檔案拷貝至 Local 端現在目錄下
    mget     拷貝多個 Server 端的檔案至 Local 端現在目錄下
    put         將 Local 端的檔案拷貝至 Server 端現在目錄下
    mput     拷貝多個 Local 端的檔案至 Server 端現在目錄下
    delete    刪除 Server 端的檔案
    mkdir    在 Server 端建立目錄
    rmdir     刪除 Server 端的目錄
    !              shell 指令
    !ls           查看 Local 端的目錄或檔案
    ?,help     指令使用說明
    bye         結束 FTP

Windows 上連接

Windows 上連接

訪客登入加回去

Windows 上連接

Windows 上連接

Security setting of VsFTP

訪客登入

使用者登入

設定 chroot

chroot : 更改使用者預設根目錄

修改 vsftpd.conf

設定特定使用者不被 chroot

在 config 中的相同位置建立檔案

添加特定使用者

MobaXterm 上連接

是否儲存連接伺服器的密碼在本端

未設定前一般使用者

未設定前一般使用者

設定後一般使用者

設定後特殊使用者

匿名使用者權限

匿名使用者權限

新增匿名使用者上傳資料夾

上傳測試

查看上傳資料權限

測試下載資料權限

最後設定開機自動啟用

FireWall Introduction

圖片來源:Linux 鳥哥私房菜

圖片來源:Linux 鳥哥私房菜

Configuration

選項與參數:
-AI 鏈名:針對某的鏈進行規則的 "插入" 或 "累加"
      -A  :新增加一條規則,該規則增加在原本規則的最後面,例如 INPUT, OUTPUT, FORWARD 等
      -I    :插入一條規則。如果沒有指定此規則的順序,預設是插入變成第一條規則     

-io 網路介面:設定封包進出的介面規範
      -i    :封包所進入的那個網路介面,例如 eth0, lo 等介面。需與 INPUT 鏈配合
      -o   :封包所傳出的那個網路介面,需與 OUTPUT 鏈配合

-p 協定:設定此規則適用於哪種封包格式,主要的封包格式有: tcp, udp, icmp 及 all

-s 來源 IP/網域:設定此規則之封包的來源項目,可指定單純的 IP 或包括網域
      -s !  192.168.100.0/24 表示不許 192.168.100.0/24 之封包來源

-d 目標 IP/網域:同 -s ,只不過這裡指的是目標的 IP 或網域

-j :後面接動作,主要的動作有接受(ACCEPT)、丟棄(DROP)、拒絕(REJECT)及記錄(LOG)

選項與參數:
-t :後面接 table ,例如 nat 或 filter ,若省略此項目,則使用預設的 filter
-L :列出目前的 table 的規則
-n :不進行 IP 與 HOSTNAME 的反查,顯示訊息的速度會快很多!
-v :列出更多的資訊,包括通過該規則的封包總位元數、相關的網路介面等

指令操作

清除所有預設規則

新增主要鏈規則

選項與參數:
-F :清除所有的已訂定的規則;
-X :殺掉所有使用者 "自訂" 的 chain (應該說的是 tables )囉;
-Z :將所有的 chain 的計數與流量統計都歸零

選項與參數:
-P     :定義政策( Policy )。注意 P 為大寫啊
ACCEPT :該封包可接受
DROP   :該封包直接丟棄,不會讓 client 端知道為何被丟棄
 
由於 INPUT 設定為 DROP 所以所有的封包都無法進入你的主機,
如果以遠端操作的話會被屏除在外,故建議寫入 Shell Script中執行

指令操作

自行制定規則

選項與參數:
--sport 埠口範圍:限制來源的埠口號碼,埠口號碼可以是連續的,例如 1024:65535
--dport 埠口範圍:限制目標的埠口號碼。

-m :一些 iptables 的外掛模組,主要常見的有:
     state :狀態模組
     mac   :網路卡硬體位址 (hardware address)

--state :一些封包的狀態,主要有:
     INVALID    :無效的封包,例如資料破損的封包狀態
     ESTABLISHED:已經連線成功的連線狀態;
     NEW        :想要新建立連線的封包狀態;
     RELATED    :這個最常用!表示這個封包是與我們主機發送出去的封包有關

儲存防火牆規則:iptables-save

Made with Slides.com