Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Zabezpiecz swoje forum 2.3.x


DawPi

Rekomendowane odpowiedzi

  • Manager

Kilka porad jak zabezpieczyć swoje forum przed atakami i hacki4rami ;)

Tutorial podzielę na kilka części by lepiej operować w ACP.

  • Bezpieczeństwo FTP
    • Usuń plik index.php z katalogów: install/ i upgrade/. Najlepiej będzie jak je usuniesz lub w ostateczności zmienisz im nazwę.
    • Dla pliku conf_global.php ustaw CHMOD 444

    [*] Ustawienia ACP:

    • MANAGEMENT:
      • Attachment Types
        Edytujemy wartość dla .php -> Edit Attachment Type... > Allow this attachment in posts? >> No

      [*] TOOLS & SETTINGS:

      • Cookies
        Włączamy mocne cookie -> Create a stronghold auto-log in cookie? >> Yes
      • Security and Privacy
        • Enable Captcha? >> Advanced - powoduje to wyświetlanie skomplikowanego obrazka przy rejestracji, zmianie maila etc. Chroni przed botami.
        • Guest Posting Bot Control >> Advanced
        • Allow dynamic images? >> No
        • Lost Password: Password Method >> Email Random Password - w przypadku jak user zapomni hasło musi przejsć dwustopniowy etap jego odzyskiwania
        • Member's log in key: Expiration - ustawić najlepiej 3 dni
        • Reset member's log in key upon each log in? >> Yes
        • Session Expiration (in seconds) - ustawić najlepiej 1800
        • Match user's IP Address during session validation >> Yes
        • Match user's browser during session validation >> Yes
        • Allow flash movies in posts and avatars? >> No
        • Remove the ACP link from the board >> Yes
        • New registration email validation? - ustawić najlepiej User Email Validation . Powoduje to, że konto usera nie będzie aktywne do momentu potwierdzenia poprzez link w emailu.
        • Display IPB version on your site? >> No

        [*] Display Name Settings

        • Allow "Display Names" >> Yes - powoduje to, że user posiada jakby dwa nicki, jeden do logowania ( znany tylko jemu) , a drugi do wyświetlania na forum.
        • Characters allowed in usernames >> a-zA-Z0-9 - jakie znaki mogą być użyte w loginie. Polecam ustawić j.w.

        [*] Topics, Posts and Polls:

        • Valid postable image extensions >> gif,jpeg,jpg,png - dozwolone rozszerzenia plików graficznych na forum

        [*] User Profiles:

        • Allow HTML in signatures? >> No
        • Allowed avatar image URL extensions >> gif,jpg,jpeg,png
        • Allowed photo URL extensions >> gif,jpg,jpeg,png

        [*] General Configuration:

        • Debug level >> 0: None Don't show any debug information

      [*] ADMIN

      • Security Center -> IPB .htaccess Protection - klikamy na Run Tool Now. Powoduje to wpisanie pliku .htaccess do niektórych katalogów by je dodatkowo zabezpieczyć. ( np. katalog uploads/ - obrazki z kodem wykonywalnym może się komuś zachcieć użyć do hackierowania )
      • Security Center -> Disable Dynamic Images - klikamy na Toggle Now, wyłącza 'dynamiczne obrazki'
      • Security Center -> Remove ACP Link - klikamy na Toggle Now, wyłącza pokazywanie linka do ACP na stronie głównej forum ( dla adminów oczywiście )
      • Security Center -> Rename the 'admin' directory - zmienia lokalizację katalogu ACP ( standardowo admin/ )
        Postępujesz wg poniższych kroków:
        Najpierw poprzez FTP zmieniasz nazwę katalogu admin/ na swój wybrany, dla przykładu użyję lol13/
        Otwórz plik init.php
        Znajdź:
        define( 'IPB_ACP_DIRECTORY', 'admin' );
        Zmień na:
        define( 'IPB_ACP_DIRECTORY', 'lol13' );
      • Od czasu do czasu uruchamiaj skaner plików IPB:
        Security Center -> IPB Unauthorized File Checker - klikamy na Run Tool Now i analizuj podejrzane pliki na swoim forum ( raczej dla zaawansowanych )
        oraz:
        IPB Executables Deep Scan
      • IPB ACP .htaccess Protection - zabezpieczamy dodatkowo swoje ACP, wpisz login i hasło inne od tego użytego na forum.
      • IPB PHP/CGI .htaccess Protection >> Run Tool Now - zabezpiecz dodatkowo swoje FTP przed wykonywaniem plików php/cgi w niektórych katalogach

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 miesiące temu...

Najpierw tworzymy nową opcje konfiguracyjną. Potem w General Settings będziemy mogli to włączać i wyłączać.

ACP > TOOLS & SETTINGS >> Add New General Setting

Setting title? - ACP_HTTPS

Setting Description? - Kiedy włączone łączy z ACP przez https

Setting Group? - General Configuration

Setting Type? - Yes/No Radio Buttons

Setting Key? - acp_https

Setting Default Value? - 1

End setting group? - No

Add this option into the settings cache? - Yes

