2025/06/26
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';"
當然影響範圍就會更大
2021/08/28
最近要求要把所有的網站改成 https
以 centos 7 apache 為例
首先取得憑証
因為單位有買整個domain的
所以直接拿來用
把憑証放到以下目錄
/etc/pki/tls/certs
安裝 mod_ssl
$ yum -y install mod_ssl
$ vi /etc/httpd/conf.d/ssl.conf
修改以下二行
SSLCertificateFile /etc/pki/tls/certs/server.cer
SSLCertificateKeyFile /etc/pki/tls/certs/server.key
重新啟動 Apache
$ systemctl restart httpd.service
若使用nginx
修改 /etc/nginx/nginx.conf 加入以下藍色設定
server {
listen 80 default_server;
listen [::]:80 default_server;
# 加入 SSL 設定
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
# 憑證與金鑰的路徑
ssl_certificate /etc/pki/tls/certs/server.cer;
ssl_certificate_key /etc/pki/tls/certs/server.key;
# ...
}
systemctl restart nginx
https://blog.gtwang.org/linux/nginx-create-and-install-ssl-certificate-on-ubuntu-linux/
2018/08/17
2018/05/09
要把apache 的log丟到graylog
找到很多文件
以下的方式算是最簡單的做法
apache跑在centos 上
把以下的內容加到 /etc/rsyslog.conf 或在/etc/rsyslog.d/裡加上一個新的檔案 如 apachelog.conf
$ModLoad imfile
# apache error.log
$InputFileName /var/log/httpd/error_log
$InputFileTag apache-errors:
$InputFileStateFile state_file_error_apache
$InputFileFacility local6
$InputFileSeverity info
$InputRunFileMonitor
$InputFilePollInterval 10
# apache access.log
$InputFileName /var/log/httpd/access_log
$InputFileTag apache-access:
$InputFileStateFile state_file_access_apache
$InputFileFacility local6
$InputFileSeverity info
$InputRunFileMonitor
$InputFilePollInterval 10
if $programname == 'apache-access' then @1.2.3.4:514
& stop
if $programname == 'apache-errors' then @1.2.3.4:514
& stop
依需求修改 log檔的路徑
外部 log server 的ip及port
改完後rsyslogd要重啟
2016/10/08
愈來愈多的網站都改用https的傳輸方式了
Let`s Encrypt提供了一個方便 自動而且免費的方式來達成這個需求
certbot幫助管理者方便的佈署
只要選擇使用的web server及os
就有完整的安裝方式
https://certbot.eff.org/
https://letsencrypt.org/
2016/03/22
今天來把原先提供下載服務的机器升成centos 7
比較難處理的是原本提供kms認証的部分
几個跟原centos 5不同的地方記錄一下
原本apache用來ldap認証的模組換成 mod_ldap
寫法也有一些改變 範例如下 (novell 適用)
<Directory /var/www/html/test>
AuthName ldap
AuthType Basic
AuthBasicProvider ldap
AuthLDAPURL ldap://test.com.tw:389/o=users?cn?sub?(objectClass=*)
AuthLDAPBindDN "cn=user01, ou=user, ou=people, o=users"
AuthLDAPBindPassword password
Require valid-user
</Directory>
ip forword的寫法也改了
在/etc/sysctl.conf 加上
net.ipv4.ip_forward = 1
重新載入
sysctl -p /etc/sysctl.conf
http://my.oschina.net/fsxchen/blog/134601
http://superuser.com/questions/803741/how-to-enable-ip-masquerading-forwarding-on-centos-7
2016/03/05
改完後發生的第一個問題就是中文全變成了???
192.168.105.61 || 2016-03-04 00:05:05 || 2016-03-07 00:05:05 || Flow Checking ????????????(1368>????:700) to Deny this IP cannot access network
原因是從mysql撈出來時中文就亂了 所以不管之後怎麼轉碼 都沒有用了
所以必須在撈時就要指定編碼 加上下方紅色字部分
db = MySQLdb.connect(host="localhost", user="abc", passwd="pwd", db="test", charset='utf8')
但加完後網頁反而出不來了
再查了一下資料 說是要再指定sys的編碼 於是程式內必需再加入以下三行
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
加完後之後的結果變成
192.168.105.61 || 2016-03-04 00:05:05 || 2016-03-07 00:05:05 || Flow Checking �訫�銝餅�����賊�蝬脰楝�輻�(1368>�𣂼��賊�:700) to Deny this IP cannot access network
看來中文有出來了 接下來是顯示的問題了 因為這個os比較久了 所以apache預設的編碼是設為big5 如果要去改會影響到其他東東 所以只能在程式加上指定編碼來處理了 比較新版本os的apache應該都預設為utf8了 應該不會碰到這個問題
print '<html>'
print '<head>'
print '<meta charset="UTF-8">'
print '</head>'
print '<body>'
print '</body>'
print '</html>'
2016/02/29
一個是在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"
這樣就能直接用了
bash perl 也是相同的方法
目前先採用cgi的方式
http://blog.xuite.net/autosun/study/42871538-%5BUbuntu%5D+%E5%AE%89%E8%A3%9D+Apache2+%2B+Python+%2B+MySQL
2015/04/22
for iis
http://www.iis.net/downloads/microsoft/urlscan
for apache
https://www.modsecurity.org/
2014/04/18
一開始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
2013/03/14
2012/03/03
今天在找要如何用python登入apache的認証網頁
找到httplib2
http://code.google.com/p/httplib2/
範例如下
import base64
import httplib2
h = httplib2.Http()
auth = base64.encodestring( 'id' + ':' + 'password' )
resp, content = h.request(
'http://10.0.0.56/all/',
'GET',
headers = { 'Authorization' : 'Basic ' + auth }
)