Saturday, March 22, 2014

সিকিউর করুন আপনার ওয়ার্ডপ্রেস সাইট (২য় পর্ব)



সবাইকে আবারো শুভেচ্ছা জানিয়ে শুরু করছি ওয়ার্ডপ্রেস  সিকিউরিটির ২য় পর্ব। গত পর্বে আমরা দেখেছিলাম, কিভাবে আপনার ওয়ার্ডপ্রেস সাইটের নিরাপত্তা ঝুঁকি কমানো যায়। আজ দেখব আরো কিছু পদ্ধতি।

 গত পর্বের একটি সংশোধনী আছে। গত পর্বে ভুলবসত wp-config.php কে প্রটেক্ট করতে   এর পারমিশন ৭৫৫ করার কথা বলেছিলাম। আসলে পারমিশন পরিবর্তন করতে হবে ৪০০ দিয়ে। যদি ৪০০ দিয়ে পারমিশন  পরিবর্তন করেন তাহলে এর পর এই ফাইলটি রুট এক্সসেস ছাড়া আর কারো পারমিশন থাকবেনা।  যাইহউক  অনাকাক্সিক্ষত ভুলের জন্য দুঃখিত। তো চলুন শুরু করা যাক আজকের পর্ব।


wp-config.php এর সিকিউরিটি কী পরিবর্তন করুনঃ





যখন কেউ এডমিন প্যানেলে ঢুকে তখন ওয়ার্ডপ্রেস ইউজারের স্টাটাস ধরে রাখার জন্য কুকী জেনারেট করে। তো আপনার এই কুকীকেও নিরাপদ রাখা উচিত। সিকিউরিটি কী ব্যবহারের ফলে আপনার পাসওয়ার্ড ক্রাক করা অনেক কঠিন আর দুর্বোধ্য করে তুলবে। এই জন্য আপনার কুকীকে সল্ট করতে হবে,এই সল্ট  এমন হতে হবে যাতে কেউ সহজে অনুমান না করতে পারে এবং তা যেন দীর্ঘ হয়। সিকিউরিটি কি মনে রাখার কোন প্রয়োজন হয় না তাই একে দীর্ঘ, কঠিন এবং জটিল করা। এর জন্য অবশ্য ওয়ার্ডপ্রেসের অটো জেনারেট অবশন রয়েছে। এজন্য এই লিঙ্ক থেকে    https://api.wordpress.org/secret-key/1.1/salt/  এইখান থেকে  কী তৈরি করে ব্যবহার করতে পারেন। এখানে অটো জেনারেট হয়। এর পর কোডগুলো wp-config.php বসিয়ে দিন।   যা নিচের ছবির মত আসবে।








আপলোড/মিডিয়া গ্যালারি  অপশন বন্ধ করুনঃ


আপনার ওয়ার্ডপ্রেস সাইটের আপলোড অপশন আপনার সাইটের নিরাপত্তার  জন্য বিপজ্জনক হতে পারে। হ্যাকারদের সাইট হ্যাকের সময় এই অপশনটি খুবই প্রিয়। এই অপশন দিয়ে আপনার সাইটে হ্যাকার আক্রমণ করতে পারে। সুতরাং  এটিকে নিরাপদ করতে হবে। / uploads/ ফোল্ডারে
এর ভিতরে .htaccess ফাইল তৈরি  করুন  এবং তাতে এই কোড গুলো  পেস্ট করে দিন।
<Files ~ ".*\..*">
    Order Allow,Deny
    Deny from all
</Files>

<FilesMatch "\.(jpg|jpeg|jpe|gif|png)$">
    Order Deny,Allow
    Allow from all
</FilesMatch>



parmalink পরিবর্তন করুনঃ



আপনার ওয়ার্ডপ্রেস সাইটের Permalink পরিবর্তন করুন। আপনারা নিশ্চয় এসকিউএল ইঞ্জেকশনের
কথা শুনেছেন। ওয়েব সাইট হ্যাকিং এর জন্য এটি একটি অন্যতম প্রধান অস্ত্র হ্যাকারদের। এই জন্য
হ্যাকাররা খুঁজে বের করে  http://www.yoursite.com/id?=12   এরকম লিঙ্ক। সাধারণত ওয়ার্ডপ্রেসে ডিফল্ট permalinks থাকে  http://www.yoursite.com/p?=1  এ রকম যা হ্যাকারদের অনেক সুবিধা দিয়ে থাকে। যা দিয়ে তারা  এসকিউএল ইঞ্জেকশন অ্যাটাক করে। সুতরাং আপনি এই permalinks পরিবর্তন করে ফেলুন। এজন্য আপনার ওয়ার্ডপ্রেস ডেসবোর্ড থেকে সেটিংস এ যান, তার পর permalinks এ ক্লিক করুন। তার পর   common settings এর একদম নিচে post name রেডিও বাটনে ক্লিক করুন। তাহলে /%postname%/  দেখাবে। 







