Upload
tim-hsu
View
1.379
Download
3
Embed Size (px)
Citation preview
HARDEN YOU LINUXTDOH.ONLINE 2016
TIM HSU
徐千洋 (TIM HSU)
CHROOT 創辦人HITCON 創辦人網駭科技 創辦人曾任:台灣大哥大 資安部經理現職:VARMOUR 美商安連網路公司台灣分公司
如何避免被遠端命令執行
如何利用 DOCKER 強化網站安全https://www.youtube.com/watch?v=L5T8-ITjDn8
遠端命令執行 (REMOTE CODE EXECUTION)
browser httpd php login.php
/bin/sh
遠端命令執行 (REMOTE CODE EXECUTION)
browser httpd php upload.php
webshell.php/bin/sh
• 針對程序作存取控制
/usr/sbin/nginx {
#include <abstractions/apache2-common> #include <abstractions/base>
capability dac_override, capability net_bind_service, capability setgid, capability setuid,
/etc/passwd r, /etc/group r, deny /bin/sh mrwklx,}
如何避免系統被提權
LINUX KERNEL 4.4.0 'AF_PACKET' RACE CONDITION PRIVILEGE ESCALATION
核心再強化,避免核心提權• CONFIG_RANDOMIZE_BASE• CONFIG_RANDOMIZE_MEMORY• CONFIG_SLAB_FREELIST_RANDOM• CONFIG_DEBUG_RODATA• CONFIG_HARDENED_USERCOPY• CONFIG_VMAP_STACK• CONFIG_THREAD_INFO_IN_TASK
• 針對程序作存取控制
/bin/bash {
deny /tmp/** mrwklx, deny /var/tmp/** mrwklx, deny /home/** mrwklx, }
安全強化目的• 降低系統遭 WEB/AP 高風險漏洞攻擊時之影響• 在已知漏洞仍不及修補時給予適當保護• 減少管理者在維護時操作上之疏失
基本強化心法• 所有操作和服務,盡量用最小權限• 檔案若是在可寫入的目錄,則不應該可被執行• 所有帳號權限應該作執行環境的限制
強化方式• 權限切割及限制
• 網站 /AP 權限• 不可登入• 限制檔案及目錄寫入• 禁止執行所有系統命令
• 伺服器管理員• 正常維護
• ROOT• 緊急維護
• 系統設定強化• 啟動作業系統核心安全性參數• 增加檔案系統安全性參數
權限切割及限制• 網站/AP 權限
• 不可登入• 限制檔案及目錄寫入• 禁止執行所有系統命令
• 伺服器管理員• 正常維護
• ROOT• 緊急維護
維護分級• 正常維護
• 透過 SUDO 執行• 伺服器啟動 / 暫停 /重啟• AP 程式更新
• 緊急維護 (切換成 ROOT)• 主機 REBOOT/SHUTDOWN• 檔案系統維護• 新增移除帳號• 修改網站及系統設定
強化內容• 改變指令操作權限• 移除危險指令• 移除所有編譯器• 修改 KERNEL 安全參數• 檔案系統掛載參數調整
STEP 1
• 建立 WEB 管理者帳號 : WEBADMIN, GID 請設為 0, 加入 ROOT GROUP • EXAMPLE:• UID=500(WEBADMIN) GID=0(ROOT) GROUPS=0(ROOT)
STEP 2• 增加 SUDO 權限,使用 VISUDO ,確認讓登入的一般帳號可透過 SUDO 切換身份至 WEBADMIN • • ( 登入帳號 ) ALL= /BIN/SU WEBADMIN• • EXAMPLE: 登入帳號為 NEWBUG• 解除下列三項註解 :• CMND_ALIAS NETWORKING• CMND_ALIAS SERVICES• CMND_ALIAS PROCESSES• 加入下列兩行• TIMHSU ALL= /BIN/SU WEBADMIN• WEBADMIN ALL=(ROOT) NETWORKING,SERVICES,PROCESSES
STEP 3
• 限制 WEBADMIN 遠端登入• • 在 /ETC/SSH/SSHD_CONFIG 中加入• DENYGROUPS ROOT
STEP 4
• 改變 AP HOME 目錄 OWNER ,假設 WEB AP 放在 /HOME/AP 目錄下• CHOWN –R WEBADMIN.ROOT /HOME/AP
STEP 5
• 改變指令操作權限,將系統指令全部只允許 ROOT 及 ROOT GROUP 使用• CHMOD O-X /BIN/*• CHMOD O-X /USR/BIN/*• CHMOD O-X /SBIN/*• CHMOD O-X /USR/SBIN/*• CHMOD O-X /USR/LOCAL/BIN/*• CHMOD O-X /USR/LOCAL/SBIN/*
STEP 6
• 確認核心安全參數值是否如下 :• • # SYSCTL KERNEL.EXEC-SHIELD• KERNEL.EXEC-SHIELD = 1• # SYSCTL KERNEL.RANDOMIZE_VA_SPACE• KERNEL.RANDOMIZE_VA_SPACE = 2• # SYSCTL VM.MMAP_MIN_ADDR• VM.MMAP_MIN_ADDR = 4096
STEP 7
• 檔案系統掛載參數調整 :• 修改 /ETC/FSTAB 加載 NOSUID,NOEXEC 參數,修改完畢使用 MOUNT -A 重新掛載或 REBOOT• /TMP• /VAR/TMP• /DEV/SHM• EXAMPLE: /ETC/FSTAB• TMPFS /TMP TMPFS RW,NOSUID,NOEXEC,AUTO,NOUSER,ASYNC 0 0• TMPFS /DEV/SHM TMPFS RW,NOSUID,NOEXEC,AUTO,NOUSER,ASYNC
0 0• TMPFS /VAR/TMP TMPFS RW,NOSUID,NOEXEC,AUTO,NOUSER,ASYNC 0
0
常見系統維運方式伺服器及 AP 管理員root
一般帳號 系統帳號• 最高權限• 不允許遠端直接登入• 只能從伺服器管理者切換身份
• 一般權限• 可透過 su 切換成 root• 最低權限• 不可登入系統
強化後維運分級
伺服器及 AP 管理員root
一般帳號 系統帳號
• 最高權限• 不允許遠端直接登入• 只能從伺服器管理者切換身份• 限制使用危險指令 (Ex:dd/
fdisk)• 記錄所有操作的時間及命令
強化後維運分級
伺服器及 AP 管理員root
一般帳號 系統帳號
• 次高權限• 有權限對伺服器作各種維護操作 (EX:service /server
restart )• 記錄所有操作的時間及命令• 不具 AP 目錄寫入權限
強化後維運分級
伺服器及 AP 管理員root
一般帳號 系統帳號
• 一般權限• 可透過 sudo 切換成伺服器管理員或 AP 管理員• 限制可操作之命令• 記錄所有操作的時間及命令• 不具 AP 目錄寫入權限
強化後維運分級
Private &
Confidential - 29 -
伺服器及 AP 管理員root
一般帳號 系統帳號
• 最低權限• 不可登入系統• 限制可操作之命令• 限制檔案傳送目錄
Q&A
感謝各位聆聽[email protected]
HTTP://GITHUB.COM/TIMHSUTWHTTPS://WWW.FACEBOOK.COM/TIMHSU.TW