2019/12/28

又到了半年一度的弱掃時間
使用的是kali linux 2019.4 的版本
本來是想裝完後直接 apt install openvas
可是用 Kali Linux Light 64-Bit 這個iso裝完後
竟然找不到 openvas
算了
只好再繼續用virtualbox的image
安裝執行都OK

這次的問題是出現了不少FP
所以必須在管理介面上調整

首先點進 scan - report
再點進要調整的report
就會看到所有的細項報告
接下來點撃該細項報告最右方的圖示






就可以調整new severity



2019/12/05

今天偶然發現librenms好像好久沒更新了
一看果然從6月後都沒更新
查了一下官網
最新版本是11月
馬上下指令
daili.sh
也沒有更新的訊息
再去communuty看了一下
現在要醬下指令更新了

su - librenms
git pull
./daily.sh

之前只要更新大多有問題
這次做完還好
再觀察看看

https://community.librenms.org/

2019/11/28

這几天在玩MHN

感覺還不錯
不過有些地方要注意
試了好久

首先裝server
依照官網的說明沒什麼問題
我是用 ubuntu 18.04

再來是佈署 sensor

網頁介面上有提供deploy的script

官網上有提到有些sensor可以裝在centos
不過網頁介面上的都是for ubuntu跟 respberry pi
有很多sensor可以選擇
不同sensor有不同的功能
不過不是每個都可以用
這地方試了好久

最後我選了 Dionaea
官網上是說只能裝在 Ubuntu 14.04/Centos 7
其他版本有問題
不過我裝在ubuntu 18.04是ok的
只是安裝過程中碰到以下的問題

E: Failed to fetch http://archive.ubuntu.com/ubuntu/pool/universe/libe/libemu/libemu2_0.2.0+git20120122-1.2build1_amd64.deb  403  Forbidden [IP: 91.189.88.173 80]
E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?

最後解決的方法是直接下載這個檔然後 dpkg -i
之後就沒問題了
介面還可以接受
資料是放在mongodb裡
也提供 rest可以撈
不過沒找到完整文件
另外就是直接使用mongoexport把資料撈出來
要注意的是mongodb時間是ISODate
如果用bash shell要記得轉換時間

date -u -Ins

每十分鐘從mongodb撈出資料

#!/bin/bash

date -d '10 mins ago' -u -Ins |cut -d ',' -f 1 > /tmp/time
echo "DBQuery.shellBatchSize = 3000000" > /tmp/get10min.js
echo "use mnemosyne" >> /tmp/get10min.js
echo 'db.session.find({"timestamp":{$gt:ISODate("'`cat /tmp/time`'")}})' >> /tmp/get10min.js

mongo < /tmp/get10min.js > /tmp/mhn_10min_data


https://github.com/pwnlandia/mhn

https://github.com/pwnlandia/mhn/wiki/List-of-Supported-Sensors

https://github.com/pwnlandia/mhn/wiki/MHN-REST-APIs

https://github.com/pwnlandia/mhn/wiki/Exporting-Honeypot-Data-from-MHN

https://www.itread01.com/content/1545640216.html

2019/11/22

今天在下grep 指令時出現以下的訊息

Binary file /tmp/test matches

查了一下說是因為檔案是binary file 無法執行grep 指令
明明就是text file
解決方式是強制指定為txt
指令

grep -a abc /tmp/test

2019/11/21

目前有三台ES
在graylog上設定 

shards = 3
replicas = 1

在index set看到每天的量大約 100G左右

對應到每一台ES的空間大約是 70G

所以算法就是

100G * 2 = 200 G

然後再分配到3台

200G / 3 就大約等於 70G 因為還要加上 index 所以會大一些

2019/11/13

今天在使用mutt時一直出現以下的錯誤
找了半天還是沒有答案

mutt -s 'test' abc@de.com -a /tmp/test < test

SMTP session failed: 500 5.5.2 Error: bad UTF-8 syntax
Could not send the message.

改用

/usr/bin/mail -a /tmp/test1 -a /tmp/test2 -S smtp="10.0.0.1:25" -r "from@dde.com" -s 'test' to@de.com < test

https://www.binarytides.com/linux-mailx-command/

2019/11/06

剛剛在設定.muttrc從hinet寄信的時候

設ip不能寄
set smtp_url = "smtp://168.95.4.10:25/"

要設fqdn才能寄
set smtp_url = "smtp://msa.hinet.net:25/"

什麼怪事都有

http://nengfang.blogspot.com/2014/07/hinet-isp-smtp-server.html

2019/11/01

今天模擬在一台graylog server 三個ES node的環境
然後當有一台ES fail時要怎麼處理

首先我們先看一下目前ES的狀況
有三個node
status也是green

curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
  "cluster_name" : "graylog",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 11,
  "active_shards" : 14,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

再來看一下目前所有shards的狀況

curl -XGET 192.168.12.203:9200/_cat/shards
gl-events_0        3 p STARTED 0 230b 192.168.12.202 es-node-02
gl-events_0        2 p STARTED 0 230b 192.168.12.201 es-node-1
gl-events_0        1 p STARTED 0 230b 192.168.12.203 es-node-03
gl-events_0        0 p STARTED 0 230b 192.168.12.202 es-node-02
graylog_3          2 r STARTED 1  7kb 192.168.12.203 es-node-03
graylog_3          2 p STARTED 1  7kb 192.168.12.201 es-node-1
graylog_3          1 r STARTED 1  7kb 192.168.12.202 es-node-02
graylog_3          1 p STARTED 1  7kb 192.168.12.201 es-node-1
graylog_3          0 p STARTED 1  7kb 192.168.12.202 es-node-02
graylog_3          0 r STARTED 1  7kb 192.168.12.203 es-node-03
gl-system-events_0 3 p STARTED 0 230b 192.168.12.203 es-node-03
gl-system-events_0 2 p STARTED 0 230b 192.168.12.202 es-node-02
gl-system-events_0 1 p STARTED 0 230b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 230b 192.168.12.203 es-node-03



我們關掉其中一個ES node 192.168.12.202 模擬故障

查看整個cluster狀況
nodes變成2
status也變為red

curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
  "cluster_name" : "graylog",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 2,
  "number_of_data_nodes" : 2,
  "active_primary_shards" : 8,
  "active_shards" : 9,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 5,
  "delayed_unassigned_shards" : 5,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 64.28571428571429
}

再來看一下shards的狀況
192.168.12.202這個node己經不見了
而且上面的shards 變成 UNASSIGNED

curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED    0 261b 192.168.12.203 es-node-03
gl-system-events_0 2 p UNASSIGNED                       
gl-system-events_0 1 p STARTED    0 261b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED    0 261b 192.168.12.203 es-node-03
graylog_3          2 r STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          2 p STARTED    1  7kb 192.168.12.201 es-node-1
graylog_3          1 r STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          1 p STARTED    1  7kb 192.168.12.201 es-node-1
graylog_3          0 p STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          0 r STARTED    1  7kb 192.168.12.201 es-node-1
gl-events_0        3 p UNASSIGNED                       
gl-events_0        2 p STARTED    0 261b 192.168.12.201 es-node-1
gl-events_0        1 p STARTED    0 261b 192.168.12.203 es-node-03
gl-events_0        0 p UNASSIGNED