এখন আপনার সাইট অনেকটায় নিরাপদ।  যদি চান আরও সিকিউর করবেন তাহলে .htaccess  ফাইলে এই কোড গুলো পেস্ট করে দিন।


Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
এটা দেওয়ার ফলে আপনার লিঙ্ক অনাকাঙ্খিত পার্মালিঙ্কের রিকুয়েস্ট থেকে বেঁচে যাবে।


Wp-login.php ফাইলকে রক্ষা করুনঃ


আপনার ওয়ার্ডপ্রেস সাইটে এডমিন লগিন পেজে  এ লক্ষ্য করুন লেখা আছে Lost your password?   এটা দিয়ে হ্যাকাররা আপনার সাইটে আক্রমণ করতে পারে।







এইবার lost your Password এইটাতে ক্লিক করুন। দেখবেন পেইজটি রিডাইরেক্ট হয়ে এই পেজে চলে যাচ্ছে।





এইখানে ইউজার অর ইমেল এই টেক্সট বক্সে হ্যাকাররা তাদের এক্সপ্লয়ট প্রবেশ করাতে পারে। সুতরাং এই Lost your Password?  এই অপশন আপনাকে হাইড/ডিজেবল  করে দিতে হবে। এই কাজটি করার জন্য আমাদের Wp-login.php থেকে এই অবশনটি হাইড করে ফেলতে হবে। এজন্য আমাদের Wp-login.php এ গিয়ে note pad   Ctrl+F  দিয়ে বক্সে <?php _e( 'Lost your password?' ); ?>  লিখে সার্চ করতে করতে হবে এবং তা মুছে দিতে হবে। <?php _e( 'Lost your password?' ); ?> এটি  তিন
জায়গায় আছে। সুতরাং এটিকে ৩ বার মুছে দিতে হবে।





এর পর সেভ করুন। তারপর আপনার লগিন পেজে গিয়ে দেখুন, রিকভারী অপশনটি এখন আর দেখাচ্ছে না। এটা ছাড়াও আরেকটি কাজ করতে পারেন তাহল, আপনার একটিভ থীমের functions.php তে এই কোড গুলো পেস্ট করুন ।

function remove_lostpassword_text ( $text ) {
             if ($text == 'Lost your password?'){$text = '';}
                        return $text;
             }
add_filter( 'gettext', 'remove_lostpassword_text' );



তার পর দেখবেন আপনার রিকভারী অপশন আর দেখাচ্ছে না।


এডমিন প্যানেলে আইপি ব্লক বা ব্যান করুনঃ

আপনার শত্রু  বা হ্যাকার যাতে আপনার সাইটের এডমিন প্যানেলে প্রবেশ করতে নাপারে এজন্য আপনাকে আপনার আইপি ব্যতিত অন্য আইপি ব্লক করে দিতে হবে। অনেক সময় ¯পামিং এর ব্রটফোর্স অ্যাটাক হতে পারে, যখন দেখবেন একই আইপি থেকে আপনার সাইটে ব্রটফোর্সিং , স্পামামিং করছে , তখন ওই আইপি গুলো ব্যান 
করে দিন।
এজন্য আপনার wp-admin/  ফোল্ডারের  .htaccess  ফাইলে নিচের কোড গুলো পেস্ট করে দিতে
হবে। যদি আপনার  wp-admin/  ডাইরেক্টরি/ফোল্ডারে কোন .htaccess  ফাইল না থাকে তাহলে  .htaccess  নামে তৈরি করে নিন এবং তার পরে নিচের কোড টুকু পেস্ট করে দিন । এখানে AA.BB.CC.DD   এর জায়গায় আপনাকে আপনার শত্রর আইপি বসাতে হবে। 
order allow,deny
deny form AA.BB.CC.DD
deny form AA.BB.CC.DD
deny form AA.BB.CC.DD
deny form AA.BB.CC.DD
allow from all



আপনি যদি চান শুধু আপনার আইপি ছাড়া আর কেউ এক্সেস করতে পারবেনা তাহলে নিচের কোড গুলো .htaccess  ফাইলে পেস্ট করুন,

