PDA

Zobacz pełną wersję : Jak się zabezpieczyć



stone
29-08-2006, 08:27
Na oficjalnym forum J! są dwa tematy, które są niezwykle istotne dla wszystkich pracujących z J!.

Pierwszy dotyczy zabezpieczenia od strony użytkownika
http://forum.joomla.org/index.php/topic,81058.0.html

Durgi dotyczy bezpiecznego pisania dodatków do J!
http://forum.joomla.org/index.php/topic,78781.0.html

Jak widać oba są na razie dostępne jedynie w języku angielskim, a na pewno przydały by się też po polsku. I stąd gorąca prośba, jeżli ktoś ma czas i chciałby pomóc społecznościm niech przetłumaczy ile da radę i wklei w ten temat, potem to złożymy w całość.

Serdecznie dzięki.

trytyt
13-05-2007, 17:39
jak to wylaczyc?


PHP register_globals

szukalem w PA hostingu i niema nigdzie nic o tym
a czytalem gdzies ze przez to mozna sobie napykac biedy

znalazlem w sieci to
Należy utowrzyć na serwerze plik .htaccess (lub dodać wpis jeśli plik już istnieje) z wpisem:
php_flag register_globals off

W Joomla! standardowo po intalacji znajduje się już htacces.txt - wystarczy za pomocą klienta FTP np. FileZilla - zmienić jego nazwę na .htaccess (ważne jest wstawienie kropki przed nazwą) i dodać na końcu podaną linię.

Jeżeli po zmianie nazwy na .htaccess witryna przestanie działać, należy zmienić mu nazwę na pierwotną htaccess.txt - oznacza to, że serwer nie umożliwia indywidualnych ustawień za pośrednictwem tego pliku.

ale niestety lipa nie dziala dodałem to: php_flag register_globals off na koncu tekstu w pliku .htaccess ale niestety po zmianie nazwy witrybna znika, czy jest jakis inny sposob?

Rybik
14-05-2007, 00:16
napisać do serwerowni

