顯示具有 apache2 標籤的文章。 顯示所有文章
顯示具有 apache2 標籤的文章。 顯示所有文章

2025/06/26

本次的ZAP掃出以下的中風險







去年已經出現 本來想說去年應該已經解決了
但今年還是看到 可能是解決不完整

先在 apache 的 CSP 設定內加入以下二行

frame-ancestors 'self';
form-action 'self';

再來處理 style-src
先把 'unsafe-inline' 拿掉
接下來處理的方式有二種

如果在html檔裡直接定義 css 

要使用 hash 或 nonce
使用 nonce 是比較方便的做法

首先在 apache config 裡

style-src 這個定義加上 'nonce-12345678'

12345678 建議置換為亂碼

之後在 css 定義裡加上 nonce 定義
nonce的字串必須跟apahce config裡的相同

<style nonce="123456789" type="text/css">
</style>

修改 html內文 把原本直接定義的style改成先定義css再引用 

例如原本是

<a href="123456.exe" style="color:red;">123456</a>

要改成

<a href="123456.exe" class="red-text">123456</a><br>

同時在上方的css定義加入 red-text

<style nonce="sjdfhs6849" type="text/css">

.red-text {
  color: red;
  font-size: 21px;
}

</style>


另外不使用 hash 跟 nonce 的方法是 把css以獨立檔案定義後再引用

建立 style.css

檔案內容如下

.red-text {
  color: red;
  font-size: 21px;
}

接下來在 html 的head中引用

<head>
<link rel="stylesheet" href="style.css">
</head>

html內文的修正方法如上

2024/05/22

這几天用ZAP在弱掃

當網站很大時 因為會產生很大量的cache

所以要確保執行弱掃那台几器的HD空間要夠

不然有可能還沒做完就爆了

另外有很多網站都出現以下的報告


 


查了一下 可以在httpd.conf 設定

新增以下內容


<IfModule mod_headers.c>

Header set X-Frame-Options "SAMEORIGIN"

Header set Content-Security-Policy "default-src 'self'"

</IfModule>


設完要重啟apache

另外 如果有參考到外面的任何元件

版面是會亂掉的

這個要特別注意


設完後再掃一次出現另一個報告




如果要再處理

Header set 就要再改成如下的設定


Header set Content-Security-Policy "frame-ancestors 'self'; form-action 'self'; base-uri 'self'; img-src 'self'; default-src 'self'; script-src 'self'; style-src 'self';"


當然影響範圍就會更大


https://lawrencechuang760223.medium.com/%E5%A6%82%E4%BD%95%E5%9C%A8apache-server%E4%B8%8B%E6%96%B0%E5%A2%9Ex-frame-options%E8%88%87content-security-policy%E8%87%B3response-header%E4%B8%AD-fix-web-application-d68209ff385c


https://medium.com/@andy001018/owasp-zap-%E5%BC%B1%E6%8E%83%E8%99%95%E7%90%86%E7%B4%80%E9%8C%84-2fb0f4888908

2022/01/01

本次弱掃出現很多台几器有相同的問題


Vulnerability Detection Result

'Vulnerable' cipher suites accepted by this service via the TLSv1.0 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

'Vulnerable' cipher suites accepted by this service via the TLSv1.1 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

'Vulnerable' cipher suites accepted by this service via the TLSv1.2 protocol:

TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)

TLS_RSA_WITH_3DES_EDE_CBC_SHA (SWEET32)


處理方法如下

vi /etc/httpd/conf.d

修改如下

 

#SSLProtocol all -SSLv2 -SSLv3

SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1


#   SSL Cipher Suite:

#   List the ciphers that the client is permitted to negotiate.

#   See the mod_ssl documentation for a complete list.

#SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA


SSLCipherSuite HIGH:!3DES:!aNULL:!MD5:!SEED:!IDEA


改完後 restart 

systemctl restart httpd


以nmap進行測試


nmap --script ssl-enum-ciphers -p 443 10.0.0.1