Pobierz i otwórz plik admin/index.php

Znajdź:

//===========================================================================
// Get cache...
//===========================================================================

$ipsclass->init_cache_setup();
$ipsclass->init_load_cache( array('rss_export', 'bbcode', 'badwords', 'emoticons', 'settings', 'group_cache', 'systemvars', 'skin_id_cache', 'forum_cache', 'moderators', 'stats') );

Dodaj niżej:

//===========================================================================
// Czy https?
//===========================================================================
$conf = $ipsclass->DB->simple_exec_query( array( 'select' => '*', 'from' => 'conf_settings', 'where' => "conf_key='ACP_HTTPS'" ) );
if($conf['conf_value'] == 1 || ($conf['conf_value'] == "" && $conf['conf_default'] == 1))
define("acp_https", true);
else
define("acp_https", false);

Zapisz i wyślij.

Pobierz i otwórz plik sources/ipsclass.php

Znajdź:

} // end class

Dodaj powyżej:

	function acp_https(){
	if(defined("acp_https") && acp_https)
		return true;
	else
		return false;
}
function z_www_na_bez(){
	if(preg_match("/^www/", $_SERVER['SERVER_NAME']))
		return preg_replace("/^www./","",$_SERVER['SERVER_NAME']);
	else
		return "www.{$_SERVER['SERVER_NAME']}";
}

Zapisz i wyślij.

Pobierz i otwórz plik sources/lib/admin_functions.php

Znajdź (w dwóch miejscach ):

print $html;

Dodaj wyżej:

		/**************************************/
	/*security ACP by wilczek			 */
	/**************************************/
	if($this->ipsclass->acp_https() && defined( 'IN_ACP' )){
		$html = preg_replace("/([^(value=\")])http:\/\/{$_SERVER['SERVER_NAME']}/","$1https://{$_SERVER['SERVER_NAME']}",$html);
		$html = preg_replace("/([^(value=\")])http:\/\/".$this->ipsclass->z_www_na_bez()."/","$1https://".$this->ipsclass->z_www_na_bez(),$html);
	}

Znajdź:

print $this->ipsclass->html;

Dodaj wyżej:

		/**************************************/
	/*security ACP by wilczek			 */
	/**************************************/
	if($this->ipsclass->acp_https() && defined( 'IN_ACP' )){
		$this->ipsclass->html = preg_replace("/([^(value=\")])http:\/\/{$_SERVER['SERVER_NAME']}/","$1https://{$_SERVER['SERVER_NAME']}",$this->ipsclass->html);
		$this->ipsclass->html = preg_replace("/([^(value=\")])http:\/\/".$this->ipsclass->z_www_na_bez()."/","$1https://".$this->ipsclass->z_www_na_bez(),$this->ipsclass->html);
	}

Zapisz i wyślij.

Pobierz i otwórz plik sources/action_admin/login.php

Znajdź:

print $this->ipsclass->html;

Dodaj wyżej:

		/**************************************/
	/*security ACP by wilczek			 */
	/**************************************/
	if($this->ipsclass->acp_https() && defined( 'IN_ACP' )){
		$this->ipsclass->html = preg_replace("/([^(value=\")])http:\/\/{$_SERVER['SERVER_NAME']}/","$1https://{$_SERVER['SERVER_NAME']}",$this->ipsclass->html);
		$this->ipsclass->html = preg_replace("/([^(value=\")])http:\/\/".$this->ipsclass->z_www_na_bez()."/","$1https://".$this->ipsclass->z_www_na_bez(),$this->ipsclass->html);
	}

Pobierz i otwórz plik sources/action_admin/remote_template.php

Znajdź:

print $html;

Dodaj wyżej:

		/**************************************/
	/*security ACP by wilczek			 */
	/**************************************/
	if($this->ipsclass->acp_https() && defined( 'IN_ACP' )){
		$html = preg_replace("/([^(value=\")])http:\/\/{$_SERVER['SERVER_NAME']}/","$1https://{$_SERVER['SERVER_NAME']}",$html);
		$html = preg_replace("/([^(value=\")])http:\/\/".$this->ipsclass->z_www_na_bez()."/","$1https://".$this->ipsclass->z_www_na_bez(),$html);
	}

Odnośnik do komentarza
Udostępnij na innych stronach

  • Manager
Najpierw tworzymy nową opcje konfiguracyjną. Potem w General Settings będziemy mogli to włączać i wyłączać. (...)

Witam ponownie,

po chwili euforii przyszedł czas na osąd tego moda.. Zgłaszam jego niedyspozycje ;)

Od momentu wgrania go co jakiś czas wyskakiwał mi na forum monit o certyfikat, więc przyjrzałem się sprawie bliżej i oto wnioski:

przy włączeniu tego w ACP zmianie ulegają dwa adresy forum:

Website Address oraz Upload URL w ustawieniach generalnych --> z http:// na https://. Bezpośrednia przyczyna to co oczywiste zmiana drugiego adresu. ( wyświetlane w przeglądaniu tematów z avatarami userów ).

Myślę, że warto by ten błąd został poprawiony.

DawPi

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 rok później...

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.