April 2012

  • وارنیش کش چیست؟

    اگر دارای سایتی هستید که بازدید بسیار بالایی دارد. اگر منایع سخت افزاری سایت شما بسیار مشغول هست و اگر دارای یک سایت دروپالی با بازدید بسیار بالا هستید وارنیش می تونه کمک بسیار بزرگی برای شما باشد.

    وارنیش از دیگر اپلیکیش های سروری هست که در سایت هایی که طراحی کردم از ان استفاده شده است.

    وارنیش کش varnish cache یک شتاب دهنده HTTP هست که طراحی شده است برای وب سایت های داینامیک با بازدید بسیار بالا.

    Varnish بر خلاف کش سرور های دیگری مثل Squid که برای HTTP و SMTP و FTP به کاربرده می شود. به طور تخصصی بر روی HTTP متمرکز شده است.

    وارنیش منبع باز است، تحت دو مجوز BSD منتشر شده است. نسخه 1.0 از وارنیش در سال 2006 منتشر شد. وارنیش 2.0 در سال 2008 منتشر شد، و وارنیش 3.0 در سال 2011 منتشر شد.

    پروژه وارنیش توسط یک روزنامه آنلاین نروژی آغاز شده است. به زبان C نوشته است و برای سیستم عامل های یونیکس طراحی شده است البته باید بگم که وارنیش قابلیت نصب بر روی همه سیستم عامل های معروف را دارد.. توسط Poul-Henning Kamp, توسعه داده می شود.

    اطلاعات در  وارنیش در حافظه رم سیستم ذخیره می شود.و سپس تصمیم می گیرد که چه اطلاعاتی در حافظه رم و چه اطلاعتی به هارد سیستم انتقال پیدا کند.

    وارنیش با هر اتصال بک ترد جداگانه اختصاص می دهد تا وقتی که به محدودیت تعداد کانکشن برسدو همپچنین درخواست های ورودی جدید را در صف سر ریز قرار

    می دهد.ک

    وارنیش برای پیکربندی خود از ساختار فایلی با پسوند VCL استفاده می کند که  به وسیله زبان C اسکریپت نویسی برایش انجام می شود

    Varnish همچنین از  load balancing و round robin به خوبی پشتیبانی می کند. 

    قابلیت نوشتن پلاگین ها برای وارنیش از جمله مزایای بسیار خوب ان هست که شما با نوشتن و یا استفاده از ماژول های نوشته شده برای وارنیش می تونید به خیلی از نیازهای خود جواب بدهید از جمله ماژول های معروف می توانم به Vanirsh security را نام ببرم. 

    پشیبانی از ESI

    فشرده سازی GZIP و استخراج او

    و قابلیت های بسیار دیگر

    وارنیش باتوجه به ساختاری که دارد و قابلیت برقراری ارتباط بسیار موثر و عالی در سایت های دروپال بسیار طرفدار دارد و در اکثر سایت های دروپالی پربازدید یک پای ثابت هست

    سایت اصلی دروپال برای پاسخگویی به بازدید بسیار بالایش از وارنیش استفاده می کند

    در اکثر سایت های پربازدیدی که خودم کار کارده ام از وارنیش برای بالا بردن سرعت پاسخگویی استفاده

    در وب سایت العالم وارنیش در زمانی که به این سایت حملات شدیدی می شد بسیار فوق العاده عملکرد و بدون اینکه منابع سرور درگیر باشد و ... به خوبی از پس 600 مگابایت پهنای باید لحظه بر آمد و شخصا شاهد چنین ترافیکی بودم. در زمانی که به سایت حمله می شود نقش وب سرور خیلی مهم هست و وارنیش به عنوان یک شتابدهنده برای انجین ایکس به عملکرد عالی دارد.

    البته باید ذکر کنم که وارنیش اگر به خوبی کانفیگ نشود مشکلات بسیاری رو برای سایت شما به وجود می اورد

    از جمله این مشکلات برای سایت هایی بیشتر نمایان می شود که سایت شما در لحظه در حال بروزرسانی هست و مطالب صفحات شما تغییر پیدا می کند بیشتر نمود می کند واین هم دلیلش این هست که وارنیش صفحات سایت شما رو در کش خودش ذخیره می کند تا در درخواست های بعدی بدون وقفه و فراخوانی وب سرور بتواند پاسخگوی درخواست ها باشد.

    برای نصب وارنیش می تونید از اموزش زیر استفاده کنید

    http://www.webhostingtalk.ir/f175/18111/

     

  • تدریس خصوصی دروپال

    بعد از گذشت سه سال و کسب تجارب گسترده در زمینه طراحی سایت های حرفه ای با دروپال تصمیم گرفتم دانش خودم را در این زمینه به اشتراک بگذارم و این دانش را با کسانی که علاقه مند به یادگیری و کار با دروپال ،این سیستم مدیریت محتوای قدرتمند را دارند سهیم باشم.

    اگر علاقه مند به یادگیری دروپال هستید.

    اگر برای تکمیل پروژه های خود نیاز دارید دانش خود را ،در زمینه دروپال بیشتر کنید .

    می توانید از طریق فرم زیر و تکمیل آن با من در تماس باشید.

     

     

  • بانک هایی که برای مشتریان خود ارزش قائل نمی شوند

     

    به عنوان یک متخصص حوزه فناوری اطلاعات برایم جالب بود اتفاقی که امروز در رسانه های مختلف در رابطه با انتشار 3 میلیون رمز اول کارت های بانکی.

    به طور متداول من شخصا همه کارهای خودم رو در اینترنت انجام می دهم و از خدمات بانک های مختلف در حوزه بانکداری اینترنتی استفاده می کنم.

    استفاده از بستر امن اس اس ال در خدمات اینترنتی که دارای امنیت بالایی هست از الزاماتی هست که باید رعایت بشود.

    چند وقتی هست که از خدمات بانکداری اینترنتی بانک تجارت  استفاده می کنم. از حدود یکماه پیش تا به همین چند دقیقه پیش که تست می کردم لایسنس پروتکل https یا همون ssl دارای مشکل هست و مسئولان این بانک هیچ اقدامی برای اینکه در خدمت رسانی به مشتریان خود از حداقل امنیت و رعایت بدیهیات در سیستم بانکی خود غافل هستند. .

    واقعا چرا مسئولان کشورمان اینقدر سهل انگار هستند و حاظر نیستند کوچکترین هزینه ای برای رفع مشکلات خود بکنند.

    واقعا باید حتما اتفاق خیلی بدی در سیستم بانکی ما بیافتد تا مسئولان به امنیت در حوزه فناوری اطلاعات اهمیت بدهند. چه کسی و یا کسانی تبعات بعدی این مشکلات رو قبول می کنند.

    صفحه زیر صفحه بانکداری اینترنتی بانک تجارت می باشد که دارای ارتباط نا امن اس اس ال می باشد

    https://onlinetb.tejaratbank.net/

     

    صفحه زیر صفحه بانکداری اینترنتی بانک ملت می باشد که دارای یک اس اس ال کاملا امن می باشد.

     

     

     

     

    SSL چیست و چگونه می‌توان یک گواهی امنیتی را جعل کرد؟

     

    اگر در محیط اینترنت رفت و آمد داشته باشید حتما خبرهای متوالی جعل گواهی امنیتی سرویس‌هایی مانند Gmail را بارها شنیده‌اید. هشدارهای پی در پی و اخبار متفاوت از جعل گواهی امنیتی وبسایت‌هایی مانند گوگل، مایکروسافت، یاهو و ... .

    اما چگونه می‌توان این گواهی‌های امنیتی را جعل کرد؟ در این مقاله قصد دارم با زبانی ساده و روان به بررسی روند جعل این گواهی‌های امنیتی پرداخته و شما را با نحوه‌ی دستیابی به اطلاعات‌تان آشنا کنم.

    مقدمه

    وقتی شما برای جستجو در اینترنت وارد سایتی مثل گوگل می‌شوید و عبارت مورد نظر را در فیلد جستجو وارد کرده و کلید جستجو را می‌زنید، این عبارت توسط کامپیوتر شما به سرور گوگل فرستاده شده و نتایج حاصل از جستجو برای شما نمایش داده خواهد شد. اما این کار چگونه انجام می‌شود؟

    1. ابتدا شما وارد سایت گوگل می‌شوید.

    2. عبارت مورد نظر را در کادر جستجو وارد کرده و دکمه جستجو را می‌زنید.

    3. این عبارت ابتدا به سرور ISP یا مرکزی که شما از آن سرویس می‌گیرید فرستاده می‌شود.

    4. سپس از آنجا به سرور مرکز اصلی که در بیشتر مواقع در مراکز استانها دایر است فرستاده می‌شود.

    5. سپس از شبکه کل کشور خارج می‌شود و تازه به دست آن طرفی‌ها می‌رسد که دیگر با مراحل آنجا کاری نداریم و تا همین‌جا برای توضیح کار بس است!

    6. سپس سرور گوگل درخواست شما را پاسخ داده و از همین مسیر دوباره اطلاعات جدید به دست شما می‌رسد.

    حالا تصور کنید یک نفر در این میان اطلاعات شما را رصد کند. یعنی شخص سومی در بین مسیر قرار گرفته و اطلاعات شما را قبل از رسیدن به سرور بعدی و در بین راه سرقت نماید. چه اتفاقی می‌افتد؟ قطعا عبارت مورد جستجو نمی‌تواند هیچگونه خطر امنیتی داشته باشد اما اگر این عبارت کلمه‌ی عبور حساب بانکی شما باشد چطور؟ اگر کلمه عبور ایمیل شما باشد چطور؟ اینجاست که امنیت اطلاعات معنی پیدا می‌کند.

     

    SSL یا Secure Sockets Layer چیست؟

    SSL یک پروتکل امنیتی با الگوریتم‌های رمزنگاری پیشرفته است که تبادل اطلاعات بین سیستم کاربر و سرور را کنترل کرده و با رمزنگاری داده‌ها کاری می‌کند که اطلاعات در بین مسیر برای شخص سومی قابل خواندن نباشند. یا به اصطلاح، اطلاعات را در یک تونل امنیتی رد و بدل می‌کند. این پروتکل برای اولین بار در مرورگر Netscape برای انتقال امن داده‌ها میان مرورگر و سرور ایجاد گردید و امروزه به یکی از اصلی‌ترین راه‌های تامین امنیت وبسایت‌ها تبدیل شده است که هم‌اکنون میلیون‌ها وبسایت از این پروتکل استفاده می‌کنند.

     

    SSL چگونه کار می‌کند؟

    به زبان ساده وقتی شما درخواست یک صفحه‌ی ایمن (معمولا با https) می‌کنید، سرور یک کلید عمومی (Public Key) ساخته و به همراه یک درخواست گواهینامه SSL که تمامی اطلاعات شرکت درخواست کننده در آن قرار دارد به سرویس‌دهنده‌ی خدمات SSL می‌فرستد. سرویس دهنده خدمات SSL با استفاده از الگوریتم‌های پیشرفته اقدام به رمزگذاری کلید عمومی کرده و پس از رمزگذاری آن، کلید جدیدی ساخته و آن را به سرور بازمی‌گرداند (که به این کلید جدید، کلید خصوصی یا Private Key گفته می‌شود). در مبحث امنیت شبکه، مهم‌ترین قسمت در سرویس‌دهی SSL حفظ و نگهداری همین کلید خصوصی است و در صورتی که بتوان به کلید خصوصی دسترسی پیدا کرد یعنی می‌توان اطلاعات را خواند. کلید عمومی را هر کسی می‌تواند مشاهده کند اما کلید خصوصی را نه!

     

    پس از دریافت کلید خصوصی، ارتباط امن شما با سرور برقرار شده و می‌توانید با خیالی تقریبا راحت در وبسایت به گشت و گذار بپردازید!

     

    SSL چگونه امنیت داده‌ها را تضمین می‌کند؟

    پروتکل SSL اطلاعاتی که قرار است تبادل شود را با الگوریتم‌های پیچیده‌ای رمزنگاری می‌کند تا اگر در بین راه شخص سومی این اطلاعات را به سرقت برد نتواند آن را بخواند. این اطلاعات فقط و فقط به وسیله کدهای Private Key قابل خواندن هستند و در صورتی که این کدها در دسترس دیگری قرار بگیرد به راحتی می‌تواند اطلاعات شما را شنود کند. یک شرکت سرویس‌دهنده‌ی SSL نیز همیشه به دنبال این است که کسی نتواند به کلید خصوصی دسترسی داشته باشد.

     

    آیا SSL قابل اعتماد است؟

    وقتی شما فرمی را بدون پروتکل SSL در یک وبسایت تکمیل کرده و ارسال می‌کنید، این اطلاعات به صورت یک فایل متنی به مقصد فرستاده می‌شود. اما وقتی پای SSL به میان می‌آید، این کدها به صورت ایمن یا در اصطلاح داخل یک تونل امنیتی انتقال داده می‌شوند که افراد بیگانه نمی‌توانند آنها را بخوانند. یعنی اگر سارق در میانه راه به این کدها دسترسی پیدا کند فقط کدهای نامفهومی را می‌بیند که با روش‌های پیشرفته‌ای کدگذاری شده‌اند و فقط در مرورگر کاربر و کامپیوتر سرور قابل رویت هستند اما اخیرا همین کدهای SSL نیز توسط دو پژوهشگر شکسته شدند.

     

    اگر بخواهیم SSL را با شیوه متنی (Clear text) مقایسه کنیم بسیار بسیار ایمن‌تر و پایدارتر است و میلیون‌ها وبسایت از این شیوه برای حفظ محرمانه بودن اطلاعات خود استفاده می‌کنند اما این روش هم می‌تواند دستخوش حمله‌های امنیتی قرار بگیرد.

     

    جعل گواهی امنیتی به چه صورت انجام می‌پذیرد؟

    وقتی هکر به سرور سرویس‌دهنده SSL نفوذ کرده و اختیار سرور را به دست می‌گیرد، به راحتی می‌تواند درخواست‌های وارده از جانب وبسایت‌ها را مشاهده کرده و کاربران آن‌ها را به یک وبسایت جعلی با مقادیر جعلی منتقل نماید. کاری که در صفحه نخست Gmail شاهد آن بودیم. وقتی کاربران ایرانی وارد وبسایت gmail می‌شدند، پس از ارسال درخواست گواهی امنیتی از سوی وبسایت، به یک صفحه جعلی ساخته شده هدایت می‌شدند و وقتی نام کاربری و کلمه عبور خود را در صفحه جعلی وارد می‌نمودند، این اطلاعات به راحتی در اختیار شخص هکر قرار می‌گرفت حتی بدون اینکه خود وبسایت سرویس‌دهنده از این موضوع اطلاعی داشته باشد. به همین راحتی!

     

    سخن پایانی

    شاید دنیای امروز پیشرفت زیادی در بحث امنیت کرده باشد ولی در مقابل به موازات این امر، هکرها نیز پیشرفت کرده‌اند و همان‌طور که اخبار آن از گوشه و کنار به گوش می‌رسد، همه روزه شاهد هک شدن وبسایت‌های زیادی در دنیای وب هستیم. به یاد داشته باشید اگر می‌خواهید در محیط وب در امان بمانید همیشه به دنبال یک بستر امن برای خودتان باشید. همیشه مسائل ایمنی را جدی بگیرید. همیشه از آخرین نسخه مرورگرها و بسته‌های امنیتی استفاده کنید تا درصد امنیت را به بالاترین حد ممکن برسانید. (وبلاگینا)

     

    دسته بندی ها: 
  • NGINX چیست ؟

    nginxقصد دارم در سلسه مطالبی در رابطه با ماژول ها و برنامه هایی که بر روی وب سرورهای سایت هایی که طراحی کرده ام صحبت کنم اگر مطالب وب سایتم رو دنبال کرده باشید در رابطه با مشکلاتی که با وب سرور آپاچی  در سرور های سایت شبکه خبری العالم داشتیم صحبت کرده ام.

    بزرگترین مشکل وب سرور معروف آپاچی محدودیت کانکشن همزمان 10000 تایی هست که دارد و همچنین میزان مصرف بالای حافظه است. Nginx وب سرور معروفی هست که رایگان هست ,حجم پایینی دارد و کارایی بسیار بالا و تحت لایسنس BSD منتشر می شود. یکی بزرگترین مزیتهای این وب سرور ، پشتیبانی بسیار عالی از فایل های استاتیک هست. 
     
    Nginx سرعت پاسخگویی بسیار بالایی دارد و در بازدید های بسیار بالا واقعا عالی عمل می کند. از جمله قابلیت های Nginx سازگاری این وب سرور با اکثر توزیع های لینوکس هست. مستندات Nginx به نظر بسیار خوب هست و فروم Nginx هم بسیار بهتر،  من خودم اکثر سوالاتم رو در این سایت در زمان بسیار کوتاهی دریافت می کنم و این برای من بسیار ارزشمند هست. بروز رسانی و نصب Nginx  بسیار ساده است و یکی از قابلیت های خوب Nginx این هست.
    در زمانی که شما می خواهید به نسخه جدید تر   Nginx خودتون رو اپگرید کنید به صورت on the fly این کارو انجام می دهد و این مورد در پروژه هایی که نباید سایت داون تایم داشته باشه خیلی اهمیت داره.
     
    Nginx  برای مدیریت در خواست ها یا همون  connection ها از روش منحصر به خودش استفاده می کند که البته از این روش در وب سرور های دیگری هم استفاده شده است. 
     
    در وب سرور Nginx برای هردرخواست یک thread جدید درست می شود و این درحالی هست که سیستم thread poll هم که دارد thread را تا زمانی حفظ می کند که در اون لحظه درخواست جدید بیاد و Nginx از thread های بیکار استفاده می کند. این روش استفاده از thread ها در انجین ایکس بسیار کارامد هست به طور کلی مدیریت باز و بست شدن thread ها در وب سرور هایی مثل آپاچی باعث شده که این وب سرور در کانکشن های بالا ،در هندل کردن این بازدید ها به قول معروف کم بیاورد.
     
    Nginx علاوه بر این که یک وب سرور هست به درخواست های reverse proxy و e-mail (IMAP/POP3) proxy  ها هم پاسخ  می دهد.
     
     

     
     
     

    Total Sites Across All Domains

    August 1995 - February 2011

    Market Share for Top Servers

    Across All Domains 

    August 1995 - February 2011

    Totals for Active Servers

    Across All Domains
    June 2000 - February 2011

    Market Share for Top Servers

    Across the Million Busiest Sites

     September 2008 - February 2011

     
    تنظیمات Nginx برای راه اندازی دروپال
     

    بعد از اینکه هسته سرور و پکیج های سرور خودتون رو بروزرسانی کردید کافیه در خط فرمان لینوکس دبیانی خودتون دستور زیر را وارد کنید

    apt-get install nginx

    و بعد از تمام شدن مراحل نصب کافیه Nginx را استارت کنیم

    /etc/init.d/nginx start

    حالا فقط کافی در یک مرورگر ادرس سرور خودتون رو وارد کنید.

     

    برای اینکه از قابلیت ادرس های تمیز یا clean url در دروپال استفاده کنید باید دستورات زیر را در تنظیمات انجین ایکس وارد کنید

    vi /etc/nginx/sites-available/www.example.com.vhost

     

    server {
           listen 80;
           server_name www.example.com example.com;
           root /var/www/www.example.com/web;
    
           if ($http_host != "www.example.com") {
                     rewrite ^ http://www.example.com$request_uri permanent;
           }
    
           index index.php index.html;
    
           location = /favicon.ico {
                    log_not_found off;
                    access_log off;
           }
    
           location = /robots.txt {
                    allow all;
                    log_not_found off;
                    access_log off;
           }
    
           # Make sure files with the following extensions do not get loaded by nginx because nginx would display the source code, and these files can contain PASSWORDS!
            location ~* \.(engine|inc|info|install|make|module|profile|test|po|sh|.*sql|theme|tpl(\.php)?|xtmpl)$|^(\..*|Entries.*|Repository|Root|Tag|Template)$|\.php_ {
                    deny all;
            }
    
           # Deny all attempts to access hidden files such as .htaccess, .htpasswd, .DS_Store (Mac).
           location ~ /\. {
                    deny all;
                    access_log off;
                    log_not_found off;
           }
    
           location / {
                    try_files $uri $uri/ /index.php?$args;
           }
    
           location ~*  \.(jpg|jpeg|png|gif|css|js|ico)$ {
                    expires max;
                    log_not_found off;
           }
    
           location ~ \.php$ {
                    include /etc/nginx/fastcgi_params;
                    fastcgi_pass 127.0.0.1:9000;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
           }
    }
     

     

    برای اینکه بتونید فایل ها php رو اجرا کنید باید از واسطه ای(منتقل کننده) مثل php-fpm استفاده کنید.

     

     

    دسته بندی ها: