แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - golfreeze

Pages: [1] 2 3 ... 141
1
===== send syslog to sensor node.  [normally syslog send to master node only]
https://docs.securityonion.net/en/2.3/firewall.html?highlight=syslog#allow-hosts-to-send-syslog-to-a-sensor-node

==step1 run on master
so-firewall addhostgroup syslogtosensor1

==step2 run on master
so-firewall includehost syslogtosensor1 ipของsyslog-ngที่จะส่งไปsensor

==step3 run on master “sensor_heavynode.sls” => /opt/so/saltstack/local/pillar/minions/<HOSTNAME>_<ROLE>.sls
/opt/so/saltstack/local/pillar/minions/sensor_heavynode.sls
firewall:
  assigned_hostgroups:
    chain:
      DOCKER-USER:
        hostgroups:
          syslogtosensor1:
            portgroups:
              - portgroups.syslog

==step4 run on master salt <HOSTNAME>_<ROLE> state.apply firewall
salt sensor_heavynode state.apply firewall

==step5 : run on sensor node
==check and view see connection establish for source_log send to sensor_ip
netstat -na | grep 514

2
ในกรณีเจอเครื่อง centos ไม่ให้ใช้งาน port อื่นนอกจาก 514 เพื่อรับ log สามารถตรวจเชคได้ ติด selinux หรือเปล่านะครับ

semanage port --list | grep syslog
syslogd_port_t                 tcp      601, 20514
syslogd_port_t                 udp      514, 601, 20514

ถ้าขึ้นมาเป็น 20514 สามารถใช้ตัวนี้ได้นะครับผม

3
all application on unix knowledges by golfreeze / pacemaker crm manual command
« on: สิงหาคม 16, 2021, 11:39:50 AM »
=====CRM manual  Putting cluster in maintenance mode for a maintenance activity on the SAP servers.
Many times there will be a need to do some kind of maintenance of a SAP server like OS patching, kernel upgrade, SID stacking etc.

In cases like these you might need to restart the servers but if the servers/nodes are in the cluster then the pacemaker will start migrating the services which can create a setback for the administrators. To avoid such scenarios we can simply put the cluster or a particular node in maintenance mode to avoid unwanted resource migrations.

There are three ways to achieve this depending on the situation.

Put the cluster in maintenance mode
crm configure property maintenance-mode="true"
Put the node in maintenance mode
crm node maintenance <node>
Put the node in standby mode
crm node standby <node>

==Once the activity is completed move the cluster or node out of maintenance using below commands.

Move the cluster out of maintenance
crm configure property maintenance-mode="false"
Move the node out of maintenance
crm node ready <node>
Move the node out of standby
crm node online <node>

====Most Important Commands for managing a pacemaker cluster

CRM monitoring commands-

-> crm status : Check the status of the cluster and its services.
-> crm_mon    : Live nonitoring of the cluster

CRM Node Commands

-> crm node show                : list the nodes in the cluster.
-> crm node standby <node name> : put a node on standby
-> crm node fence <node name>   : fence a particular node. (Restart)
-> crm node online <node name>  : bring a node online after standby.
-> crm node clearstate <node>   : clear a nodes state. (if in error)
-> crm node maintenance <node>  : put the node in maintenance mode. Will not affect the cluster services or resources
-> crm node ready <node>        : put the node out of maintenance

CRM Cluster Commands

-> crm cluster health           : Check the health of the cluster.
-> crm cluster start            : Start cluster services on the node.
-> crm cluster stop             : Stop cluster services on the node.
-> crm cluster restart          : Restart cluster services on the node.
-> crm cluster status           : Show cluster services on this node.

CRM Resource Commands

-> crm resource status <name>   : Check status of the resource
-> crm resource start <name>    : Start the resource.
-> crm resource stop  <name>    : Stop the resource.
-> crm resource cleanup <name>  : Cleanup the resource.(if in error)
-> crm resource migrate <name> <node> : Migrate the resource from this node to another.

==special thank you
https://www.linkedin.com/pulse/everything-you-need-know-sap-pacemaker-cluster-testing-robin-singh/

4
ตามนี้เลยครับ

Simply visit the Plugins » Installed Plugins page inside WordPress admin area.
Here you'll see the list of all your installed plugins with a link to 'Enable auto-updates' next to each plugin. You need to click on the 'Enable auto-updates' link to turn on automatic updates for individual plugins.

https://www.wpbeginner.com/plugins/how-to-enable-automatic-updates-for-wordpress-plugins/

5
command , shell script ,tool , crontab / Re: basic command for xargs
« on: กรกฎาคม 28, 2021, 10:22:31 PM »
1.txt
2.txt
3.txt
4.txt
5.txt

