系統安全實務

系統保全

一般事項

  1. 架 構 防 火 牆
  2. 定 期 維 護 系 統 , 執 行 ISS (Internet Security Scanner) 、 Tiger 、 Crack 、 COPS 、 Tripware 等 .
  3. 執 行 rpcinfo , 確 定 rsh、rexec 等 service 不 被 啟 動 .
  4. 關 閉 TFTP service.
  5. 檢 查 /etc/hosts.equiv 或 任 何 user 的 .rhosts 檔 .
  6. 檢 查 user 的 .forward
  7. 檢 查 user 的 .netrc
  8. 用 showmount -e 檢 查 FileSystem 的 狀 況 .
  9. 在 X Window 中 使 用 Xauthority .
  10. 定 期 做 一 次 suid 程 式 列 表 , 並 將 已 知 有 security 問 題 程 式 關 畢 , 如 rdist , pstat , and arp 等 ...
  11. 架 設 tcp_wrapper 、 Identd
  12. 增 加 /etc/ftpusers
  13. modify ur /etc/ttytab , to limit the secured tty ...
  14. chmod 600 /dev/eeprom
  15. add umask 022 to /etc/rc & /.login ( even umask 077)
  16. don't use suid shell script..

    (symbolic link orig. #!/bin/sh -> #!/bin/sh -i ) (race condition, 單工 kernel) (...)

  17. ...

特定 daemon 注意事項

sendmail
mail 這 個 service 算 是 系 統 內 使 用 者 需 求 和 依 賴 度 最 高 的 一 個 程 式 , 而 主 管 送 信 、 收 信 的 sendmail , 卻 是 UNIX 中 , 最 常 發 生 系 統 安 全 問 題 的 。 然 而 很 不 幸 的 , 隨 著 原 廠 OS 內 附 的 sendmail , 總 是 有 著 令 人 膽 戰 心 驚 的 附 加 功 能 , 就 是 常 常 都 有 一 些 可 以 讓 無 聊 人 士 做 為 入 侵 路 徑 的 bug 或 後 門 , 某 些 bug 更 會 讓 入 侵 者 取 得 系 統 最 高 權 限 -- root!

sendmail 算 是 UNIX 最 基 本 的 功 能 , 也 是 問 題 最 多 的 一 個 程 式 。 在 80 年 代 有 名 的 Internet worm 事 件 , 其 一 的 主 角 就 是 sendmail 。 當 你 透 過 mail port 進 入 一 台 工 作 站 時 , 你 可 以 下 一 些 指 令 , 透 過 某 些 指 令 、 技 巧 , 便 可 以 要 求 系 統 以 root 來 作 一 些 事 . 在 更 早 以 前 , 更 可 以 用 wizard 、 debug 這 些 指 令 做 同 樣 的 事 。 sendmail debug 這 個 洞 已 經 很 古 老 了 , 一 般 來 說 , 已 不 復 見 。 (出 現 在 SunOS4.0.x 或 sendmail 5.x 版 以 前)

而 目 前 SunOS 的 第 一 種 bug 是 可 以 讓 任 何 使 用 者 進 入 mail port 以 後 , 要 系 統 寄 任 何 一 個 檔 給 你 (ex: /etc/passwd) , 再 以 一 些 程 式 來 破 解 密 碼 . 只 要 是 一 台 不 曾 換 過 sendmail 或 patch 的 SunOS 之 站 台 , 一 定 存 在 這 種 問 題 . 但 幸 運 的 是 , 這 個 方 法 會 留 下 log .

第 二 個 bug 為 /etc/aliases 中 設 定 decoder 類 的 alias (ex: /usr/bin/uudecode) , 讓 入 侵 者 可 以 把 檔 案 擺 在 某 一 個 地 方 . 最 常 見 的 是 .rhosts . 接 下 來 便 可 以 rlogin 進 來。

第 三 個 是 /bin/mail , 因 為 他 是 個 suid 程 式 , 而 且 用 了 open() 這 個 系 統 呼 叫 ...

第 四 個 是 /usr/spool/mail 是 1777 , 在 讀 寫 mail 時 , user 有 辦 法 建 一 個 link 寫 入 資 料 。

還 有 一 個 最 新 的 , sendmail & syslogd 的 問 題 ... 入 侵 者 可 進 入 mail port 後 , 將 syslogd buffer 灌 爆 , 再 利 用 syslogd 來 寫 入 其 他 資 料 .

目 前 最 新 的 sendmail 版 本 是 8.7.3 。 可 在 nctuccca:/package/mail/sendmail 下 取 得 。

httpd (WWW)
NCSA Httpd 1.3 版 以 前 有 buffer overflow 問 題.
ftpd
ftpd 是 系 統 主 管 send/receive 遠 端 系 統 的 系 統 程 式 。 而 ftp 算 是 使 用 者 取 得 檔 案 、 資 料 最 快 速 的 一 個 方 法 , 但 許 多 設 定 不 良 的 系 統 , 也 造 成 cracker 入 侵 的 一 個 捷 徑 。 目 前 最 有 名 的 ftp server 程 式 是 由 華 盛 頓 大 學 所 發 展 的 wu-ftpd . 可 在 ftp.uu.net 下 的 /networking/ftp/wuarchive-ftpd 取 得 。

Anonymoys ftp server 的建置有幾個要點:

  1. 在 /etc/passwd 下開一個 null account. 如:

    ftp:*:400:400:Anonymous FTP:/home/ftp:/bin/non-exist

  2. mkdir /home/ftp ; chmod 555 ~ftp; chown root ~ftp
  3. mkdir ~ftp/bin ; chown 111 ~/ftp/bin
  4. cp /bin/ls ~ftp/bin ; chmod 111 ~ftp/bin/ls; chown root ~ftp/bin/ls
  5. mkdir ~/ftp/etc, 然後內容只有 root、ftp 等..

    ex:
    root:*:0:0:SYSADM::
    ftp:*:400:400:FTP User::

  6. mkdir ~ftp/pub ; touch ~ftp/.rhost ~ftp/.forward;
    chmod 400 .rhost .forward
  7. touch /usr/spool/mail/ftp ; chmod 400 /usr/spool/mail/ftp
  8. mkdir dev; /dev/MAKEDEV zero
  9. mkdir ~ftp/lib ; cp /lib/libc.so ~ftp/lib; chmod 555 ~ftp/lib/libc.so ....

其 餘 還 有 Anonymous ftp user 限 制 、 upload 區 檔 案 權 限 等 ... 須 參 考 ftpd 的 說 明 文 件 。


[ 網際工作室首頁 | 教育中心根目錄 | 上一頁 ]
INTERNET STUDIO 網路教材, 若有任何建議或意見, 歡迎寫信到 tutor@www.fido.net.tw