ÇáÓáÇã Úáíßã æÑÍãÉ Çááå æ ÈÑßÇÊå ãÑÍÈÇ ÈÇáÌãíÚ .. íÚÊÈÑ ÓßÑÈÊ WHMCS åæ ÇáÃÔåÑ ÊÞÑíÈÇ áÇÏÇÑÉ ÔÑßÇÊ ÇáÃÓÊÖÇÝÉ ÇáÚÑÈíÉ æ ÇáÚÇáãíÉ áÐÇ ÝÇä ÍãÇíÉ ãæÞÚß æ ÍãÇíÉ ÇáÇÓßÑÈÊ íÚÊÈÑ ÇáÎØæÉ ÑÞã æÇÍÏ ááÍÝÇÙ Úáì ÔÑßÊß æ ÇáÍÝÇÙ Úáì ÚãáÇÆß . ÇíÖÇ áÇ íæÌÏ ÔìÁ ßÇãá ( ÝÇáßãÇá ááå æÍÏå ) , áßä ãä Çáããßä æ ÈÎØæÇÊ ÈÓíØÉ Çä ÔÇÁ Çááå Çä ÊÕá áäÓÈÉ ÍãÇíÉ ÚÇáíÉ . ÇáÎØæÇÊ Ýì åÐÇ ÇáãæÖæÚ åì ÚÈÇÑÉ Úä ÊÌÇÑÈ ææÌåÇÊ äÙÑ ÔÎÕíÉ ãÊæÇÖÚÉ ÈÇáÇÖÇÝÉ Çáì ÈÚÖ ÇáÊæÌíåÇÊ ãä ÔÑßÉ WHMCS .

( 1 ) : ÊäÕíÈ ÓßÑÈÊ WHMCS Úáì ÓíÑÝÑ ãÓÊÞá .
ãä æÌåÉ äÙÑäÇ ÇáãÊæÇÖÚÉ Çä ÇáÎØæÉ ÇáÇæáì æ ÇáÇåã ááÍãÇíÉ åì Çä íßæä ÇáÇÓßÑÈÊ æ ãæÞÚ ÇáÔÑßÉ Úáì ÓíÑÝÑ ãÓÊÞá æ ÇíÖÇ ÈÏæä ÊäÕíÈ Çì ÈÑãÌíÇÊ ÇÎÑì ÈÌæÇÑ ÇáÇÓßÑÈÊ æ åì ÇíÖÇ ÎØæÉ ÊäÕÍ ÈåÇ ÇáÔÑßÉ ÇáãÈÑãÌÉ . æ ÇáÇÓßÑÈÊ áÇ íÍÊÇÌ Çáì ãæÇÕÝÇÊ ÚÇáíÉ .. ÝÜ ÓíÑÝÑ ÈÑÇã 1 ÌíÌÇ ÞÏ íßæä ßÇÝì ÌÏÇ Çä ÔÇÁ Çááå æ áÇ ÊäÓì ÇáÍãÇíÉ ÇáÞÕæì áåÐÇ ÇáÓíÑÝÑ æ ÚÏã ÇÓÊÚãÇá ÇáÊÑÎíÕ 777 ÇÈÏÇ .

( 2 ) : ÊÑÎíÕ ÇáÇÓßÑÈÊ .
äÑÇåÇ ÇíÖÇ ÎØæÉ ãåãÉ ÌÏÇ ááÍãÇíÉ ÝåÐÇ Óíãßäß ãä ÊÍÏíË ÇáÇÓßÑÈÊ ÈÇÓÊãÑÇÑ ÝæÑ äÒæá ÇáÊÑÞíÚÇÊ æ ÇáÇÕÏÇÑÇÊ ÇáÌÏíÏÉ .. ( æ ÇáÌãíÚ íÚáã ÇäåÇ ßËíÑÉ ÌÏÇ Ýì ÇáÝÊÑÉ ÇáÇÎíÑÉ ) ÇíÖÇ ÇáäÓÎ ÇáãäÒæÚÉ æ Çááå ÇÚáã ÈãÕÏÑåÇ æ ÈãÍÊæíÇÊåÇ .. ÝáÇ ÊÖÚ äÝÓß Ýì ãæÖÚ ÎØÑ ÍÞíÞì .

( 3 ) : ÊÛíÑ ãÓÇÑ áæÍÉ ÇáÊÍßã æ ÊÑßíÈ ÌÏÇÑ äÇÑì .
æ åì ÎØæÉ ÇÓÇÓíÉ ãä ÎØæÇÊ ÇáÍãÇíÉ , æÊÊã ÚÈÑ ÊÛííÑ ÇÓã ãÌáÏ ÇáÇÏãä æãä Ëã ÇáÊæÌå Çáì ãáÝ configuration.php Úáì ÇáãÓÇÑ ÇáÑÆíÓíì ææÖÚ åÐÇ ÇáßæÏ ÈÇÎÑå .
ßæÏ:



ßæÏ:
$customadminpath = "custom_admin_folder_name_goes_here";
ãÚ ÊÛíÑ custom_admin_folder_name_goes_here Çáì ÇÓã ÇáãÌáÏ ÇáÌÏíÏ .
æ áÇ ÊäÓì ÇáÌÏÇÑ ÇáäÇÑì Úáì áæÍÉ ÇáÊÍßã ÈÇáÊÃßíÏ . * áÇ ÊäÓì ÊÛíÑ ÇáÇÓã Ýì ßæÏ ÇáÜ cron !!

( 4 ) : ÊÛíÑ ãÓÇÑ æ ÇÓãÇÁ ÈÚÖ ÇáãÌáÏÇÊ ÇáåÇãÉ .
åäÇß ÇíÖÇ ÈÚÖ ÇáãÌáÏÇÊ ÇáåÇãÉ æ ÇáÊì ÊÍÊÇÌ Çáì ÍãÇíÉ æåì
templates_c
attachments
downloads
æ áÊÛíÑ ÇáãÓÇÑ ÊæÌå Çáì ãáÝ configuration.php æ Þã ÈÇÖÇÝÉ ÇáßæÏ ÇáÊÇáì
ßæÏ:

ßæÏ:
$templates_compiledir = "/home/username/templates_c/";
$attachments_dir = "/home/username/attachments/";
$downloads_dir = "/home/username/downloads/";


ãËÇá áÊÛíÑ ãÓÇÑ ÇÍÏ åÐå ÇáãÌáÏÇÊ


ßæÏ:
$attachments_dir = "/home/username/public_html/newfolder/attachmentsname/";
ÍíË username = ÇÓã ÇáãÓÊÎÏã ( ááÓì ÈÇäá ) .
newfolder = ãÓÇÑ ÌÏíÏ Þã ÈÇäÔÇÁå æ äÞá åÐå ÇáãÌáÏÇÊ Çáíå .
attachmentsname = ÇÓã ÌÏíÏ ááãÌáÏ .

( 5 ) : ÊÍÏíÏ Çì ÈíåÇÊ ( IPs ) ãÍÏÏÉ áÏÎæá áæÍÉ ÇáÊÍßã .
æåÐå ÇáÎØæÉ íãßä ÊÝÚíáåÇ ÇÐÇ ßäÊ ãËáÇ áÏíß ÇÊÕÇá ÇäÊÑäÊ ËÇÈÊ Ýì ãÞÑ ÇáÔÑßÉ ãËáÇ Çæ Çä ÚÏÏ ãÍÏÏ ãä ÇáæÙÝíä áÏíåã ÇÊÕÇá ÇäÊÑäÊ ËÇÈÊ ÈÇì Èì ËÇÈÊ . æÊÊã åÐå ÇáÎØæÉ ÚÈÑ ÇáÊæÌå Çáì ãÌáÏ ÇáÇÏãä æ ãä Ëã ãáÝ .htaccess æ ÇÖÇÝÉ ÇáßæÏ

ßæÏ:

ßæÏ:
order deny,allow
allow from 12.34.5.67
allow from 98.76.54.32
deny from all




( 6 ) : ÍãÇíÉ ÞÇÚÏÉ ÇáÈíÇäÇÊ ÚÈÑ ÇáãæÏ ÓßíæÑÊì .
æåì ÎØæÉ ÇÖÇÝíÉ íãßä ÇÓÊÛáÇáåÇ áãäÚ ÇáÇÊÕÇáÇÊ ÇáÎÇÑÌíÉ ÈÞÇÚÏÉ ÇáÈíÇäÇÊ æ ÍãÇíÊåÇ ãä ÊØÈíÞ Çì ÇæÇãÑ ÎÇÑÌíÉ ÚáíåÇ . æ ÊÊã ÚÈÑ ÇÖÇÝÉ ÇáÑæáÒ ÇáÊÇáíÉ ááãæÏ ÓßíæÑÊì


ßæÏ:
# WHMCS Table Protection

SecRule REQUEST_URI|ARGS|REQUEST_BODY "tbladmins" "id:00001,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblclients" "id:00002,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblhosting" "id:00003,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblservers" "id:00004,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tbltickets" "id:00005,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblregistrars" "id:00006,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblcontacts" "id:00007,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblemails" "id:00008,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblinvoices" "id:00009,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblorders" "id:00010,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblpaymentgateways" "id:00011,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblverificationdata" "id:00012,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblgatewaylog" "id:00013,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tbldomains" "id:00014,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tbladminlog" "id:00015,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"
SecRule REQUEST_URI|ARGS|REQUEST_BODY "tblaccounts" "id:00016,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"

# WHMCS Generic DB Protection

SecRule REQUEST_URI|ARGS|REQUEST_BODY "database_name" "id:00050,phase:4,t:urlDecodeUni,log,deny,msg:'WHMCS'"