trytyt
14-05-2007, 00:19
pisalem ale to jest banda idiotow nieodpowiadaja nikomu na maile musze zmienic hosting ale narazie nimam kaski :(

daresh
17-05-2007, 20:15
Możesz jeszcze sprawdzić czy zadziała utworzenie w katalogu Joomli pliku php.ini a w nim:

register_globals = 0

trytyt
17-05-2007, 20:17
doszlem napisalem do admina codem odpisal i w menu PA pojawila sie opca on/off przestawilem i samo dziala nic niemusialem na ftp zmieniac
ale dzieki

markooff
10-06-2007, 13:08
Witam!

Zabralem sie za tlumaczenie pierwszego z dwu polecanych watkow na temat bezpieczenstwa. Nie wiem czy o takie cos Wam mniej wiecej chodzi ? (wlasciwie teskt jest naszpikowany linkami z ktorych kazdy prowadzi do dalszych, nie mniej ciekawych materialow - w sumie nalezaloby je przelozyc wszystkie...)

oto link do czesci mojego tlumaczenia (najpierw oryginal potem leci polski)
http://markooff.net/pliki/tlumaczenie.doc

Pozdrawiam

zwiastun
10-06-2007, 17:23
Częśc od pkt. 1:

1. Read Me First! -

do końca pkt 4

4. Development

jest przetłumaczona (tekst w jednym z następnych postów),

Żeby było jasne, co pozostało do przetłumaczenia, usunąłe m ten fragment

zwiastun
10-06-2007, 17:27
5. Installing, Upgrading, and Configuring Joomla! Core and Apache Server
Always upgrade to the latest stable Joomla! version.

Download Joomla! from official sites, such as the Joomla! Forge, and check the MD5 hash.

Delete left over files. The installation process will require you to deleted the installation directory and all its contents. Do this! If you upload files to your site as compressed archives (xxxx.zip for example), don't forget to remove the compressed file when finished with it. In general, do not leave any files, compressed or otherwise, on a public server unless they are required for the functioning of your site.

Increase the security of the all-critical configuration.php file by moving it outside of public_html. [FAQ]

Change the user name of the default admin user. This simple step greatly increases the security of this critical account. [FAQ]

Block typical exploit attempts with .htaccess files. [FAQ]

Password protect sensitive directories, such as administrator, with .htaccess files. [FAQ]

Restrict access to sensitive directories by IP Address, using .htaccess. [FAQ]

Depending on your host, you may be able to increase security by switching to PHP5. [FAQ]

Follow the "Least Privilege" principle for running PHP using tools such as PHPsuExec, php_suexec or suPHP.

Configure Apache mod_security and mod_rewrite filters to block PHP attacks.
Google Search Example: http://www.google.com/search?q=apache%20mod_security
Google Search Example: http://www.google.com/search?q=apache%20mod_rewrite

Be sure MySQL accounts are set with limited access. The initial install of MySQL is insecure; careful configuration is required.
MySQL Documentation

Currently, both PHP4 and PHP5 are maintained. Before PHP4 becomes obsolite, upgrade your code to PHP5. By the way, you don't worry about Joomla! Core. It's already PHP 5 compatible. PHP News

Avoid the use of PHP safe_mode. [FAQ]
Turn Joomla! Register Globals Emulation OFF by editing the file, globals.php. (Found in the root directory of your Joomla! site.) Although Joomla! emulation is safer than PHP register_globals, it's best not to allow register_globals at all. Beginning with PHP 6, this will not even be an option. Note that poorly-written extensions may fail with register_globals OFF. Best advise: Don't use such extensions! Here's the correct setting for your globals.php file:

define( 'RG_EMULATION', 0 );

Related Forum Discussion

Ensure that all configurable paths to world writable directories (document repositories, image galleries, caches) are outside web_root. Check third party extensions, such as DOCMan and Gallery2, for editable settings. Note that there is currently no easy way to move the standard Joomla image directory.

Once your site is configured and stable, write-protect directories and files by changing directory permissions to 755, and file permissions to 644. There is a feature in Site --> Global Configuration --> Server to set all folder and file permissions at once. Test third party extensions afterwards. Note: You'll need to reset write permissions to install more extensions.
Post: Shell script for setting file and directory permissions

Remove all design templates not needed by your site. Do not put security logic in template files.
Post: Suggest Ability to turn off/on template change

If you use a VPS or dedicated server, run TripWire or SAMHAIN (GNU/GPL) . They perform exhaustive file checking and reporting functionality, and can be installed in a stealthy manner to help protect themselves in the event of a serious infiltration.

Hire a professional Joomla! security consultant to review your configurations.
----
5 Instalacja. Uaktualnienie i konfiguracja silnika Joomla! i serwera Apache

Zawsze instaluj uaktualnioną najnowszą stabilną wersję Joomla!

Zawsze ściągaj Joomla! tylko z oficjalnych serwisów takich jak Joomla! Forge, sprawdzaj też sumy kontrolne MD5

Zawsze usuwaj zbędne/pozostawione pliki. W trakcie procesu instalacji instalator zażąda od Ciebie usunięcia katalogu instalacyjnego oraz całej jego zawartości. Zrób to! Jeśli wgrywałeś na serwer Joomla! jako skompresowane archiwum (np. xxxx.zip), nie zapomnij usunąć po instalacji oryginalnego pliku archiwum Ogólnie – nie pozostawiaj na serwerze żadnych zbędnych plików, skompresowanych czy nie – dopóki Twój Portal nie będzie ich potrzebować do funkcjonowania.

6. Installing, Upgrading, and Configuring Joomla! Extensions (Components, Modules, Bots, and Plugins)
6.1: BEFORE installing new extensions backup your site and your site's database.

6.2: BEFORE installing third party extensions, check: Official List of Vulnerable 3rd Party/Non Joomla! Extensions

6.3: Only download extensions from trusted sites. The official definition of a "trusted site" is one that YOU trust.

6.4: User beware! Third party extensions come in all flavors of quality and age. Although Joomla! coding standards exist, extensions listed on the official Joomla! site are not reviewed for compliance. Test all extensions on a development site before installing on a production site. [FAQ (Part 1)] [FAQ (Part 2)]

6.5: Most security vulnerabilities are caused by third party extensions. In fact there's an entire forum dedicated to this subject. Subscribe to it using the Notify button.

6.6: Remove unused extensions, and double check that all related folders and files were removed by the uninstall scripts. Note that many third party extensions leave files on your server, and many leave the related database tables untouched. This is either a feature or a bug, depending on your point of view.

6.7: Remove or fix any Joomla! extension that require register_globals ON.
How to fix an extension that requires register_globals ON
=================
6. Instalacja, aktualizacja i konfiguracja rozszerzeń Joomla! (komponentów, modułów, botów i wtyczek)
6.1. PRZED instalacją nowego rozszerzenia wykonaj kopię zapasową witryny i kopię zapasową bazy danych.
6.2. PRZED instalacją rozszerzeń innych zespołów, sprawdź: Official List of Vulnerable 3rd Party/Non Joomla! Extensions
6.3. Pobieraj rozszerzenia tylko z zaufanych witryn. Jest jedna oficjalna definicja "zaufanej witryny": TY ufasz!
6.4: Użytkownik rozsądny (strzeżony, bezpieczny)! Rozszerzenia innych projektantów są różnej jakości, powstaly w różnym czasie (starzeją się). Chociaz istnieją standardy kodowania w Joomla!, rozszerzenia umieszczane w katalogu zasobów na oficjalnej stronie Joomla! nie są przeglądane pod kątem zgodnosci ze tandardmi kodowania. Testuj każde rozszerzenie na testowej witrynie PRZED instalacją na witrynie produkcyjnej.
6.5: Najwięcej zagrożeń bepieczeństwa niosą ze sobą rozszerzenia opracowane przez innych projektantów. Rzeczywiscie, to fakt. Istnieje całe forum dedykowane temu tematowi. Zaprenumeruj je, kliknij przycisk Notify/Powiadomienia
6.6 Usuwaj nieużywane rozszerzenia i dwuktrotnie sprawdzaj, czy wszystkie foldery i pliki zostały usunięte po deinstalacji. Zauważ, że wiele rozszerzeń innych projektantów po odinstalowaniu pozostawia na Twoim serwerze dużą ilość plików i dużą ilość tabel w bazie danych. To jest albo zaleta, albo błąd - zależy od Twojego punktu widzenia!
6.7. Usuń lub napraw wszystkie rozszerzenia, któe wymagają włączonych register_globals.
(How to fix an extension that requires register_globals ON)
Jak naprawić rozszerzenie wymagajace włączonych register_globals
===========

7. Configuring php.ini
7.1: Understand how PHP configurations are controlled by reading the well-documented default php.ini file included with every PHP install.
Latest default php.ini file

7.2: Understand how to work with the php.ini file.

7.3: Study the Official List of php.ini Directives at www.php.net (http://www.php.net)

7.4: On shared servers you can't edit the main php.ini file, but you may be able to add a custom file. If so, you'll need to copy that file to every sub-directory that requires the custom php.ini settings. Luckily a free set of scripts do the hard work for you:
B&T's Tips and Scripts

7.5: Read the following post, by Beat, Q&T Workgroup Member, for a list of php.ini methods sorted in order of preference:
Secure it with php.ini

7.6: Set register_globals OFF. This directive determines whether or not to register the EGPCS (Environment, GET, POST, Cookie, Server) variables as global variables. This is an important setting to turn OFF. If you can't gain access to php.ini, see the switch to PHP5 using .htaccess techique above.
ZEND Chapter 29. Using Register Globals
==== robocze, rozszerzone info
7.6. Ustaw register_globals na OFF. Ta dyrektywa decyduje, czy zmienne otrzymywane z formularzy, ciastek, sesji lub serwera będą traktowane jako zmienne globalne. Używając zmiennych globalnych, nie można stwierdzić, czy dana wartość pochodzi z sesji czy może została podana w URL-u metodą GET. W przypadku źle napisanych skryptów, można obejść zabezpieczenia.
Dlatego ważne jest, aby wyłączyć rejestrowanie zmiennych globalnych. Jeśli nie masz dostępu do pliku php.ini przełącz się na PHP5 i użyj techniki .htaccess omówioonej powyżej.

====
7.7: Use disable_functions to disable dangerous PHP functions that are not needed by your site.

7.8: Disable allow_url_fopen. This option enables the URL-aware fopen wrappers that enable accessing URL object like files. Default wrappers are provided for the access of remote files using the ftp or http protocol, some extensions like zlib may register additional wrappers. Note: This can only be set in php.ini due to security reasons.

zwiastun
10-06-2007, 17:28
7.9: Adjust the magic_quotes_gpc directive as needed for your site. The recommended setting for Joomla! 1.0.x is ON to protect against poorly-written extensions. Joomla! 1.5 ignores this setting and works fine either way.
PHP Manual, Chapter 31. Magic Quotes.
==== robocze, rozszerzone info
7.9: Poprawienie ustawienia magic_quotes_gpc jest konieczne dla Twojej witryny. Zalecanym ustawieniem dla Joomla 1.0.x jest ON, aby chronić przed źle napisanymi skryptami rozszerzeń. Joomla 1.5 ignoruje to ustawienie i działa poprawnie w każdym przypadku. [magic_quotes_gpc ustawia stan stan magic_quotes dla operacji GPC (Get/Post/Cookie). Jeśli jest włączona, wszystkie znaki ' (apostrof), " (cudzysłów), \ (backslash) i znaki NULL są zamieniane na sekwencje escape przez dodanie przed te znaki znaku lewego ukośnika].
====
7.10: open_basedir (should be enabled and correctly configured)
Limit the files that can be opened by PHP to the specified directory-tree. This directive is NOT affected by whether Safe Mode is ON or OFF. The restriction specified with open_basedir is a prefix, not a directory name. This means that "open_basedir = /dir/incl" also allows access to "/dir/include" and "/dir/incls" if they exist. To restrict access to only the specified directory, end with a slash.
PHP Security and Safe Mode Configuration Directives

7.11: Example php.ini directives for the above suggestions:
Quote
register_globals = 0
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
allow_url_fopen = 0
magic_quotes_gpc = 1
safe_mode = 1
open_basedir = /dir/to/include/change/me
8. Joomla! Hardening for Maximum Security
8.1: Don't use a shared server. Some experts differ here. The point is, no matter how your server is configured, make sure you and the vendors you trust are the only organizations with access. [FAQ]

8.2: Use an SSL server for confidential transactions. Read this enlightening discussion on the need for SSL any time security is important. (Note that Joomla! version 1.0.11 does not allow you to assign an SSL server to individual sub-directories. Can someone tell me if 1.0.12 changes this?) [FAQ]

8.3: For an additional layer of password protection, use .htaccess files in critical directories. [FAQ]
9. Ongoing Site Administration
9.1: Use Well-Formed Passwords: Change passwords regularly and keep them unique. Use a random combination of letters, numbers, or symbols and avoid using single names or words found in a dictionary. Never use the names of your relatives, pets, etc. Wizzie has supplied a script that automatically changes passwords. This is a great tool for administrators or multiple sites. Automatic Admin PW Generator

9.2: Follow a Password Leveling Scheme
Most users may not need more than three levels of passwords and webmasters no more than five. Each level must be completely unrelated to the others in terms of which usernames and passwords are used. [FAQ]

9.3: Maintain a Strong Site Backup Process: Never rely on others' backups. Take responsibility for your backup procedures. Many ISPs state in their contract that you can not rely solely on their backups.

9.4: Perform Automated Intrusion Detection: Use an Intrusion Prevention/Detection Systems to block/alert on malicious HTTP requests.
Google Search Example: http://www.google.com/search?q=Intrusion+Prevention

9.5: Perform Manual Intrusion Detection: Regularly check raw logs for suspicious activity. Don't rely on summaries and graphs. There is a good discussion of creative ways to automatically check log files in this topic.

9.10: Stay Current with Security Patches and Upgrades Apply vendor-released security patches ASAP.

9.11: Proactively Seek Web Vulnerabilities: Perform frequent web scanning.
Google Search Example: http://www.google.com/search?q=%22web+scanning%22

9.12: Proactively Seek SQL Injections Vulnerabilities: Use tools such as Paros Proxy for conducting automated SQL Injection tests against your PHP applications.
Google Search Example: http://www.google.com/search?q=%22SQL+Injection%22
Wikipedia: http://en.wikipedia.org/wiki/SQL_injection

9.13: Use Shell Scripts to Automate Security Tasks: If you're comfortable with shell scripts (and you should be), you may want to try the following scripts supplied for free to the community by Wizzie
Joomla! Version Checking
Joomla! Component/Module Version Checking
Exploit Checking

9.14: Learn all you can about security software: Sadly, there's no one tool that you can install to protect your site. If there were, it would be so heavily targeted that it would probably become a liability. Related topic.

9.15: If you're a developer, prepare for the approaching release of Joomla! 1.5, the most significant upgrade in Joomla!'s history.
- Monitor 1.5 development status.
- Start playing with the beta version.
- Learn about Model, View, Control (MVC).
- Develop a conversion plan for extensions you've written.
- Develop a conversion plan for your existing sites.


10. Site Recovery
10.1: Know how to hack free when your site's been compromised. [FAQ]

10.2: Know how to find exploit attempts using the *NIX shell. [FAQ]


11. Your Turn...
11.1: Please post critical security issues with the Joomla! core here.

11.2: Please post any correction/additions to this document here.

zwiastun
10-06-2007, 17:29
Możesz się włączyć!
Skopiuj do swego postu fragment, a pod nim umieść tłumaczenie!

zwiastun
10-06-2007, 17:35
1. Zanim zaczniesz.
Nic za darmo!
Chociaż instalacja Joomla! jest łatwa, to juz utrzymanie i zabezpieczanie swojego portalu w internecie – takim już nie jest. Dobry poziom bezpieczeństwa to stale zmieniające się wyzwania, które wymagają ciągłej uwagi. Aby skutecznie zabezpieczyć swoją stronę musisz albo zdobyć doświadczenie na własnych błędach (czasem bardzo gorzkich), albo skorzystać z doświadczenia innych osób. Fora internetowe dotyczące spraw bezpieczeństwa wypełnione są postami o treści „Pomocy! Zostałem zaatakowany” pisanych przez ludzi, którzy NIE ZADALI sobie trudu, żeby zapoznać się z podstawowymi zasadami bezpieczeństwa. Poniższa lista ma na celu zaprezentowanie tych zasad i wskazanie szukającym właściwego kierunku:

2. Zaczynamy
Sprawdź czy potrafisz
Czy naprawdę chcesz i potrafisz administrować dynamiczną, opartą o bazy danych oraz indywidualne konta użytkowników interaktywną stroną? Czy posiadasz odpowiednią ilość wolnego czasu oraz możliwości reagowania na wiele poważnych problemów bezpieczeństwa, jakie napotkasz w Internecie?
Oto żartobliwa (a może i tragiczna) lista najczęściej spotykanych błędów bepieczeństwa popełnianych przez administratorów. Nie sprawdzaj tego na własnej skórze.

Tłumaczenie polskie: 10 Najgłupszych Błędów Administratora Joomli (http://www.joomlapl.com/content/view/238/26/)

Przekonaj się czy Joomla spełnia Twoje potrzeby
Developerzy dużych projektów mogą skorzystać : z tego forum (http://forum.joomla.org/index.php/topic,125800)

Bądź na bieżąco z problematyką bezpieczeństwa
Zapisz się do
Listy dyskusyjnej nt. Bezpieczeństwa Jommla (http://forum.joomla.org/index.php/topic,40046.0.html)
Wybierz Przycisk „Powiadom/Notify”

Sprawdzaj FAQs
Najważniejsze i najbardziej pomocne tematy z Forum Bezpieczeństwa Joomli (tak jak i inne źródła) zostalo teraz przekonwertowane na Security FAQs (http://help.joomla.org/component/option,com_easyfaq/task,cat/catid,226/Itemid,268/) na oficjanej stronie Joomla!


Ucz się od najlepszych
Szperaj w Forum Dyskusyjnym Joomla! Znajdziesz tam wiele prawdziwych złotych porad, np.
ten post (autorstwa CirTap’a) (http://forum.joomla.org/index.php/topic,75990.msg467875.html#msg467875)

3. Wybierz odpowiedniego dostawcę usług internetowych
Wybór providera to jedna z najpoważniejszych decyzji, przed jaką staniesz.
Z powodu szerokiego wachlarza dostępnych parametrów hostingu nie jest możliwe przygotowanie pełnej listy na każdą sytuację.

Jeśli musisz liczyć się z pieniędzmi – możesz po prostu wynajać miejsce na jednym z serwerów z niższej półki (albo darmowych – przyp. tłum), jednak musisz liczyć się z ryzykiem i wiedzieć, jak wybrać możliwie najbezpieczniejszego dostawcę usług internetowych.
[dyskusja na ten temat]

Sprawdź też naszą liste polecanych dostawców.

Dla pelniejszego zrozumienia problemu wyboru odpowiedniego serwera (i providera) polecamy przeczytać ten raport z około 11.000 stron, które pozwoliły Google na rozpoznanie typu systmu operacyjnego, serwera i innych waznych informacji – wykorzystując funkcję phpinfo()

4. Budowanie witryny


Używaj Zintegrowanego Środowiska – Integrated Development Environment (IDE) [FAQ]

Testuj wszystkie poprawki i łatki (patche) NAJPIERW na lokalnym serwerze /serwerze testowym [FAQ]

Upewnij się, że będziesz mógł wrócić do poprzedniej wersji swojego serwisu, korzystając z systemów kontroli wersji, takich jak CVS czy Subversion

Sprawdź Listę Spoleczności Joomla! - popularnych programów i narzędzi developerskich.


5 Instalacja. Uaktualnienie i konfiguracja silnika Joomla! i serwera Apache

Zawsze instaluj uaktualnioną najnowszą stabilną wersję Joomla!

Zawsze ściągaj Joomla! tylko z oficjalnych serwisów takich jak Joomla! Forge, sprawdzaj też sumy kontrolne MD5

Zawsze usuwaj zbędne/pozostawione pliki. W trakcie procesu instalacji instalator zażąda od Ciebie usunięcia katalogu instalacyjnego oraz całej jego zawartości. Zrób to! Jeśli wgrywałeś na serwer Joomla! jako skompresowane archiwum (np. xxxx.zip), nie zapomnij usunąć po instalacji oryginalnego pliku archiwum Ogólnie – nie pozostawiaj na serwerze żadnych zbędnych plików, skompresowanych czy nie – dopóki Twój Portal nie będzie ich potrzebować do funkcjonowania.

trytyt
10-06-2007, 19:39
Dlaczego 2 razy to samo?
Z tych tekstow wynika duzo a zarazem nic każdy chyba wie ze katalog "instal" sie usuwa chciaż znam jeden cms ktory potrafi sam usunac zbedne pliki po pomyslnie zakonczonej instalacji.Moim skromnym zdaniem powinien byc jakis temat z linkami do poprawek i opisami tego typu ktore pliki nadpisywac- ktore komponenty koniecznie trzeba wymienic ;)

zwiastun
10-06-2007, 21:20
Gdybyś popatrzył dokładniej, to nie zadawałbyś niepotrzebnych pytań.
Dobrze, że jestes tak obeznany, i jak każdy wiesz, że trzeba usunąć katalog instalacyjny. Inni jednak dobrze wiedzą, że nie wszyscy to wiedzą.

trytyt
10-06-2007, 23:11
Nie uważam sie za obeznanego i takowy nie jestem tylko chodzi mi o to ze oczywiste sprawy w kółko wałkujecie.Lepiej by było jak by ktos z was opisał konkretne przykłady aktualizacji joomla z wersji xxx do wersji yyy konkretne przykłady optymalizacji każdy by wiedział na czym stoi bo narazie to nic z tego nie wynika.

markooff
10-06-2007, 23:47
Alez... my tylko (a przyn. ja) - tlumaczac ten pierwszy fragment oficjalnego FAQ postapilem dokladnie w mysl autorow tekstu oryginalnego tlumaczacgo krok po kroku :)

W najblizszym czasie pozostala (mam na dzieje ze bardziej tresciwa) czesc w.w. FAQ

Pozdrawiam
P.S. dziekuje za zamieszczenie mojego tekstu i wszelkie uwagi.
Tylko jeden problem jaki widze to bede musial i tak go jeszcze raz przekopiowac, umieszczajac (poprawiajac) niektore linki. Ale to pozniej...

zwiastun
11-06-2007, 00:17
tylko chodzi mi o to ze oczywiste sprawy w kółko wałkujecie. Lepiej by było jak by ktos z was opisał konkretne przykłady aktualizacji joomla z wersji xxx do wersji yyy konkretne przykłady optymalizacji każdy by wiedział na czym stoi bo narazie to nic z tego nie wynika.
Miły jesteś!
Nie zauważyłem, byś zdązył gdziekolwiek powiedzieć DZIĘKUJĘ, za to, CO OTRZYMAŁEŚ od ludzi upowszechniajacych Joomla! Nie zauważyłam również, byś COKOLWIEK dał od siebie.
Może więc, następnym razem, zastanów się, co piszesz do ludzi, którzy DAJĄ Ci pełnymi garściami, co tylko są w stanie dać.
I raczej już nie odpowiadaj na ten post, bo nie ma po co!

markooff
11-06-2007, 16:23
================KONTYNUACJA PKT 5 =====================


Zwiększ poziom bezpieczeństwa swojego portalu przez umieszczenie/przeniesienie najważniejszego pliku - configuration.php poza katalog domowy Twojej strony [FAQ] (http://forum.joomla.org/index.php/topic,122594.msg604266.html#msg604266) (zwykle chodzi tu o ./public_html w katalogu użytkownika, który jest właścicielem portalu. Uwaga! – problem jest do rozwiazania tylko na serwerach, na których mamy dostep do calego drzewka katalogów użytkownika, a nie tylko samego chrootowanego katalogu public_html . Niestety wiekszość serwisów publicznie dostepnych – przyn. w Polsce - blokuje nam ten dostęp. przyp. tłum)

Koniecznie zmień nazwę użytkownika dla domyśnego administratora. W ten prost sposób znacząco poprawisz bezpieczeństwo tego krytycznie ważnego konta.[FAQ] (http://forum.joomla.org/index.php/topic,129609)

Zablokuj działanie typowych exploitów używając do tego poprawek w pliku .htaccess [FAQ] (http://forum.joomla.org/index.php/topic,101814.msg509631.html#msg509631)

Zablokuj dostęp do kluczowych katalogów – takich jak administrator – przez wprowadzenie haseł używając do tego plików .htaccess [FAQ] (http://forum.joomla.org/index.php/topic,100036.html)

Zablokuj dostęp do kluczowych katalogów – jak administrator ze wszsytkich innych adresów IP niż Twój – używając do tego plików .htaccess [FAQ] (http://forum.joomla.org/index.php/topic,127019.0.html)
(uwaga tłum. – jest to możliwe, o ile posiadamy stały, zewnętrzny adres IP, z którego się łączymy z naszą witryną. Możliwe jest też (dla bardziej zaawansowanych) ustawienie sobie serwera proxy ze stałym zewnętrznym IP i korzystanie tylko z niego przy łączeniu się z witryną. )

O ile twój serwer to umożliwia – powinieneś przejść na PHP5 zamiast używać PHP4 [FAQ] (http://forum.joomla.org/index.php/topic,100045.0.html)

Stosuj zasadę „Minimalnych Możliwych Uprawnień” do uruchamiania aplikacji używających PHP takich jak PHPsuExec, php_suexec lub suPHP

Odpowiednio skonfiguruj w serwerze Apache mod_security i mod_rewrite, żeby skutecznie blokować ataki PHP [odpowiednie linki]
Google Search Example: http://www.google.com/search?q=apache%20mod_security
Google Search Example: http://www.google.com/search?q=apache%20mod_rewrite
(Oczywiscie, zmiany te wymagają dostępu do konfiguracji serwera Apache albo porozumienia się z jego administratorem)(przyp.tłum.)

Upewnij się że konto(a) MySQL mają ograniczony dostęp (są zabezpieczone unikatowym hasłem – które znasz tylko Ty - administrator serwisu – przyp. tłum.)
Standardowa instalacja MySQL ze wzgledów wygody użytkowania jest skonfiguroana potencjalnie niebezpiecznie. Zalecane jest poczynienie paru zmian.
Dokumentacja MySQL (http://dev.mysql.com/doc/refman/4.1/en/default-privileges.html)

Na chwilę obecną obydwa języki PHP4 i PHP5 są rozwijane. Jednak zanim PHP4 stanie się przestarzały i wyjdzie calkowicie z użycia przepisz cały swój kod PHP do wersji PHP5. Nie obawiaj się Joomla! Cały silnik jest obecnie kompatybilny z PHP5
PHP News (http://www.php.net/)

Unikaj używania PHP safe_mode [FAQ] (http://help.joomla.org/component/option,com_easyfaq/task,view/id,98/Itemid,268/)
WYŁĄCZ funkcję Register Globals Emulation – edytując plik globals.php (plik znajduje się w katalogu głównym Twojego portalu). Chociaż funkcja emulacji register_globals w Joomli! jest bezpieczniejsza niż register_globals wykonywana przez PHP znacznie bezpieczniej jest nie włączać register_globals w ogóle. Począwszy od PHP 6 nie będzie juz dostępnej takiej opcji. UWAGA! słabo napisany kod niektórych rozszerzeń do Joomli! może spowodować błędy w przypadku wyłączenia register_globals. Najlepszą radą jest – nie używać tych rozszerzeń!
Poniżej jest zaprezentowane właściwe ustawienie zmiennej w pliku globals.php

define( 'RG_EMULATION', 0 );

Pokrewny temat na forum (http://forum.joomla.org/index.php/topic,86525.0.html)

Upewnij się że wszystkie ścieżki do katalogów z uprawnieniami do zapisu (repozytorium dokumentów, galeria zdjęć i grafiki oraz cache) znajdują się poza katalogiem głównym strony. Sprawdź także rozszerzenia pochodzące od innych autorów, takie jak DOCMan czy Gallery2, dokonując niezbędnych poprawek ustawień. Niestety – jak na razie nie ma łatwego sposobu na migrację standardowego katalogu ze zdjęciami w Joomla!

Post: Skrypt shellowy do zmiany uprawnień plików i katalogów
(http://forum.joomla.org/index.php/topic,87719.msg469960.html#msg469960)
Usuń wszystkie projekty szablonów graficznych, których nie potrzebujesz. Nie zadawaj sobie trudu zabezpieczając ich.

Post: Sugerowana Możliwość właczenia/wyłączenia zmian templatów (http://forum.joomla.org/index.php/topic,84197.msg430051.html#msg430051)

Jeśli używasz VPS albo masz dedykowany serwer uruchom TripWire (http://sourceforge.net/projects/tripwire/) or SAMHAIN (GNU/GPL) (http://la-samhna.de/samhain/). Programy te przygotują wyczerpujący raport na temat bezpieczeństwa plików i funkcjonalności systemu. Oba mogą być zainstalowane dyskretnie w celu ochrony na wypadek ewentualnych prób włamania.

Poszukaj porady u profesjonalnego konsultanta d/s bezpieczeństwa Joomla!


======================KONIEC PKT 5 =====================================

markooff
14-06-2007, 13:41
Ciąg dalszy :

7. Configuring php.ini
7.1: Understand how PHP configurations are controlled by reading the well-documented default php.ini file included with every PHP install.
Latest default php.ini file

7.2: Understand how to work with the php.ini file.

7.3: Study the Official List of php.ini Directives at www.php.net

7.4: On shared servers you can't edit the main php.ini file, but you may be able to add a custom file. If so, you'll need to copy that file to every sub-directory that requires the custom php.ini settings. Luckily a free set of scripts do the hard work for you:
B&T's Tips and Scripts

7.5: Read the following post, by Beat, Q&T Workgroup Member, for a list of php.ini methods sorted in order of preference:
Secure it with php.ini
=============================================

7. Konfigurowanie php.ini

7.1 Konfiguracja i mechanizmy php.ini sa dobrze udokumentowane w pliku php.ini znajdującym się w każdej instalacji PHP. Najnowszy standardowy php.ini (http://cvs.php.net/viewvc.cgi/php-src/php.ini-dist?view=co)

7.2 Ważne jest dobre zrozumienie jak posługiwać się i wykorzystywać mechanizmy zawarte w php.ini

7.3 Poszczególne mechanizmy i funkcje php.ini są opisane i udokumentowane w www.php.net (http://www.php.net/)

7.4 Na wileu publicznych serwerach www nie masz dostępu do edycji głównego pliku php.ini ale za to możesz dodać swój własny plik php.ini (custom file). W takim wypadku musisz skopiować ten plik do każdego podkatalogu, który będzie wymagać sprecyzowanych niestandardowych ustawień php.ini . Na szczęście są dostępne darmowe skrypty które wykonaja za ciebie brudną robotę :
B&T's Tips and Scripts (http://tips-scripts.com/)

7.5 Przeczytaj post autorstwa Beat, Członka Grupy Q&T, w którym opisana jest lista metod php.ini uporzadkowana pod wzgledem wazności. Zabezpiecz przez php.ini (http://forum.joomla.org/index.php/topic,75990.msg455771.html#msg455771)

7.6 =========== ZROBIONE

7.7 Używaj funkcji disable_functions żeby wyłączyć użycie potencjalnie niebezpiecznych funkcji PHP, których nie są wymagane bezpośrednio przez Twój portal.

7.8 Wyłacz allow_url_fopen. Ta funkcja włącza dostęp do plików (wrapper) na dysku lokalnym serwera bezpośrednio przez podanie adresu url. Standardowo wrappery używane są do uzyskiwania dostępu do plików z wykorzystaniem protokołów http i ftp, znajdujących się na zdalnych serwerach. Niektóre rozszerzenia takie jak np. Zlib mogą dodawać swoje własne wrappery. UWAGA ze względów bezpieczeństwa wyłączenie tej funkcji jest możliwe tlko w php.ini

7.9 =============== ZROBIONE

7.10 Funkcja open_basedir powinna być włączona i poprawnie skonfigurowana )
Ogranicz dostęp do plików które mogą być otwierane przez PHP tylko do określonego katalog(ów) (drzewka). Ta funkcja jest NIEZALEŻNA od ustawienia ON lub OFF PHP SafeMode. Nazwa katalogu podawana jako argument w funkcji open_basedir jest traktowana jako prefix a nie dokładna nazwa katalogu. I tak np. "open_basedir /dir/incl" pozwala na dostęp do katalogów "/dir/include" oraz "/dir/incls" o ile takie istnieją. Aby ograniczyć dostęp TYLKO do wybranego katalogu należy zakończyć jego nazwę slashem "/"
PHP Security and Safe Mode Configuration Directives (http://us3.php.net/manual/en/features.safe-mode.php#ini.safe-mode)

7.11 Przykładowa konfiguracja php.ini w odniesieniu do powyższych uwag sugestii
Quote
register_globals = 0
disable_functions = show_source, system, shell_exec, passthru, exec, phpinfo, popen, proc_open
allow_url_fopen = 0
magic_quotes_gpc = 1
safe_mode = 1
open_basedir = /dir/to/include/change/me

markooff
14-06-2007, 14:57
8. Joomla! Hardening for Maximum Security
8.1: Don't use a shared server. Some experts differ here. The point is, no matter how your server is configured, make sure you and the vendors you trust are the only organizations with access. [FAQ]

8.2: Use an SSL server for confidential transactions. Read this enlightening discussion on the need for SSL any time security is important. (Note that Joomla! version 1.0.11 does not allow you to assign an SSL server to individual sub-directories. Can someone tell me if 1.0.12 changes this?) [FAQ]

8.3: For an additional layer of password protection, use .htaccess files in critical directories. [FAQ]

=================================================
8. Tuning Joomli! dla maksimum bezpieczeństwa

8.1 Nie używaj publicznych(/darmowych) serwerów. Niektórzy experci są tutaj innego zdania. Jakkolwiek byś uważał niezależnie od konfiguracji serwera, istotne jest żebyś upewnił się że fizyczny dostęp do Twojego serwisu masz wyłącznie Ty i administrator(zy) serwera. [FAQ] (http://forum.joomla.org/index.php/topic,95678.0.html)

8.2 Używaj protokołu SSL w celu zabezpieczenia połączeń z serwerem. Przeczytaj TĄ (http://forum.joomla.org/index.php/topic,130025.html) dyskusję na temat potrzeby używania SSL i tych momentów kiedy bezpieczeństwo jest szczególnie istotne. (Joomla! w wersji 1.0.11 nie pozwala na przypisanie serwera SSL do poszczególnych katalogów. Czy ktoś wie czy w 1.0.12 ma się to zmienić ?) [FAQ] (http://forum.joomla.org/index.php/topic,111852.msg556348.html#msg556348)

8.3 Dla dodatkowej ochrony zabezpieczonych hasłem newralgicznych katalogów używaj plików .htaccess [FAQ] (http://forum.joomla.org/index.php/topic,100036.0.html)


=======================KONIEC pkt 8=========================

DO ZROBIENIA ZOSTAL JESZCZE WLASCIWIE TYLKO pkt 9

markooff
14-06-2007, 15:52
9. Ongoing Site Administration
9.1: Use Well-Formed Passwords: Change passwords regularly and keep them unique. Use a random combination of letters, numbers, or symbols and avoid using single names or words found in a dictionary. Never use the names of your relatives, pets, etc. Wizzie has supplied a script that automatically changes passwords. This is a great tool for administrators or multiple sites. Automatic Admin PW Generator

================================================== ==

9. Bieżąca administracja Serwisem
9.1 Używaj tylko dobrych (odpowiednio skomplikowanych) hasel: zmieniaj je regularnie i trzymaj w tajemnicy. Przy generowaniu hasel używaj zawsze losowej kombinacji liter, cyfr i znaków specjalnych - unikając prostych nazw imion oraz słów ze słownika. NIGDY nie używaj imion czy nazwisk swoich krewnych, zwierząt itd. Wizzie napisał skrypt który automatycznie zmienia hasła. To doskonałe narzędzie dla administratorów którzy opiekują się wielom naraz serwisami.
Automatyczny Generator Haseł Admina (http://forum.joomla.org/index.php/topic,92696.msg468103.html#msg468103)

9.2 Używaj schematu haseł odpowiednich do wagi i ważności problemu. Innymi słowy : miej pare poziomów bezpieczeństwa i związanych z nim trudności haseł. ktorę nie powinny byćw żaden sposób ze sobą związane. [FAQ] (http://forum.joomla.org/index.php/topic,113227.msg562430.html#msg562430)

9.3 Konsekwentnie wykonuj backupy swojego Serwisu. Nigdy nie polegaj na tym, że "ktoś zrobi je za ciebie" - sam bierz odpowiedzialność za Twoje dane! Wielu providerów wprost zaznacza w umowach, że użytkownik nie ma praw upominać sie o backupy danych w razie ich własnej utraty.

9.4 Używaj Automatycznych narzedzi do wykrywania Ataków (IDS). Używaj profesjonalnego oprogramowania IDS do blokowania podejrzanych zapytań http .
Google Search Example: http://www.google.com/search?q=Intrusion+Prevention
(uwaga od tłumacza: jednym z najlepszych a do tego calkowicie darmowym systemem IDS jest SNORT. Duża część wysokopłatnych rozwiązań komercyjnych bazuje wlaśnie na tym silniku. Jednak jego skuteczne użycie wymaga 1) dostępu do shella oraz 2) dość dużej wiedzy na temat zabezpieczeń oraz doświadczenia w pracy z sieciami. )

9.5 Często dokonuj RECZNEJ kontroli serwisu na wypadek ataków. Regularnie sprawdzaj logi na wypadek pojawienia się w nich podejrzanych operacji. NIE POLEGAJ wyłącznie na zestawieniach zbiorczych ani wykresach! Pouczająca dyskusja na temat możliwości automatyzacji przeglądania logów znajduje się tutaj (http://forum.joomla.org/index.php/topic,96281.html)

9.10 Bądź ZAWSZE na bieżąco z aktualizacjami i poprawkami (patchami). Zawsze instaluj poprawki wypuszczone przez producenta ASAP (As Soon As Possible - Jak Tylko Mozliwe Najszybciej)

9.11 Samodzielnie wyszukuj wiadomosci o nowych atakach i zagrożeniachRegularnie sprawdzaj wiadomosci w fachowych serwisach n/t bezpieczeństwa w Sieci
Google Search Example: http://www.google.com/search?q=%22web+scanning%22
UWAGA - jednymi z najlepszych serwisów odnośnie bezpieczeństwa w sieci sa www.insecure.org (http://insecure.org/) oraz www.securityfocus.com (http://www.securityfocus.com/)
(przyp. tłum.)

9.12 Samodzielnie wyszukuj wiadomosci o nowych atakach SQL: Użyj automatycznych narzędzi takich jak Paros Proxy do przeprowadzenia automatycznych testow na wykorzystanie SQL Injection przez aplikacje PHP.
Google Search Example: http://www.google.com/search?q=%22SQL+Injection%22
Wikipedia: http://en.wikipedia.org/wiki/SQL_injection

9.13 Używaj skryptów shellowych do automatyzacji pracy: Jeśli lubisz skrypty shellowe możesz spróbować poniższych, opublikowanych darmowo dla społeczności Joomla! przez Wizzie
Joomla! Version Checking (http://forum.joomla.org/index.php/topic,71988.0.html)
Joomla! Component/Module Version Checking (http://forum.joomla.org/index.php/topic,92703.0.html)
Exploit Checking (http://forum.joomla.org/index.php/topic,92678.0.html)
Oczywiscie wymaga to dostępu do shella (przyp. tłum.)

9.14 Czytaj jak możesz najwięcej odnośnie oprogramowania zabezpieczającego Niestety nie ma "jedynego i słusznego" programu który zabezpieczyłby Twoją stronę. Zresztą gdyby takowy nawet istniał - musiałby być tak ogólny (z uwagi na zróżnicowane warunki i możliwe zagrożenia) że nie byłby przez to wiarygodny. Dyskusja tematyczna. (http://forum.joomla.org/index.php/topic,143029)

9.15 Jeśli jesteś programistą zainteresuj się i zaznajom z nadchodzącą wersją Jommli! 1.5 - najbardziej znaczącą pod względem zmian kodu Joomli!
- monitoruj status wersji 1.5 (http://dev.joomla.org/content/view/1139/82/)
- zapoznaj się z wersja beta
- zapoznaj się z MVC (Model, View, Control) (http://en.wikipedia.org/wiki/Model-view-controller)
- Przygotuj plan migracji (http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tips:make_your_extensions_fit/) swoich rozszerzeń do wersji 1.5
- Przygotuj plan migracji swoich Serwisów do wersji 1.5

markooff
15-06-2007, 15:23
10 Odtwarzanie Serwisu
10.1 NAucz się zabezpieczać Serwis PO WŁĄMANIU i przywracać mu pełną funkcjonalność [FAQ] (http://help.joomla.org/component/option,com_easyfaq/task,view/id,100/Itemid,268/)

10.2 Naucz się rozpoznawać próby wykorzystania exploitów przy użyciu shelli *NIXowych [FAQ] (http://forum.joomla.org/index.php/topic,99342.0.html)

11 Twój Ruch...
11.1 Publikuj informacje o zauważonych/odkrytych przez Ciebie problemach z bezpieczeństwem dotyczących Joomla! tutaj (http://dev.joomla.org/content/view/1450/89/)

11.2 Wszytkie uwagi, poprawki i komentarze dotyczące tego dokumentu, zgłaszaj tutaj (http://forum.joomla.org/index.php/topic,81959.0.html)

markooff
15-06-2007, 15:27
SKONCZYŁEM .

Teraz trzeba by bylo zebrac calosc tekstu , uzupelnic o brakujace linki - popodmieniac na te ktore juz sa przetlumaczone na jezyk polski i zastanowic sie co dalej .... ?

Mysle ze trzeba by tez przygotowac osobny adres mailowy na uzytek zglaszania bledow i uwag do POLSKIEJ wersji tego FAQ .

Pozdrawiam

Rybik
12-10-2007, 17:33
ze względu na wątpliwą jakość usług serwerów ISX i powtarzające się ataki DDOS zaleca się dodanie do .htaccess wpisu


Deny from .isx.pl

w sekcji

<Limit GET POST>
Order Deny,Allow
TUTAJ
</Limit>
W pliku txt załączam listę sugerowanych wpisów DENY
Pomówienie ? Loto mi to :P mam w logach 23000 pustych odwołań z tego serwera, w odstępach 10 sekundowych, ktoś liczył na pożarcie limitu transferu, ale sie przeliczył ...
Sugeruję przeglądać czasem statystyki transferu, ponieważ typowe staty nie odnotują takich "wizyt", bo odwołanie udaje serwer DNS (ns1.isx.p , ns2.isx.pl)
Blokada tego i innych serwerów nie wpłynie w żaden sposób na dostępność waszych stron dla użytkowników.

kmilek
03-05-2008, 08:34
Jedno małe słowo :) - Dziękuje

koriek
08-01-2010, 23:28
Bardzo dziękuję za materiał. :)

adartproject
13-01-2010, 13:40
dzięki za tłumaczenie - kawał dobrej roboty

zwiastun
13-01-2010, 16:27
Warto popatrzeć na datę tłumaczenia. Aktualniejsze wersje i więcej na wiki!