找一台机器重裝ES後並重新加入cluster


先看一下狀況
nodes己經回來變成3了
可是status還是red

curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
  "cluster_name" : "graylog",
  "status" : "red",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 8,
  "active_shards" : 11,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 3,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 78.57142857142857
}

再來看shards的狀況
還是 UNASSIGNED 並沒有復原

curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED    0 261b 192.168.12.203 es-node-03
gl-system-events_0 2 p UNASSIGNED                       
gl-system-events_0 1 p STARTED    0 261b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED    0 261b 192.168.12.203 es-node-03
graylog_3          2 r STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          2 p STARTED    1  7kb 192.168.12.201 es-node-1
graylog_3          1 r STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          1 p STARTED    1  7kb 192.168.12.201 es-node-1
graylog_3          0 p STARTED    1  7kb 192.168.12.203 es-node-03
graylog_3          0 r STARTED    1  7kb 192.168.12.201 es-node-1
gl-events_0        3 p UNASSIGNED                       
gl-events_0        2 p STARTED    0 261b 192.168.12.201 es-node-1
gl-events_0        1 p STARTED    0 261b 192.168.12.203 es-node-03
gl-events_0        0 p UNASSIGNED


查了資料說可以 reroute share
但實作上有問題無法執行


目前試出來的做法是先關掉graylog server

systemctl stop graylog-server.service

接下來把所有的 UNASSIGNED 砍了

curl -XDELETE '192.168.12.201:9200/gl-system-events_0/'

curl -XDELETE '192.168.12.201:9200/gl-events_0'

砍完後再去看shards

curl -XGET 192.168.12.203:9200/_cat/shards
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 0 p STARTED 1 7kb 192.168.12.203 es-node-03

這個是原本的資料檔
而且有設定 Index replicas

重啟graylog server

graylog會把剛剛砍掉的 gl-system-events_0 gl-events_0 建回來
收集的資料是放在 graylog_* 所以不會有影響

再看一次shards
全部都正常了

curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED 0 230b 192.168.12.203 es-node-03
gl-system-events_0 2 p STARTED 0 230b 192.168.12.202 es-node-02
gl-system-events_0 1 p STARTED 0 230b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 230b 192.168.12.203 es-node-03
graylog_3          2 r STARTED 1  7kb 192.168.12.203 es-node-03
graylog_3          2 p STARTED 1  7kb 192.168.12.201 es-node-1
graylog_3          1 r STARTED 1  7kb 192.168.12.202 es-node-02
graylog_3          1 p STARTED 1  7kb 192.168.12.201 es-node-1
graylog_3          0 r STARTED 1  7kb 192.168.12.202 es-node-02
graylog_3          0 p STARTED 1  7kb 192.168.12.203 es-node-03
gl-events_0        3 p STARTED 0 230b 192.168.12.202 es-node-02
gl-events_0        2 p STARTED 0 230b 192.168.12.201 es-node-1
gl-events_0        1 p STARTED 0 230b 192.168.12.203 es-node-03
gl-events_0        0 p STARTED 0 230b 192.168.12.202 es-node-02


所以記得 Configure Index Set 要設定Index replicas 至少為1
Index shards的數量就根据你ES node的數量來設定
如果ES node 有三個 就設定為3




2019/10/26

Load Balancing in NGINX

今天有人問graylog的三個node怎麼做load balance
想到之前玩過haproxy
可是查了一下資料
haproxy不支援UDP的load balance
nginx目前已經有支援了
設定方法如下

udp loadbalance

# Load balance UDP‑based DNS traffic across two servers
stream {
    upstream dns_upstreams {
        server 192.168.1.1:53;
        server 192.168.1.2:53;
    }

    server {
        listen 53 udp;
        proxy_pass dns_upstreams;
        proxy_timeout 1s;
        proxy_responses 1;
        error_log logs/dns.log;
    }
}

=============================================================

tcp load balance