SecRule REQUEST_URI|ARGS|REQUEST_BODY "AES_ENCRYPT" "id:31337,phase:4,log,deny,msg:'WHMCS Fail'"
æ áÇ ÊäÓì ÊÛíÑ database_name Çáì ÇÓã ÞÇÚÏÉ ÇáÈíÇäÇÊ . " ãÑÝÞ ÇáÑæáÒ ÈãáÝ äÕì "
( 7 ) : ÇÓÊÎÏÇã ÇáÜ Access Hash Ýì ÇáÑÈØ ãÚ ÇáÓíÑÝÑ.

ÇÐÇ ßäÊ ããä íÑÈØ ÇáÇÓßÑÈÊ ÈÇáÓíÑÝÑ áÚãá ãÈÇÔÑ Úáì ÇáÇÓßÑÈÊ ÝÇÓÊÎÏã Access Hash ÝÞØ Ýì ÇáÑÈØ æ áÇ ÊÓÊÎÏã ÈÇÓæÑÏ ÇáÑæÊ ÇÈÏÇ

æåäÇ ÔÑÍ ãÕæÑ ßÇãá áåÐå ÇáÚãáíÉ ( ãÑÉ ÇÎÑì áÇ ÊÓÊÎÏã ßáãÉ ãÑæÑ ÇáÑæÊ ) ãä åäÇ
( 8 ) : ÇÓÊÎÏÇã Two-Factor Authentication .
ÕÑÇÍÉ ð äÑÇåÇ ãíÒÉ ÌíÏÉ áÍãÇíÉ ÍÓÇÈÇÊ ÇáãÏÑÇÁ æ ÇíÖÇ ÍÓÇÈÇÊ ÇáÚãáÇÁ ( æÎÕæÕÇ ÇíÖÇ Çä ßäÊ ããä íÑÈØ ÇáÇÓßÑÈÊ ÈÇáÓíÑÝÑ ) ÝÍÊì æáæ Êã ÇáæÕæá Çáì áæÍÉ ÇáÊÍßã æ ÍÓÇÈ ÇÍÏ ÇáãÏÑÇÁ ÝåÐå ÇáÎÇÕíÉ ÓÊãäÚ ÇáãÊØÝá ãä ÊÓÌíá ÇáÏÎæá ÝÊÝÚíáåÇ ÓíÞæã Ýì ßá ãÑÉ áÊÓÌíá ÇáÏÎæá ÈØáÈ ßæÏ ÍãÇíÉ ÇÖÇÝì íÊã ÊæáíÏå Úáì åÇÊÝß ÇáÌæÇá . åÐå ÇáÎÇÕíÉ ÓÊßáÝß 1.50 ÏæáÇÑ Çì 6 ÑíÇá ÝÞØ ÔåÑíÇ . æ Çä ÔÇÁ Çááå ÞÑíÈÇ ÌÏÇ ÓäÞæã ÈÊÎÕíÕ ÔÑÍ ßÇãá áåÐå ÇáÎÇÕíÉ æ ÊÝÚíáåÇ æ ÇáÚãá ÈåÇ .


( 9 ) : ÇÓÊÎÏÇã ÔåÇÏÉ SSL .
ÞÏ áÇ Êßæä åÐå ÇáÎØæÉ ÇÓÇÓíÉ Çæ ÖÑæÑíÉ , áßäåÇ Èßá ÊÃßíÏ ÞÏ ÊÓÇÚÏ Úáì ÍãÇíÉ ÈíÇäÇÊß æ ÈíÇäÇÊ ÚãáÇÆß Ýì ÍÇáÉ áÇ ÞÏÑ Çááå ÇÎÊÑÇÞ áÌåÇÒ Çæ ÔÈßÉ ÇÊÕÇá ÃÍÏ ÇáãÏÑÇÁ Çæ ÇáÚãáÇÁ . æ Çä ßäÊ ÊÓÊÎÏã äÓÎÉ ãÑÎÕÉ ãä ÇáÇÓßÑÈÊ ÝÈÇãßÇäß ÇáÍÕæá Úáì åÐå ÇáÔåÇÏÉ ÈÊßáÝÉ 12 ÏæáÇÑ ÝÞØ ÓäæíÇ ÚÈÑ ÍÓÇÈß Ýì ãæÞÚ ÔÑßÉ WHMCS . æÇä ÔÇÁ Çááå ÞÑíÈÇ ÌÏÇ ÓäÞæã ÈÊæÝíÑ ÔÑÍ ßÇãá áÍÌÒ ÇáÔåÇÏÉ æ ÊÑßíÈåÇ .

( 10 ) : æ ÈÇáÊÃßíÏ áÇ ÊäÓì ãÊÇÈÚÉ ÇáÊÍÏíËÇÊ æ ÚãáíÇÊ ÇáÊÑÞíÉ ÈÇÓÊãÑÇÑ ...
åÐÇ æ Çááå æáì ÇáÊæÝíÞ , æäÊãäì Çä äßæä ÞÏãäÇ æ áæ ÔìÁ ÈÓíØ íÓÇÚÏßã Çä ÔÇÁ Çááå.