2017年1月5日 星期四

Linux基礎安全性設定-功能

Aapche

以下設定,皆是編輯 /etc/httpd/conf/httpd.conf
1.關閉Apache回應資訊功能
ServerTokens ProductOnly
ServerSignature Off
TraceEnable Off
2.設定 Cookie HttpOnly,降低XSS漏洞攻擊。
Header edit Set-Cookie ^(.*)$ $1;HttpOnly; Secure
較舊的版本則改用
Header set Set-Cookie HttpOnly;Secure
3.關閉Apache回應目錄功能
找到網頁放置目錄的標籤,在<Directory "/var/www">與</Directory>包含的區塊內新增
Options None
4.限制特定目錄的存取權限
例:限制phpMyAdmin目錄存取
找到phpmyadmin目錄的標籤(若沒有可自行建立)
在<Directory "/var/www/phpmyadmin">與</Directory>包含的區塊內新增
Order allow,deny
Allow from [來源IP]

PHP

以下設定,皆是編輯 /etc/php.ini
1.關閉開啟遠端檔案與include遠端檔案功能
allow_url_fopen = Off
allow_url_include = Off
2.禁用易造成危害的function
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
3.隱藏php版本(並無法增加安全性)
expose_php = Off
4.設定正確的時區
date.timezone = "Asia/Taipei"
5.限制腳本可取得的最大記憶體
memory_limit = 32M
6.關閉register_globals
本特性已自 PHP 5.3.0 起廢棄並將自 PHP 5.4.0 起移除。
register_globals = Off
7.關閉magic_quotes
本特性已自 PHP 5.3.0 起廢棄並將自 PHP 5.4.0 起移除。
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
8.關閉display_errors
display_errors = Off
9.使用HttpOnly cookie,降低XSS漏洞攻擊。
session.cookie_httponly = 1

參考連結(外部)

Linux基礎安全性設定-主機

限制連線權限

1.hosts限制
編輯hosts.allow檔案
vim /etc/hosts.allow
在檔案尾端加入欲開放連線的IP或網段,如有多個可用空白隔開,例如:
sshd:192.168.1.10 192.168.10.0/255.255.255.0

編輯hosts.deny檔案
vim /etc/hosts.deny
在檔案尾端加入欲禁止連線的IP或網段,如有多個可用空白隔開,一般會使用全部鎖定,例如:
ALL:ALL
2.ssh限制
編輯/etc/ssh/sshd_config檔案
vim /etc/ssh/sshd_config
修改下列內容,如列首有#請移除
Port 22
Protocol 2
PermitRootLogin no #關閉root登入
ClientAliveInterval 600 #使用者閒置關閉連線時間
ClientAliveCountMax 3 #容許閒置未回應的最大次數
AllowUsers demo@192.168.1.10 demo@192.168.10.* #指定可以SSH連線的帳號與IP

重啟服務後生效
注意!!重啟服務後請不要立即登出當前使用者,需另開連線確認使用者可正常連線
service sshd restart
3.iptables限制
新增連線規則,依需求可設定多個規則
iptables -A INPUT -s [來源IP] -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
注意!!設定下面這行建議在本機前進行操作
iptables -P INPUT DROP
4.Timeout閒置離線
設定閒置時間,自動登出,編輯/etc/profile檔案
vim /etc/profile
在檔案最末端加上export TMOUT=[時間](秒)
export TMOUT=1800

限制存取權限

一般使用者
創建普通使用者帳號取代root登入
建立使用者
useradd [使用者名稱]
設定密碼
passwd [使用者名稱]
特殊管理者
限制su
usermod –a –G wheel [使用者帳號]
編輯/etc/pam.d/su
vim /etc/pam.d/su
如列首有#請移除
auth required pam_wheel.so use_uid
使用者帳號有效期
檢視帳號有效期(Account expires)
chage -l [使用者帳號]
設定帳號有效期
chage -E yyyy-mm-dd [使用者帳號]
開放服務連線
Web(http)
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
Web(https)
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 443 -j ACCEPT
FTP
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

Windows SSL安全性設定

目的:為增加SSL安全性,進行以下設定
1.停用SSLv2、SSLv3協定
2.停用RC4演算加密
3.設定使用TLS 1.2
4.修改TLS的Diffie-Hellman質數至2048bits以上

OS:Windows Server 2008 R2 64bit

Ubuntu 使用apt-get -y update更新出現大量Failed to fetch 404 Not Found訊息

Ubuntu 使用apt-get -y update更新出現大量Failed to fetch 404 Not Found訊息,確認DNS可以解析網址也可連到網路,基本可排除網路問題。 原因判斷:Ubuntu版本過舊,其更新包路徑已不在原本sources.list檔案內的更新路徑...