order deny,allow

deny from all
allow from AA.BB.CC.DD
allow from AA.BB.CC.DD
এখানে  AA.BB.CC.DD এর জায়গায় আপনি আপনার আইপি বসাবেন।
এইভাবে আপনি শুধু আপনার আইপি ছাড়া অন্য আইপির প্রবেশ বন্ধ করে দিতে পারেন।

প্রক্সি সার্ভার ব্লক করুনঃ

 হ্যাকাররা তাদের আইপি খুব কমই ব্যবহার করে, তার প্রক্সি বেশি ব্যবহার করে।  তো, এখন
আপনি প্রক্সি সার্ভার ব্লক করে দিন। এজন্য আগের মতই .htaccess এ গিয়ে এই কোড গুলো পেস্ট
করুন।

RewriteEngine on
RewriteCond %{HTTP:VIA}                 !^$ [OR]
RewriteCond %{HTTP:FORWARDED}           !^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA}       !^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR}     !^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION}    !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}   !^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} !^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP}      !^$
RewriteRule ^(.*)$ - [F]



পোস্ট রিভিশম লিমিট করে দিনঃ 


আপনি যখন আপনার পোস্ট এ এডিট করবেন তখন একটি পোস্ট রিভিশন শো করে। অর্থাৎ আপনি কয় বার পোস্টটি এডিট করছেন, তা সে হিসাব করছে, এবং ডাটাবেজে তা জমা রাখছে। এতে  আমাদের মেমোরী  স্পেস এ অপ্রয়োজনীয় ফাইল জমা হয়।  আপনার পোস্ট রিভিশন লিমিট করতে
নিচের কোড গুলো wp-config.php এর মধ্যে পেস্ট করুন।

<?php
# Maximum 3 revisions #
define('WP_POST_REVISIONS', 3);
?>
বা আপনি পোস্ট রিভিশন বন্ধ করে দিন।
এজন্য এই কোডটি define( 'WP_POST_REVISIONS', false);  wp-config.php এর মধ্যে দিয়ে
দিন। এটি করলে পরবর্তীতে আর পোস্ট রিভিশন তৈরি হবে না।


wp-content  রক্ষা করুনঃ

wp-content  সাইটের অনেক প্রয়োজনীয় তথ্য সংরক্ষন করে রাখে। এখানে আপনার ওয়ার্ডপ্রেস সাইটের যাবতীয় আপলোড, ছবি সহ আরও অনেক গুরুত্বপূর্ণ জিনিষ জমা থাকে। wp-content এর ডিফল্ট পাথ http://yoursite.com/wp-content/uploads/  এখন আপনার এই wp-content  টি
যদি সুরক্ষিত না থাকে, তাহলে যে কেঊ আপনার গুরুত্বপূর্ণ তথ্য এক্সেস করতে পারবে। অনেক সময় আপনার শত্রবা হ্যাকার এই wp-content  দিয়ে আপনার অনেক গুরুত্বপূর্ণ তথ্য পেয়ে যাবে। যদি এই wp-content টি যদি সুরক্ষিত না থাকে, তাহলে  এই পাথ http://yoursite.com/wp-content/uploads/   দিয়ে ব্রাউস করলে নিচের ছবির মত দেখা যাবে।


যা আপনার জন্য মোটেও সস্তিদায়ক নয়। এজন্য আপনি যা করবেন

১। প্লাগিন ব্যবহার করতে পারেন। প্রথমে এই লিঙ্কে http://wordpress.org/plugins/secure-folder-wp-contentuploads/screenshots/  গিয়ে প্লাগিনটি ডাওনলোড করে ইন্সটল করে নিন। এর পর এক্টিভ করুন। এইবার Settings > Secure Folder







এর পর Secure Folder এ ক্লিক করুন। ব্যস কাজ শেষ। এইবার আপনার
http://yoursite.com/wp-content/uploads/ ডিরেক্টরিতে গিয়ে দেখুন আর কিছু দেখা যাচ্ছে না :D   




২. আরেকটি পদ্ধতি হলো আপনার  wp-content/uploads   ডিরেক্টরিতে .htaccess  ফাইলে  এ নিচের
কোড গুলো পেস্ট করে দিন।
<Files ~ ".*..*">
          Order Allow,Deny
          Deny from all
</Files>
<FilesMatch ".(jpg|jpeg|jpe|gif|png|tif|tiff)$">
          Order Deny,Allow
          Allow from all