Starting Nmap 7.80 ( https://nmap.org ) at 2022-01-01 13:54 CST

Nmap scan report for www.nkuht.edu.tw (10.0.0.1)

Host is up (0.00029s latency).


PORT    STATE SERVICE

443/tcp open  https

| ssl-enum-ciphers:

|   TLSv1.2:

|     ciphers:

|       TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_256_GCM_SHA384 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 (dh 2048) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA256 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_256_CBC_SHA (dh 2048) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256 (secp256r1) - A

|       TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA (secp256r1) - A

|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA256 (dh 2048) - A

|       TLS_DHE_RSA_WITH_AES_128_CBC_SHA (dh 2048) - A

|       TLS_RSA_WITH_AES_256_GCM_SHA384 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_GCM_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_256_CBC_SHA (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA256 (rsa 2048) - A

|       TLS_RSA_WITH_AES_128_CBC_SHA (rsa 2048) - A

|     compressors:

|       NULL

|     cipher preference: server

|_  least strength: A


Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds

2021/08/29

在ubuntu 設定 apache2 的SSL


安裝OpenSSL

sudo apt install openssl


啟用Apache2的SSL模組

sudo a2enmod ssl


把憑証放到以下目錄


/etc/pki/tls/certs


修改

/etc/apache2/sites-available/default-ssl.conf


SSLCertificateFile /etc/pki/tls/certs/server.cer

SSLCertificateKeyFile /etc/pki/tls/certs/server.key


cd /etc/apache2/sites-enabled

ln -s ../sites-available/default-ssl.conf


systemctl restart apache2


https://20.65.210.123/index.php/2021/05/12/ubuntu-apache-ssl/

2020/12/01

接續上一篇

再來處理ipaudit

在configure的時候要注意沒有裝的package要補上

安裝過程沒什麼問題

安裝完要依自己的環境調整

/home/ipaudit/ipaudit-web.conf


安裝完後apache2要調整 enable user 目錄

a2enmod userdir

讓user目錄可以執行cgi

vi /etc/apache2/conf-enabled/cgi-enabled.conf

加上

<Directory "/home/*/public_html/cgi-bin/">

    Options ExecCGI

    SetHandler cgi-script

</Directory>


restart apache2


但安裝後問題來了

首先是圖出不來

找了一下討論串

解決方法是到

/home/ipaudit/reports/30min/graphic 這個目錄

把所有執行檔裡的這行

set term png small color

改成
set term png small


再來是無法產出30分鐘的資料

修改

/home/ipaudit/reports/30min/0traffic/MakeReport30

原  

$Conf{uc $Name} = $Value;

改為

if (defined $Name || $Name ne "") {

      $Conf{uc $Name} = $Value;

      }


$mask = 0; ($mask = ~0  >> $2) unless($2 > 31);

改為    

$mask = 2**(32-$2) - 1;


以上修改完成就可以了


https://sourceforge.net/p/ipaudit/discussion/59302/thread/1d876c01/

https://sourceforge.net/p/ipaudit/discussion/59302/thread/4a85f604/

http://ipaudit.sourceforge.net/

https://zi.media/@tomchuntw/post/gbDnqB

 原來跑在centos 6的二個軟体

nm

ipaudit

因為centos 6 的EOL 要處理

本來是想直接停止使用

但因為還是有些資訊需要從這裡拿到

所以找找升級方案

這二個軟体都是 32位元的版本

無法在64位元的OS上執行 所以只能找32位元的OS

centos 8 已經沒有64位元的版本

ubuntu server 版本看來是還有提供 可是都一直無法下載

最後決定使用debian 10 support 到 2024


Debian 10 “Buster”


i386, amd64, armel, armhf and arm64


July, 2022 to June, 2024


再來先說明nm

nm是單純的執行檔 不用compile

執行後會出現找不到 libstdc++-libc6.2-2.so.3

到/user/lib 做一個link

ln -s  /usr/lib/i386-linux-gnu/libstdc++.so.6 libstdc++-libc6.2-2.so.3

執行就沒問題了

記得要配合使用環境更改 config 

再來處理操作介面的問題

安裝apache2後 要更改document root 跟 cgi

sudo a2enmod cgid

接下來

vi /etc/apache2/sites-enabled/000-default.conf


更改 DocumentRoot "/usr/local/nm/html"

新增以下內容

#for nm use

<Directory "/usr/local/nm/html">

Options All

AllowOverride All

Require all granted

</Directory>


vi /etc/apache2/conf-enabled/serve-cgi-bin.conf

加上

<Directory "/usr/local/nm/html/">

Options +ExecCGI

AddHandler cgi-script .cgi .pl

</Directory>

改完後重啟 apache2

以上

http://blog.sina.com.cn/s/blog_40c09b550100inbh.html

2016/02/29

關於如何在網頁上執行python目前找到二個方法
一個是在apache中載入module
有二個module可以用

http://modpython.org/
https://code.google.com/archive/p/modwsgi/

根據一般的說法是wsgi的效能會比modpython好二倍以上
使用方式是在apache啟動時載入模組

另一個方式是採用cgi
直接把寫好的python放在 /var/www/cgi-bin/下

在程式碼的最前面加上
print "Content-type: text/html"
print

這樣就能直接用了

bash perl 也是相同的方法

目前先採用cgi的方式

http://blog.xuite.net/autosun/study/42871538-%5BUbuntu%5D+%E5%AE%89%E8%A3%9D+Apache2+%2B+Python+%2B+MySQL

2014/04/21

ubuntu 14.04把apache的預設目錄改回
/var/www/html了

2014/04/18

今天是ubuntu 14.04 release的日子
一開始upgrade時總是有三個檔案有問題
後來把source改到米國就ok了
但升完smokeping卻發生圖出不來的問題


查了一下rrd都有正常update
原來是apache2的升級把smokeping的site砍了
補回去
ln -s /etc/apache2/sites-enabled/smokeping.conf /etc/smokeping/apache2.conf
service apache2 restart
恢復正常

http://askubuntu.com/questions/365088/smokeping-web-front-end-on-ubuntu-13-10