ทำการ rename นามสกุลไฟล์จาก .txt -> .text

ls | cut -d. -f1 | xargs -I {} mv {}.txt {}.text

เท่านี้ก็จะได้เป็น
1.text
2.text
3.text
4.text
5.text

 8)

6
หรือจะเขียนให้ อนุญาตแค่ ไฟล์ตระกูลรูปภาพ ที่เหลือ deny ทั้งหมดก็
order allow,deny
<Files ~ "\.(jpg|jpeg|png|gif|pdf|txt|bmp)$">
   allow from all
</Files>

7
=== postgres force drop database
If found error :
 database "boss_v2" is being accessed by other users
 DETAIL:  There are 2 other sessions using the database.

==fixed by force drop
REVOKE CONNECT ON DATABASE boss_v2 FROM public;
SELECT pg_terminate_backend(pg_stat_activity.pid)
FROM pg_stat_activity
WHERE pg_stat_activity.datname = 'bot’;
==and drop again
drop database boss_v2;

===when create found problem try to template0
CREATE DATABASE dbname TEMPLATE template1;
=If template1 is not available or corrupted, you can use template0 as last resort:
CREATE DATABASE dbname TEMPLATE template0;

ลองกันดูนะครับผม  8)

8
นำค่าของตำแหน่งสุดท้าย(จำนวนเงิน) มารวมกัน และเอาค่า , ออก แล้วมา sum ดูว่าเป็นทั้งหมดเท่าไร เช่น
sum.txt
05/06   20.00 USD CLOUDFLARE HTTPSWWW.CLOU US   06/06   641.84
07/06   TOPS-PIN KLAO BANGKOK TH        07/06   2,127.50

cat sum.txt | awk -F/ '{print $NF}' | awk '{print $2}' | sed 's/,//g' |  paste -sd+ | bc

9
==== Do on agent site ====
##download checkMYSQLProcesslist.sh
https://support.nagios.com/forum/download/file.php?id=3124&sid=a03b04c54e4889c5a0b37aeff9bc9027

==add in nrpe.cfg
command[check_mysql_query]=/usr/local/nagios/libexec/check_mysql.sh

