08.02.2016, 12:49
Witajcie
W tym poradniku przedstawie wam jak zabezpieczyć się przed nie autoryzowanym dostępem do witryny
Dwie z najważniejszych zasad jest posiadanie aktualnej wersji skryptu oraz posiadanie mocnych haseł.
Pamiętaj również o wykonaniu kopii zapasowej, która możemy ustawić aby odbywała się codziennie.
W tym celu logujemy sie do Acp - Narzędzia i Konserwacja - Menadżer zadań następnie odszukujemy Codzienna kopia zapasowa - wybieramy opcje - włącz zadanie.
Wykonywanie automatycznych kopii zapasowych możemy zaplanować kiedy maja się odbywać, aby zmienić te ustawienia Wybieramy opcje - Edytuj Zadanie.
Następna nasza czynnością będzie ukrycie informacji o wersji skryptu mybb, aby to zrobić należny
Zalogować się do ACP następnie Konfiguracja - Ustawienia strony - Pokazuj numer wersji - ustawiamy na Nie
Logujemy sie na konto ftp za pomocą klienta FTP wybieramy opcje zmień nazwę dla kataloguadmin . Następnie w pliku config.php podajemy nowa nazwe katalogu.
Aby uzyskać weryfikacje dwuetapowa do naszego panelu administracyjnego musimy wykonać odpowiednie kroki w celu jej konfiguracja
Logujemy się do Acp - Start (Home) - Ustawienia Acp - Dwuetapowa weryfikacja - Wybieramy Tak
Następnym naszym krokiem będzie pobranie aplikacji Google Authenticator lub Authy (Aplikacje są przeznaczone na urządzenia z Androidem)
W przypadku utraty dostępu do urządzenia, przez które uzyskiwaliśmy kody autoryzacji ulegnie zniszczeniu lub utracie do panelu administracyjnego możemy się zalogować wcześniej pozyskanymi kodami zapasowymi.
Aby pozyska kody zapasowe musimy przejść do Acp - Start (Home) - Ustawienia Acp - Weryfikacja dwuetapowa - nastepnie odszukujemy fraze kody zapasowe lub przechodzimy poprzez podany adres.
Logujemy sie na konto ftp za pomocą klienta FTP, nastepnie przechodzimy do /inc/config.php i edytujemy plik
Gdy podczas instalacji skryptu mybb pominęliśmy opcje utworzenia naszego sekretnego pinu do acp, możemy go ustalić poprzez edycje pliku.
W tym przypadku będziemy musieli się zalogować na nasze konto ftp, po zalogowaniu na nasze konto ftp przechodzimy do katalogu /inc/config.php i edytujemy plik
Logujemy sie na nasze konto ftp, po czym przechodzimy do /admin/index.php
W index.php odszukujemy linie
Następnie podmieniamy na
W pliku /inc/config.php podajemy nasz tajny pin w postaci md5. Aby wygenerować nasze hasło w postaci md5 można skorzystać z darmowych generatorów .np http://www.md5hashgenerator.com/
Po wygenerowaniu naszego hasła w md5, linijka odpowiedzialna za tajny pin, powinna wyglądać przykładowo
Aby zablokować możliwość edycji konta głównego administratora za pomocą acp poprzez inne osoby, musimy nadać mu uprawnienia super administratora.
W przypadku głównego administratora, który wykonał instalacje skryptu jego Uid wynosi 1
Teraz musimy zalogować się ponownie na nasze konto ftp oraz dokonać zmian w /inc/config.php
Dodatkowo mozemy nadac super administratora dodatkowym osoba, odbywa sie to tak samo tylko musimy dodac jego Uid po ,
Aby ograniczyć możliwość nie udanych logowań do panelu administratora po błędnych próbach możemy zmienić ich ilość oraz ograniczyć czasowo limit do ponownego logowania w tym celu musimy zalogować się do Acp - konfiguracja - Preferencje panelu administratora następnie możemy ograniczyć próby logowań do 3 lub według uznania w zakładce Maksymalna liczba nieudanych prób logowania oraz ustalić czas do następnej próby logowania w zakładce
Czas pomiędzy nieudanymi próbami zalogowania
Podczas instalacji skryptu mybb możemy ustalic wlasny prefix bazy czyli zamiast mybb_ podajemy np. k7w1_
Jeżeli pozostaliśmy przy domyślnym prefiksie bazy danych możemy go zmienić poprzez edycje pliku w /inc/config.php
Teraz aby uniknąć problemów po zmianie prefikow z nie działającym forum, musimy pobrać nasza bazę.
Nastepnie edytujemy ja np. notepadd ++ odszykujemy w niej mybb_ nastepnie zmieniamy na nowy prefix np. k7w1 po wykonaniu tych czynności zapisujemy plik z nasza baza danych. Przed zaimportowaniem bazy danych po zmianie prefixow, należy usunąć cala nasza bazę danych z phpmyadmin i zaimportować nowa ze zmienionymi prefiksami
Przeprowadzenie zmiany prefixow możemy wykonać z poziomu Pma
W tym celu logujemy sie do phpmyadmin następnie wybieramy nasza bazę danych po czym przechodzimy do zakładki SQL i wykonujemy następujące zapytania
W katalogu inc tworzymy nowy plik o nazwie .htaccess, następnie umieszczamy w nim zawartość podana niżej
Aby zmienić domyślna nazwę pliku config.php, musimy zalogować się na nasze konto ftp. Następną czynnością będzie sklonowanie pliku config.php pod nowa nazwą czyli kopiujemy całą zawartość config.php do nowe pliku z nową nazwą np.config1.php gdy już to wykonaliśmy, wgrywamy nasz zmieniony config do katalogu /inc/ po tych czynnościach otwieramy nasz plik oryginalny config.php i usuwamy jego zawartość a następnie dodajemy zawartość poniżej i wysyłamy na serwer.
Logujemy się na nasze konto ftp, po czym przechodzimy do katalogu /admin/modules/tools i pobieramy plik backupdb.php gdy już pobraliśmy plik przystępujemy do jego edycji.
Odnajdź
Następnie usuń
Odnajdź
Następnie usuń
Odszukaj i usuń
Odszukaj
Następnie usuń
Odszukaj
Następnie usuń
Po wykonani tych czynności nadpisujemy plik i cieszymy się brakiem możliwości pobierania kopii zapasowej za pomocą acp.
Katalog /admin możemy dodatkowo zabezpieczyć na dodatkowe adresy ip , dzięki któremu utrudnimy dostęp do naszego Acp na forum
W tym celu tworzymy nowy plik o nazwie .htaccess w katalogu /admin z następująca zawartością.
Przed wysłaniem pliku na serwer warto pamiętać o podmianie adresu ip 127.0.0.1 na własny adres ip, metoda ta jest skuteczna przy stałym adresie ip.
Ustawienie poprawnych praw dla plików (chmod)
Nie będę rozpisywał się jak w danym programie ustalać uprawnienia chmod z racji ze mamy kilkanaście klientów ftp, poniżej zamieszczę informacje jakie pliki i katalogi powinny zawierać chmody zalecane poprzez mybb.com
Dodatkowym zabezpieczeniem przed utrata dostępu do forum jest instalowanie pluginów pobranych z oficjalnej bazy www.mybb.com lub z innych oficjalnych supportów mybb jak hmybboard.pl
Pobierając plugin od stron trzecich możemy zostań, narażeni na instalacje plugin z kodem złośliwym dzięki temu atakujący będzie mógł uzyskać nie autoryzowany dostęp do naszej witryny www
Najczęstsza metoda straty dostępu do naszego forum są.
Nie odpowiednie rozdawanie uprawnień innym osoba.
Posiadanie tych samych haseł do różnych stron.
Brak posiadania aktualnego antywirusa na komputerze.
Posiadanie zbyt słabych haseł dostępu.
Korzystanie z opcji zapamiętaj hasło.
Korzystanie z przestarzałych programów komunikacyjnych ftp
W tym poradniku przedstawie wam jak zabezpieczyć się przed nie autoryzowanym dostępem do witryny
Dwie z najważniejszych zasad jest posiadanie aktualnej wersji skryptu oraz posiadanie mocnych haseł.
Pamiętaj również o wykonaniu kopii zapasowej, która możemy ustawić aby odbywała się codziennie.
1 Ustawianie automatycznych kopii zapasowych
W tym celu logujemy sie do Acp - Narzędzia i Konserwacja - Menadżer zadań następnie odszukujemy Codzienna kopia zapasowa - wybieramy opcje - włącz zadanie.
Wykonywanie automatycznych kopii zapasowych możemy zaplanować kiedy maja się odbywać, aby zmienić te ustawienia Wybieramy opcje - Edytuj Zadanie.
2 Ukrywanie informacji o wersji skryptu
Następna nasza czynnością będzie ukrycie informacji o wersji skryptu mybb, aby to zrobić należny
Zalogować się do ACP następnie Konfiguracja - Ustawienia strony - Pokazuj numer wersji - ustawiamy na Nie
3 Zmiana nazwy katalogu /admin
Logujemy sie na konto ftp za pomocą klienta FTP wybieramy opcje zmień nazwę dla katalogu
Kod PHP:
$config['admin_dir'] = 'admin';
4 Weryfikacja dwuetapowa
Aby uzyskać weryfikacje dwuetapowa do naszego panelu administracyjnego musimy wykonać odpowiednie kroki w celu jej konfiguracja
Logujemy się do Acp - Start (Home) - Ustawienia Acp - Dwuetapowa weryfikacja - Wybieramy Tak
Następnym naszym krokiem będzie pobranie aplikacji Google Authenticator lub Authy (Aplikacje są przeznaczone na urządzenia z Androidem)
W przypadku utraty dostępu do urządzenia, przez które uzyskiwaliśmy kody autoryzacji ulegnie zniszczeniu lub utracie do panelu administracyjnego możemy się zalogować wcześniej pozyskanymi kodami zapasowymi.
Aby pozyska kody zapasowe musimy przejść do Acp - Start (Home) - Ustawienia Acp - Weryfikacja dwuetapowa - nastepnie odszukujemy fraze kody zapasowe lub przechodzimy poprzez podany adres.
Kod:
http://adresstrony.pl//admin/index.php?module=home-preferences&action=recovery_codes
Uwaga: kody zapasowe są regenerowane przy każdej wizycie na stronie i mogą być użyte jedynie
5 Ukrywanie linku do panelu administratora.
Logujemy sie na konto ftp za pomocą klienta FTP, nastepnie przechodzimy do /inc/config.php i edytujemy plik
Kod PHP:
$config['hide_admin_links'] = 0 – link jest widoczny, 1 – link ukryty.
6 Ustalenie pinu dla acp
Gdy podczas instalacji skryptu mybb pominęliśmy opcje utworzenia naszego sekretnego pinu do acp, możemy go ustalić poprzez edycje pliku.
W tym przypadku będziemy musieli się zalogować na nasze konto ftp, po zalogowaniu na nasze konto ftp przechodzimy do katalogu /inc/config.php i edytujemy plik
Kod PHP:
$config['secret_pin'] = 'Nasz sekretny pin';
7 Szyfrowanie pinu do acp w md5
Logujemy sie na nasze konto ftp, po czym przechodzimy do /admin/index.php
W index.php odszukujemy linie
Kod PHP:
if(!empty($config['secret_pin']) && (empty($mybb->input['pin']) || $mybb->input['pin'] != $config['secret_pin']))
Kod PHP:
if(!empty($config['secret_pin']) && (empty($mybb->input['pin']) || md5($mybb->input['pin']) != $config['secret_pin']))
W pliku /inc/config.php podajemy nasz tajny pin w postaci md5. Aby wygenerować nasze hasło w postaci md5 można skorzystać z darmowych generatorów .np http://www.md5hashgenerator.com/
Po wygenerowaniu naszego hasła w md5, linijka odpowiedzialna za tajny pin, powinna wyglądać przykładowo
Kod PHP:
$config['secret_pin'] = '81dc9bdb52d04dc20036dbd8313ed055';
8 Blokowanie edytowania konta głównego administratora
Aby zablokować możliwość edycji konta głównego administratora za pomocą acp poprzez inne osoby, musimy nadać mu uprawnienia super administratora.
W przypadku głównego administratora, który wykonał instalacje skryptu jego Uid wynosi 1
Teraz musimy zalogować się ponownie na nasze konto ftp oraz dokonać zmian w /inc/config.php
Kod PHP:
$config['super_admins'] = '1'; - Domyślnie ustawione na konto podane podczas instalacji skryptu
Kod PHP:
$config['super_admins'] = '1,2'; - Domyślnie ustawione na konto podane podczas instalacji skryptu oraz dla drugiego administratora
9 Ograniczenie nieudanych prób logowania na konta administratora
Aby ograniczyć możliwość nie udanych logowań do panelu administratora po błędnych próbach możemy zmienić ich ilość oraz ograniczyć czasowo limit do ponownego logowania w tym celu musimy zalogować się do Acp - konfiguracja - Preferencje panelu administratora następnie możemy ograniczyć próby logowań do 3 lub według uznania w zakładce Maksymalna liczba nieudanych prób logowania oraz ustalić czas do następnej próby logowania w zakładce
Czas pomiędzy nieudanymi próbami zalogowania
10 Zmiana prefixow bazy danych
Podczas instalacji skryptu mybb możemy ustalic wlasny prefix bazy czyli zamiast mybb_ podajemy np. k7w1_
Jeżeli pozostaliśmy przy domyślnym prefiksie bazy danych możemy go zmienić poprzez edycje pliku w /inc/config.php
Kod PHP:
$config['database']['table_prefix'] = 'mybb_';
Nastepnie edytujemy ja np. notepadd ++ odszykujemy w niej mybb_ nastepnie zmieniamy na nowy prefix np. k7w1 po wykonaniu tych czynności zapisujemy plik z nasza baza danych. Przed zaimportowaniem bazy danych po zmianie prefixow, należy usunąć cala nasza bazę danych z phpmyadmin i zaimportować nowa ze zmienionymi prefiksami
Przeprowadzenie zmiany prefixow możemy wykonać z poziomu Pma
W tym celu logujemy sie do phpmyadmin następnie wybieramy nasza bazę danych po czym przechodzimy do zakładki SQL i wykonujemy następujące zapytania
Kod PHP:
RENAME TABLE mybb_adminlog Na k7w1_adminlog
RENAME TABLE mybb_adminoptions Na k7w1_adminoptions
RENAME TABLE mybb_announcements Na k7w1_announcements
RENAME TABLE mybb_attachments Na k7w1_attachments
RENAME TABLE mybb_attachtypes Na k7w1_attachtypes
RENAME TABLE mybb_awaitingactivation Na k7w1_awaitingactivation
RENAME TABLE mybb_badwords Na k7w1_badwords
RENAME TABLE mybb_banned Na k7w1_banned
RENAME TABLE mybb_datacache Na k7w1_datacache
RENAME TABLE mybb_events Na k7w1_events
RENAME TABLE mybb_favorites Na k7w1_favorites
RENAME TABLE mybb_forumpermissions Na k7w1_forumpermissions
RENAME TABLE mybb_forums Na k7w1_forums
RENAME TABLE mybb_forumsubscriptions Na k7w1_forumsubscriptions
RENAME TABLE mybb_groupleaders Na k7w1_groupleaders
RENAME TABLE mybb_helpdocs Na k7w1_helpdocs
RENAME TABLE mybb_helpsections Na k7w1_helpsections
RENAME TABLE mybb_icons Na k7w1_icons
RENAME TABLE mybb_joinrequests Na k7w1_joinrequests
RENAME TABLE mybb_moderatorlog Na k7w1_moderatorlog
RENAME TABLE mybb_moderators Na k7w1_moderators
RENAME TABLE mybb_polls Na k7w1_polls
RENAME TABLE mybb_pollvotes Na k7w1_pollvotes
RENAME TABLE mybb_posts Na k7w1_posts
RENAME TABLE mybb_privatemessages Na k7w1_privatemessages
RENAME TABLE mybb_profilefields Na k7w1_profilefields
RENAME TABLE mybb_regimages Na k7w1_regimages
RENAME TABLE mybb_reportedposts Na k7w1_reportedposts
RENAME TABLE mybb_reputation Na k7w1_reputation
RENAME TABLE mybb_searchlog Na k7w1_searchlog
RENAME TABLE mybb_sessions Na k7w1_sessions
RENAME TABLE mybb_settinggroups Na k7w1_settinggroups
RENAME TABLE mybb_settings Na k7w1_settings
RENAME TABLE mybb_smilies Na k7w1_smilies
RENAME TABLE mybb_templates Na k7w1_templates
RENAME TABLE mybb_templatesets Na k7w1_templatesets
RENAME TABLE mybb_themes Na k7w1_themes
RENAME TABLE mybb_threadratings Na k7w1_threadratings
RENAME TABLE mybb_threads Na k7w1_threads
RENAME TABLE mybb_threadsread Na k7w1_threadsread
RENAME TABLE mybb_userfields Na k7w1_userfields
RENAME TABLE mybb_usergroups Na k7w1_usergroups
RENAME TABLE mybb_users Na k7w1_users
RENAME TABLE mybb_usertitles Na k7w1_usertitles
11 Dodatkowa ochrona pliku /inc/config.php
W katalogu inc tworzymy nowy plik o nazwie .htaccess, następnie umieszczamy w nim zawartość podana niżej
Kod PHP:
# Ochrona config.php
<files config.php>
Order deny,allow
deny from all
</files>
12 Zmiana nazwy pliku config.php
Aby zmienić domyślna nazwę pliku config.php, musimy zalogować się na nasze konto ftp. Następną czynnością będzie sklonowanie pliku config.php pod nowa nazwą czyli kopiujemy całą zawartość config.php do nowe pliku z nową nazwą np.config1.php gdy już to wykonaliśmy, wgrywamy nasz zmieniony config do katalogu /inc/ po tych czynnościach otwieramy nasz plik oryginalny config.php i usuwamy jego zawartość a następnie dodajemy zawartość poniżej i wysyłamy na serwer.
Pamiętaj o nadaniu chmod dla nowego pliku, który jest następujący 666
Kod PHP:
<?
if (realpath(__FILE__) == realpath($_SERVER['SCRIPT_FILENAME'])) {
exit('Denied.');
}
@include('nasznazwaconfigu.php');
?>
13 Usuwanie możliwości pobrania kopii zapasowej poprzez acp
Logujemy się na nasze konto ftp, po czym przechodzimy do katalogu /admin/modules/tools i pobieramy plik backupdb.php gdy już pobraliśmy plik przystępujemy do jego edycji.
Odnajdź
Kod PHP:
$table->construct_cell("<a href=\"index.php?module=tools-backupdb&action=dlbackup&file={$backup['file']}\">{$backup['file']}</a>");
$table->construct_cell(get_friendly_size(filesize(MYBB_ADMIN_DIR.'backups/'.$backup['file'])), array("class" => "align_center"));
Kod PHP:
<a href=\"index.php?module=tools-backupdb&action=dlbackup&file={$backup['file']}\">
Kod PHP:
$table->construct_cell("{$backup['file']}</a>");
Kod PHP:
</a>
Kod PHP:
$table->construct_cell("<a href=\"index.php?module=tools-backupdb&action=backup&action=delete&file={$backup['file']}&my_post_key={$mybb->post_code}\" onclick=\"return AdminCP.deleteConfirmation(this, '{$lang->confirm_backup_deletion}')\">{$lang->delete}</a>", array("class" => "align_center"));
Kod PHP:
$table->construct_cell("<strong>{$lang->save_method}</strong><br />\n{$lang->save_method_desc}<br /><div class=\"form_row\">".$form->generate_radio_button("method", "disk", $lang->backup_directory)."<br />\n".$form->generate_radio_button("method", "download", $lang->download, array('checked' => 1))."</div>", array('width' => '50%'));
Kod PHP:
"<br />\n".$form->generate_radio_button("method", "download", $lang->download, array('checked' => 1)).
Odszukaj
Kod PHP:
flash_message("<span><em>{$lang->success_backup_created}</em></span><p>{$lang->backup_saved_to}<br />{$file}{$ext} (<a href=\"{$file_from_admindir}\">{$lang->download}</a>)</p>", 'success');
Następnie usuń
Kod PHP:
<p>{$lang->backup_saved_to}<br />{$file}{$ext} (<a href=\"{$file_from_admindir}\">{$lang->download}</a>)</p>
Po wykonani tych czynności nadpisujemy plik i cieszymy się brakiem możliwości pobierania kopii zapasowej za pomocą acp.
14 Dodatkowe zabezpieczenie katalogu /admin na adres ip
Katalog /admin możemy dodatkowo zabezpieczyć na dodatkowe adresy ip , dzięki któremu utrudnimy dostęp do naszego Acp na forum
W tym celu tworzymy nowy plik o nazwie .htaccess w katalogu /admin z następująca zawartością.
Kod PHP:
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Ustawienie poprawnych praw dla plików (chmod)
Nie będę rozpisywał się jak w danym programie ustalać uprawnienia chmod z racji ze mamy kilkanaście klientów ftp, poniżej zamieszczę informacje jakie pliki i katalogi powinny zawierać chmody zalecane poprzez mybb.com
Kod:
Plik lub katalog Uprawnienia
-------------------------------------------------------
inc/config.php 666
inc/settings.php 666
cache/ 777
cache/themes/ 777
uploads/ 777
uploads/avatars/ 777
admin/backups/ 777
inc/languages/każdy katalog/każdy plik 666
inc/languages/każdy katalog/admin/każdy plik 666
15 Instalacja pluginów na forum
Dodatkowym zabezpieczeniem przed utrata dostępu do forum jest instalowanie pluginów pobranych z oficjalnej bazy www.mybb.com lub z innych oficjalnych supportów mybb jak hmybboard.pl
Pobierając plugin od stron trzecich możemy zostań, narażeni na instalacje plugin z kodem złośliwym dzięki temu atakujący będzie mógł uzyskać nie autoryzowany dostęp do naszej witryny www
Najczęstsza metoda straty dostępu do naszego forum są.
Nie odpowiednie rozdawanie uprawnień innym osoba.
Posiadanie tych samych haseł do różnych stron.
Brak posiadania aktualnego antywirusa na komputerze.
Posiadanie zbyt słabych haseł dostępu.
Korzystanie z opcji zapamiętaj hasło.
Korzystanie z przestarzałych programów komunikacyjnych ftp