-
DOKUMENTACJA SYSTEMU
-
-
Dla użytkowników
-
-
- Business Intelligence
- Tworzenie raportu
- Uruchamianie reguły ręcznej dla wielu spraw
- Raporty BI - typ raportu "Planowanie zasobów"
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
-
-
Dla twórców
-
-
- Interfejs systemu AMODIT - część 1, lista spraw, okno główne systemu
- Interfejs systemu AMODIT - część 2, formularz sprawy
- Interfejs systemu AMODIT - część 3, lista raportów
- Interfejs systemu AMODIT - część 4, raport
- Interfejs systemu AMODIT - część 5, użytkownicy
- Interfejs systemu AMODIT - część 6, grupy
- Interfejs systemu AMODIT - część 7, słowniki
- Interfejs systemu AMODIT - część 8, ustawienia systemowe
- Interfejs systemu AMODIT - część 9, logi systemowe
- Już nie wysyłamy, ale dodajemy komentarze :-)
- Ukrywanie na formularzu identyfikatora sprawy
-
-
-
- Przenoszenie definicji procesu miedzy środowiskami
- Unknown procedure
- Ustawienia procesu
- Źródło utworzenia sprawy
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- Rejestrowanie zdarzeń związanych z podglądem lub pobieraniem dokumentów
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
- Ukrywanie na formularzu identyfikatora sprawy
-
- Articles coming soon
-
-
- Dodawanie pól do formularza z poziomu sprawy
- Dodawanie pól na formularzu
- Dodawanie, usuwanie, przenoszenie pól na formularzu
- Graficzny edytor formularza
- Sekcja
- Rozróżnienie pól lub kolumn o takich samych nazwach podczas konfiguracji raportu
- Zmiana sposobu wyświetlania nazw technicznych i wyświetlanych pól w raportach w przypadku duplikatów nazw
- Silnik reguł - konstrukcja językowa [nazwa pola odnośnik].[nazwa pola]
- Brak możliwości zmiany typu pola na tabelaryczny
- Blokada edycji sekcji 3- lub 4-kolumnowych w edytorze graficznym formularza
-
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Pole - Dokument
- Wydzielanie dokumentów
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- TrustCenterSetSigningPeriod()
- GetAttachmentFromTemplate()
- ConvertFileToPDFEx()
- Parametr systemowy - "Path for files banned for security reasons"
- Maksymalny rozmiar pliku w AMODIT
-
-
-
- Język skryptowy reguł
- Pola systemowe dla każdej sprawy
- Reguła okresowa dla procesu
- Reguły tabeli
- Typy reguł biznesowych
- Tytuł sprawy
- Użycie parametrów w regułach
- Lista typów reguł procesu i opcji ich konfiguracji
- Jak sterować przepływem zdarzeń, korzystając z instrukcji warunkowej "if ... else ..."?
- Reguła okresowa według własnego harmonogramu
- How to disable a process rule from running
- Potwierdzenie wykonania reguły ręcznej
- Potwierdzenie wykonania reguły ręcznej - część 2
- Reguła okresowa dla procesu według własnego harmonogramu
-
-
- CallRest i CallWebSite
- ERP_GetDocumentExportStatus
- ExecuteSQL()
- FindUsersInAD()
- foreachobject
- GetSystemParameterValue
- GetUserDataFromAD
- GetXML
- Integracja z systemami bankowymi (przelewy masowe)
- JsonPath
- RemoteExecuteSQL()
- XmlDecode
- XmlEncode
- XPath
- GetJSON
- Function GetJSON() - how it works
- Integracja z usługą e-Doręczenia Poczty Polskiej
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Połączenia nazwane do baz danych
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
- Show all articles ( 8 ) Collapse Articles
-
- AttachmentsCount
- ConditionalGet
- ConditionalMax
- ConditionalMin
- ConditionalSetTableRowsSum
- ConditionalSum
- CountConnectedClosed
- CountConnectedOpen
- CountDocuments
- CountRows
- DateDiff
- DayDiff
- GetExchangeRate
- HourDiff
- IsNumber
- Max
- Min
- MonthDiff
- NextNumber()
- Round
- Sum
- ToNumber
- WorkDayDiff
- YearDiff
- Ograniczenie precyzji liczb w polach typu numerycznego
- RegisterNextNumber()
- FindAndRegisterNextNumber()
- FindNextNumberByDate()
- GetLastNumber()
- GetNumbersList()
- GetSortValue()
- RemoveCaseFromNextNumber()
- RemoveNextNumber()
- Renumerate()
- ResetNextNumber()
- Show all articles ( 20 ) Collapse Articles
-
- CheckOverlappingDates
- CurrentDateTime
- DateAdd
- DateDiff
- DatePart
- DateTime
- DayDiff
- DeleteDeadline
- HourDiff
- MonthDiff
- SendCalendarMessage()
- SetReminder
- Today
- WorkDayDiff
- YearDiff
- SetDateFilter()
- Show all articles ( 1 ) Collapse Articles
-
- AddTableRow
- CollapseSection
- CopyTableData
- CountRows
- DisableField
- DisableRow
- EnableField
- EnableRow
- ExpandSection
- FieldIsCorrect
- FieldIsIncorrect
- FieldIsNotRequired
- FieldIsRequired
- FieldOriginalValue
- FieldValueChanged
- FillFieldsFromString
- FillFromSkanujTo
- FillTableWithDictionary
- Get
- HideColumn
- HideField
- HideRow
- HideSection
- IsEmpty
- IsFormValid
- IsUniqueValue
- IsValidFieldValue
- NextNumber()
- RemoveTableRow
- SaveCase
- SendCasePrintMail
- Set
- SetDictionaryFilter
- SetFieldAlias
- SetFieldInfo
- SetListChoices
- SetReferenceFilter
- SetTemplate
- SetUserFieldSettings
- SetUserFilter
- ShowColumn
- ShowField
- ShowRow
- ShowSection
- SignCase
- SignField
- StartProgress
- StopProgress
- ToggleField
- ToggleSection
- SetAttachmentFieldSettings
- AddCasePrint
- Blokada edycji sekcji 3- lub 4-kolumnowych w edytorze graficznym formularza
- Show all articles ( 38 ) Collapse Articles
-
- AddTableRow
- ConditionalGet
- ConditionalSet
- CopyTableData
- CountRows
- DisableRow
- EnableRow
- FillTableWithDictionary
- foreachrow
- forrow
- Get
- GetFromPrevRow
- HideColumn
- HideField
- HideRow
- Max
- Min
- RemoveTableRow
- Set
- ShowColumn
- ShowRow
- SortTable
- Sum
- GetJsonFromCsv()
- Show all articles ( 9 ) Collapse Articles
-
- EndsWith
- foreachstring
- FormatValue
- GetAttachmentContent
- GetComments
- IndexOf
- IsNumber
- Length
- NextNumber()
- NumberToMoneyText
- RegExp
- ReplaceRegionalLetters
- StartsWith
- StringContains
- StringFormat
- StringReplace
- StripHTML
- Substring
- ToLower
- ToNumber
- ToUpper
- Trim
- Validate
- ValidatePLNIP
- XmlDecode
- XmlEncode
- XPath
- StringToBase64
- GetJsonFromCsv()
- Base64ToString()
- Char()
- Show all articles ( 16 ) Collapse Articles
-
- AddAttachmentFromTemplate
- AddBarcode
- AddFileToSharepoint
- AttachmentsCount
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- ChangeAttachmentName
- ConvertFileToPDF
- CountDocuments
- DeleteAttachment
- DeleteAttachmentFromOCR
- FillDataFromOCR
- FillFromSkanujTo
- GetAttachmentContent
- GetAttachmentData
- GetBarcodes
- GetDictionaryDescription
- GetOfficeOnlineServerLink
- GetQRcodes
- HideAllTemplates
- HideTemplate
- MergeFilesToPDF
- SendAttachmentToOCR
- SendMessageWithAttachments
- SetTemplate
- SetTemplateFileName
- ShowTemplate
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- SetAttachmentFieldSettings
- Wydzielanie dokumentów
- MoveAttachmentToCase
- CopyAttachmentToCase
- GetExcelData()
- AddCasePrint
- AddFileToList
- CreateAttachmentFromBase64
- CreateZip
- DownloadFile
- ExtractPagesFromDocument
- ExportReportToExcel
- GetAttachmentFromTemplate()
- ConvertFileToPDFEx()
- Parametr systemowy - "Path for files banned for security reasons"
- Maksymalny rozmiar pliku w AMODIT
- AddAttachment
- AmoditGetAttachmentContent
- Show all articles ( 37 ) Collapse Articles
-
- Podpis elektroniczny AMODIT wpisany do rejestru NBP
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- TrustCenterSetSigningPeriod()
- TrustCenterSendToSignEx()
- TrustCenterEditSignersEx()
- TrustCenterGetSignersData()
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
-
- AddComment
- AssignProcedure
- CancelSignature
- CaseCreator
- CaseForwarder
- CaseOwner
- CaseProcessingTime
- CaseStatusId
- ChangeDeadline
- ChangeStage
- CheckAllRequiredParams
- CloseCase
- CopyAndAssignCase
- CopyCase
- CreateCase()
- CurrentStage
- CurrentUser
- DeleteCase
- DeleteDeadline
- FieldIsCorrect
- FieldIsIncorrect
- FieldIsNotRequired
- FieldIsRequired
- FireRules
- forcase
- ForwardCase
- GetDeadline
- GrantTemporaryAccessToCase
- IsFormValid
- IsPrint
- MailHeaderValue
- RedirectToCase()
- RedirectToUrl()
- SaveCase
- SetReminder
- ShowMessage
- SignCase
- SignField
- TerminateTemporaryAccessToCase
- Potwierdzenie wykonania reguły ręcznej
- Confirm()
- Potwierdzenie wykonania reguły ręcznej - część 2
- Ustawianie przypomnienia
- AddCaseEvent
- Show all articles ( 29 ) Collapse Articles
-
- AddProfilerEvent
- CallFunction
- CallRest i CallWebSite
- ERP_GetDocumentExportStatus
- ERP_PutDocumentInBufor
- ExecuteSQL()
- GetSystemParameterValue
- GetXML
- RemoteExecuteSQL()
- WriteToSystemLog()
- GetJSON
- try {...} catch {...}
- AddNews
- Silnik reguł - konstrukcja językowa [nazwa pola odnośnik].[nazwa pola]
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- GetJsonFromCsv()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Wyłączanie spraw z mechanizmu zastępstw
- CreateObject()
- AddObjectToList()
- RegisterNextNumber()
- FindAndRegisterNextNumber()
- FindNextNumberByDate()
- GetLastNumber()
- GetNumbersList()
- GetSortValue()
- RemoveCaseFromNextNumber()
- Wyłączenie niewykorzystywanych snipet’ów w edytorze reguł
- RemoveNextNumber()
- Renumerate()
- ResetNextNumber()
- Base64ToString()
- AddCaseEvent
- Show all articles ( 19 ) Collapse Articles
-
- AddCC
- AddCON
- AddUserToRole
- CaseCreator
- CaseForwarder
- CaseOwner
- ClearCC
- ClearCON
- CurrentUser
- FindUsersInAD()
- FullName
- GetAllUsers
- GetCC
- GetCON
- GetEmail
- GetExtOrganizationData
- GetManager
- GetManagers
- GetSubordinate
- GetUserData
- GetUserDataFromAD
- GetUsersFromRole
- GrantTemporaryAccessToCase
- IsCurrentUserOrDeputy
- IsDeputyOf
- IsGroupMember
- RemoveCC
- RemoveCON
- RemoveUserFromRole
- SetUserFilter
- UserIsExternal
- UsersOfGroup
- Przełączanie konta użytkownika
- Blokowanie edycji parametrów w profilu użytkownika
- AddUsersToGroup()
- RemoveUsersFromGroup()
- SetGroupMembers()
- Show all articles ( 22 ) Collapse Articles
-
-
- Raporty BI - typ raportu "Planowanie zasobów"
- Zewnętrzne źródła danych - typ połączenia "File"
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Raporty BI - typ raportu "Tabela"
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Raporty BI - typ raportu "kanban"
- Raporty BI - typ raportu "treemap"
- Raporty BI - typ raportu kolumnowy pionowy lub poziomy
- Raporty BI - typ raportu pivot
- Raporty BI - typ raportu liniowy (wykres)
- Raporty BI - typ raportu kalendarz
- Raporty BI - typ raportu Gantt
-
- Articles coming soon
-
-
-
- Często zadawane pytania dotyczące tworzenia spraw na podstawie maila
- Dzielenie dokumentów przy pomocy kodów kreskowych
- Jak przygotować proces do współpracy z OCR skanuj.to?
- Konfigurowanie uruchamiania spraw na podstawie maila
- Zakładanie nowych spraw na podstawie maila lub skanu
- Zakładanie spraw na podstawie skanów i wypełnianie pól formularza danymi z tych skanów
- Źródło utworzenia sprawy
- Ustawienia poczty przychodzącej
-
- Dostęp tymczasowy
- Jak sterować przepływem zdarzeń, korzystając z instrukcji warunkowej "if ... else ..."?
- Przekazywanie sprawy wg reguł lub bez
- Reguły ręczne - przyciski akcji
- Sprawa zamknięta, dane na formularzu i działanie reguł
- Swobodne przekazywanie sprawy na kolejny etap
- Typy reguł biznesowych
- Lista typów reguł procesu i opcji ich konfiguracji
- Uruchamianie reguły ręcznej dla wielu spraw
- Potwierdzenie wykonania reguły ręcznej
- Confirm()
- Potwierdzenie wykonania reguły ręcznej - część 2
-
- Geolokalizacja
- Jak wyświetlić tylko część "czasu" w polu typu Data i czas ?
- Jak zmienić pole tekstowe w pole typu "password"
- Wydzielanie dokumentów
- Jak obsługiwane jest wysyłanie maili w AMODIT?
- Współpraca AMODIT z MS Excel
- Weryfikacja kontrahenta w Wykazie Podatnika VAT
- What to check when a text message/SMS does not come out from AMODIT
- Możliwość zablokowania edycji dokumentów z poziomu ustawień procesu
- Brak możliwości zmiany typu pola na tabelaryczny
- CreateObject()
- AddObjectToList()
- Przyciski akcji na formularzu sprawy - pole typu "Przyciski"
- Przełączanie konta użytkownika
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
-
-
-
- Organizowanie zbierania podpisów
- Jak skonfigurować proces wysyłający dokumenty do podpisu?
- TrustCenterAddNewSigners
- TrustCenterCancelSigning
- TrustCenterCheckStatus
- TrustCenterFinishSigning
- TrustCenterGetSignedBy
- TrustCenterGetSignedDocument
- TrustCenterGetSigners
- TrustCenterSendToSign
- Integracja z podpisem kwalifikowanym SimplySign Certum by Asseco
- TrustCenterSetSigningPeriod()
- Integracja Autenti z Amodit - Rozwiązanie dla Polskich Organizacji
-
- Articles coming soon
-
-
Dla administratorów
-
- AMODIT w środowisku wielodomenowym
- Edycja danych użytkownika
- Organizacja zewnętrzna zapraszanie użytkowników
- Struktura organizacyjna
- Synchronizacja z Active Directory
- Uprawnienia w systemie AMODIT
- Użytkownicy
- Zakładanie konta użytkownika przez administratora
- Zakładanie nowej organizacji zewnętrznej
- Zarządzanie grupami użytkowników
- Zarządzanie kontem użytkownika
- Zastępstwa i nieobecności
- Zmiana hasła
- How to synchronize group members from an external source
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Wyświetlanie adresu IP użytkownika
- Zdarzenia związane z logowaniem się użytkownika
- Przełączanie konta użytkownika
- Możliwość wyłączenia podstawowego obszaru "Wszystkie procesy"
- Blokowanie edycji parametrów w profilu użytkownika
- AddUsersToGroup()
- RemoveUsersFromGroup()
- SetGroupMembers()
- Show all articles ( 8 ) Collapse Articles
-
- Integracja ze skrzynką gmail
- Jak obsługiwane jest wysyłanie maili w AMODIT?
- Konfigurowanie uruchamiania spraw na podstawie maila
- Powiadomienia
- Ustawienia poczty przychodzącej
- Poczta przychodząca z outlook.office365.com
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Parametr systemowy - "Path for files banned for security reasons"
- Link do logo organizacji wysyłanego w mailu
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Ustawienia systemowe -Interfejs użytkownika
- Zarządzanie kodem licencyjnym w systemie AMODIT
- Logowanie się do systemu AMODIT (mechanizm podstawowy)
- Organizacja list procesów, raportów lub pozycji menu w kategorie (foldery) lub zakładki
- Parametry "User Profile Access" i "Manager Profile Access"
- Usługi
- Ustawienia systemowe - Ogólne
- Zadania
- Zezwalanie na wyświetlanie treści HTML w polach tekstowych
- What to check when a text message/SMS does not come out from AMODIT
- Antiforgery - ochrona przed atakami CSRF
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Eksport - import ustawień parametrów integracji z innymi systemami
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Konfiguracja wyszukiwania pełnotekstowego
- Logowanie z wykorzystaniem Multi Factor Authentication
- Połączenia nazwane do baz danych
- Przełączanie konta użytkownika
- Parametr systemowy - "Path for files banned for security reasons"
- Konfiguracja konta AppOnly w SharePoint
- Show all articles ( 6 ) Collapse Articles
-
-
- Bezpieczeństwo systemu AMODIT - autoryzacja i autentykacja
- Bezpieczeństwo systemu AMODIT - zasady minimalnych uprawnień
- Logowanie się do systemu AMODIT (mechanizm podstawowy)
- Logowanie się do systemu AMODIT kontami m.in. Microsoft, Facebook, Google (mechanizmy dodatkowe)
- Parametry "User Profile Access" i "Manager Profile Access"
- Synchronizacja kont użytkowników z AzureAD
- Synchronizacja z Active Directory
- Uprawnienia w systemie AMODIT
- Parametr systemowy - EnableEditingDataOfSyncUsers
- Wyświetlanie adresu IP użytkownika
- Zdarzenia związane z logowaniem się użytkownika
- Logowanie z wykorzystaniem Multi Factor Authentication
- Przełączanie konta użytkownika
- Możliwość wyłączenia podstawowego obszaru "Wszystkie procesy"
- Blokowanie edycji parametrów w profilu użytkownika
-
- Blokowanie oraz zezwalanie na dodawanie plików z wybranymi rozszerzeniami
- Dodatkowe zabezpieczenia aplikacji webowej AMODIT
- Zezwalanie na wyświetlanie treści HTML w polach tekstowych
- Skanowanie antywirusowe wgrywanych dokumentów
- Antiforgery - ochrona przed atakami CSRF
- Logowanie z wykorzystaniem Multi Factor Authentication
- Parametr systemowy - "Path for files banned for security reasons"
-
- "Łagodne" kończenie zadań w momencie zatrzymywania usługi AMODAsynchronousService
- 4Eyes rule
- Bezpieczeństwo systemu AMODIT na etapie projektowania i tworzenia rozwiązań
- Monitor wydajności systemu AMODIT
- Transparentność w systemie AMODIT
- Uprawnienia w systemie AMODIT
- Systemowe źródła danych
- Raporty systemowe
- How to set up access levels to AMODIT WebAPI
- Operacje na raportach - rejestrowanie aktywności zmian w konfiguracji raportu
- Wyświetlanie adresu IP użytkownika
- Wyłączenie rejestrowania wpisów w tabeli usermail
- Logowanie z wykorzystaniem Multi Factor Authentication
- Połączenia nazwane do baz danych
- Rejestrowanie zdarzeń związanych z podglądem lub pobieraniem dokumentów
- Częściowe wyłączenie wyszukiwania pełno tekstowego per proces
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Włączanie/wyłączanie możliwości eksportu danych do pliku Excel z poziomu raportu tabelarycznego
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Maksymalny rozmiar pliku w AMODIT
- Link do logo organizacji wysyłanego w mailu
- Show all articles ( 6 ) Collapse Articles
-
-
-
Dla integratorów
-
- CallRest i CallWebSite
- Excel jako zewnętrzne źródło danych
- Excel jako źródło danych dla słownika zewnętrznego
- Integracja z bazą VIES (Potwierdzenie numeru VAT)
- Integracja z Krajowym Systemem e-Faktur poprzez KSeF Connector
- Integracja z systemami bankowymi (przelewy masowe)
- Moduł e-Nadawca w AMODIT
- Wymiana danych z systemami zewnętrznymi
- Źródło utworzenia sprawy
- Integracja z podpisem kwalifikowanym SimplySign Certum by Asseco
- Integracja z firmą kurierską FEDEX
- Integracja z firmą kurierską DHL
- Bankowe przelewy zagraniczne
- Zestawienie integracji dostępnych w AMODIT
- What to check when a text message/SMS does not come out from AMODIT
- Integracja z usługą e-Doręczenia Poczty Polskiej
- Zewnętrzne źródła danych - typ połączenia "File"
- OpenAIExecuteQuery()
- Eksport - import ustawień parametrów integracji z innymi systemami
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Konfiguracja konta AppOnly w SharePoint
- Integracja DocuSign z Amodit - Rozwiązanie dla Istniejących Użytkowników
- Integracja Autenti z Amodit - Rozwiązanie dla Polskich Organizacji
- Show all articles ( 8 ) Collapse Articles
-
Dla instalatorów
-
- Aktualne wersje
- Ile serwerów jest potrzebnych?
- Zarządzanie kodem licencyjnym w systemie AMODIT
- Konfiguracja kluczowych parametrów
- Procedury aktualizacji komponentów serwerów Windows i bazy danych, tzw. certyfikacja OS
- Przygotowanie serwera aplikacyjnego do instalacji
- Przygotowanie serwera bazy danych do instalacji
- Wirtualizacja serwerów
- Zalecane parametry serwerów
- Instalacja Platformy AMODIT
- Problemy po instalacji usługi AMODITAsynchronousService
- Konfiguracja wyszukiwania pełnotekstowego
- Połączenia nazwane do baz danych
- Zewnętrzne serwisy, z którymi łączy się AMODIT
- Maksymalny rozmiar pliku w AMODIT
-
- Aktualizacja Platformy AMODIT i .NET FRAMEWORK
- Aktualizowanie Platformy AMODIT
- Aktualne wersje
- Procedury aktualizacji komponentów serwerów Windows i bazy danych, tzw. certyfikacja OS
- Problemy po instalacji usługi AMODITAsynchronousService
- Eksport - import ustawień parametrów integracji z innymi systemami
- Konfiguracja wyszukiwania pełnotekstowego
- Maksymalny rozmiar pliku w AMODIT
-
- Header Content Security Policy
- Konfiguracja farmy serwerów frontend AMODIT
- Konfiguracja środowiska testowego i produkcyjnego na jednym serwerze aplikacyjnym
- Odbudowa indeksu wyszukiwania pełnotekstowego Lucene
- Eksport - import ustawień parametrów integracji z innymi systemami
- Przekroczenie limitu ilości rekordów przy pobieraniu danych do pliku Excel z poziomu raportu
- Konfiguracja konta AppOnly w SharePoint
-
-
Do uporządkowania
- Mapa rozwoju AMODIT TrustCenter
- Lista zmian w aplikacji SignApp
- Jak ponownie wysłać maila do osoby podpisującej dokument w systemie Trust Center
-
- Dezaktywacja baz AMODIT na chmurze
- Historia zmian Platformy AMODIT
- Lista artykułów na wiki - nowości lub aktualizacje
-
- OCR w AMODIT
- Automatyczne odczytywanie danych z faktur (OCR)
- Kody kreskowe - generowanie i odczytywanie
- Obsługa zastępstw w AMODIT
- Integracja z systemami bankowymi (przelewy masowe)
- Business Intelligence
- Podpisywanie dokumentów w systemie AMODIT z wykorzystaniem podpisu kwalifikowanego
- Instalacja programu Amodit SignApp
-
- Articles coming soon
Dodatkowe zabezpieczenia aplikacji webowej AMODIT
Wstęp
W tym artykule przedstawiamy kilka wskazówek zwiększających bezpieczeństwo aplikacji webowej AMODIT przed różnymi podatnościami na potencjalne ataki z zewnątrz. Wskazówki powstały na bazie wykonanych testów penetracyjnych.
Wykonanie większości wskazanych poniżej czynności nie wymaga reinstalacji systemu AMODIT. Zmiany wprowadza się w pliku web.config aplikacji webowej AMODIT lub rejestrze serwera Windows, gdzie wspomniana aplikacja jest zainstalowana. Z tego też powodu osoba wprowadzająca wskazane zabezpieczenia musi posiadać uprawnienia administracyjne na serwerze Windows.
Zmiany w pliku web.config
W pliku web.config jest zakomentowanych kilka wpisów, które polepszają bezpieczeństwo aplikacji, ale nie zawsze mogą być użyte.
Aktywacja dodatkowych nagłówków
W sekcji
Objaśnienia (opisy w języku angielskim na bazie raportu firmy Sisoft) i dodatkowe uwagi:
- Content-Security-Policy: is an effective measure to protect your site from XSS attacks. By whitelisting sources of approved content, you can prevent the browser from loading malicious assets. UWAGA! Dodatkowo jeżeli mamy włączone pobieranie skryptów z Google Tag Manager, to w Content-Security-Policy trzeba w script-src dodać adresy wszystkich podłączonych serwisów zaczynając od https://www.googletagmanager.com, w postaci: script-src 'unsafe-inline’ 'unsafe-eval’ 'self’ https://www.googletagmanager.com Jeżeli w systemie korzystamy z OCR faktur przez usługę Skanuj.to, to w frame-src należy dopisać adres serwisu https://app.skanuj.to/ w postaci: frame-src 'self’ https://app.skanuj.to/
- X-Content-Type-Options: is a marker used by the server to indicate that the MIME types advertised in the Content-Type headers should not be changed and be followed. This allows to opt-out of MIME type sniffing, or, in other words, it is a way to say that the webmasters knew what they were doing.
- X-XSS-Protection: Disables XSS filtering. 1 Enables XSS filtering (usually default in browsers). If a cross-site scripting attack is detected, the browser will sanitize the page (remove the unsafe parts). 1; mode=block Enables XSS filtering. Rather than sanitizing the page, the browser will prevent rendering of the page if an attack is detected.
- X-Frame-Options: can be used to indicate whether or not a browser should be allowed to render a page in a ,
- Strict-Transport-Security: let a web site tell browsers that it should only be accessed using HTTPS, instead of using HTTP. The header is configured however, max-age parameter (in seconds) is too short (Strict-Transport-Security: max-age=15724800;). It should be valid for 1 year (= 31536000). UWAGA! Strict-Transport-Security można włączyć tylko jeżeli mamy SSL.
- Referrer-Policy: is a new header that allows a site to control how much information the browser includes navigations away from a document and should be set by all sites.
Zabezpieczenie plików cookie
Pliki cookie używane w AMODIT powinny być odpowiednio zabezpieczone, a więc powinny mieć włączony atrybut „secure”. W tym celu należy odkomentować (lub dodać) w pliku web.config w sekcji
Można jeszcze dodatkowo w węźle
requireSSL="true" slidingExpiration="false">
Dodatkowe informacje odnośnie plików cookie w systemie AMODIT
Ze względów technicznych niektóre pliki cookie, np. AMODWebAppAuthCookieTime, nie mogą mieć ustawionego atrybutu „HTTPOnly”. Potrzebne to jest m.in. do prawidłowego działania plików JavaScript. Jednocześnie informujemy, że wspomniane ciasteczko AMODWebAppAuthCookieTime nie pozwala na przejęcie sesji użytkownika nawet wtedy, gdyby został wykonany jakiś atak na aplikację AMODIT, którego celem byłoby przejęcie sesji użytkownika.
Zgoda na użycie cookies przez użytkownika
Zgoda na użycie cookies nie dotyczy aplikacji webowych do użytku własnego wewnątrz firmy. W systemie AMODIT cookies wspierają utrzymanie sesji użytkownika lub obsługę interfejsu, a nie śledzą jego aktywność w sensie takim, że to, co robi w systemie, jest gdzieś wysyłane na zewnątrz do użycia np. w celach marketingowych.
Jeżeli z jakichś powodów biznesowych jednak będzie potrzeba wyświetlenia informacji o wykorzystaniu cookies, to może wystarczy, aby ustawić komunikat o użyciu ciasteczek na stronie logowania. Chodzi o te ustawienia …