upstream mytest {
server 192.168.2.1 weight=3;
server 192.168.2.2 weight=2;
}
server {
listen 443 ssl;
server_name my.test.tw;
access_log /var/log/nginx/my.test.tw.access.log main;
error_log /var/log/nginx/my.test.tw.error.log warn;
ssl_certificate my.test.tw.crt;
ssl_certificate_key my.test.tw.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
location / {
proxy_pass http://mytest;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}


https://blog.dtask.idv.tw/Nginx/2018-07-31/

https://www.nginx.com/blog/announcing-udp-load-balancing/
proxmox mail gateway 的 clamav-daemon
時不時就會出現fail的狀況
因為pmg本來就有自我檢查機制
所以想說不管他
可是今天看到後
手動去重啟
又馬上fail
覺得很怪
查了一下log


Oct 26 06:39:53 mg kernel: [765738.983038] Memory cgroup stats for /lxc/124/ns/system.slice/clamav-freshclam.service: cache:1696KB rss:1100KB rss_huge:0KB shmem:0KB mapped_file:0KB dirty:528KB writeback:1056KB swap:660KB inactive_anon:720KB active_anon:356KB inactive_file:4KB active_file:4KB unevictable:0KB
Oct 26 06:39:53 mg kernel: [765738.983052] Memory cgroup stats for /lxc/124/ns/system.slice/clamav-daemon.service: cache:1508KB rss:1760KB rss_huge:0KB shmem:0KB mapped_file:0KB dirty:0KB writeback:660KB swap:0KB inactive_anon:0KB active_anon:0KB inactive_file:0KB active_file:0KB unevictable:0KB
Oct 26 06:39:53 mg kernel: [765738.983088] Memory cgroup stats for /lxc/124/ns/system.slice/clamav-daemon.service: cache:68KB rss:44KB rss_huge:0KB shmem:0KB mapped_file:0KB dirty:396KB writeback:0KB swap:0KB inactive_anon:0KB active_anon:0KB inactive_file:0KB active_file:0KB unevictable:0KB
Oct 26 06:39:53 mg kernel: [765738.983097] Memory cgroup stats for /lxc/124/ns/system.slice/clamav-daemon.service: cache:0KB rss:92KB rss_huge:0KB shmem:0KB mapped_file:0KB dirty:396KB writeback:0KB swap:132KB inactive_anon:0KB active_anon:0KB inactive_file:0KB active_file:0KB unevictable:0KB
Oct 26 06:39:53 mg kernel: [765739.020710] oom_reaper: reaped process 4167 (clamd), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB
Oct 26 06:39:53 mg systemd[1]: clamav-daemon.service: Main process exited, code=killed, status=9/KILL

找了相關文章
都說是ram不夠的問題
目前是2G
先加到4G看看吧

2019/10/25

graylog上的三個node 總有一個會時出現時不出現
查了一下log
發現一直出現以下的訊息

Did not find meta info of this node. Re-registering.

搜尋了一下
几乎講的都是因為server沒有對時的關係
所以如果有建cluster環境的
切記要注意對時

但是在vmware的環境中
設完chrony對時
還是一直會出現秒差
只能去修改參數

stable_master_timeout = 60000

預設值為2000 就是 2秒
目前先改為60秒 再觀察看看
重啟graylog

後來想起來 vmware一直有時間不準的問題
想不到到現在還沒改善

2019/10/22

使用LXC的proxmox mail gateway 發生不能logratate的解法

options features 裡的 nesting要打開

https://forum.proxmox.com/threads/logrotate-issue-in-buster-lxc.56726/
今天整理graylog的時候發現一件事

目前我在index set的設定是留180天
超過的delete
不過我會手動去close index
只留約一個月的資料 查詢效率比較好
可是今天發現index超過了180天但系統並沒有去delete
我不確定是不是因為我手動去close的關係
如果真的是如此的話 那政策就要改成定時close
然後再手動去delete了
手動砍的shell如下
每天找出最舊的index再砍掉

#!/bin/bash

del_idx=`/usr/bin/curl -u admin:password 'http://127.0.0.1:9200/_cat/indices/graylog*?v'|grep close|awk '{print $2}'|sort -rn -t_ -k 2|tail -n 1`

/usr/bin/curl -XDELETE "http://localhost:9200/$del_idx/"

用crontab 來做吧

2019/10/21

proxmox mail gateway

預設不會去記錄信件主旨
因此要查找的時候有些不方便
修改方法如下

在 /etc/postfix/main.cf最後增加一行如下

header_checks = regexp:/etc/postfix/header_checks

建立 /etc/postfix/header_checks 這個檔 內容如下

/^Subject:/      WARN

接下來重啟服務
systemctl restart postfix

之後就可以在 /var/log/mail.log看到如下的log

Oct 21 06:43:49 mg postfix/cleanup[19866]: 74A29109C: warning: header Subject: Congratulate Jimmy (Gin-der) Peng for... from mailc-ab.linkedin.com[108.174.3.162]; from=<s-2f4oc1y30l5mpjzdxdjdkon8civu58akgxu9lf1h23ha66tmdhfi46d4@bounce.linkedin.com> to=<abc@de.com> proto=ESMTP helo=<mailc-ab.linkedin.com>

以上的方法在几器重開後 config就會被改回來

找到另一個方法
直接去改pmg的perl

First, add this somewhere between the 'use' statements at the beginning of the file:

use PVE::Tools;

Then search for this line:

$self->log (3, "$queue->{logid}: new mail message-id=%s", $queue->{msgid});

Add the following below that line:

$self->log (3, "$queue->{logid}: Subject: %s", PMG::Utils::decode_rfc1522(PVE::Tools::trim($entity->head->get('subject'))) || 'No Subject');
my @fromarray = split('\s*,\s*', $entity->head->get('from') || $msginfo->{sender});
$self->log (3, "$queue->{logid}: From: %s", PMG::Utils::decode_rfc1522(PVE::Tools::trim($fromarray[0])) );

https://forum.proxmox.com/threads/how-to-log-subjects-of-all-incoming-email.54191/

第二種方法會把subject放在獨立行
不方便查找

官方其實有提供解法方法

You can find the default templates in /var/lib/pmg/templates/. Please do not modify them directly, because your modification would get lost on the next update. Instead, copy the template you wish to change to /etc/pmg/templates/, then apply your changes there.

Templates can access any configuration setting, and you can use the pmgconfig dump command to get a list of all variable names:

# pmgconfig dump
...
dns.domain = yourdomain.tld
dns.hostname = pmg
ipconfig.int_ip = 192.168.2.127
pmg.admin.advfilter = 1
...
The same tool is used to force regeneration of all template based configuration files. You need to run that after modifying a template, or when you directly edit configuration files

# pmgconfig sync --restart 1

https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html#_service_configuration_templates

2019/10/20

今天在使用gnuplot
發現一個問題
當先進入gnuplot後再下指令畫圖
可以跳出另一個視窗
可是如果使用
gnuplot -e 的方式
畫面一閃就不見了
只能夠output到檔案

gnuplot -e "set terminal png; set output '/tmp/1.png'; plot '/tmp/33' with line"

另外如果在python 呼叫 gnuplot
也不能在視窗上顯示
只能夠output到檔案

語法如下

import Gnuplot

g = Gnuplot.Gnuplot()
g("set terminal png")
g("set output '/tmp/1.png'")
g.plot("'/tmp/33' with line")

記得要先 apt install  python-gnuplot

看圖指令
eog /tmp/1.png






















http://yurinfore.blogspot.com/2007/05/python.html

2019/10/19

proxmox mail gateway的問題

今天在使用 tracking center 找資料的時候出現


















結果找了一下問題
竟然是要把ublock關掉才會正常
XD

https://forum.proxmox.com/threads/connection-error-in-tracking-center.41293/

2019/10/18

proxmox mail gateway 今年 opensource
因為之前都是用fortiget來處理spam的問題
所以也沒想要換
不過因為保固到期 新的合約沒有買到spam這個授權
而且最近也把mail server 換到centos 8
所以就想說來試看看
如果本來就是用 proxmox ve
那就可以直接使用LXC的template
我就是直接用template
安裝很快 裝完template也就可以砍了
再來說明一下裝完後有那些要改
首先是登入的root密碼
接下來使用iptables去管制能夠連到管理介面的來源ip

mail filter

一直以來我們的處理方式都是在主旨加上tag 而不是去隔離信
所以這裡要改
至於要不要通知管理者 就自行決定了
如果需要黑白名單 也是在這裡加














configuration

管理者的mail要記得改
















mail proxy

relaying
relay domains
transports
請依自己的環境修改
如果使用greylist 白名單是加在這裡 要注意 不是在mail filter














options

紅框是我覺得一定要改的
信件大小是跟著gmail的規則
網路上看到都說不要開greylist 可是我認為要開 可以少掉很多spam
SMTPD banner 如果不改 會顯示proxmox
站在安全的角度 我不想讓人知道我用什麼產品
其他就視需要自行決定了


















未加greylist



















加上greylist



















spam跟virus的更新系統會自動做
至於其他就自己看看

文件上的這張圖怪怪的


















實体上不是直接放在mail server 前面
而是要在DNS設定MX
外面進來的信先進到PMG
處理完後再轉到mail server
所以我目前的做法是在mail server上用iptable管制特定ip才能連到25
而且出去的信我也是從mail servre直接出去
不再經過PMG
到目前大約運作十多天
看起來效果還不錯

https://www.proxmox.com/en/proxmox-mail-gateway
https://pmg.proxmox.com/pmg-docs/pmg-admin-guide.html

2019/10/17

今天從proxmox下載新的lxc centos 7 template回來
create後發現root不能登入

pct enter 107

直接進去後再改密碼還是一樣

應該是template有問題了
而且centos 8的template已經上架
直接捉回來用 沒問題

2019/10/16

因為centos 8的php已 經升到7了
所以試看看裝 ocs 2.6有沒有問題

先補一下需要的rpm

dnf --enablerepo=PowerTools install perl-MIME-Types
dnf --enablerepo=PowerTools install perl-Digest-SHA1 -y
dnf --enablerepo=PowerTools install perl-Switch -y

epel-release
make
mariadb
mariadb-server
mod_perl
perl-Apache2-SOA
perl-Apache-DB
perl-Apache-DBI
perl-DBI
perl-Digest-SHA
perl-Net-IP
perl-SOAP-Lite
perl-XML-Entities
perl-XML-Simple
php
php-curl
php-gd
php-json
php-mbstring
php-mysqlnd
php-soap
php-xml
tar
httpd
zlib

大約是這些
如果有漏的
在跑setup時再補一下
centos 8還不錯 所有需要的東西都可以直接用dnf install 來裝

裝好mariadb記得先改一下root的密碼

mysqladmin -u root password 'passwd'

setup跑完後
改以下二個檔的帳號跟密碼

/etc/httpd/conf.d/z-ocsinventory-server.conf

/usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php

改權限

chmod -R 766 /usr/share/ocsinventory-reports
chown -R apache:apache /usr/share/ocsinventory-reports/
chown -R apache:apache /var/lib/ocsinventory-reports/

登入
http://server-hostname-or-IP/ocsreports
預設是admin admin
記得改掉

php在這個版本有個獨立的daemon

php-fpm

如果在/var/log/httpd/裡沒有看到錯誤
記得到
/var/log/php-fpm
查看看

要重啟daemon要重啟三個

systemctl restart httpd mariadb.service php-fpm.service

https://otx.alienvault.com 是一個公開的情資交換平台
只要註冊帳號(免費) 就可以接收跟發布相關的情資
速度相當快
不要忘記訂閱自己感興趣的user
如 AlienVault
註冊完後有相關的訊息也會mail到註冊的信箱

而且也提供相關的API可以使用
因為目前寫python的几會比較多
所以簡單說明
首先要到https://github.com/AlienVault-OTX/OTX-Python-SDK下載
下載後直接執行
python setup.py install
就安裝完成了
再來我是直接到github找相關程式
以下這個是我覺得還不錯的
https://github.com/Neo23x0/signature-base/blob/master/threatintel/get-otx-iocs.py

下載後在執行前只要改以下二個地方
otx key只要註冊後就可以拿到

OTX_KEY = 'yout otx key'

以下改成拿回來的資料要放那裡
parser.add_argument('-o', metavar='dir', help='Output directory', default='/tmp')

改好後執行
/usr/bin/python Get-OTX-IOCs.py

就會在/tmp裡看到
otx-c2-iocs-ipv4.txt
otx-c2-iocs-ipv6.txt
otx-c2-iocs.txt
otx-filename-iocs.txt
otx-hash-iocs.txt
這些檔案
接下來就可以拿來應用了

也有人針對ip整理過 可以直接拿來用

不過最大的問題是 拿到這麼多的資料 一般firewall是不可能全部吃進去的
一定要找別的設備才能處理

2019/10/15

一般如果要找出二個檔案不同的地方而且印出來
最常使用的方式就是用grep了

grep -v -f a b

就可以找出在b檔案內不包含a檔案的內容
但有個問題
如果二個檔案內容是几千或几萬筆
那就要花很..................久的時間

這時就可以使用comm
前提是二個檔案必須先排序
sort a > aa
sort b > bb

再來就可以找出b有但a沒有的內容 快非常多
comm -1 -3 aa bb

2019/10/11

一樣是升級centos 8 postfix 後的問題
這次希望能有判別spam的功能
請出老牌的 spamassassin
網路上的很多文章都提到與mailscanner 或 amavisd-new 整合
但我希望能直接用postfix
做法如下

dnf install spamassassin

好在有放進list可以直接用

加group跟user

groupadd spamd

useradd -g spamd -s /bin/false -d /var/log/spamassassin spamd

改權限
chown spamd:spamd /var/log/spamassassin

再來修改 /etc/postfix/master.cf

找到 
smtp      inet  n       -       n       -       -       smtpd

改成
smtp      inet  n       -       n       -       -       smtpd -o content_filter=spamassassin

在最後加上
spamassassin unix - n n - - pipe flags=R user=spamd argv=/usr/bin/spamc -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

systemctl restart spamassassin
systemctl restart postfix
systemctl enable spamassassin

更新rule
sa-update -D --nogpg

會出現有缺東西的情況 能補就補
最後有二個dnf也沒法補
目前是不影響功能

Oct 11 07:36:44.595 [24809] dbg: diag: [...] module not installed: Net::Patricia ('require' failed)
Oct 11 07:36:44.595 [24809] dbg: diag: [...] module not installed: Net::DNS::Nameserver ('require' failed)

寫個crontab定時做
1 7,19 * * * /usr/bin/sa-update -D --nogpg;/usr/bin/systemctl restart spamassassin

如果想要能夠學習
建 whitelist , blacklist 二個user 分別把誤判及未判的信轉過去

然後再寫個crontab定時做

#!/bin/bash

/usr/bin/sa-learn --no-sync --ham /home/whitelist/Maildir/{cur,new}
rm -rf /home/whitelist/Maildir/*

/usr/bin/sa-learn --no-sync --spam /home/blacklist/Maildir/{cur,new}
rm -rf /home/blacklist/Maildir/*


2019/10/05

最近把mail server升到 centos 8
可是
預設卻找不到 postgrey
XD

只好手動來了
首先到 https://postgrey.schweikert.ch/ 下載
直接解開就可以用了 不用編譯
只是要補一些東西

dnf install -y perl-NetAddr-IP perl-Net-Server perl-BerkeleyDB

groupadd nogroup
adduser postgrey

mkdir /var/spool/postfix/postgrey
touch /var/spool/postfix/postgrey/socket
chown -R postgrey.nogroup /var/spool/postfix/postgrey

cd /etc/postfix

下載官方白名單
wget https://postgrey.schweikert.ch/pub/postgrey_whitelist_clients

再產生一個 /etc/postfix/postgrey_whitelist_recipients 視需要修改內容

啟動postgrey

./postgrey --unix=/var/spool/postfix/postgrey/socket --delay=60 -d

記得加入 /etc/rc.local開几執行

修改 /etc/postfix/main.cf

在原來的
smtpd_recipient_restrictions =
加上
   check_policy_service unix:/var/spool/postfix/postgrey/socket

重啟postfix
systemctl restart postfix

接下來看看/var/log/maillog 有沒有類似以下的訊息
如果有
就表示ok了

Oct  5 11:21:57 mail postfix/smtpd[10103]: NOQUEUE: reject: RCPT from nedm.ubot.com.tw[125.227.165.70]: 450 4.2.0 <abc@test.com>: Recipient address rejected: Greylisted, see http://postgrey.schweikert.ch/help/mail.nkuht.edu.tw.html; from=<UBOT@nedm.ubot.com.tw> to=<shangpao@mail.nkuht.edu.tw> proto=ESMTP helo=<nedm.ubot.com.tw>

postgrey有一個報表工具 postgreyreport
如果要使用要再補上

dnf install -y perl-Net-DNS

指令如下

Depending on how busy your server is, the report can get quite large. To get only the top 20 sources getting greylisted out - you can use something like this :

cat /var/log/maillog | postgreyreport | awk '{print $1}' | sort | uniq -c | sort -nr | head -n20

To get a list of the top 20 email address that the greylisted sources are sending email to :

cat /var/log/maillog | postgreyreport | awk '{print $4}'  | sort  | uniq -c | sort -nr | head -n20


https://wiki.centos.org/HowTos/postgrey#head-70ed10e62fb7da94deb39a987e1e4e205c2ae2c5

2019/10/03

最近才發現cisco 6504吐出來的netflow沒有包含 tcp flags的資料
昏到

https://www.cisco.com/c/en/us/support/docs/switches/catalyst-6500-series-switches/70974-netflow-catalyst6500.html

2019/09/19

今天早上看mail收到DNS有問題的告警
本來以為是OS當了
看了之後OS還活著
再來想到的就是應該是更新後有問題
果然

看了一下更新的log

Sep 19 05:02:00 Updated: 32:bind-license-9.11.4-9.P2.el7.noarch
Sep 19 05:02:01 Installed: 32:bind-export-libs-9.11.4-9.P2.el7.x86_64
Sep 19 05:02:02 Updated: 32:bind-libs-lite-9.11.4-9.P2.el7.x86_64
Sep 19 05:02:03 Updated: 32:bind-libs-9.11.4-9.P2.el7.x86_64
Sep 19 05:02:18 Updated: 32:bind-9.11.4-9.P2.el7.x86_64
Sep 19 05:02:32 Updated: 32:bind-chroot-9.11.4-9.P2.el7.x86_64
Sep 19 05:02:39 Updated: 32:bind-utils-9.11.4-9.P2.el7.x86_64

錯誤訊息如下

Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:166: writeable file 'named.rev0': already in use: /etc/...nf:59
Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:204: writeable file 'named.rev1': already in use: /etc/...nf:93
Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:214: writeable file 'named.rev2': already in use: /etc/...f:103
Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:224: writeable file 'named.rev3': already in use: /etc/...f:113
Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:234: writeable file 'named.rev4': already in use: /etc/...f:123
Sep 19 08:05:09 dns2.edu.tw bash[754]: /etc/named.conf:244: writeable file 'named.rev5': already in use: /etc/...f:133

查了一下相關資料

有人說可以使用 in-view 這個config
但試了之後發現沒用
文件上說明bind這個版本之後要把每個zone的file獨立出來
好吧
照做
建立link 使用不同的檔名
接下來改一下 /etc/named.conf
服務重啟
目前看來是正常了
再觀察看看
收工

2019/09/18

今天接到另一個問題
有人把graylog的index在沒有close情況下砍光了
然後出現了
graylog_deflector
這個index
砍了又會自動生出來
然後資料也進不去
本來想說再建一個indexset然後改成default再把原來的砍了
但 不行
找了半天
處理方法如下

Stop all Graylog nodes

(OPTIONAL) If you want to keep the already ingested messages, reindex them into the Elasticsearch index with the greatest number, e. g. graylog_23 if you want to fix the deflector graylog_deflector, via the Elasticsearch Reindex API.

Delete the graylog_deflector index via the Elasticsearch Delete Index API.


curl -u user:passwd -XDELETE http://10.0.0.0:9200/graylog_1


Add action.auto_create_index: false to the configuration files of all Elasticsearch nodes in your cluster and restart these Elasticsearch nodes, see Elasticsearch Index API - Automatic Index Creation and Creating an Index for details.

Start the Graylog master node.

Manually rotate the active write index of the index set on the System / Indices / Index Set page in the Maintenance dropdown menu.

(OPTIONAL) Start all remaining Graylog slave nodes.

https://community.graylog.org/t/graylog-error/10800

http://docs.graylog.org/en/3.0/pages/faq.html#how-do-i-fix-the-deflector-exists-as-an-index-and-is-not-an-alias-error-message

目前正常
觀察中

2019/09/07

昨天早上接到有人問graylog的問題 版本 3.0.2
說本來可以正常運作
但改完ip後
就收不到資料了
連進去看之後先df看了一下 發現HD的使用率很高
然後ES的log出現以下的訊息

[INFO ][cluster.routing.allocation.decider] [Milan] low disk watermark [15%] exceeded on [DZqnmWIZRpapZY_TPkkMBw][Milan] free: 58.6gb[12.6%], replicas will not be assigned to this node

徴求user同意後先把一個indices砍了

curl -u admin:password -XDELETE http://10.1.2.3:9200/graylog_0

HD使用率就下降了一半

再來在管理介面上 rotate active write index
 rotate active write index
可是下完後在管理介面上index就跑不出來了
去看了graylog的log出現以下訊息

elasticsearch.exceptions.AuthorizationException: AuthorizationException(403, 'cluster_block_exception', 'blocked by: [FORBIDDEN/12/index read-only / allow delete (api)];')

只好再下指令 unlock

curl -XPUT -H "Content-Type: application/json" http://localhost:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'

再關掉index

curl -u admin:password -XPOST 'http://10.1.2.3:9200/graylog_4/_close'

在管理介面上就可以看到index了
可是這個時候在search的介面出問題而不能search 
因為下完之前的指令出現了二個open的index

以下是列出所有index的指令
curl -u admin:password 'http://10.1.2.3:9200/_cat/indices/graylog*?v'

所以關掉一個後就正常了

curl -u admin:password -XPOST 'http://10.1.2.3:9200/graylog_5/_close'

到此在log裡就沒有看到任何error

可是訊息還是沒看到而且process buffer一直在100%
用top去看 java也吃掉了大量的cpu
我在猜是不是extractor的問題
因為還要去處理別的問題
所以就先斷線了

後記

之後user有再連絡說log已經有進來了
可能是之前塞住的message消化完了
所以就再觀察看看

2019/09/01

如何在dns 上使用iptablse 阻擋惡意domain

/tmp/malice_domain_today 這個檔案是惡意domain的list

#!/bin/bash

IFS=.

while read line
do

        echo -n '/usr/sbin/iptables -A INPUT -p udp --dport 53 -m string --hex-string "'

        for i in $line
        do

                echo -n "\|"
                echo -n ${#i}
                echo -n "\|"
                echo -n $i

        done
        echo '" --algo bm -j DROP'
done < /tmp/malice_domain_today > /tmp/iptables_block_command

/usr/sbin/iptables -F
/usr/sbin/iptables -X

/usr/bin/bash /tmp/iptables_block_command




https://www.perturb.org/display/1186_Linux_Block_DNS_queries_for_specific_zone_with_IPTables.html?utm_source=linuxnewssite.com

2019/07/24

昨天看cacti時出現問題













本來設定好的圖都不見了
再來看几器狀況如下




等了好久 就一直出現在 recovering
接著看log








到forum查了一下 好像說是bug
重點是也不知道如何 rebuild
算了
砍掉再重建

2019/06/05

update一下之前碰到的問題
關了二個indices跑不了多久還是有問題
於是把所有indices全關了
目前跑了三天
沒再碰到問題
看來是某個indices壞掉了
不想花時間一個一個測了
如果之後有需要查
再打開
就醬跑了

2019/05/31

之前有發過一篇cacti預設畫超過100M圖有問題的處理方法
補一下新版介面
首先找出要修正的device





找到要設定的介面後修正如下圖的值 必須每個interface都要設定
找到後點畫面右上角的data source list




2019/05/29

繼續昨天的問題
目前發現用 grafana 如果只是單純的進elasticsearch去拿筆數出來畫圖
不會有什麼問題
可是如果還要排序 加總 等一些運算
感覺會在ES上運算完再傳回
可是因為grafana需要這些資料來繪圖
所以會一直跟ES要
如果ES不夠強壯
就無法應付如此頻繁的request
結論就是

把需要的資料定時撈回來 在本地的几器上處理完再放到本地的DB上
這樣grafana拿資料比較快 也不會增加ES的loading

2019/05/28

昨天因為要測試 grafana 而到graylog定時撈一些資料
不知道是不是因為量太大
今天graylog出現了一些異常
log如下

2019-05-28T14:46:52.443+08:00 ERROR [IndexRotationThread] Couldn't point deflector to a new index
org.graylog2.indexer.ElasticsearchException: Couldn't collect indices for alias graylog_deflector

[parent] Data too large, data for [<http_request>] would be [727227463/693.5mb], which is larger than the limit of [727213670/693.5mb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=441445/431kb, accounting=726769578/693.1mb]

查到的結果都說是因為 cache的問題
可是依說明修改參數後
並沒有解決問題
我在想是不是indices可能出現問題了
rebuild也沒用
最後rotate後 把之前最近的二個indices close
觀察到目前為止都正常
留下記錄
做為參考

https://blog.csdn.net/hereiskxm/article/details/46744985

2019/05/24

一直以來都有碰到windows無法更新的問題
網路上一堆文章說停掉windows update server
然後再把C:\Windows\SoftwareDistribution 刪除的方法根本沒用

朋友教了一個方法

使用二個工具來解決
首先使用 DISM++
到空間回收
除了以下圖片的選項之外其他全選









選完後點清理

接下來使用  pchunter 刪除 C:\$Windows~BT



















最後再使用DISM++ 的更新管理
把update裝上去

2019/05/23

之前發過一篇有關如何在graylog利用ip在地圖上顯示的方法
本來是有使用
但自從上次nas 掛二個HD GG後
graylog重裝 這個功能就沒有再加上去了
直到最近有人提到說想看類似的圖
才想說再起起來
沒想到由於目前收的log筆數太多
功能起起來後 因為會去解析所有進到graylog的ip
系統資源無法負荷
所以只好關掉再想別的辦法
剛好最近玩的grafana有個worldmap pannel 的plugin
想說來試看看
這個plugin支援滿多的datasource

Graphite
InfluxDB
OpenTSDB
Prometheus
MySQL
Postgres
MSSQL
Elasticsearch

想說就拿influxDB來用

首先每五分鐘到graylog取回這段時間被block的ip
取回後
再利用 geoiplookup 來把ip的地理位置取出來
在centos 7 上安裝

yum install GeoIP

裝好後就可以使用了
語法是
geoiplookup 8.8.8.8

GeoIP Country Edition: US, United States

我只想用國家來畫 所以以上資的資料就夠了
有二個原因
因為worldmap panel 直接支援用國碼來畫圖
再來就是如果要用座標來畫 一天的資料可能就會把HD撐爆了

接下來就是把以上取得的資料塞進influxdb
以下是程式碼

/bin/curl -u username:passwd 'http://10.10.10.10:9000/api/search/universal/keyword/export?query=source%3A10.10.10.20&keyword=last%205%20mins&batch_size=500&fields=message' > /tmp/5min_ipp
cat /tmp/5min_ipp |grep '\[' |awk '{print $2}'|cut -d ']' -f 1|cut -d '[' -f 2 > /tmp/5min_ip

rm /tmp/country

for i in `cat /tmp/5min_ip`
do
        country=`/bin/geoiplookup $i|awk '{print $4}'|cut -c 1-2`
        echo $country >> /tmp/country
done

cat /tmp/country|sort|uniq -c > /tmp/attack_data

while read line
do
#       echo $line
        /bin/influx -database "attacker" -execute "insert attack,name=`echo $line|awk '{print $2}'` value=`echo $line|awk '{print $1}'`"
done < /tmp/attack_data

attack 這個 Measurement只放了二個資料
國碼 這五分鐘的攻擊次數
如下

1558574202593759971 SG   9
1558574203886084275 SK   1
1558574205156245342 TH   3
1558574206520742362 TR   4

最後就是畫圖了 這也是搞最久的地方

設定influxdb 的datasource



























在dashbord上加上world map panel

再來設定相關資料
















紅色框一定要依据定義的field設對 不然圖就是出不來













location data 選擇country 以符合上面說明資料

如果設定正常 就會看到以下的圖了


















以上的程式在每五分鐘執行時會使用大量的cpu資源
請特別注意
另外可能要依据需求定時去清理influxdb的資料 以免占用太多HD空間


https://blog.csdn.net/Py_Wang/article/details/79186634


2019/05/22

因為最近玩grafana的關係
順便了解一下influxDB
安裝在centos 7 上很方便
把yum源加上去
直接yum install -y influxdb就可以了
不要忘記設定開几啟動

sudo systemctl enable influxdb

再來就是建user
開db

influxdb是時序性的DB
跟一般DB對比如下

Influxdb           SQL
Database          Database
Measurement Table
Points         Data Rows

再來加入資料

Influxdb的measuremet不需要先建立,也不用設定資料欄位,
直接 insert就可以了
INSERT時不要加任何的單引號或雙引號
 insert command有四個重要元素

measurement

tag <tag1-key>=<tag1-value>,<tag2-key>=<tag2-value> 如果有複數個tag時以逗點隔離

field <field1-key>=field1-value>,<field2-key>=field2-value>如果有複數個field時以逗點隔離

time 格式為timestamp,單位us,可以不加。(influxdb會自動加上server時間)

要特別注意的是insert時一定要加 measurement
time如果不指定系統會自動加上去

範例如下

INSERT test_measure,host=abc,cpu=intel volume=55

tag 跟 field 不一定要同時存在

再來談update 跟 delete

fluxbd設計之初就認為資料只會寫入而不會異動
因此沒有update相關指令

delete 的說明如下
只能清除整個 measurement
或以時間為基準來清除資料

DELETE FROM abc
DELETE FROM abc WHERE time < '2000-01-01T00:00:00Z'
DELETE WHERE time < '2000-01-01T00:00:00Z'

其他相關的指令請參考以下文件或直接google




在bash shell中常常會使用檔案來跑迴圈
語法如下

for i in `cat file`
do
    echo $i
done

但是如果檔案裡有空格
就無法一行行讀取
因為shell會把用空格格開的文字都視為是一個變數

此時就要使用另一個方法

while read line
do
    echo $line
done < /tmp/file

就會以行來讀取 不會再因為空白而切開


2019/05/21

一直以來為了減少graylog的loading
都會用shell批次把舊的index close
但今天跑完卻出現












把nas snapshot倒回去
再跑一次
還是一樣
這就有點怪了
於是手動一個一個關
然後關一個試一次
果然關到其中某一個後又出現
然後open又好了
看來也沒辦法了
只能留著
等到時間倒自然清掉吧

今天來講一下如何設定 grafana的 email alert
由於使用rpm安裝好後並沒有設定寄信的功能
所以首先要修改
/etc/grafana/grafana.ini
如下

[smtp] 
enabled = true
host = 1.2.3.4:25  改為smtp server ip
from_address = grafana@abc.com
from_name = Grafana

改好重啟
systemctl restart grafana-server

接下來在網頁介面上設定 Notification channels




































設定完成後按下 save test 檢查是否設定成功
再來就是在panel 上設定
點下panel edit 後
再點畫面左下方 alert
設定相關的值


設定完成後可以點 右上 test rule
如果沒問題
就可以在設定的情況收到通知了

2019/05/20

這几天開始找時間玩 grafana
做個記錄

安裝基本上沒太大問題
這次是裝在centos 7上
從官網下載rpm回來後
rpm -Uhv --test 出現少了几個package
就補一補
很快就裝好了

由於 grafana 支援相當多的datasource 目前先找了二個來試試
首先是graylog裡的elasticsearch 
如果是裝graylog 3的版本
預設elasticsearch只listen在 127.0.0.1 應該是為了安全性的問題
要開放出來

修改 /etc/elasticsearch/elasticsearch.yml
加上
network.host: 0.0.0.0

改好後
systemctl restart elasticsearch.service

接下來在grafana的管理介面上加入 elasticsearch 的datasource
紅色框請特別注意

























接下來就可以新增一個 dashboard 並在dashboard加入panel
選擇剛建立的datasource
預設就會顯示所有的筆數
如果需要挑選資料
可以把條件下在 Query
條件的下法跟 graylog 完全一樣
可以在 Metric 選擇要顯示count 最大 最小 或 加總 等等
Alias 設定圖上的圖線說明












2019/05/08

之前有說到新版的proxmox多了凍結的功能
但guest的記憶体如果太大 會開不起來
而且在開不起來的同時
會殘留一個state-suspend的檔
而且沒有辦法從網頁介面去砍











查了一下要下指令

zfs list

rpool/data/vm-121-state-suspend-2019-04-30


pvesm free local-zfs:vm-121-state-suspend-2019-04-30

檔案就刪除了

http://adminkk.blogspot.com/2019/04/proxmox-5.html

https://forum.proxmox.com/threads/how-to-remove-image-file-from-local-lvm.47686/

2019/05/03

最近有個朋友問我一個問題
說他的librenms要加service check的時候沒有type可以使用




















在我安裝的版本並沒有碰到這個問題
於是查了一下資料
發現librenms是使用nagios plugins來check service
先把nagios-plugins裝起來

yum install -y nagios-plugins nagios-plugins-http
以上只有安裝 http的check
如果還有需要其他的service check
再安裝其他的service plugins
yum search nagios-plugins 可以找到其他的service plugin check

接下來再
/opt/librenms/config.php 加入以下

$config['nagios_plugins']   = "/usr/lib64/nagios/plugins";

之後再service的type就可以看到已經加入的 nagios plugin check了

https://docs.librenms.org/Extensions/Services/
https://raymii.org/s/tutorials/Service_checks_in_LibreNMS_nagios_plugins.html

2019/05/02

ocs inventory升到 2.6 了
之前跳過 2.5版的原因是php 5.5
想說再來裝看看
安裝過程還ok
反正就需要的rpm一個一個補
裝完後client跑agent軟体的時候資料沒進來
出現

[Wed May 01 18:08:58.064506 2019] [perl:error] [pid 565] [client 192.168.12.94:57089] Can't call method "rollback" on an undefined value at /usr/local/share/perl5/Apache/Ocsinventory/Server/System.pm line 282.

根据以往的經驗是mysql config的問題
查了一下

dbconfig.inc.php
z-ocsinventory-server.conf

發現安裝時會建立ocs這個db
可是
z-ocsinventory-server.conf
預設的設定db是ocsweb
這個要修正

再來又出現跟之前 2.5版一樣的問題

[Thu May 02 08:35:08.671848 2019] [:error] [pid 573] [client 192.168.12.94:57849] PHP Fatal error:  Can't use method return value in write context in /usr/share/ocsinventory-reports/ocsreports/require/search/TranslationSearch.php on line 237, referer: http://1.2.3.4/ocsreports/index.php?function=visu_search

一樣還是需要php 5.5

redhat到底什麼時候才要升

到目前還是不想轉到ubuntu去

2019/04/30

proxmox 5.4新增了一個 hibernate 的功能
用意不錯
但今天發生一個問題
有一台guest 的 ram設定為 32G
在resum時出現錯誤

TASK ERROR: start failed: command '/usr/bin/kvm -id 131 -name 0.199-www-new -chardev 'socket,id=qmp,path=/var/run/qemu-server/131.qmp,server,nowait' -mon 'chardev=qmp,mode=control' -chardev 'socket,id=qmp-event,path=/var/run/qmeventd.sock,reconnect=5' -mon 'chardev=qmp-event,mode=control' -pidfile /var/run/qemu-server/131.pid -daemonize -smbios 'type=1,uuid=ecbbab7c-4f51-49fe-95ae-44c22e4fb68b' -smp '16,sockets=4,cores=4,maxcpus=16' -nodefaults -boot 'menu=on,strict=on,reboot-timeout=1000,splash=/usr/share/qemu-server/bootsplash.jpg' -vnc unix:/var/run/qemu-server/131.vnc,x509,password -cpu kvm64,+lahf_lm,+sep,+kvm_pv_unhalt,+kvm_pv_eoi,enforce -m 32768 -device 'pci-bridge,id=pci.1,chassis_nr=1,bus=pci.0,addr=0x1e' -device 'pci-bridge,id=pci.2,chassis_nr=2,bus=pci.0,addr=0x1f' -device 'piix3-usb-uhci,id=uhci,bus=pci.0,addr=0x1.0x2' -device 'usb-tablet,id=tablet,bus=uhci.0,port=1' -device 'VGA,id=vga,bus=pci.0,addr=0x2' -device 'virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x3' -iscsi 'initiator-name=iqn.1993-08.org.debian:01:18876f614bd' -drive 'if=none,id=drive-ide2,media=cdrom,aio=threads' -device 'ide-cd,bus=ide.1,unit=0,drive=drive-ide2,id=ide2,bootindex=200' -drive 'file=/dev/zvol/rpool/data/vm-131-disk-1,if=none,id=drive-virtio0,format=raw,cache=none,aio=native,detect-zeroes=on' -device 'virtio-blk-pci,drive=drive-virtio0,id=virtio0,bus=pci.0,addr=0xa,bootindex=100' -netdev 'type=tap,id=net0,ifname=tap131i0,script=/var/lib/qemu-server/pve-bridge,downscript=/var/lib/qemu-server/pve-bridgedown,vhost=on' -device 'virtio-net-pci,mac=56::E4,netdev=net0,bus=pci.0,addr=0x12,id=net0,bootindex=300' -machine 'type=pc-i440fx-2.12' -loadstate /dev/zvol/rpool/data/vm-131-state-suspend-2019-04-30' failed: got timeout

無法成功resum
試了好几次
最後修改 reboot-timeout=1000為 reboot-timeout=100000000
手動下之後
出現
kvm: reboot timeout is larger than 65535, force it to 65535.
所以timeout的最大值為65535
然後resum成功

所以當guest的ram設太大時
一定要注意這個問題

2019/04/23

為了因應window 7的大限
一直在處理相關的問題
最近處理到簡訊傳送
之前中華電信給了一個程式傳簡訊用的
從XP用到win 7都沒問題 但放到win 10上直接GG
詢問有沒有新的程式提供
只丟過來一份文件

https://www.emome.net/files/fckeditor/IMSP_SMS_Protocol_v3_0.pdf

沒法度 只好開始做工
就簡單講一下碰到的問題
一開始寫完後測試都沒問題
後來user反應不能傳
查了半天才發現是編碼的問題
程式是使用utf-8編碼
但windows預設還是使用big5  一直到win 10都是
所以只好改預設編碼了
再使用php來urlencode
好在直接有函數可以用

urlencode($string);

順便補充一下文件上說到如果有特殊字
建議使用utf-16be編碼
這時就要用到另一個函數

bin2hex(mb_convert_encoding($string, 'utf-16be', 'big-5'));

為了配合user都使用windows
目前就用big5吧
有問題再說

https://blog.longwin.com.tw/2011/06/php-html-unicode-convert-2011/

2019/04/20

這几天在proxmox建了一個新的centos 7 LXC來用
在yum update總會出現如下的錯誤

Running transaction
  Updating   : filesystem-3.2-25.el7.x86_64                                1/2
Error unpacking rpm package filesystem-3.2-25.el7.x86_64
error: unpacking of archive failed on file /sys: cpio: chown
  Verifying  : filesystem-3.2-25.el7.x86_64                                1/2
filesystem-3.2-21.el7.x86_64 was supposed to be removed but is not!
  Verifying  : filesystem-3.2-21.el7.x86_64                                2/2

Failed:
  filesystem.x86_64 0:3.2-21.el7         filesystem.x86_64 0:3.2-25.el7     

Complete!

我記得之前也開過centos 7的LXC 並沒有這個問題
於是找了一下 有人說是bug
可是看來像是權限的問題
後來想到container 運行時
可以決定是不是要使用 --privileged
想說會不會是這個問題
於是去看了一下option
發現之前建的LXC是使用--privileged 而這次建的是 nonprivileged
可是在網頁介面上無法去更改這個參數
只能進console去改
路徑在 /etc/pve/nodes/nodename/lxc/guestid.conf裡
先關几

#unprivileged: 1
再開几
再重跑一次yum update就沒問題了
正常使用下是不需要打開 privileged 的 如果需要某些特殊權限才打開
所以記得再 關几 改回去 重開几

不過改完之後發現一堆daemon都起不來了
看來還是在一開始建立的時候就要決定要不要使用privileged
目前proxmox預設的值是不使用 要注意
所以我應該還是會選擇使用 privileged 比較沒有那麼多限制

正確的 privilege 跟 nonprivilege 的轉換方式是使用backup 再restore
restore時可以選擇要不要使用 privilege 模式


LXC跟KVM還是有很多小地方不同 要特別注意

http://dockone.io/question/416

2019/04/19

昨天要備分一台新的CT時一直出現以下的訊息

INFO: create storage snapshot 'vzdump'
INFO: creating archive '/mnt/pve/nfs86_bck/dump/vzdump-lxc-108-2019_04_19-11_03_21.tar.lzo'
INFO: tar: /mnt/pve/nfs86_bck/dump/vzdump-lxc-108-2019_04_19-11_03_21.tmp: Cannot open: Permission denied
INFO: tar: Error is not recoverable: exiting now
INFO: remove vzdump snapshot
ERROR: Backup of VM 108 failed - command 'set -o pipefail && lxc-usernsexec -m u:0:100000:65536 -m g:0:100000:65536 -- tar cpf - --totals --one-file-system -p --sparse --numeric-owner --acls --xattrs '--xattrs-include=user.*' '--xattrs-include=security.capability' '--warning=no-file-ignored' '--warning=no-xattr-write' --one-file-system '--warning=no-file-ignored' '--directory=/mnt/pve/nfs86_bck/dump/vzdump-lxc-108-2019_04_19-11_03_21.tmp' ./etc/vzdump/pct.conf '--directory=/mnt/vzsnap0' --no-anchored '--exclude=lost+found' --anchored '--exclude=./tmp/?*' '--exclude=./var/tmp/?*' '--exclude=./var/run/?*.pid' ./ | lzop >/mnt/pve/nfs86_bck/dump/vzdump-lxc-108-2019_04_19-11_03_21.tar.dat' failed: exit code 2
INFO: Backup job finished with errors
TASK ERROR: job errors

試了很多次 換host 也沒用

最後查到是chmod的問題

/mnt/pve/nfs86_bck
/mnt/pve/nfs86_bck/dump

把以上二個目錄都改成 chmod 755
就正常了

https://forum.proxmox.com/threads/create-backup-fail-with-error-cannot-open-permission-de.32386/

2019/04/15

好久沒有裝avira免費版了
昨天裝完發現會把一堆拉G順便一起裝進去
還好可以一個一個再移除
很浪費時間就是了
不過最嚴重的問題是
竟然裝完電腦就不能關几了
按下關几後就重開几
試了無數次
最後放棄
安裝卡巴免費版
不像avira裝那麼多東東
只多裝了一個免費的匿名VPN
不過一天只有500MB的流量
用不到所以移除了
目前看來都還ok

2019/04/12

proxmox今天官方announce5.4版
介紹影片如下

https://www.proxmox.com/en/training/video-tutorials/item/what-s-new-in-proxmox-ve-5-4

針對guest多了二個功能
suspend跟hibernate

如果要手動下指令

分別是

qm suspend guest_id


qm suspend guest_id --todisk

二個的差別在 如果host重開

suspend的guest會被power off
所以下次重開會出現不正常關几的訊息

hibernate 不會


而官方的說法是當host要重開時
使用hibernate可以加速guest復原的時間

2019/04/04

之前寫過一篇使用honeyports的文章
昨天想到用iptables應該也可以達到相同的效果

iptables -I INPUT -p tcp --dport 9999 -j LOG

修改一下 tcp 或 udp 跟 dport

ubuntu的話會把log放在 /var/log/syslog
centos在 /var/log/messages

再把ip捉出來處理囉

在LXC中 iptables 的log 沒有作用 特別注意

2019/04/03

之前就在學生的電腦上看過wps office
只知道是大陸的軟体
而且呆丸政府也不會去推大陸的東東
今天在新聞上看到有支援linux
而且聽說開啟m$ office 檔案的時候
格式亂掉的几率很低
所以想說來裝看看
首先到官網下載
只有提供 deb 跟 rpm
下載後直接安裝
裝好後打開預設是英文介面
查了一下可以從 tool - change language 去改成 中文
但進到選項後發現只有英文跟簡中可以選
於是再找看看有沒有語言包
還真的有
下載後解壓縮放在mui的目錄
ubuntu的路徑是在

/opt/kingsoft/wps-office/office6/mui

再重新設定就會看到有繁中可以選了
不過初始的畫面還是英文
打開word 後才會是中文
先醬用看看囉

https://www.oschina.net/news/105612/wps-for-linux-2019-8372-released
http://wps-community.org/
https://www.mobile01.com/topicdetail.php?f=511&t=5048567

2019/03/28

ntopng有個 Alerts的功能
可以依需求把需要的Alerts打開
其中有一個

Probing Alerts

打開後可以針對
Suspicious TCP SYN Probing
留下記錄
本來想使用這個資訊來block
但跑了几天發現誤判實在太多
不可行

2019/03/15

今天cacit upgrde 到 1.2.2
升級過程建議我調整三個地方






























php的路徑在  /etc/php.ini
就照建議調了
但db這個
目前已使用官方提供的最高版本
而且之前就一直要更新
我也沒做 使用上也沒什麼問題
就先醬子再觀察看看

另外升級完打開後發現介面全部變成中文
高興了一下
但點圖看
時間那裡變成亂碼了 XD












到configuration的setting去調一下
多了 auto Language detection 這個選項 而且預設是 enable
改成 disable 變回英文介面 就正常了