Skip to content

Commit f32dc98

Browse files
authored
docs: new versions of the docs (YetiForceCompany#146)
* feat: replace tagline * fix: remove some useless comments * feat: introduce new versions to docs * feat: introduce 6.5.0 docs * feat: add lang files for 6.5.0 * fix: replace 6.5.0 docs with valid data * feat: add debug option, change doc name
1 parent c0a3457 commit f32dc98

File tree

677 files changed

+16120
-7
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

677 files changed

+16120
-7
lines changed

docusaurus.config.js

+3-7
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,9 @@
66
/** @type {import('@docusaurus/types').DocusaurusConfig} */
77
export default {
88
title: 'YetiForce Documentation',
9-
tagline: '👷 Site under construction 👷',
9+
tagline: 'Official documentation/guide of the YetiForce system',
1010
url: 'https://doc.yetiforce.com',
1111
baseUrl: '/',
12-
// baseUrl: '/YetiForceDoc/build/',
1312
onBrokenLinks: 'warn',
1413
onBrokenMarkdownLinks: 'warn',
1514
favicon: 'img/favicon.ico',
@@ -23,24 +22,21 @@ export default {
2322
[
2423
'@docusaurus/preset-classic',
2524
{
26-
//debug: true,
25+
debug: false,
2726
docs: {
2827
routeBasePath: '/',
2928
sidebarPath: require.resolve('./sidebars.js'),
30-
// Please change this to your repo.
3129
editUrl: ({ locale, versionDocsDirPath, docPath }) => {
3230
if (locale !== 'en') {
33-
// return `https://github.com/YetiForceCompany/YetiForceDoc/edit/main/i18n/${locale}/docusaurus-plugin-content-docs/current/${docPath}`;
3431
return `https://crowdin.com/project/yetiforcedoc/${locale}`;
3532
}
3633
return `https://github.com/YetiForceCompany/YetiForceDoc/edit/main/docs/${docPath}`;
3734
},
38-
// editUrl: 'https://github.com/YetiForceCompany/YetiForceDoc/edit/main/',
3935
showLastUpdateAuthor: false,
4036
showLastUpdateTime: true,
4137
versions: {
4238
current: {
43-
label: 'Stable',
39+
label: '7.x',
4440
path: ''
4541
}
4642
},
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
---
2+
title: Fałszywe pozytywne wyniki analizy YetiForce przez ModSecurity
3+
keywords:
4+
- serwer
5+
- wymagania
6+
- systemu
7+
- YetiForce
8+
- ModSecurity
9+
tags:
10+
- serwer
11+
- wymagania
12+
- systemu
13+
- ModSecurity
14+
description: Jakie występują problemy w działaniu systemu YetiForce z ModSecurity
15+
---
16+
17+
W domyślnej konfiguracji ModSecurity nie działa prawidłowo z systemem YetiForce, co skutkuje wykryciem fałszywie pozytywnych wyników, czyli znalezieniem podatności, które faktycznie nie istnieją.
18+
19+
## Przykłady błędów
20+
21+
### KaTeX parse error: Can't use function '$' in math mode at position
22+
23+
```
24+
[Tue Oct 19 12:46:31.419489 2021] [:error] [pid 3665031] [client 10.0.1.2:53070] [client 10.0.1.2] ModSecurity: Warning. Pattern match "(?:;|\\\\{|\\\\||\\\\|\\\\||&|&&|\\\\n|\\\\r|\\\\$\\\
25+
26+
KaTeX parse error: Can't use function '$' in math mode at position 6: |\\\\$̲\\\\(\\\\(|`|\\...
27+
)\\\\s(?:{|\\\\s\\\
28+
KaTeX parse error: Got function '\newline' with no arguments as superscript at position 1: \̲n̲e̲w̲l̲i̲n̲e̲
29+
30+
\\\\-\\\\|+\\\\w'\\"\\\\./\\\\\\\\]+/)?[\\\\\\\\'\\"](?:l[\\\\\\\\'\\"] ..." at ARGS:historyUrl. [file "/usr/share/modsecurity-crs/rules/REQUEST-932-APPLICATION-ATTACK-RCE.conf"] [line "123"] [id "932100"] [msg "Remote Command Execution: Unix Command Injection"] [data "Matched Data: &history found within ARGS:historyUrl: index.php?module=Calendar&view=CalendarExtended&history=true&viewType=month&start=2021-09-27&end=2021-11-06&user=22&time=current&cvid=undefined&hiddenDays=0,6"] [severity "CRITICAL"] [ver "OWASP_CRS/3.2.0"] [tag "application-multi"] [tag "language-shell"] [tag "platform-unix"] [tag "attack-rce"] [tag "OWASP_CRS"] [tag "OWASP_CRS/WEB_ATTACK/COMMAND_INJECTION"] [tag "WASCTC/WASC-31"] [tag "OWASP_TOP_10/A1"] [tag "PCI/6.5.2"] [hostname "yetiforce.example.com"] [uri "/index.php"] [unique_id "YW6iB-TmEYx0Wwg3C6b1hwAAAAk"]
31+
32+
```
33+
34+
### Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score
35+
36+
```
37+
[Tue Oct 19 12:46:31.425358 2021] [:error] [pid 3665031] [client 10.0.1.2:53070] [client 10.0.1.2] ModSecurity: Access denied with code 403 (phase 2). Operator GE matched 5 at TX:anomaly_score. [file "/usr/share/modsecurity-crs/rules/REQUEST-949-BLOCKING-EVALUATION.conf"] [line "91"] [id "949110"] [msg "Inbound Anomaly Score Exceeded (Total Score: 5)"] [severity "CRITICAL"] [tag "application-multi"] [tag "language-multi"] [tag "platform-multi"] [tag "attack-generic"] [hostname "yetiforce.example.com"] [uri "/index.php"] [unique_id "YW6iB-TmEYx0Wwg3C6b1hwAAAAk"]
38+
```
39+
40+
### Operator GE matched 5 at TX:inbound_anomaly_score.
41+
42+
```
43+
[Tue Oct 19 12:46:31.425742 2021] [:error] [pid 3665031] [client 10.0.1.2:53070] [client 10.0.1.2] ModSecurity: Warning. Operator GE matched 5 at TX:inbound_anomaly_score. [file "/usr/share/modsecurity-crs/rules/RESPONSE-980-CORRELATION.conf"] [line "86"] [id "980130"] [msg "Inbound Anomaly Score Exceeded (Total Inbound Score: 5 - SQLI=0,XSS=0,RFI=0,LFI=0,RCE=5,PHPI=0,HTTP=0,SESS=0): individual paranoia level scores: 5, 0, 0, 0"] [tag "event-correlation"] [hostname "yetiforce.example.com"] [uri "/index.php"] [unique_id "YW6iB-TmEYx0Wwg3C6b1hwAAAAk"]
44+
```
45+
46+
## Adres nie zawiera ataku `Remote Command Execution: Unix Command Injection`
47+
48+
Parametr `historyUrl` zawiera adres URL: "index.php?module=Calendar&view=CalendarExtended&history=true&viewType=month&start=2021-09-27&end=2021-11-06&user=22&time=current&cvid=undefined&hiddenDays=0,6", a nie polecenie powłoki `Remote Command Execution: Unix Command Injection`.
49+
50+
## Nie zalecamy aby skrypty PHP były w stanie wywoływać funkcje do powłoki systemu operacyjnego
51+
52+
W [`Konfiguracja systemu → Logi → Serwer - konfiguracja`](/administrator-guides/logs/server-configuration/) można zweryfikować, czy zostały wyłączone niebezpieczne funkcje (między innymi do wykonywania poleceń powłoki systemu):
53+
54+
```ini
55+
disable_functions = pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,shell_exec,exec,system,passthru,popen
56+
```
57+
58+
Dlatego nie ma ryzyka, jeśli serwer jest poprawnie skonfigurowany.
59+
60+
## Każde dane wejściowe są odpowiednio weryfikowane pod kątem dozwolonych wartości i znaków
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
---
2+
title: Database performance
3+
description: This article does not describe the configuration procedures, but highlights a few crucial points in optimizing a server environment.
4+
keywords:
5+
- serwer
6+
- database
7+
- wydajność
8+
- YetiForce
9+
tags:
10+
- database
11+
- wydajność
12+
hide_table_of_contents: true
13+
preview: 2-database-performance.jpg
14+
---
15+
16+
![2-database-performance.jpg](2-database-performance.jpg)
17+
18+
A proper configuration of the database server is an important element within the system implementation process. This article does not describe the configuration procedures, but highlights a few crucial points in optimizing a server environment. These guidelines are not mandatory, they are suggestions that result from many years of experience within the IT environment:
19+
20+
1. Your friends are: vmstat / dstat, iostat, top, ps and any graphical history of values.
21+
2. Define the bottleneck (read/write, memory, CPU, network). How? Refer to point 1.
22+
3. Server optimization according to the process: problem analysis > consideration > change (only one change a time) > test > implement > begin the process again until you achieve satisfactory / optimal results.
23+
4. Hardware
24+
25+
- Recommended to use RAID 10 (RAID 5 may not be sufficient).
26+
- In most cases, the speed of CPU is the bottleneck, not the number of cores. It is a good idea to invest in faster CPUs.
27+
- Use standard 1Gbit everywhere you can (in particular to connect application server to database server).
28+
- Use drives with large cache (and protect it appropriately).
29+
- Do not use virtualization for database servers!
30+
31+
5. Software
32+
33+
- Use optimal systems (SLES, RHEL, Debian, CentOS).
34+
- Use 64-bit architecture.
35+
- Use the most up-to-date stable versions (kernel >= 2.6.12).
36+
- Use mainstream file system, e.g. ext3, xfs.
37+
- Not necessary to modify your operating system, because it is already optimal!
38+
- Use a thread cache from your operating system.
39+
40+
6. Database
41+
42+
- The big three (key_buffer_size, innodb_buffer_pool_size, innodb_log_file_size).
43+
- Do not modify anything, unless you know what it is for. Use ready-made configuration templates, which establish a proper database optimization. Ask a specialist for advice!
44+
- Unconditionally use InnoDB! (and the optimization for this engine).
45+
- Monitor slow queries to optimize them.
46+
47+
7. Application
48+
- Index
49+
- All attributes where you JOIN.
50+
- All attributes where you filter (WHERE).
51+
- All attributes where you ORDER or Group BY.
52+
- All attributes where you do an Index Scan.
53+
- Order
54+
- Index elements only from left to right.
55+
- For compound indexes, e.g. INDEX (a, b), INDEX (a,b(10)).
56+
57+
The server optimization can increase the application speed up to 2x, the application optimization can increase the application operation up to 10x.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
---
2+
title: Apache 500 - Internal Server Error
3+
description: It is a common scenario for people responsible for installation, updates, and implementation of the system to receive error 500 in the browser.
4+
keywords:
5+
- Server
6+
- Apache
7+
- Internal
8+
- Error
9+
- 500
10+
- YetiForce
11+
tags:
12+
- Error
13+
---
14+
15+
It is a common scenario for people responsible for installation, updates, and implementation of the system to receive **error 500** in the browser. The first thing to understand is that this type of error isn’t an application error, but an http server error. However, it doesn't mean the application itself cannot cause the problem, but it means that the http server knows why this error appeared. Therefore, the most important information is why the http server displays the error. Read the following information to learn more about the error:
16+
17+
## Enable http server logs and determine what causes the error
18+
19+
- If you can’t see anything relevant in the logs - you will have to enable more detailed http server logs. Error 500 is a server error, and therefore the server knows best why the error is displayed.
20+
- If you don’t know how to enable logs - you should ask your server administrator to do it for you, or contact the server provider support.
21+
- YetiForce application logs may include a hint why the problem occurs, but you should mostly focus on what the server logs show.
22+
23+
## The most common causes of error 500
24+
25+
- **temporarily exceeding security services parameters**, including the scripts run by www. You can try to undo the last changes performed in www service, disable scripts/applications that can significantly burden the server.
26+
- **exceeding the timeout parameter for the server**. You can solve the problem by modifying scripts, so that their execution time doesn’t exceed the service safety parameters.
27+
- **misconfigured file and directory permissions**. You can change CHMOD, for example while connecting to the FTP server.
28+
- **incorrect entries in the .htaccess file**. You can solve the problem by removing or fixing incorrect directives, for example syntax errors, or calling options unavailable on the server.
29+
30+
## How can the YetiForce team help you to solve this problem?
31+
32+
This error is server-specific and requires an analysis of server logs, therefore the YetiForce team can only help you solve this problem directly if you purchase support hours available in [our store](https://yetiforce.com/en/marketplace/support.html).
33+
34+
## How can the community help you solve this problem?
35+
36+
If you submit a ticket in the [Issue tab](https://github.com/YetiForceCompany/YetiForceCRM/issues) of our GitHub repository, you can try to solve the problem together with the community. Remember to include the http server logs, because if you don’t provide them, identifying the problem will be hardly possible.
37+
38+
If you find an error message and you have no clue what to do with it, you should ask the operating system administrator to conduct an analysis, or research the problem on the Internet on your own. Our team can only offer advice as far as configuration and development of the YetiForce system is concerned. When it comes to assistance with server issues, we recommend contacting companies who specialize in this area. We have Linux server specialists, but they support us in the development of the product, and they also help us during the implementation of paid projects.

0 commit comments

Comments
 (0)