</FilesMatch>




থীম ব্যবহারে সর্তক হোনঃ

ওয়ার্ডপ্রেসের অনেক ধরনের চোখ ধাঁধানো থীম পাওয়া যায়। এই থীম গুলোর কিছু ফ্রী আর কিছু প্রিমিয়াম। দেখা যায় , এর মধ্যে যা ফ্রি, তার ডিজাইন খুব চমৎকার। প্রথম দেখাতেই আপনার পছন্দ হয়ে যাবে। এসব থীম  হয়ত কিনতে গেলে আপনাকে ২০$ বা ১০০ $ কিনতে হতো। অনেকেই খুশিতে গদ গদ হয়ে এই থীম নামিয়ে নিজেকে বুদ্ধিমান মনে করতেই পারে। অনেকেই আবার ওয়ার্ডপ্রেসের থীম গুগলে খোঁজ করেন, এবং ফ্রী গুলো ব্যবহার করেন।

  ভাই, ফ্রি জিনিষ পাইলেই এত খুশির কিছু নাই। হয়ত ওই থীম দেখতে অনেক সুন্দর। কিন্তু আপনি কি জানেন? আপনার ওই থীমের কারনে হ্যাক হতে পারে আপনার সাধের ওয়েব সাইট? হ্যাকের সম্ভবনা ৯৭% !!!  কারণ সাধারণত এসব থীমে প্রচুর বাগ থাকে, আর হ্যাকার রা এসব বাগ কাজে লাগিয়ে হ্যাক করতে পারে আপনার ওয়েব সাইট। আপনার যদি ফ্রী থীম ব্যবহার করতেই হয়, বা প্রিমিয়াম থীম ব্যবহার করতে চান, তাহলে সব চেয়ে ভাল উপায় হলো ওয়ার্ডপ্রেসের সাইট থেকেই থীম কালেক্ট করা- http://wordpress.org/themes/ একি কথা ওয়ার্ডপ্রেস প্লাগিনের জন্য ও প্রযোজ্য । থার্ড পার্টি থীম বা প্লাগিন ব্যবহার না করাই শ্রেয়। এই সব ব্যাপারে সর্তক থাকা জরুরী।


সাইটে কিছু আপলোডের সতর্কতাঃ

আপনি যখন আপনার সাইটে কোন কিছু আপলাড করেন, যেমন, কোন স্ক্রিপ্ট , থীম, প্লাগিন তখন আপনাকে অনেক সর্তক হতে হবে। কারণ যা আপলোড করছেন, তা আপনার সাইটের জন্য ক্ষতিকারক হতে পারে। কখনোই ফাইলে শেয়ারিং সাইট বা টরেন্ট থেকে কোন থীম বা প্লাগিন ডাওনলোড করা উচিত না। এতে আপনার সাইটে যে কোন সময় মেলওয়্যার ঢুকে যেতে পারে। সিকিউরিটির ব্যাপারে নিশ্চিত হয়েই সার্ভারে কোন কিছু আপলোড করা উচিত।

নিয়মিত এক্সপ্লয়েট স্ক্যানার চালানঃ

আপনারা সাইটে malicious activity  চেক করতে  নিয়মিত Exploit Scanner  চালান। এজন্য এইখান থেকে http://wordpress.org/plugins/exploit-scanner/ এই প্লাগিনটি ডাওনলোড করে একটিভ করে নিন। এর পর আপনার ডেসবোর্ড এ Tools এ দেখুন নতুন একটি অপশন Exploit Scanner যোগ হয়েছে। এইবার এইখান থেকে আপনি স্ক্যান করুন।

আজ এটুকুই। পরের পর্বে আমরা বিভিন্ন সিকিউরিটি  প্লাগিন নিয়ে আলোচনা করব।

সবাইকে অনেক ধন্যবাদ, অনেক ধোর্য্য  ধরে পড়ার  জন্য। আশা করছি, এই সিকিউরিটি টিপসগুলো আপনার কাজে লাগবে।  সবাই অনেক অনেক ভাল থাকবেন। ধন্যবাদ  

 

1 comment:

  1. সিকিউরিটির ব্যাপারে এতোকিছু জানতেই মাথা ঘুরছে। ওয়ার্ডপ্রেস দিয়ে সাইট করতে চেয়েছিলাম কিন্তু এখন দেখছি অনেক কিছু করতে হবে। সর্বপরি আপনার লেখা ভালো হয়েছে। Thanks.

    ReplyDelete