==create 1 db and 1 table and insert 1 query to check access
CREATE TABLE `status_nagios` (
  `id` int(3) NOT NULL,
  `name` varchar(14) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

--
-- Dumping data for table `status_nagios`
--
INSERT INTO `status_nagios` VALUES (1,'statusnagios');

==== Do on nagios server =====
# Define check mysql_query on devnagios
define service{
        use                             local-service         ; Name of service template to use
        host_name                       devnagios.packetlove.com
        service_description             Check_Mysql_query
        check_command                   check_nrpe!check_mysql_query
        }

10
ในกรณีถ้า ไม่สามารถรัน recovery mode 1-6 แล้วยัง error อยู่ให้ทำการตั้งสติให้มั่น และใช้วิธี ใช้ tool
ในการดึงข้อมูลครับ ซึ่งบอกเลยว่าวิธีนี้ จะ advance หน่อย
แต่ถ้ามีพื้นฐานในการ compile source มาดีก็จะผ่านได้ครับ เริ่มจาก download tool undrop
https://twindb.com/undrop-for-innodb/
https://twindb.com/recover-corrupt-mysql-database/

ผมใช้ env เป็น centos 7.x และลง Mysql-server 5.6 ครับซึ่งจะมี tool innodb ให้ใช้งานค่อนข้างเยอะและเสถียรแล้ว

==== install new Mysql 5.5
http://repo.mysql.com/yum/mysql-5.5-community/el/7/x86_64/
https://www.cyberithub.com/install-mysql/

==== install undrop
git clone git@github.com:twindb/undrop-for-innodb.git
yum install make gcc flex bison

ทำการ make ก่อนเพื่อให้ได้
หลังจาก make เสร็จ ก็จะได้
 
stream_parser
c_parser

มาครับ
ทำการ copy ibdata1 จากเครื่องที่ corrupted หรือ harddisk มีปัญหามา ในกรณีของผมเป็นการรวมไฟล์ อยู่ในไฟล์เดียวคือ ibdata1
และ innodb_file_per_table=0 
แล้วทำการ รัน
./stream_parser -f ibdata1

จะได้ไฟล์ตัวที่เป็น INDEX และ BLOB มาครับ ใน folder
/root/undrop-for-innodb/pages-ibdata1
[PKL@db2 pages-ibdata1]# ls -lah
drwxr-xr-x  2 root root 300K Jun  6 19:56 FIL_PAGE_INDEX
drwxr-xr-x  2 root root 4.2M Jun  6 19:56 FIL_PAGE_TYPE_BLOB

ซึ่งถ้าเราเข้าไป string file ดูก็จะเห็นเป็น raw data อยู่ใน folder: FIL_PAGE_INDEX ครับ
# strings 0000000008664211.page
String 0000000008664211.page
==check  innodb
show variables like 'innodb_file_per_table';
./c_parser -f pages-ibdata1/FIL_PAGE_INDEX/0000000008671378.page -t dictionary/member_golf.sql

==== step1 begin here =====
./stream_parser -f ibdata1

===ทำการเชคจาก table name จาก 0000000000000001.page ก่อน
./c_parser -4 -f pages-ibdata1/FIL_PAGE_INDEX/0000000000000001.page -t dictionary/SYS_TABLES.sql
000082B5C909    5400001D8F1CD8  SYS_TABLES      "PKL\_sabye/member"        3336397 69      1       0       0       ""      0
000082B5C912    59000185BB2B9C  SYS_TABLES      "PKL\_sabye/received\_thb" 3336398 3       1       0       0       ""      0
000082B5CAB0    6A0000E78C06CE  SYS_TABLES      "PKL\_sabye/transfer\_transaction" 3336399 42    3336398

==== step2 for ทำการค้นหา INDEX ของ table: member
./c_parser -4 -f pages-ibdata1/FIL_PAGE_INDEX/0000000000000003.page -t dictionary/SYS_INDEXES.sql | grep 3336398
000082B5C90D    D600019E61014F  SYS_INDEXES     3336398 8671379 "PRIMARY"       1       3       0       41052
SET FOREIGN_KEY_CHECKS=0;
LOAD DATA LOCAL INFILE '/home/centos/undrop-for-innodb/dumps/default/SYS_INDEXES' REPLACE INTO TABLE `SYS_INDEXES` CHARACTER SET UTF8 FIELDS TERMINATED BY '\t' OPTIONALLY ENCLOSED BY '"' LINES STARTING BY 'SYS_INDEXES\t' (`TABLE_ID`, `ID`, `NAME`, `N_FIELDS`, `TYPE`, `SPACE`, `PAGE_NO`);
-- STATUS {"records_expected": 7615, "records_dumped": 7457, "records_lost": true} STATUS END
Primary = 8671379

====step3 : for received_thb.sql dump export to sql file with position 0000000008671379
./c_parser -6f pages-ibdata1/FIL_PAGE_INDEX/0000000008671379.page -t dumps/received_thb.sql > dumps/default/received_thb 2> dumps/default/received_thb.sql

==step4: for member.sql
./c_parser -4 -f pages-ibdata1/FIL_PAGE_INDEX/0000000000000003.page -t dictionary/SYS_INDEXES.sql | grep 3336397
000082B5C904    D10001532C06B9  SYS_INDEXES     3336397 8671378 "PRIMARY"       1       3       0       152194

===step5: generate and import data
./c_parser -6f pages-ibdata1/FIL_PAGE_INDEX/0000000008671378.page -t dumps/member.sql -b pages-ibdata1/FIL_PAGE_TYPE_BLOB -o dumps/default/member5 -l dumps/default/member5.sql

===step6: load data to file
cd dump
mysql --local-infile -uroot -p
source member5.sql
show create table member;

เท่านี้ก็จะได้ข้อมูลจาก table: member ออกมาละครับผม
ขอจงอย่าล้มเลิก ยาก แปลว่าทำได้ สู้ๆ ครับ ^_^  8)

ทีมงาน R&D
กอล์ฟ [at] Packetlove[dot]com

11
ถ้าเป็น ubuntu18 สามารถตั้งค่าในนี้ ได้ หรือจะมาเชคก่อนก็ได้ว่าค่าเป็นอะไรนะครับผม
==/etc/apt/apt.conf.d/90curtin-aptproxy
Acquire::http::Proxy "http://user:pass@proxy.com:8080";
Acquire::https::Proxy "http://user:pass@proxy.com:8080;

ทำการ netplan apply แล้วลองออกเนตดูนะครับ

12
===step after dashboard done => https://docs.securityonion.net/en/2.3/logstash.html
ถ้าเจอว่า master node ไม่สามารถค้นหาได้ และเกิด error
"Error: Could not locate that index-pattern-field (id: @timestamp)"

# ls -la /opt/so/conf/logstash/pipelines/manager
total 20
drwxr-xr-x 2 logstash socore 4096 May 22 23:57 .
drwxr-xr-x 4 logstash socore 4096 May 29 23:42 ..
-rw-r--r-- 1 logstash socore   69 May 22 23:57 0009_input_beats.conf
-rw-r--r-- 1 logstash socore 1065 May 22 23:57 0010_input_hhbeats.conf
-rw-r--r-- 1 logstash socore  206 May 22 23:57 9999_output_redis.conf