… a efekt będzie taki:

Zmiana nazwy cookie przechowującego identyfikator sesji
Ze względów bezpieczeństwa, aby nie ujawniać technologii aplikacji, zaleca się zmienić nazwę cookie sesyjnego. W tym celu w pliku web.config należy wprowadzić poniższy wpis w sekcji system.web:
Ukrycie wyświetlania szczegółów błędów …
… poprzez zmianę konfiguracji w pliku web.config
W przypadku błędu aplikacji webowej, aby uniknąć wyświetlania użytkownikowi szczegółów powstałego błędu, należy zmienić tryb wyświetlania błędów z wartości „Off” na „RemoteOnly”. Szczegóły błędów będą wtedy widoczne tylko w przeglądarce lokalnie na serwerze.
Jeśli w pliku web.config jest taki zapis:
to należy zmienić go na następujący:
Dodatkowo warto stworzyć własną stronę HTML, informującą użytkownika w sposób „przyjazny” o wystąpieniu błędu, i że np. powinien skontaktować się z administratorem. Adres URL takiej strony należy podać w atrybucie „defaultRedirect” w powyższych ustawieniach.
… poprzez zmiany konfiguracji w IIS
W usłudze MS Internet Information Services (IIS) można ustawić dedykowane komunikaty dla np. następujących kodów błędów: 401, 403, 404, 405, 406, 412, 500, 501, 502. Aby to zrobić, należy wykonać następujące kroki:
- Wejść do ustawień witryny AMODIT w IIS, a następnie wybrać opcję „Error Pages”.
- Dodać obsługę nowego kodu na przykład przez kliknięcie prawym przyciskiem myszki w tabeli i wybranie opcji „Add” z menu kontekstowego.
- W oknie dialogowym „Add Custom Error Page” w parametrze „Status Code” wpisać kod błędu, dla jakiego ma się wyświetlić wybrana strona. Następnie w „Response Action” wskazać plik html (trzeba go wcześniej przygotować i umieścić w strukturze witryny AMODIT) z własną informacją o błędzie lub przekierowanie na wybrany inny adres.
Przekierowanie komunikatu błędu HTTP 403 Forbidden na HTTP 404 Not Found
W celu zabezpieczenia się przed tzw. enumeracją zasobów (katalogów) na serwerze można ustawić na stałe przekierowanie komunikatu błędu HTTP 403 Frobidden na HTTP 404 Not Found. Można tego dokonać z poziomu ustawień serwera IIS, ale też można taką konfigurację wprowadzić w pliku web.config aplikacji webowej. To drugie podejście prezentujemy w tym rozdziale.
Przed przystąpieniem do zmian w pliku web.config może być wymagane zainstalowanie modułu „http errors” w IIS. Dodatkowo warto stworzyć własną stronę HTML dla komunikatu błędu HTTP 404 Not Found.
Zmiany w pliku web.config prezentuje poniższy kod:
W podanym przykładzie zakłada się, że plik HTML z komunikatem błędu znajduje się w pliku 404.html. W argumencie path podaje się ścieżkę do wspomnianego pliku 404.html względem lokalizacji pliku web.config.
Wyłączenie nieaktualnych protokołów TLS i SSL (zmiany w rejestrze systemu Windows)
W celu wyłączenia nieaktualnych protokołów TLS i SSL zaleca się wykonanie czynności opisanych w tym artykule:
https://improveandrepeat.com/2020/03/how-to-disable-tls-1-0-1-1-and-ssl-on-your-windows-server
Dodatkowa informacja jest taka, że dla systemów Windows 10/Server 2019 należy włączyć TLS w wersji 1.2, która wciąż jest uważana za bezpieczną (stan wiedzy na dzień 2024-07-09). Natomiast w przypadku posiadania systemów Windows 11/Server 2022 (lub nowszych) zaleca się korzystanie z protokołu TLS w wersji 1.3.
UWAGA! Po wprowadzeniu poniższych zmian w rejestrze wymagane jest zrestartowanie serwera Windows.
Dołączamy również skrypt dodający odpowiednie wpisy do rejestru skopiowany z powyższej strony:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000001 "Enabled"=dword:00000000
Usunięcie niepotrzebnych nagłówków HTTP
Ze względów bezpieczeństwa warto rozważyć usunięcie niektórych nagłówków w odpowiedzi (ang. response) HTTP. Najczęściej są to te trzy nagłówki:
- Server Header – zawiera typ i numer wersji serwera WWW;
- X-Powered-By – wskazuje technologię w jakiej utworzona jest aplikacja webowa, w przypadku aplikacji AMODIT będzie to „powered by ASP.NET”;
- X-AspNet-Version – specyfikuje wersję ASP.NET.
Usunięcie wskazanych nagłówków nie jest obligatoryjne i należy to skonsultować z administratorami bezpieczeństwa lub IT.
Szczegółowy opis krok-po-kroku usuwania wspomnianych nagłówków znajduje się w tym artykule: Remove Unwanted HTTP Response Headers.
Ukrycie dokumentacji AMODIT SOAP API
Ze względów bezpieczeństwa zaleca się ukrycie dokumentacji do starego webservice’u SOAP. Aby wyłączyć generowanie wsdl z .asmx, należy dodać wpis w web.config zgodnie z instrukcją na stronie https://learn.microsoft.com/en-us/troubleshoot/developer/webapps/aspnet/iisadmin-service-process/disable-documentation-protocol, czyli:
Generowanie unikalnego „machine key”
Ze względu na wypłynięcie domyślnego „machine key” (używanego przez Microsoft w aplikacjach webowych ASP .NET) ze wzorcowego pliku web.config zalecane jest wygenerowanie na każdym środowisku nowego, unikalnego klucza.
UWAGI:
- Przed wygenerowaniem nowego klucza należy wykonać kopię bezpieczeństwa pliku web.config z witryny. Należy go przekopiować poza folder witryny (nie do podfolderu).
- Operację należy przeprowadzić poza godzinami pracy i na czas operacji zatrzymać witrynę. Operacja spowoduje wylogowanie użytkowników.
Kroki potrzebne do wygenerowania nowego „machine key” są następujące:
- W IIS Managerze należy wybrać witrynę AMODIT, a następnie kliknąć opcję „Machine key” w sekcji „ASP .NET”.
- Nacisnąć „Generate keys”, a następnie „Apply”, jak będzie aktywne.
- Sprawdzić w pliku web.config, czy zostały zapisane nowe klucze.
- Jeżeli w środowisku mamy kilka witryn albo kilka serwerów podłączonych do jednej bazy danych, to dla każdej witryny w jej pliku web.config należy wpisać te wygenerowane klucze. Klucze można wkleić bezpośrednio w web.config albo z poziomu IIS Managera.
I jeszcze jedna uwaga: w nowej wersji w pliku web.config.txt (wchodzącego w skład aplikacji webowej w paczce instalacyjnej AMODIT) nie będzie już domyślnych wartości dla tych kluczy – przy każdej nowej instalacji trzeba je będzie wygenerować.
Zabezpieczenie antywirusowe
Zabezpieczenie systemu AMODIT przed załączaniem plików potencjalnie zawierających wirusy nie jest krokiem samym w sobie związanym ze zmianami w pliku web.config aplikacji webowej. Natomiast warto tą czynność wykonać, korzystając z opisu w tym artykule: Skanowanie antywirusowe wgrywanych dokumentów.