# ls -la /opt/so/conf/logstash/pipelines/search
total 44
drwxr-xr-x 2 logstash socore 4096 May 29 23:42 .
drwxr-xr-x 4 logstash socore 4096 May 29 23:42 ..
-rw-r--r-- 1 logstash socore  180 May 29 23:42 0900_input_redis.conf
-rw-r--r-- 1 logstash socore  372 May 29 23:42 9000_output_zeek.conf
-rw-r--r-- 1 logstash socore  351 May 29 23:42 9002_output_import.conf
-rw-r--r-- 1 logstash socore  342 May 29 23:42 9034_output_syslog.conf
-rw-r--r-- 1 logstash socore  392 May 29 23:42 9100_output_osquery.conf
-rw-r--r-- 1 logstash socore  341 May 29 23:42 9400_output_suricata.conf
-rw-r--r-- 1 logstash socore  370 May 29 23:42 9500_output_beats.conf
-rw-r--r-- 1 logstash socore  338 May 29 23:42 9600_output_ossec.conf
-rw-r--r-- 1 logstash socore  359 May 29 23:42 9700_output_strelka.conf

2. ใส่ค่าเพิ่มใน /opt/so/saltstack/local/pillar/global.sls
logstash:
  pipelines:
    manager:
      config:
        - so/0009_input_beats.conf
        - so/0010_input_hhbeats.conf
        - so/9999_output_redis.conf.jinja
    search:
      config:
        - so/0900_input_redis.conf.jinja
        - so/9000_output_zeek.conf.jinja
        - so/9002_output_import.conf.jinja
        - so/9034_output_syslog.conf.jinja
        - so/9100_output_osquery.conf.jinja
        - so/9400_output_suricata.conf.jinja
        - so/9500_output_beats.conf.jinja
        - so/9600_output_ossec.conf.jinja
        - so/9700_output_strelka.conf.jinja

3. restart logstash
# so-logstash-restart

4. restart elasticsearch
# so-elasticsearch-restart

====located for salt pipeline config
/opt/so/saltstack/default/salt/logstash/pipelines/config/so

===>after configure pipeline into global.sls then docker will start on choose pipeline and keep configure on path below.
 /opt/so/conf/logstash/pipelines/search

===docker command check inspect 
docker inspect so-logstash

เท่านี้พวก log ใน dashboard kibana ก็จะแสดงขึ้นมาครับผม

13
Package on mac / Re: mac check battery and life cycle via command line console howto
« on: พฤษภาคม 26, 2021, 08:30:09 PM »
==วันนี้ได้ทำการเปลี่ยน Battery MacBookPro ที่สั่งซื้อมาใหม่เสร็จครับ
แล้วรันเชค MaxCapa กับ Cycle ดูจะขึ้นเป็น MaxCapa = 6880 , CurrentCapa = 6868
และ Cycle Count = 1  เยี่ยมไปเลย ลองดูกันว่าจะใช้ได้กี่ปี  : )

#ioreg -l -w0 |grep Capacity
    | |           "AppleRawCurrentCapacity" = 6868
    | |           "AppleRawMaxCapacity" = 6880
    | |           "MaxCapacity" = 6880
    | |           "CurrentCapacity" = 6868
    | |           "LegacyBatteryInfo" = {"Amperage"=18446744073709551318,"Flags"=4,"Capacity"=6880,"Current"=6868,"Voltage"=12274,"Cycle Count"=1}
    | |           "DesignCapacity" = 6559
    | |           "BatteryData" = {"StateOfCharge"=25600,"Voltage"=12594,"QmaxCell1"=46882,"QmaxCell2"=33570,"DesignCapacity"=6559,"QmaxCell0"=38946,"CycleCount"=1}

14
all application on unix knowledges by golfreeze / Re: install redis on centos7 directadmin
« on: พฤษภาคม 26, 2021, 10:54:26 AM »
##tunning kernel support high connection for redis
echo never > /sys/kernel/mm/transparent_hugepage/enabled
sysctl -w net.core.somaxconn=65535

15
==== add new disk (sdb) to vg LVM
fdisk /dev/sdb
n
p
1

=change type to LVM as 8e and write save config
t
8e
w

==create pv
pvcreate /dev/sdb1
y
vgextend ubuntu-vg /dev/sdb1
lvextend -L +32G /dev/mapper/ubuntu--vg-ubuntu--lv
xfs_growfs /dev/mapper/ubuntu--vg-ubuntu--lv


Pages: [1] 2 3 ... 141