النون

بنیان نوآوری الکترونیک

Instagram

۲۲ مطلب با موضوع «مستندسازی توسعه خدمات رایانامه بومی النون» ثبت شده است

0

۲.۴ چالش‌های فنی (پیاده سازی، نگهداری و توسعه) و راهکارهای پیشنهادی رفع آنها

در سطح فنی می‌توان به این موارد اشاره کرد:

  • هماهنگی با میل سرور های دیگر و spam نشده: برای این منظور می توان استانداردهای RDNS، SPF، DKIM، Limiter را رعایت نمود تا توسط میل سرورهای دیگر به عنوان اسپم شناسایی نشویم. در پروتکل ایمیل برای تصدیق اصالت سرور ایمیل از مشخصه هایی مانند دامین و ip استفاده می شود rdns کمک می کند که بتوان یک ip را به دامنه برگرداند. این امر کمک می کند که وقتی ایمیلی را دریافت کردیم، بتوانیم اطمینان حاصل کنیم که از IP میل سرور امده است و spoof شده نمی باشد. برای جلوگیری از جعل IP علاوه بر IP، از کلید عمومی-خصوصی استفاده می شود که این امر با استفاده از رکورد های DKIM در DNS ها محقق می گردد.
  • پشتیبانی از کاربران زیاد: توزیع کاربران در چندین نود برای آن منظور که در هنگام ثبت نام کاربر، اطلاعات در پایگاه داده و نود های مختلفی ذخیره گردد. بگونه ای که بعد از تصدیق هویت یک کاربر می توانیم متوجه شویم داده های او در چه سروری قرار دارد. توزیع داده های کاربر به ما کمک می نماید که اطلاعات بیشتری را به صورت بهینه در سرور های مختلف نگهداری نماییم و بار کاری سرور را بر روی سیستم های مختلف توزیع کنیم.
  • آرشیو بندی ایمیل: ایمیل های قدیمی در سرور آرشیو قرار می گیرد تا از منابع سخت افزاری به طور بهینه استفاده گردد: معمولا کاربران به ندرت به ایمیل های بسیار قدیمی خود نیاز پیدا می کنند. با استفاده از این ویژگی می توان با ذخیره ایمیل های اخیر در حافظه های سریع تر سرعت و کارایی سیستم ایمیل را بهبود ببخشیم. این نوع ذخیره سازی بر اساس زمان می تواند به سرعت بیشتر دسترسی به داده ها کمک شایانی نماید.
  • امنیت و جلوگیری از حمله شدن به ایمیل و spamer ها (استفاده از  چهار سرویس spamassassin، cbpolicyd، amavis و clamav): از انجایی که در زمینه امنیت سیستم های مختلف، انتی SPAMMER مشکلات متفاوتی دارند، سعی شده است با استفاده از یک راهکار یکپارچه، بخش های مختلف امنیت ایمیل را ایجاد نمود. پیکربندی مناسب و پشتیبانی از ایمیل های بومی، نیازمند ایجاد تغییرات در این سامانه ها با توجه به وضعیت جاری ایمیل های دریافتی است. در این شیوه سعی می شود با استفاده از الگوریتم های یادگیری، بتوان سیستم جلوگیری از SPAM را بهبود بخشید.
  • پشتیبانی و امن ساز imap , pop3: استفاده از TLS برای این منظور گواهینامه معتبر از شرکت KNECTIKS تهیه شده است. استفاده از رمز نگاری باعث می شود که با شنود شبکه نتوان به ایمیل های مبادله شده توسط این پرتکل ها دسترسی پیدا نمود.
  • استفاده کاربران از مرورگرها و Device های مختلف (پیاده سازی رابط کاربری به صورت ریسپانسیو): یک مسئله مهم در طراحی رابط کاربری که باید به آن توجه نمود، استفاده کاربران از ابزارهای مختلف و سازگار با سرویس ارائه شده می باشد. در این مورد سعی می شود برای اندازه های مختلف دیوایس ها به شیوه ای طراحی شود که قابلیت نمایش رابط کاربری وجود داشته باشد.
  • تبادل ایمیل کاربران با میل سرور های مختلف: استفاده از پروتکل IMAP برای انتقال داده بین ایمیل های مختلف. همچنین می توان از پرتکل هایی مانند IMAPSYSNC استفاده کرد؛ این پرتکل امکان چک کردن حساب های مختلف کاربر را در یک ایمیل فراهم می اورد.
  • پشتیبانی از زبان های مختلف: پیاده سازی زبان های خارجی متداول مانند انگلیسی
  • سیستم پیگیری و ثبت مشکلات کاربران: استفاده از سیستم تیکتینگ بر مبنای ITIL
0

۱.۴ نحوه نصب و راه اندازی یک خدمت رایانامه متن باز نمونه مقیاس پذیر

در شکل زیر معماری کلی از سرویس ایمیل Zarafa آمده است. این سامانه برای هر ماژول خود مانند وب، دریافت ایمیل های pop3,imap مسائل امنیتی و spam به صورت مجزا قابل راه اندازی است. کل سیستم  قابل نصب بر روی مراکز داده توزیع شده در سطح کشور هستند:

 

در ادامه روش نصب و راه اندازی سرویس ایمیل zarafa که یک میل سرور متن باز است به همراه تنظیمات و اسکریپت های مورد نیاز در ادامه تشریح شده است.

1.1.4 وضعیت و معماری قرار گیری

این سرویس به صورت clustering در معماری قرار می گیرد و هر نود با حداکثر 5000 کاربر سرویس می دهد.

2.1.4 سخت افزار مورد نیاز (مقدار HDD,RAM, …)

Ram = 4GB

Hdd = 5GB /

Hdd = 5GB /var/log

Hdd = 5GB /var/lib/ldap

Hdd = 15GB /var/lib/zarafa

 

3.1.4 OS مورد نیاز و تغییرات لازم روی OS

CENTOS

4.1.4 سرویس های مورد نیاز به همراه version

Mysql,httpd,php,ldap

 

5.1.4 پورتهای مورد نیاز برای NAT شدن  روی فایروال

ندارد

6.1.4 پورتهای مورد نیاز برای دسترسی به این ماشین

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 84.241.6.197

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -s 84.241.6.197

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2003 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2003 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 236 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 236 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT -s IP BACKUP SERVER

 

7.1.4 کانفیگهای سرویس

1-Zarafa-server

vim /etc/zarafa/server.cfg

> user_plugin             = ldap

> user_safe_mode = no

> enable_hosted_zarafa = true

> hide_everyone = yes

> local_admin_users       = root

##############connect zarafa-server to mysqlserver)

> mysql_host              =       IPMYSQLSERVER

> mysql_port              =       3306

> mysql_user              =       USERMYSQLZCP

> mysql_password     =       PASSUERZCP

 

2-Zarafa-spooler

vim /etc/zarafa/spooler.cfg

> smtp_server     =       IPADDRESSPOSFIX

> allow_send_to_everyone = no

 

3-Zarafa-dagent

vim /etc/zarafa/dagent.cfg

> server_bind = 0.0.0.0

 

4-ldap.openldap

vim /etc/zarafa/ldap.openldap.cfg

> ldap_bind_user = uid=usernode,ou=user,dc=elenoon,dc=ir

> ldap_bind_passwd = PASSBIND

 

5-Zarafa-monitor

vim /etc/zarafa/monitor.cfg

> mailquota_resend_interval = 7

# Quota check interval (in minutes)

> quota_check_interval = 15

 

 

6-Zarafa-check

vim /home/check/checkzarafa.php

> $user_admin = "ADMINSMSENGIN";

> $admin_pass = "PASSADMINSMSENGIN ";

> $url = sprintf("http://sms-00001.c001.inelenoon.ir/SMSEngine-SOAP/%s?wsdl",$method);

> $ADMINUSERNAME = "amaradmin@MYDOMAIN";

> $ADMINPASSWORD = "PASSamaradmin ";

> $SERVER = "http://127.0.0.1:236/zarafa";

 

 

8.1.4 محل ذخیره‌سازی لاگها

1-ZARAFA

vim /var/log/zarafa/*

2-Zarafa-check

vim /home/check/logon_check.log

9.1.4 ارتباط با سرویس‌های دیگر

1-zarafa

MYSQL : برای ذخیره سازی داده ها

Ldap : ذخیره اطلاعات کاربرها

Smsengine : زدن sms

 

10.1.4 ایجاد ماشین با نیازمندی های آن

به مسیر زیر رفته تا در آن یک repo جدید برای نصب rpm های مورد نیاز بسازیم و repo های فعلی را غیرفعال کنیم و در یک فولدر جدید ذخیره کنیم

cd /etc/yum.repos.d/

mkdir bak

mv * bak

vim zcprpmbuild.repo

در این فایل مقادیر زیرا قرار دهید

###

[zcpnoe]

name= zcpnoe

baseurl=http://IP REPO SERVER/zcpnoe

enabled=1

gpgcheck=0

###

 

yum install  yum install zarafa* mysql* openldap* -y

yum install xindet rsync ntpdate  gperftool* xap*  php-soap mysql* openldap* 

 

 

11.1.4 تنظیم کردن اتصال به ldap

 فایل های  slapd.conf و ldap.conf  با محتوای درج شده در عنوان slapd و ldap واقع در پیوست را ایجاد کرده و در مسیر زیر کپی نمایید.

Cd /etc/openldap

برای دادن پسورد به ldapserver دستور زیر را اجرا کرده و پسورد ایجاد شده را ذخیره کرده

Slappasswd

 

پسورد ایجاد شده در دستور قبل را در فایل slapd.conf در قسمتی مانند زیر قرار دهید

rootpw                                 {SSHA}DohMqNm8pP+KMWqDKRMfqpYLbPkm/nl8

 

 

فایل zarafa.schema را با توجه به محتوای درج شده در عنوان zarafa.schema  واقع در پیوست ایجاد نموده و در مسیر زیر کپی نمایید.

/etc/openldap/schema/

 

برای ایجاد کردن درخت الدپ، فایل های ldaprestor.txt و backup.ldif را با توجه به محتوای درج شده در عنوان ldaprestor و backup واقع در پیوست ایجاد نموده و در /root  کپی کرده و دستور زیرا اجرا کرده و فقط در داخل فایل backup.ldif، به جای مقدار PASSADMIN   پسوردی که در بالا برای دستور Slappasswd قرار دهید و به  جای مقدار PASSBIND  پسورد مورد نظر برای ارتباط zcp به ldap   را قرار دهید و به جای مقدار PASSREPLI   پسورد مورد نظر برای ماشینی که می خواهد عمل replication را با ldapserver شما انجام دهد مقدار دهید.

فعال کردن log سرویس ldap

mkdir /var/log/slapd 

chmod 755 /var/log/slapd/

chown ldap:ldap /var/log/slapd/

sed -i "/local4.*/d" /etc/rsyslog.conf

cat >> /etc/rsyslog.conf << EOF

local4.*                        /var/log/slapd/slapd.log

EOF

 

service rsyslog restart

 

12.1.4 تنظیم zcp

تنظیمات زیر را در server.cfg اعمال نمایید

 

vim /etc/zarafa/server.cfg

user_plugin             = ldap

user_safe_mode = no

enable_hosted_zarafa = true

hide_everyone = yes

local_admin_users       = root

(Note:connect zarafa-server to mysqlserver)

mysql_host              =          IPMYSQLSERVER

mysql_port              =          3306

mysql_user              =          USERMYSQLZCP

mysql_password     =          PASSUERZCP

 

این تغییرات را نیز در dagent.cfg و spooler.cfg اعمال نمایید

 

vim /etc/zarafa/dagent.cfg

server_bind = 0.0.0.0

 

vim /etc/zarafa/spooler.cfg

smtp_server     =       IPADDRESSPOSFIX

allow_send_to_everyone = no

اتصال zcp  به ldap  در مسیر زیر انجام می شود

vim /etc/zarafa/ldap.openldap.cfg

ldap_bind_user = uid=zarafausernode,ou=zarafauser,dc=elenoon,dc=ir

ldap_bind_passwd = PASSBIND

در مسیر /etc/zarafa  در تمام فایل های *.cfg مقدار

run_as_user =

run_as_group =

خالی قرار داده و اگر مثلا مقدار zarafa بود پاک کرده و خالی بگذارید

 

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

mkdir /var/log/zarafa

for i in /etc/init.d/zarafa*; do $i restart; done

 

قرار دادن سرویس های zarafa در startup

chkconfig --levels 345 zarafa-dagent on

chkconfig --levels 345 zarafa-gateway on

chkconfig --levels 345 zarafa-monitor on

chkconfig --levels 345 zarafa-server on

chkconfig --levels 345 zarafa-search on

chkconfig --levels 345 zarafa-spooler on

chkconfig xinetd on

chkconfig slapd on

chkconfig --levels 235 httpd on

 

13.1.4 تنظیم اسکریپ های مورد نیاز

دستور crontab -e را زده و مقدار های زیر را در ان قرار داده و ذخیره کرده

*/5 * * * * /home/filterbackup/sync.sh  > /dev/null 2>&1

00 00 * * *  /home/filterbackup/logrename.sh >/dev/null 2>&1

0 */1 * * *  /home/filterbackup/backuphourldap.sh >/dev/null 2>&1

10 1 * * * /usr/sbin/ntpdate -s -b -p 8 -u 172.16.0.1 > /dev/null 2>&1

 

اسکریپت های logrename.sh، sync.sh، backuphourldap.sh و bachup.sh را از محتوای درج شده با همین عناوین واقع در پیوست ایجاد نموده و در مسیر /home/filterbackup کپی نمایید.

 

14.1.4 تنظیم فایروال ماشین

 این مقادیر را در مسیر زیر قرار داده

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 84.241.6.197

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 389 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -s 84.241.6.197

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 143 -j ACCEPT -192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2003 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 2003 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 236 -j ACCEPT -s 172.16.0.0/12

-A INPUT -m state --state NEW -m tcp -p tcp --dport 236 -j ACCEPT -s 192.168.0.0/16

-A INPUT -m state --state NEW -m tcp -p tcp --dport 873 -j ACCEPT -s IP BACKUP SERVER

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

در فایل /etc/bashrc مقدار زیر را

  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h  \W]\\$ "

به مقدار زیر تغییر دهید

  [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h:`hostname -I` \W]\\$ "

 

غیر فعال کردن selinux

vim /etc/sysconfig/selinux

SELINUX=disabled

0

۲.۳ پروژه‌ها و فعالیت‌های پیشنهادی برای ارتقای خدمات رایانامه بومی موجود

  • حمایت از تولید نیروهای انسانی فنی و غیرفنی قوی در حوزه فناوری اطلاعات، اعم بخش‌های کارگزار، شبکه، وب، همراه، واسط و تجربه کاربری، مدیریتی و غیره
  • تولید علم و دانش و فعالیت‌های پژوهشی و آزمایشی در زمینه ارائه خدمات مقیاس پذیر
  • خدمات رایانش ابری مقیاس پذیر
  • مراکز داده پایدار، ایمن و پاسخگو
  • حمایت در مدیریت نمانام (Brand)، بازاریابی و بازارسازی
  • برطرف شدن مشکلات مطرح شده در بخش 1.3
  • همچنین ارائه سرویس های زیر می تواند مزیت رقابتی ایجاد نماید و خدمات رایانامه ی بومی را ارتقاء ببخشد:
  1. ارائه خدمت جستجوی سفارشی پیشرفته در متون و پیوست های رایانامه ها با استفاده از تجربه و توان فعالان حوزه جستجوی بومی
  2. یکپارچگی با خدمت درایو مجازی به منظور بررسی دسترسی‌های ورود به سامانه ورود یکتا، ایجاد امکانات و قابلیت‌های فراوان مانند ارسال رایانامه در درایو با پیوست کردن مستندات موجود در آن، پیشنهاد پیوست‌های بزرگ در رایانامه به تبدیل آن به یک پیوند در درایو، مشاهده و یا ویرایش انواع پیوست‌های رایانامه و...
  3. یکپارچگی با خدمات پیام‌رسان و شبکه‌های اجتماعی، مانند ارسال و دریافت رایانامه در پیام‌رسان و...
  4. استفاده از انواع ابزارهای پردازش زبان فارسی قوی، اعم از خطایاب و... به منظور بهبود تجربه کاربری خدمت رایانامه
  5. ارائه خدمت انتقال ساده و امن پول با استفاده از رایانامه
  6. پیشنهاد ترجمه متون و پیوست‌های رایانامه از زبان‌های دیگر به فارسی و برعکس از طریق ترجمه ماشینی
  7. ارائه خدمت ویرایشگر املایی متن در رایانامه
  8. استفاده از گراف دانش فارسی برای دسته بندی خودکار رایانامه‌ها
  9. استفاده از ضدبدافزارهای بومی قوی برای بررسی پیوست‌های رایانامه‌ها
0

۱.۳ مشکلات توسعه و ارائه خدمات رایانامه بومی

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

 

1.1.3 مشکلات مقیاس پذیری

 1. طراحی سیستم مقیاس پذیر برای پاسخگویی به کاربران بالا

برای طراحی چنین سیستمی دو مدل معمولا پیاده سازی می شود. برخی بخش‌ها سعی می کنند به کمک سخت افزار مشکل تعداد کاربران بالا را رفع کنند ولی عملا بدلیل رشد غیر خطی سخت افزار های مورد نیاز و بالا بودن هزینه های سخت افزاری عملا امکان پذیر نیست علاوه بر آن معمولا عمر سخت افزار ها محدود است. و احتمال خرابی سخت افزار ها هست و مشکل single point of fail در این حالت بسیار بالا می رود.

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

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

 

Typical x86 - based server

Custom built x86 -  based server

PROCESSORS

8 2-GHz Xeon CPUs

176  2-GHz Xeon CPUs

22x

RAM

64 Gbytes of RAM

176 Gbytes of RAM

3x

DISK SPACE

8 Tbytes of disk space

7 Tbytes of disk space

-1 TB

PRICE

$758,000

$278,000

$480,000

 

از طرفی استفاده از نرم افزار برای حل مشکلات مقیاس پذیری مشکلات زیادی دارد در ادامه به این موارد می‌پردازیم.

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

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

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

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

2. استفاده از Database مقیاس پذیر برای نگهداری Metadata

یکی از بخش های نرم افزار که بایستی مقیاس بالا را پشتیبانی نماید پایگاه داده است. پایگاه داده در ایمیل برای نگهداری اطلاعات ایمیل ها مانند گیرنده فرستنده و header ایمیل استفاده می شود. همچنین برای قابلیت search نیاز است مواردی از پایگاه داده index شود در حال حاضر در کد ایمیل به join و استفاده از transaction های ASID نیاز داریم. با توجه به قوانین CAB داشتن پایگاه داده که هم بتواند پایداری و قابلیت اطمینان را بدست اورد غیر ممکن است. ولی در دنیا شرکت هایی وجود دارد که با استفاده از newsql توانسته اند به پایداری 99.99999% بدون از دست دادن مسئله پایداری برسند.

با توجه به جدید بودن این حوزه پایگاه داده متن باز تجاری در این مورد وجود ندارد و تجربه کمی در استفاده از پایگاه داده ها وجود دارد.

3. ایجاد مقیاس پذیری در دیتابیس به صورت پایدار

برای حل مسئله پایداری، پایگاه داده هایی مانند nuodb[1] و یا cockroachdb وجود دارند. ولی مشکلاتی از قبیل تجربه پایین استفاده از این پایگاه  و یا متن باز بودن وجود دارد لذا مشکل اساسی در پیاده سازی پایگاه داده های مربوط به ایمیل هست.

ضعف تجربه و دانش پیشین در کشور برای ارائه خدمات «امن»، «مقیاس پذیر» و «رضایت بخش» به مردم با توجه به نبودن زیر ساخت ها و شرکت های پشتیبانی کننده از این نوع پایگاه داده ها و نرم افزار ها است.

4. سیستم فایل مقیاس پذیر

سیستم فایل های مقیاس پذیر زیادی وجود داراد که برخی از انها در جدول زیر امده است:

 

Site

 

https://hadoop.apache.org

HDFS

http://www.coda.cs.cmu.edu/ljpaper/lj.html

coda

https://www.openafs.org

openafs

http://quantcast.github.io/qfs

QFS

http://www.xtreemfs.org/all_features.php

Xtreemfs

https://code.google.com/p/kosmosfs

Kosmosfs

http://www.gluster.org

gluster

http://ceph.com

ceph

http://ori.scs.stanford.edu

ori

http://www.moosefs.org

Moosefs

https://github.com/mogilefs

https://code.google.com/p/mogilefs

mogilefs

 

The Lustre

https://github.com/discoproject/disco/blob/master/doc/howto/ddfs.rst

http://discoproject.org

disco

http://www.gridgain.com/developer-central/in-memory-data-fabric/hadoop-accelerator/distributed-file-system

gridgain

https://github.com/chrislusf/seaweedfs

seaweedfs

http://9p.cat-v.org

9P(bellabs)

http://www.beegfs.com/content

Fhgfs

beegfs

https://tahoe-lafs.org/trac/tahoe-lafs

tahoe-lafs

http://blog.camlcity.org/blog/plasma4.html

PlasmaFS

https://weed-fs.googlecode.com

weed-fs

http://www.cse.nd.edu/~ccl/software/chirp

Chirp

http://tachyon-project.org

tachyon

http://slash2.psc.edu

slash2

 

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

کارهای کلی این پروژه به صورت زیر است.

1)     نصب و تستی برای owncloud بدون Replication برای owncloud

2)     تغییر کد های owncloud برای کارکردن با سیستم فایل مورد نظر

3)     راه میرور با دو نود

4)     تست سرعت و کارایی

5)     راه اندازی و بهبود سرعت با استفاده از reed selemon

6)      رفع باگ ها احتمالی در سیستم

7)     عملیاتی کردن بر روی النون برای owncloud

نصب

در این فاز QFS و HDFS بر روی سرور ها نصب می شود و برای اتصال owncloud به این سرور کد owncloud تغییرات جزئی پیدا می کند تا برخی از این مشکلات حل شود تا بتوان تست ها مربوط به کارایی و replication را گرفت.

تست وضعیت replication و وضعیت میرور

در این بخش سعی می شود با دو نود دیتا در دو دیتاسنتر میرور تست شود و وضعیت و خطاهای هر کدام برای سناریو های زیر مشخص گردد.

1) وضعیت replication و خطایی که در write ایجاد می کند:

بر اساس replication policy که تعریف یا انتخاب می شود ممکن است خطاهایی اتفاق بیفتد. برای ایجاد قابلیت تحمل خطا برای read/write باید از WqRq یا WaRa استفاده کرد. یک خطای رایج استفاده از WqRq همراه با 2 replica است که وقتی یکی دچار خطا می شود نمی تواند خطا را تحمل کنید و حداقل باید 3 replica موجود باشد.

خطای دیگر این است که اگر replication mode به صورت Read-Only تعریف شده باشد نمی توان هیچ تغییری از جمله Write ایجاد کرد و گرنه خطا ایجاد می شود.

2) وضعیت خطاهایی که در read انجام می شود:

در بعضی موارد وقتی policy را آپدیت کنیم و بخواهیم نحوه دسترسی را تغییر دهیم پس از آن با error مواجه می شویم.

3) تاخیر در read :

 

همان طور که در شکل که مربوط به یک آزمایش انجام شده است مشاهده می شود ، نمودار تاخیر در read بر حسب تعداد عملیات های IO هم زمان که در این جا همان عملیات reading است نشان داده شده است. هر رنگ مربوط به سیستم Xtreemfs با تعداد OSD(Object Storage Device) مخصوص به خود است. ضمن این که OSD ها سرورهایی هستند که فایل ها را به صورت Object نگهداری میکنند و بر خلاف برخی فایل سیستم های دیگر که دیتاها را به صورت block و sector نگهداری می کنند. در واقع وقتی به صورت توزیع شده Xtreem را نصب می کنیم یکی از 3 سروری که حتما باید ایجاد شود همان OSD است که مربوط به Storage می باشد (در کنار 2 سرور directory و metadata).

همان طور که دیده می شود هر چه تعداد OSD ها بیشتر باشد با افزایش عملیات IO افزایش تاخیر بسیار کمتر و بهینه است، طوری که برای تعداد 30 OSD بین 10 تا 40 عملیات اختلاف تاخیر در read تقریبا صفر است. ضمن این که برخی قسمت هایی که افزایش ناگهانی مشاهده می شود به دلیل بار موجود در شبکه (network load) است که نشان می دهد xtreemfs به این فاکتور وابسته است.

4) وضعیت سیستم در زمان قطع یکی از نود ها:

این سئوال برای هر دو عمل read و write در قسمت های بعد پاسخ داده شده است.

5) وضعیت سیستم در حالت برگشت یکی از نود ها

6) وضعیت سیستم در هنگام قطع یکی از نودها در read

برای این مورد یک فایل ویدیویی نسبتا کوچک را شروع به اجرا شدن (خواندن) خواهیم کرد و سپس یکی از OSD ها را stop می نماییم که بعد از چند ثانیه تاخیر و توقف ویدیو دوباره شروع به اجرا شدن می کند. برای این که در این حالت مشکلی پیش نیاید حداقل باید 3 OSD وجود داشته باشد.

در اینجا 4 مرحله اتفاق می افتد:

1- بعد از انتخاب شدن primary جدید، اطمینان پیدا می کند که ورژن چانک هایش به روز است.

2- سپس از بقیه سرورهای بک آپ درخواست می کند تا چانک هایشان را همراه با ورژن آن ها برایش ارسال کنند.

3- سپس primary چانک های دریافت شده را merge می کند. و اگر دید چانکی مورد نیاز است و موجود نیست آن را از بقیه backup ها دانلود می کند.

4- بعد از انجام این مراحل می تواند ادامه سرویس دهی را به عنوان primary به کلاینت انجام دهد.

7) وضعیت سیستم در هنگام قطع سیستم در هنگام write:

وقتی هنگام write یک node قطع می شود 5 مرحله طی می شود تا سیستم دچار مشکل نشود.

1- در مرحله اول کلاینت با گرفتن لیست storage server ها  به صورت random یکی را انتخاب می کند.

2- سپس storage server انتخاب شده برای آن فایل primary می شود و اطلاعات آخرین وضعیت آن فایل را از سایرین گرفته و ترکیب می کند.

3- حالا کلاینت می تواند عملیات های مورد نظر را روی فایل انجام دهد.

4- با انجام عملیات write، primary server بقیه را هم update می کند تا backup موجود باشد.

5- وقتی primary قطع شد کلاینت به یک سرور دیگر وصل شده و سرورها یکی از بین خودشان را به عنوان primary انتخاب می کنند و مرحله 2 تکرار می شود. در این وضعیت کاربرها اروری مشاهده نمی کنند و فقط با مقداری تاخیر در انجام عملیات رو به رو می شوند.

8) بررسی وضعیت سیستم در هنگام موارد مورد نیاز برای random access مانند download با دانلود منیجر ها:

در تنظیمات (Configuration) با کمک babudb.repl.chunkSize experimental, optional که یک عدد صحیح بزرگتر از صفر را به عنوان پارامتر می گیرد، فایل های دیتابیس را می توان به chunk هایی با این اندازه تقسیم کرد.

ضمن این که دستور دیگری وجود دارد که با کمک آن میتوان اندازه چانک ها را تغییر داد.xtfsutil --set-dsp –s 32 –w 1   باعث می شود اندازه چانک ها به 32kb تغییر کند.

برای بررسی جزئی تر این موارد می توان به لینک زیر مراجعه کرد و با جستجوی همین دستورات به قسمت مورد نظر رسید:

http://www.xtreemfs.org/xtfs-guide-1.2.pdf

 

تست سرعت و کارایی

هدف از این بخش بهبود فرایند میرور و کارایی این زیر ساخت برای تعدیل تاخیر بوجود امده در اثر استفاده از سیستم توزیع شده است. و همچنین بهبود overhead نگهداری داده به صورت backup و میرور است. در این بخش دو حالت الگوریتم معمولی و reed Solomon بررسی ها صورت می گیرد.

 

بررسی سرعت و کارایی برای حالت میرور 3 در سه مرکز داده

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

  • نام پگیج
  • قابلیت پیشتیبانی از geo
  • تاخیر در write داده در حالت عادی
  • تاخیر در write داده در حالتی fail بر خی از نود ها
  • تاخیر در read داده در حالت عادی
  • تاخیر در read داده در حالتی fail بر خی از نود ها
  • مشکلات احتمالی در write (در لحظه fail شدن نود ، در لحظه recovery)
  • مشکلات احتمالی در read (در لحظه fail شدن نود ، در لحظه recovery)
  • مقدار پهنای باند اضافه مصرف شده برای  read
  • مقدار پهنای باند اضافه مصرف شده برای write
  • مقدار فضای اضافه اشغال شده بر روی دیسک

 

 

توجه شود تمامی موارد بالا برای fail 3 در سه مرکز داده بررسی می شود.

این موارد برای سیستم فایل های زیر بررسی می گردد.

1)     بررسی و مقایسه QFS ، HDFS  (در دو حالت NFS و HFTP)

2)     سعی در نوشتن داده ها در حالت های reed Solomon ، geo replication مروبط به GlusterFS   

باتوجه به بررسی های صورت گرفته، Xtreemfs قابلیت Reed-Solomon ندارد (بر خلاف GlusterFS).

3)     از لحاظ سرعت و overhead

 

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

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

بررسی replication بقیه موارد مورد نیاز

در این بخش سعی می شود بقیه بخش های سیستم که به سیستم فایل مربوط به مانند name node و داده های پایگاه داده بررسی شود.

بین name node ها

هدف از این بخش راه اندازی مکانیسمی برای replication ، master—master بین name  نود است. تمامی مشکلات احتمالی در این بررسی بایستی در نظر گرفته شود؛ ابتدا به صورت master--- slave پیاده سازی صورت می گیرد سپس داده ها به صورت master – master انجام می شود.

 

5. کمبود خدمات رایانش ابری مقیاس پذیر

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

 

2.1.3 مشکلات پایداری سیستم

1. کمبود شدید نیروهای متخصص و باتجربه به منظور پیاده سازی سیستم پایدار 7×24

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

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

2. ایجاد سامانه مانیتورینگ پایدار به منظور کشف failover ها و راه اندازی مجدد سرورها

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

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

جدول۴: لاگ های موجود در سیستم و خلاصه از اطلاعات موجود در آن

تکنولوژی

اطلاعات مهم موجود در log

اهمیت

سادگی

نوع سرویس

ESX

وضعیت سخت افزار سرور شرایط محیطی و هارد

متوسط

ابزار استاندارد ولی دسترسی سخت

3-2

CentOS

تلاش برای ورود به سیستم، خطاها دسترسی و لاگ های مربوط به فایروال iptable

متوسط

ابزار استاندارد

3-2

Apache

لاگ های دسترسی کاربران به صفحات ، ip و تعداد مراجعات به صفحه

کم

ابزار استاندارد

3-1

spamassassin

اطلاعات ایمیل های ورودی که spam شده اند.

مهم

ابزار استاندارد

3-2

webapp

اطلاعات json و درخواست های کاربر

متوسط

تولید شده توسط تیم تحلیل سخت

3-3

ECP

نحوه اتصال کاربران خطاهای اتصال ، کنترل دسترسی کاربران تلاش ها برای ورود به ایمیل

مهم

تولید شده توسط تیم تحلیل سخت

3-2

Sms Engine

Smsهای ارسالی و دریافتی. Sms هایی که به کاربران رسیده است. وضعیت اتصال خط پیامک

مهم

تولید شده توسط تیم تحلیل سخت

3-2

Pfsense

اطلاعات ترافیک مصرفی، وضعیت لینک ها و بسته های drop شده. لاگ های مربوط به snort و WAF

متوسط

ابزار استاندارد

3-1

postfix

تعداد و حجم ایمیل های ارسالی و دریافتی و وضعیت رسیدن یا spam شدن انها

مهم

ابزار استاندارد

3-1

Clamav

تعداد فایل های ویروسی،

کم

ابزار استاندارد

3-2

درایو(owncload

فایل های به اشتراک گذاشته شده

کم

تولید شده توسط تیم تحلیل سخت

3-3

LDAP

اطلاعات تصدیق اصالت و وصل شدن کاربران به سرور ایمیل

مهم

ابزار استاندارد

3-1

mysql

اطلاعات اتصال به پایگاه داده و حجم رکورد های بازیابی شده.

کم

ابزار استاندارد

3-2

اسکریپت backup

وضعیت نسخه های پشتیبان سرور

مهم

تولید شده توسط تیم تحلیل سخت

3-3

اسکریپت های میرر

وضعیت داده های ارسالی به سرور های میرور و تبادل داده بین سرور اصلی و میرور

مهم

تولید شده توسط تیم تحلیل سخت

3-3

 

گزارش گیری

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

به عنوان مثال برای لاگ مربوط به spam کاربر بتواند گزارش زیر را در سامانه مشاهده نماید.

  • درصد ایمیل دریافتی spam شده از کل ایمیل های دریافتی در 3 ساعت اخیر
  • درصد ایمیل ارسال spam شده از کل ایمیل های ارسالی در 3 ساعت اخیر
  • ده نفر اول که در سه ساعت اخیر بیشترین spam را دریافت کردند
  • ده نفر اول که در سه ساعت اخیر بیشتری spam را ارسال کردند.
  • ده ip اول که بیشرین spam را در سه ساعت اخیر دریافت کردند.
  • ده ip اول که بیشتری spam را در سه ساعت اخیر ارسال کردند.

اطلاع رسانی

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

برای مثال اپراتور بایستی بتواند برای بحث spam موارد زیر را تعریف نماید:

اگر تعداد spam های ارسالی بیشتر از 90 در صد ایمیل ها در بازه 5 ساعته شد و حجم log مربوط به ایمیل های ارسالی بیشتر از 50%  هارد سیستم بود sms  ارسال شود.

برای راه اندازی این سیستم از موتور سامانه متن باز OSSIM[2] استفاده می شود و قابلیت های مورد نیاز به صورت پلاگین به ان متصل خواهد شد. همچنین می توان از ابزاهایی که در ادامه ذکر می شود بهره برد.

جدول ۵ـ لیست ابزاهای پیشنهادی

مانیتورینگ

مانیتور کردن بالا بودن سرویس ها

Nagios

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

Munin

بر روی pfsense نصب شده است. برای تحلیل پرتکل و نوع ترافیک مبادله شده بین سرویس ها و کاربران

Ntop

برای اطلاعات session

Tcptrack

برای تولید Netflow از ترافیک

FProbe

برای جمع اوری و انالیز اطلاعات Netflow ها

NFSen/NFDump

سیستم های تشخیص نفوذ

تشخیص mac حمله کننده

Arpwatch

برای تشخیص نفوذ به  سرویس ها

PADS

برای scan اسیب پذیری های سیستم و استفاده از ان در corolation

OpenVAS

سیستم تشخیص نفوذ

Suricata

سیستم تشخیص نفوذ می تواند برای cross correlation با openvas ترکیب شود

Snort

یک سیستم تشخیص نفوذ host base

OSSEC

شامل برخی ابزارهای بالا برای مانیتورینگ امنیت

OSSIM

 
 این پروژه  شامل سه چرخه  اصلی زیر است:

1-    نصب ابزاها با پلاگین های موجود در اینترنت برای OSSIM برای تعدادی از سرویس ها که امکان اتصال انها وجود دارد.

2-    تولید پلاگین ها برای ابزارهایی که log استاندارد تولید می کنند.

3-    تولید پلاگین های تحلیل log برای سیستم هایی که خاص سرویس ایمیل النون است.

 

3. کمبود مراکز داده پایدار، ایمن و پاسخگو

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

متاسفانه مراکز داده معمولا SLA که مناسب سرویس ایمیل باشد ارائه نمی دهند. بدیهی است SLA سرویس ما پایین تر از مراکز داده خواهد بود اگر بخواهیم از یک مرکز داده استفاده کنیم. مشکلاتی از قبیل دیده نشده از برخی رنج های IP ، قطعی سرویس مشکلات برق و سخت افزاری امری اجتناب ناپذیر در مراکز داده است. پشتیبانی و پاسخ گویی تیم مرکز داده، تاثیر مستقیم در کیفیت سرویس ایمیل دارد. در استفاده از ایمیل در بسیاری از مواقع مشکلات ناشی از ضعف پشتیبانی مراکز داده باعث از دسترس خارج شدن سرویس های ما شده است.

 

3.1.3 مشکلات پشتیبانی

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

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

2. کمبود نیروی انسانی متخصص جهت پشتیبانی و پاسخگویی به صورت 7*24

3. کاهش incident ها از طریق root cause کردن مشکلات

4. افزایش رضایت مشتریان و کاربران با توجه به متدولوژی مدیریت خدمات اخذ شده

 

4.1.3 مشکلات امنیت

1. امنیت و جلوگیری از حمله شدن به ایمیل و spamer ها

سرویس های ایمیل یکی از اهداف بات ها و حمله هکر ها است. بسیاری از شبکه های بات ها سعی می کنند با دسترسی به سرویس ایمیل اقدام به ارسال ایمیل با تعداد بالا نمایند. در سیستم ایمیل النون ما مواجه با حجم عظیمی که حملات به سرور های ایمیل گیتوی هستیم. این حملات در طی زمان به روز می شوند و سعی می کنند اسیب پذیری های جدیدی را در سیستم ها برای حملات پیدا کنند؛ لذا پویش مستمر امنیت و به روز رسانی سرویس های انتی spam و انتی ویروس و سیستم امنیتی یکی از مشکلات ایمیل است. بسیاری از اوقات این سیستم ها به دلیل سخت گیری هایی که انجام می دهند ممکن است باعث ایجاد false positive شوند و باعث نارضایتی کاربران گردند.

  • برخی از سرو های ایمیل توسط ویروس ها و bot ها الوده می شود و به عنوان سرور های ارسال spam استفاده می شود. این روش بسیار معمول است و متاسفانه بررسی mailq به کشف این حمله کمک نمی کند زیرا مورد غیر عادی مشاهده نمی شود. بررسی ترافیک شبکه می تواند به یافتن این حملات کمک نماید. برای مقابله با این نوع حمله موارد زیر پیشنهاد می شود:
  • استفاده از انتی ویروس قوی بر روی سرور ها
  • به روز رسانی امنیتی و نصب وصله های امنیتی بر روی سرور ها
  • بستن پورت 25 به بیرون برای سرور هایی که نیاز به این پرت ندارد.
  • رعایت اصل حداقل دسترسی در مورد شبکه و دسترسی کاربران.
  • نصب مجدد و پاک کردن کامل سیستم عامل هایی که الوده شده اند.
  • جدا کردن شبکه سیستم هایی که ریسک بالایی دارند.
  • حمله کننده کلمه عبور و نام کاربری یکی از کاربران سیستم را در می اورد و از ان ها برای ارسال spam استفاده می کند.(در مورد سیستم gateway که برای اتصال با استفاده از imap و smtp دارد، استفاده می کند):
  • استفاده از کلمات عبور قوی برای کاربران
  • در مورادی که کاربر sla پر نکرده یا اینکه کلمه عبور ضعیف است نتواند وارد سیستم شود.
  • نام کاربری های عمومی مانند info و admin کلمات عبور سخت داشته باشند و به کاربران واگذار نشوند.
  • کلمات عبور به صورت دوره های شش ماهه این تغییر نماید.
  • تعداد ایمیل های دریافتی و ارسالی کنترل شود و در صورت مشاهده رشد غیر عادی گزارش گردد.
  • تعداد ایمیل های ارسالی و دریافتی برای کاربران محدود شود.
  • سیستم های کاربران از جهت الودگی به ویروس و تروجان بررسی گردد.
  • در صورت بروز این مشکل بلافاصله نام کاربری که حمله کننده اطلاعات ان را سرقت کرده شناسایی و کلمه عبور تغییر نماید.
  • اشتباه در تنظیمات شبکه
  • در موارد بسیار فراموش کردن در مورد نحوه تنظیمات ممکن است باعث شود حمله کننده بتواند حملاتی را انجام دهد؛ برای حل این مشکل بایستی بعد از تغییر و یا انجام تغییرات شبکه این موارد بازبینی گردد.

2. پشتیبانی و امن سازی imap , pop3

یکی از سرویس های که معمولا هدف حملات قرار می گیرند imap و pop3 است. در این سرویس ها سعی می گردد با به روز رسانی این سرویس ها و فعال سازی رمزنگاری، بر این مشکلات غلبه شود؛ ولی از انجایی که برای دسترسی در این سیستم ها از درگاه های مختلف استفاده می شود و کنترل انها مشکل است (زیرا انعطاف و تغییر این پرتکل ها بسیار دشوار است و معمولا کلاینت هایی که از سیستم ها استفاده می کنند)، نمی توانند محدودیت های زیادی را بپذیرند.

3. جلوگیری از مشکلات مربوط به brutreforce نام کاربری و کلمه عبور

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

قوانین زیر در نگهداری و تغییر کلمات عبور در کل سیستم ایمیل بومی رعایت می شود:

1)     کلیه کلمات عبور پشتیبانی بایستی بیشتر از 12 حرف شامل حرف و کارکتر خاص باشد.

2)     بایستی به هیچ وجه کلمات عبور email بر روی اینترنت منتقل نشود.

3)     به صورت کلامی با صدای بلند گفته نشود.

4)     برای هر کاربر یک user مجزا و با حداقل دسترسی در نظر گرفته می شود.

5)     کاربر root تغییر نام داده می شود و nologin می شود و کلمه عبور تنها در اختیار admin ها است.

6)      برای نرم افزارها نیز در صورت نیاز کلمه عبور تعریف می شود.

7)     کلمه عبور ادمین های سرور هر ماه تغییر می کند.

8)     کلمه عبور root در سه ماه یک بار تغییر می کند.

9)     کلمه عبور مربوط به نرم افزارها (شامل کلمه عبور پایگاه داده) هر شش ماه یک بار تغییر می نماید.

ولی این اقدامات کافی نبوده و معمولا حمله کننده ها با استفاده از ضعف انتخاب نام کاربری برای کاربران و استفاده از imap برای brute force استفاده می کنند. استفاده از تعداد زیادی از کاربران از یک vpn مشکلاتی از قبیل false positive به وجود می اورد و سختی این سیاست ها یکی از مشکلات کنترل کلمات عبور است. به نظر می رسد استفاده از OTP و کلمات عبور دوعامله می تواند تا حد زیادی این مشکلات را بهبود ببخشد.

4. جلوگیری از حملات در سطح شبکه و سیستم عامل

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

سیاست محیط تست و توسعه

قوانین و سیاست های زیر در مورد ماشین های تست و محیط تست وجود دارد.

1)     تا جای ممکن محیط تست بر روی سرورهای داخلی ایجاد می شود و در صورت کمبود منابع و ممکن نبود تست کارا، این امر بر روی سرور های عملیاتی انجام می شود.

2)     ماشین های تست در vlan و شبکه جدا بر روی ESx و pfsense قرار می گیرند و به صورت شبکه ای تا جای ممکن دسترسی از سایر سرور ها قطع می شود.

3)     پهنای باند اینترنت اختصاص داده شده برای ماشین تست به صورت shape  شده محدود می شود.

4)     تنها دسترسی از طریق تونل به ماشین های تست امکان پذیر است و تا جای ممکن دسترسی های شبکه ای محدود می شود.

وضعیت شبکه سرور های عملیاتی

قوانین زیر در مورد سرور عملیاتی رعایت می گردد.

1)     سرور ها به تدریج در چهار شبکه مجزا قرار می گیرند (سرور های داده (ldap و mysql) سرور های وب، سرور های infra (zcp ،spam)، ایمیل gateway (postfix،gateway،()

2)     سرور های وب در پشت waf قرار می گیرد. مخصوصا سرور های مربوط به wordpress

3)     سرور ها به صورت هفتگی به روز رسانی می گردد (patch های امنیتی بر روی انها نصب می گردد).

4)     ماژول مربوط به IDP فعال می گردد.

سیاست بررسی log ها و SOC

چک کردن دوره ای log های مربوطه و history مربوط به دستورات توسط SOC

 5. جلوگیری از حملات در سطح نرم افزار و سرویس‌های اختصاصی

برای تست نرم افزار به صورت دوره ای هر یک سال یکبار سیستم ها مطابق استاندارد های بین المللی تست می شود. برای تست نرم افزارها از استاندارد owasp، SANS و infosec استفاده می شود و برای تست شبکه از استاندارد OSSTM استفاده می گردد. هدف از تست های امنیتی یافتن و گزارش اسیب پذیری ها در تعامل با توسعه دهندگان سیستم است.

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

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

در مواردی که نیاز به توضیحات بیشتر در مورد سیستم است بایستی با برگزاری جلسات با توسعه دهنده موارد تست توضیح داده شود. توسعه دهنده با کمک مجری تست مسئول رفع اسیب پذیری ها است.

ورودی های تست

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

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

خروجی تست

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

فرمت گزارش مفصل

گزارش مفصل مطابق ورژن چهارم استاندارد OWASP ارائه می شود و شامل موارد زیر است.

1. خلاصه مدیریتی: شامل خلاصه موارد تست شده و وضعیت هر مورد و تاثیری که اسیب پذیری ها می تواند بر روی سیستم داشته باشد.

2. پارامتر های تست: در این بخش موارد که در تست موثر بودند بیان می شود و شامل موارد زیر است:

2.1 هدف پروژه

2.2: دامنه پروژه: محدوده پروژه که در قرارداد امده است.

2.3: زمان بندی پروژه: زمان شروع و پایان پروژه.

2.4: اهداف: سیستم هایی که هدف تست بودند.

2.5: محدودیت ها: در این بخش محدودیت های دسترسی و امکانات تست بیان می شود.

2.6: جدول اسیب پذیری ها: شامل جدولی از خلاصه اسیب پذیری که در سیستم یافت شده است.

2.7: توصیه ها برای رفع: در این بخش توصیه هایی برای رفع اسیب پذیری های سیستم بیان می شود این توصیه های به صورت خلاصه است.

2.8: لیست ابزارهایی که در طی تست از انها استفاده شده است به همراه نسخه.

3. یافته ها: در این بخش TESTLOG ها و تست های انجام شده چه موفق و ناموفق به همراه عکس و ارجاع به فیلم ها بیان می شود. کلیه TEST CASE های استاندارد OWASP بایستی توسط سناریوهای این بخش پوشش داده شود و مشخص شود سناریو برای اجرای کدام TEST CASE بوده است. در اخر هر سناریو بایستی راه حل هایی جهت رفع انها با جزئیات کامل بیان شود. هدف هر سناریو بایستی در ابتدا بیان شود و در انتها مشخص شود که تا چه حدی این هدف محقق شده است.

در ادامه برخی از این TEST CASE ها امده است.

 

فرمت گزارش موقت

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

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

بخش های مورد تست

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

ماژول النون

زمان تخمینی

هزینه

وب APP

 

 

CAS

 

 

ORGMAIL.IR

 

 

SUPPORT

 

 

پنل پیامک

 

 

انجین پیامک

 

 

ZCP

 

 

ذکرانه

 

 

APP بازی

 

 

بلاگ

 

 

پلاگین اخبار

 

 

پلاگین قرانی

 

 

مسابقه

 

 

وب سرویس ایمیل

 

 

GATEWAY(IMAP،POP3)

 

 

NETWORK (معماری و اسیب پذیری)

 

 

WEBAPP سازمانی

 

 

درایو

 

 

Elenote بلاگ النون

 

 

App email

 

 

بازمون

 

 

 

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

آسیب پذیری

ماژول درگیر

علت

راه حل

بدون کلمه عبور بودن zcp از ماشین webapp

ZCP

راه اندازی sso با کمترین تغییرات در zcp

اعمال استفاده از ticket در کد zcp

اسیب پذیری xss در وب app

webapp

مشکل html encode نکردن در برخی قسمت ها

تغییر در کد Webapp و به روز رسانی jquery

مشکل misconfiguration در apache

appache

تنظیمات مربوط به apache

هاردنینگ apache ها

یکسان بودن کلمات عبور

شبکه

عدم انجام صحیح تنظیمت

مطابق سیاست های کلمه عبور انجام شود

Sql injection در ارتباط با پایگاه داده

Webapp

کدهایی که ما اضافه کردیم در ارتباط با پایگاه داده sqlinjection رعایت نشده است

استفاده از کوئری های پارامتری با استفاده از PDO در php

آسیب پذیری dos در سرویس های وب

تمامی سرویس های وب

بایستی از captcha در ورود استفاده شود

استفاده از WAF و captcha در سیستم

ارسال تعداد نامحدود ایمیل و از کار انداختن سرویس ایمیل

MTA

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

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

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

درایو

وجود باگ در درایو

رفع باگ درایو

مشکلات امنیتی در wordpress ها

تمامی سایت های wordpress

ضعف های امنیتی wordpress

به روز رسانی مداوم wordpress ها و استفاده از WAF در حالت بلاک در ان ها

مشکل وجود DSD که در اپاچی بسته شده و در صورت دیده شدن امکان دریافت فایل های همه کاربران وجود دارد

درایو

کار کردن پلاگین وب app بدون داشتن کلمه عبور در استفاده از cas ، imap بدون کلمه عبور استفاده شده است

اصلاح پلاگین و استفاده صحیح از پلاگین درایو در وب اپ

مشکل عدم وجود تصدیق اصالت در سرویس های سمت سرور ذکرانه

ذکرانه

عدم پیاده سازی تصدیق اصالت برای هر سرویس

استفاده از تصدیق اصالت برای هر سرویس

نگهداری کلمات عبور به صورت متن باز در کانفیگ ها

تنظیمات اکثر ماژول ها

عدم تمرکز در کانفیگ ها

رمزنگاری و خواندن کلمات عبور از یک مرجع

تغییر کلمه عبور بر روی cas تاثیر نمی گذارد و از کار نمی افتد

cas

 

وجود باگ در cas

 

رفع باگ cas

 

6. جلوگیری از شنود ترافیک های مبادله شده

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

 

5.1.3 چالش‌های کسب و کاری

  • سلب اعتماد، علاقه و توجه مردم به خدمات دولتی و حاکمیتی
  • بروکراسی شدید، کند و پیچیده برای حمایت دولت از خدمات بومی و عدم اتخاذ سیاست‌ها و روش‌های چابک‌تر، درست‌تر و با احتمال موفقیت بالاتر
  • ضعف دانشی و تجربی عمده نیروهای انسانی در کشور برای حل مسائل پیچیده و زمان‌بر موجود در فرآیند حساس خدمت‌دهی رایانامه
  • کمبود شدید و هزینه بالای نیروهای انسانی متخصص و با تجربه در زمینه‌های فنی (برنامه نویسی، شبکه، سخت افزار، معماری، پایگاه داده، امنیت و...)، مدیریتی (سطوح کلان و میانی) و بازاریابی (سطوح راهبردی و اجرایی)
  • مشکلات یافتن نیروهای مدیریتی در سطوح کلان و میانی و نیز طراحان و مجریان راهبردهای بازاریابی مجرب و قوی
  • هزینه‌های انبوه بخش‌های نرم‌افزاری، سخت افزاری، مرکز داده، مدیریتی، بازاریابی و پشتیبانی که به صورت جاری وجود دارند و به سرعت افزایش می‌یابند
  • چالش پیدا کردن بهترین مرکز داده در کشور که پایداری، امنیت و پشتیبانی خوب و مناسبی در حد خدمت رایانامه داشته باشد (برای این منظور، باید بسیاری از کارهای زیرساختی شبکه را خودتان متحمل شوید تا درگیر مسائل مراکز داده داخلی نشوید؛ مثلاً برای جلوگیری از هرزنامه شدن و از بین رفتن اعتبار IPهای خدمت، باید شماره AS خود را از ابتدا تهیه کرد و...)
  • لزوم صرف هزینه و زمان زیاد برای تحقیق و توسعه خدمات شبکه محتوارسان (CDN)، خدمات ابری و... (به دلیل اینکه به شکل مطلوبی در کشور وجود ندارد)
  • باید ویژگی‌هایی در محصول وجود داشته باشد که اولاً حداقل‌های مورد نیاز و انتظار عامه کاربران را در مقایسه با خدمات رقیب داشته باشد (توسعه فناوری در حد نصاب قابل عرضه به مخاطبان)، و ثانیاً ویژگی‌ها و امکانات نوآورانه خاصی داشته باشد که کاربران را تشویق به استفاده از این خدمت کند و به خاطر این خدمات ارزش افزوده، کاربران جدید را جذب کرده و کاربران قدیمی‌تر را متمایل به تحمل سختی مهاجرت به خدمت موجود کرد.
  • وجود انتظارات و اولویت‌های متفاوت میان به دو دسته مشتریان سازمانی و عمومی محصول رایانامه:
  • سازمان­ها و شرکت­های داخلی: سهولت استفاده از رایانامه، امنیت سرویس، صیانت از اطلاعات کسب و کاری، پشتیبانی خوب و با کیفیت مطلوب
  • کاربران (عموم مردم): سهولت استفاده از رایانامه، قابل اعتماد بودن رایانامه در خصوص صیانت از اطلاعات شخصی افراد، قدرت و دقت بیشتر در ارائه خدمات مرتبط با زبان فارسی، قدرت و دقت بیشتر در ارائه خدمات مرتبط با اطلاعات کشوری و محلی، ارایه امکانات متنوع در خدمت و جذابیت هرچه بیشتر آن، پشتیبانی خوب و با کیفیت مطلوب
  • چنین تفاوت‌هایی، باعث می‌شود که بعضاً در نوع معماری فنی و طراحی و پیاده سازی امکانات و ویژگی‌های مورد نظر و اولویت‌دهی به هرکدام، تضادها و پیچیدگی‌هایی به وجود بیاید که ناچار باید مسیرهای متفاوتی را با توجه به شرایط موجود انتخاب کرد و میان کاربران عمومی و خوسته‌های آنها و کاربران سازمانی و شرکتی و دغدغه‌های ایشان، نهایتاً به یک سمت جهت‌گیری کرد.
  • راه‌کارهای توسعه بازار، بازاریابی و درآمدزایی برای این دو دسته نیز نیاز به فعالیت‌ها، اقدامات و تلاش‌های گوناگونی دارد که شرکت را در مسیرهای جداگانه‌ای به حرکت وادار می‌کند؛ بنابراین، نیاز به دو یا چند برابر کردن نیروی انسانی، هزینه و غیره در این راه‌هاست (مثلاً مسأله شایع جا نیافتادن خدمت‌گیری به صورت ابری از خدمات دهنده است که به‌ویژه در سازمان‌های دولتی، سنتی و بزرگ به شکل گسترده‌ای دیده می‌شود).
  • لزوم صرف وقت و هزینه فراوانی باید برای تغییر عقاید غلط به جای مانده از چارچوب‌های گذشته (گرچه متأسفانه در بسیاری از موارد این محافظه‌کاری نهادینه شده به راحتی زدوده نمی‌شود که هزینه‌ها و دردسرهای فراوانی در ارائه و پشتیبانی خدمت را به دنبال می‌آورد)
  • ضرورت باز بودن بستر و تعامل داشتن با همه دیگر خدمات دهندگان کوچک و بزرگ (علاوه بر ادامه توسعه مداوم فناورانه و افزودن ویژگی‌ها و قابلیت‌های جدید)، چراکه بار ارائه خدمات جانبی و ارزش افزوده متنوع را از روی فراهم کننده بستر بر می‌دارد و می‌تواند پاسخگوی انواع نیازهای جدید کاربران گوناگون باشد.
  • هیچ‌گاه نباید خطر ورود فناوری‌های دگرگون‌کننده جدید را فراموش کرد و این رقبا را دست کم گرفت (برای نمونه، اکنون پیام‌رسان‌ها نحوه تولید، توزیع و مصرف اطلاعات را به‌ویژه برای کاربران عمومی متحول کرده‌اند و دیگر رایانامه آن جایگاه سابق را برای دریافت و ارسال اطلاعات ندارد).
  • باید همواره خود را با شرایط و فناوری‌های روز تطبیق داده و به‌موقع به تحقیق و توسعه و روزآمد کردن خدمات پرداخت، تا از این گردونه رقابت شدید و روزافزون خارجی و داخلی، به ناگاه بیرون انداخته نشویم.

همچنین در بخش ۴.۴ با عنوان «ملاحظات کسب و کاری لازم برای پیاده سازی یک خدمت رایانامه عمومی (با کاربران بالا)» به طور مفصل‌تری به این مسائل و نکات دیگری (به‌ویژه برای شرکت‌های نوپا) پرداخته شده است.



0

۳.۲ معرفی ساختار و ویژگی‌های خدمات رایانامه النون

پروژه از سه تیم مجزا تحت نظر یک مدیر پروژه تشکیل شده است. این ساختار در شکل زیر مشخص شده است.

توضیح در مورد هریک از اجزا و شرح وظایفشان به صورت مختصر:

تیم توسعه: مسئولیت توسعه  فیچرهای سامانه به عهده این تیم می­باشد.

تیم بازرگانی: مسئولیت تعمق در رابطه با مدل کسب و کار و ارتباط بین سامانه ایمیل و دیگر اجزای طرح جویشگر؛ و همچنین تهیه گزارشهای مربوطه.

تیم شبکه و امنیت: مسئولیت برقراری و نگهداری زیرساخت مورد نیاز و تأمین امنیت سامانه

 

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

در بالاترین سطح چارت سازمانی شرکت چکاد نوآوران عصر اطلاعات، مدیر عامل قرار دارد و دفتر مدیریت پروژه (PMO Director) در سطح دوم قرار گرفته است که با تصمیم گیری و هدایت پورتفولیو و پروژه های شرکت، وظایف مدیرعامل را متمرکز بر روی اهداف استراتژیک شرکت نموده است. دفتر مدیریت پروژه با بهره گیری از جدید ترین متدولوژی های مدیریت پروژه و توسعه ی نرم افزار و بهبود مستمر در فرآیندهای پروژه، به هدایت مدیران پروژه می پردازد و تصمیمات راهبردی لازم را در خصوص طرح ها و پورتفولیوی سازمان اتخاذ می نماید.

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

  • کارگروه کلاینت
  • کارگروه سرور
  • کارگروه امنیت
  • کارگروه پشتیبانی و شبکه

با شکل‌گیری کارگروه‌های فوق، تصمیمات فنی با تمرکز بر تخصص افراد اتخاذ می‌گردد و از اتلاف وقت و دوباره‌کاری‌ها در تیم پروژه جلوگیری می‌شود. وظیفه اصلی کارگروه های فوق، شکستن اپیک‌های پروژه به آیتم‌های کاری (Tech story) و اتخاذ تصمیمات فنی در جهت پیاده سازی صحیح آیتم‌های مشخص شده طبق توافق صورت گرفته (Definition of Done) است.

 

1.3.2 معماری، نوع ماشین ها و پیکر بندی ماشین‌های مجازی

در شکل زیر شمای کلی از یک نرم افزار ایمیل امده است. این سامانه برای هر ماژول خود مانند وب، دریافت ایمیل های pop3,imap مسائل امنیتی و spam به صورت مجزا قابل راه اندازی است. کل سیستم  قابل نصب بر روی مراکز داده توزیع شده در سطح کشور هستند.

شکل ۱ـ معماری سیستم

 

2.3.2 منابع سخت افزاری مورد نیاز

خلاصه معماری سخت افزار در جدول زیر نشان داده شده است:

شکل ۲ـ سخت افزار مورد نیاز

 نکات:

- تعداد ماشین ها و معماری بر اساس 2.000.000 کاربر طراحی شده است.

- میانگین فضای اختصاصی به هر کاربر تقریبا 200MB است.

- سخت افزار مورد نیاز برای میرور و بک آپ در نظر گرفته نشده است.

 

زمان‌بندی سخت افزار لازم

جدول ۳ـ زمان‌بندی سخت افزار لازم

شروع

ماه 1

ماه 2

ماه 3

ماه 4

ماه 5

50 درصد سخت افزار مورد نیاز

60 درصد

70 درصد

80 درصد

90 درصد

100 درصد

 

3.3.2 تعداد آدرس‌های IP valid تنظیمات خاص برروی  DNS ها

در حال حاضر از سرویس PGP anycast  برای DNS استفاده شده است. این سیستم نیازمند 255 آیپی بر روی کشور های مختلف است . زیرا نداشتن ارتباط مطمئن با تمامی سرور های ایمیل دنیا برای spam نشدن و رسیدن ایمیل ها ضروری است.

در این سیستم برای جلوگیری از spam شدن ایمیل ها SPF ،  DKIM و rdns در DNS  سرور تعریف شده است.

 

4.3.2 میزان پهنای باند مورد نیاز (به تفکیک in/out) برای هر ماه

ترافیک مورد نیاز ماهانه:

برای یک میلیون کاربر که به طور متوسط، 10MB  ایمیل در ماه دریافت کنند، ترافیک ورودی مورد نیاز به صورت زیر است:

In : حجم ایمیل های دریافتی در ماه + سربار 50% ارتباطی

1000000*10MB = 10 TB

10 TB + 5 TB = 15 TB

ترافیک out معادل چک کردن ایمیل ها : برای مراجعه 30 بار در ماه و هر بار استفاده از 10MB  و سربار ارتباطی 0.5

10MB*30 * 1000000 = 300 TB

300 TB + 0.5*300TB = 450TB

بنابر این ترافیک in برابر 300TB و ترافیک out برابر 450 ترابایت براورد می گردد.

 

5.3.2 پهنای باند لحظه ای مورد نیاز

حدود 1Gb/s براورد می‌شود.

 

6.3.2 ویژگی‌ها و امکانات

Mailbox storage

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

فضای صندوق ایمیل در این سامانه بصورت پیش فرض 2GB می‌باشد، این مقدار در سامانه الدپ ذخیره شده است، و براحتی قابل تغییر می‌باشد، هر کاربر می‌تواند به دو صورت از فضای صندوق ورودی خود مطلع گردد:

  1. با استفاده از UI ایمیل
  • در این بخش کاربر با مراجعه به بخش تنظیمات <- عمومی <- فضای ایمیل از میزان حجم صندوق ورودی خود، و میزان مصرف خود مطلع گردد.

 

شکل ۳ـ فضای ذخیره سازی ایمیل

  1. با استفاده از سرویس account
  • برای استفاده از این سرویس به آدرس https://account.elenoon.ir/index.php رفته و در بخش خرید می‌توانید میزان حجم مصرفی خود را مشاهده نمایید.

فضای ایمیل هر کاربر شامل دو قسمت می‌باشد، بخشی که در پایگاه داده (mysql) ذخیره می‌گردد. و بخشی که بصورت فایل سیستم ذخیره می‌گردد. قسمتی که بصورت فایل سیستم ذخیره می‌گردد، در انجین سامانه ایمیل می‌باشد، که بصورت MIME ذخیره شده است و شامل header، متن و پیوست ایمیل می‌باشد.

 

-        نحوه پیاده سازی

برای ذخیره پیام ها ما از MAPI STORE استفاده می کنیم هر store دارای حجم و یک شناسه GUID است که به کاربر اختصاص می یابد. هر store مربوط به mapi می تواند object های مختلف از جمله ویژگی های ایمیل ، پوشه ها، کار ها ، contact و هر آنچه کاربر ذخیره می کند را در خود نگهداری می کند. این object ها در پایگاه داده mysql در یک ساختار hierarchy model ذخیره می شود ایمیل ها به صورت فشرده شده در سیستم فایل نیز تحت فرمت فایل ذخیره می گردد و metadata های مربوط به ایمیل در پایگاه داده ذخیره می گردد. در لایه ui نیز با استفاده از php mapi می توانیم به این فضا های ذخیره شده دسترسی پیدا نمایند.

 

-        ماژول های استفاده شده و دلیل استفاده

برای پیاده سازی این سرویس از   پرتکل میانجی برنامه ریزی برنامة کاربردی ارسال پیام (MAPI)یک معماری ارسال پیام است و یک مدل عینی سازنده مبتنی بر API برای ویندوز میکروسافت می باشد . MAPI به نرم‌افزارهایی که از آن استفاده می‌کنند امکان می‌دهد تا پیام‌محور (ایمیل) یعنی آگاه به پیام‌ها و یا قادر به ارسال پیام باشند. این کار از طریق فراخوان روال‌های زیرسیستم‌های سرورهای خاصی صورت می‌گیرد. با وجود اینکه MAPI طوری طراحی شده است که مستقل از پروتکل‌ها عمل کند، معمولاً به همراه MAPI/RPC استفاده می‌شود. این پروتکل در نرم‌افزار Microsoft Outlook برای ارتباط با Microsoft Exchange استفاده می‌شود.

 

Simple MAPI یک مجموعه متشکل از 12 تابع است که برنامه‌نویسان را قادر می‌سازد تا توانایی اولیه ارسال پیام را به نرم‌افزارها اضافه کنند. MAPI توسعه یافته، امکان کنترل کامل سیستم ارسال پیام را در کامپیوتر مشتری ( ارباب رجوع )، ایجاد و مدیریت پیام ها، مدیریت جعبه ایمیل مشتری، تأمین کنندگان سرویس، و غیره را فراهم می کند. MAPI ساده با ویندوز میکروسافت بعنوان بخشی از Outlook Express/windows Mail، تحویل می‌شود، در حالیکه MAPI کاملاً توسعه یافته همران با محصولات Office Outlook و Exchange تحویل می‌شود. علاوه بر MAPI توسعه یافته، میانجی ارباب رجوع، برنامه ریزی پیام ها می تواند بصورت غیرمستقیم از طریق میانجی ارباب رجوع Simple MAPI API، از طریق میانجی ارباب رجوع API رایج ارسال پیام ها (Common Messaging Calls) یا (CMC)، یا بواسطه میانجی کتابخانة CDO مبتنی بر هدف تهیه گردد . این سه روش برای استفاده و طرح ریزی به منظور ارسال پیام کمتر پیچیده، آسان تر و مناسب تر می باشند . (Simple MAPI و CMC از Exchange 2003 حذف شدند ) . MAPI در اصل توسط شرکت میکروسافت طراحی شد . این کمپانی تیم Ms Mail خود را در سال 1987 بنا نهاد، اما آن وجود نداشت تا اینکه نرم‌افزار کاربران یا Consumers Software را در سال 1991 برای دستیابی به Network Courier که تولید پیام بود، کسب کرد. آن مورد بازنگری قرار گرفت، و بعنوان MSPC Mail (یا میکروسافت میل برای شبکه PC ) فروخته شد. API مبنا برای MS PC Mail بصورت ورژن 0 از MAPI ( یا MIPL 0) شناخته شد. MAPI کارکردهایی تقریباً مبتنی بر استاندارد X.400 XAPIA را بکار می برد. MAPI شامل امکاناتی برای دسترسی به امکانات انتقال پیام، حافظه های پیام، و راهنماها می باشد.

استفاده از mapi باعث می شود که ساختار معماری میتنی بر سرویس رعایت شود و باعث شود با بسیاری از سرویس های دیگر ایمیل بدلیل استفاده از روش استاندارد یکپارچه شود. از انجایی که ماهیت اشیا مربوط به ایمیل به صورت درختی است از معماری hierarchy model برای ذخیره سازی استفاده شد. این امر امکان جستجو و پیدا کردن اشیا در پایگاه داده را بسیار سریعتر ممکن می کند.

 

-        نسخه استاندارد پیاده سازی شده

  • استفاده از MAPI
  • استفاده از hierarchy model در پایگاه داده

 

-        قابلیت ها

  • سرعت بالا خواندن داده و قابلیت نگهداری داده های بسیاز بزرگ در این معماری برای 200000  کاربر برای هر نود
  • قابلیت توزیع کاربران بر روی نود های مختلف برای scalable بودن معماری و افزایش خطی منابع با افزایش کاربران
  • معماری سرویس گرا و قابلیت یکپارچه شدن با دیگر سرویس ها

 

-        امنیت

  • در معماری های سرویس گرا سرویسی جهت کنترل دسترسی وجود دارد که قابلیت خواندن دسترسی ها را از ldap و یا active دارا می باشد.
  • تمامی ارتباطات mapi توسط سوکت های tls رمزنگاری می شود.
  • پایگاه داده harden شده و با کاربری با حداقل مجوز دسترسی به پایگاه داده ممکن است.

 

-        پرتکل رمزنگاری

  • استفاده از سوکت های tls

 

Maximum attachment limit

این میزان در اکثر ایمیلها موجود در حدود 25MB می باشد، این موضوع در ایمیلها از درجه اهمیت متوسطی برخوردار است.

این قابلیت در حال حاضردر سیستم وجود داشته و مقدار آن در حال حاضر 25MB می باشد.

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

شکل ۴ـ محدودیت حداکثر حجم پیوست

جهت تغییر این مقدار به مقدار دلخواه فقط کافیست در فایل .htaccess مقدار upload_max_filesize را تغییر دهید. همچنین در فایل php.ini می توان تعداد مجاز فایلهایی که امکان بارگذاری بعنوان پیوست دارند، را مشخص نمود.

 

-        نحوه پیاده سازی

کنترل حجم مربوط به هر ایمیل در چندین لایه انجام می شود.

  • در لایه ui در تنظیمات php حجم قابل ارسال به سرور محدود شده است.
  • در اخرین لایه یعنی در Email gateway نیز تنظیمات جهت کنترل حجم انجام شده که بر روی کلیه ایمیل های دریافتی و ارسالی اعمال می گردد.
  • در mapi فایل های attachment به صورت فشرده شده با zip7 در نود های مختلف توزیع شده ذخیره می شود.سرویس در mapi برای جدا سازی فایل ها attach از mime ایمیل نوشته شده است. که امکان نمایش انها را بوجود می اورد.
  • در ارسال attachment ها نیز با zip7 تمامی ارتباطات فشرده می شود ولی در مورد محدودیت حجم فایل بدون فشرده سازی در نظر گرفته می شود
  • در زمانی که attachment    به سرور انجین ایمیل ارسال می شود ابتدا hash ان بررسی می شود. ولی این امر برای duble check  نیست تنها بررسی می شود که محتوی فایل با ان چیزی که کاربر ارسال کرده مطابقت دارد یا خیر، استفاده می گردد.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از کنترل حجم کاربر در لایه ui برای دادن پیغام مناسب به کاربر

استفاده از کنترل حجم در لایه gateway ایمیل  در تنظیمات postfix برای حجم 25 MG برای ایمیلهای دریافتی و ارسالی

 

-        نسخه استاندارد پیاده سازی شده

استفاده از 25MG که عدد نرمالی که در اکثر سرور های ایمیل وجود دارد.

استفاده از محدود سازی مربوط به postfix

-        قابلیت ها

اعمال محدودیت در کلیه لایه ها سیستم از جمله gateway ایمیل برای کلیه ایمیل های دریافتی و ارسالی در کلیه رابط ها

-        امنیت

رعایت اصل دفاع در عمق با قرار دادن limitation در اخرین لایه نرم افزار و Gateway مربوط به ایمیل

 

 Supported Local languages

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

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

برای تغییر زبان می توان به دوطریق عمل نمود:

  1. در صفحه لاگین می توان با کلیک بر روی بخش انتخاب زبان، زبان مورد نظر خود را انتخاب کرد. مطابق شکل زیر:

شکل ۵ـ تغییر زبان نمایش (۱)

 

  1. در صفحه ایمیل می توان با ورود به بخش تنظیمات <- بخش عمومی زبان مورد نظر خود را انتخاب نموده و با کلیک روی گزینه اعمال آنرا تغییر دهید.

شکل ۶ـ تغییر زبان نمایش (۲)

-        نحوه پیاده سازی

برای localization کلیه قسمت ها به صورت tag های gettext مروبط به php در ui قرار گرفته و ترجمه با توجه به انتخاب کاربر از فایل های mo انتخاب می گردد.

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

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از mo و po فایل برای زبان های مختلف در php می توان به سادگی می توان چند زبانی را پیاده کرد.

با توجه به نقش تاریخ در پرتکل MIME مربوط به ایمیل ها و وجود تاریخ میلادی کلیه تاریخ ها میلادی ذخیره شد و در نمایش با کتابخانه اختصاصی تبدیل می شود.

 

-        نسخه استاندارد پیاده سازی شده

استفاده از mo و po فایل ها برای نگهداری ترجمه های تمامی قسمت ها

 

-        قابلیت ها

ترجمه تمامی قسمت ها و سادگی در ترجمه و پیاده سازی در ui .

حفظ تاریخ های میلادی مطابق استاندارد MIME

 

IMAP / JMAP support

با پیشرفت تکنولوژی و تمایل انسانها به آسایش، افراد مایل هستند که دسترسی آنها به ایمیلهایشان از روشهای مختلفی امکان پذیر باشد. پروتکل IMAP این امکان را برای کاربران فراهم می‌کند که با استفاده از هر ابزاری که امکان اتصال به اینترنت را داشته باشد و از این پروتکل پشتیبانی می‌کند، ایمیلهای دریافتی خود را مشاهده نمایند. لذا برای هر سامانه ایمیل پشتیبانی از این پروتکل ضروری می‌باشد.

این سامانه از این پروتکلهای پشتیبانی می کند. با کمک این پروتکل می توان ایمیلهای خود را در تمام نرم افزارهای که از این پروتکل پشتیبانی می کنند مشاهده نمود، نرم افزارهای از قبیل outlook، نرم افزارهای موبایلی و ... .

برای مثال تنظیمات مورد نیاز جهت مشاهده ایمیل ها در نرم افزار outlook در ادامه  خواهد آمد:

۱ـ نرم افزار Outlook را اجرا کرده و از منوی فایل بر روی Add Account کلیک کنید.

شکل ۷ـ تنظیمات outlook (1)

 

۲ـ سپس در پنجره زیر گزینه Manual setup or additional server type را انتخاب کنید و روی گزینه Next کلیک نمایید.

شکل ۸ـ تنظیمات outlook (2)

۳ـ در این پنجره گزینه POP or IMAP را انتخاب کرده و برروی گزینه Next کلیک کنید.

شکل ۹ـ تنظیمات outlook (3)

۴ـ در پنجره زیر اطلاعات کاربر را بصورت زیر وارد کنید:

  • You Name: نام کاربری مورد نظر خودتان را وارد کنید. ( این نام اختیاری است)
  • Email Address:  آدرس ایمیل را با دامنه وارد کنید (username@elenoon.ir     که username شناسه شما می باشد).
  • Account Type: برای این گزینه مقدار IMAP را انتخاب کنید.
  • Incoming mail server: در کارد جلوی این گزینه عبارت imap.elenoon.ir را وارد کنید.(پورت ۱۴۳)
  • [Outgoing mail server [SMTP: در کارد جلوی این گزینه عبارت smtp.elenoon.ir را وارد کنید.(پورت ۲۵)
  • User Name: آدرس ایمیل را با دامنه وارد کنید (username@elenoon.ir     که username شناسه شما می باشد).
  • Password: پسورد ایمیل خود را وارد نمایید.

سپس روی گزینه More Setting کلیک کنید.

شکل ۱۰ـ تنظیمات outlook (4)

۵ـ در پنجره زیر به  بخش Outgoing Server بروید و تیک گزینه … My Outgoing server را بزنید، سپس روی گزینه OK کلیک کنید.

شکل ۱۱ـ تنظیمات outlook (5)

۶ـ در پنجره زیر بر روی گزینه Next کلیک کنید.

شکل ۱۲ـ تنظیمات outlook (6)

۷ـ همانطور که در تصویر زیر مشخص است، پیکربندی به درستی انجام شده است.

شکل ۱۳ـ تنظیمات outlook (7)

۸ـ در پنجره بالا روی گزینه Close کلیک کنید تا پنجره زیر باز شود. سپس در پنجره زیر روی گزینه Finish کلیک کنید.

شکل ۱۴ـ تنظیمات outlook (8)

۹ـ در صورت موفقیت آمیز بودن عملیات، یک ایمیل از طرف Outlook دریافت می کنید.

 

شکل 15 تنظیمات outlook (9)

 

SMTP / POP3 support

همانطور که در مورد پروتکل IMAP توضیح داده شد، وجود این پروتکل نیز برای یک سرویس ایمیل ضروری می‌باشد. پروتکل SMTP این امکان را برای کاربران فراهم می‌کند که با استفاده از هر ابزاری که امکان اتصال به اینترنت را داشته باشد و از این پروتکل پشتیبانی می‌کند، اقدام به ارسال ایمیل نمایند.

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

تنظیمات مربوطه مانند تنظیمات مرحله قبل می باشد.

-        نحوه پیاده سازی

برای این منظور یک MAIL Gateway با زبان c++ پیاده سازی شده است که با استفاده از MAPI4linux با انجین ایمیل ارتباط برقرار می کند این سرویس به صورت واسط پرتکل IMAP/POP/IMAPS/POPS را برقرار می کند این سیستم ابتدا نود مربوط به هر کاربر را پیدا می کند و از ماشین مربوطه اطلاعات و ایمیل های کاربر را با کمک پرتکل mapi استخراج می کند.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از c++ و mapi4linux بدلیل نیاز به قابیلت پشتیبانی از تعداد بالا connection ها و بهینه کردن منابع سیستم این سرویس قابلیت cluster شدن و انتخاب کاربر از نود های مختلف را دارد.

 

-        نسخه استاندارد پیاده سازی شده

استفاده  از mapi4linux و قابلیت یکپارچه شدن با سیستم های مبتنی بر mapi

 

-        قابلیت ها

قابلیت یکپارچه شدن با کلیه سیستم های مبتنی بر mapi

بهینه بودن مصرف منابع و قابلیت کارکردن برای تعداد زیاد کاربر

 

-        امنیت

پشتیبانی از پرتکل های TLS و امکان انتخاب cipher suite امن

-        پرتکل رمزنگاری

پشتیبانی از TLS V1 ,2

 

Integration with IM message

این شرکت در کنار طراحی یک سامانه ایمیل اقدام به طراحی یک سرویس پیام‌رسان بنام نسیم نیز نموده‌است، که می‌توان این سرویس را از آدرسهای زیر دانلود کرد:

لینک نسخه اندروید:

https://cafebazaar.ir/app/ir.nasim/?l=fa

لینک نسخه iOS:

https://itunes.apple.com/us/app/nasim/id1092959340?ls=1&mt=8

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

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

-        نحوه پیاده سازی

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

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده REsful API در دو سرویس بدلیل راحتی استفاده و کارایی بالا

 

-        قابلیت ها

امکان سرویس دهی امن دو طرفه و قابلیت اتصال به ESB و ESU ها ، کنترل دسترسی مرکزی

 

-        امنیت

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

تمامی داده های مبادله شده ثبت و امضا انها برای تغییر نکردن چک می شود.

 

-        پرتکل رمزنگاری

استفاده از TLSV1,2 بر ای رمزگاری داده های مبادله شده

 

Address Book

سرویس مخاطبین یکی از سرویسهای بااهمیت در یک سامانه ایمیل می‌باشد، زیر یک کاربر مایل است که آدرس کاربرانی را که با آنها در تعامل است را در محلی ذخیره کند.

این سامانه برای آدرس مخاطبین دارای یک سرویس مجزا بنام مخاطبین (contact) می باشد. امکاناتی که این سرویس ارائه می دهد، بشرح زیر می‌باشد:

  1. امکان ایجاد مخاطب جدید
  2. امکان گروه‌بندی مخاطبین
  3. امکان ویرایش مخاطبین
  4. امکان خروجی گرفتن از مخاطبین
  5. امکان وارد کردن مخاطبین بصورت دسته ای (به کمک فایل اکسل)
  6. امکان جستجوی مخاطبین

این سرویس دارای یک بخش بنام مخاطبین پیشنهادی نیز می‌باشد که در آنرا مخاطبینی که قبلا برای آنها ایمیل ارسال کرده‌اید ولی در لیست مخاطبین شما نیستند، قابل مشاهده است.

برای مشاهده به این سرویس به دو صورت زیر می‌توان عمل نمود:

  1. از درون UI ایمیل با کلیک روی گزینه مخاطبین

شکل ۱۶ـ مخاطبین

  1. با وارد کردن آدرس https://contact.elenoon.ir در مرورگر خود.

-        نحوه پیاده سازی

سرویس RESFULL مخاطبین نوشه شده که به صورت واسط با MAPI STORE برای نگهداری مخاطبین کاربران استفاده می شود در لایه UI با استفاده از PHP در بک و jquery و angularjs استفاده می شود.  

در زمان ارسال ایمیل کسانی که در بخش to وجود دارد با صدا زدن وب سرویس اضافه کردن به suggestion به لیست contact ها اضافه می شوند. در زمان نوشتن نام افراد در to افراد با استفاده از سرویس خواندن از suggestion ها پیشنهاد داده می شوند.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از معماری سرویس گرا برای قابلیت یکپارچگی با کل سیستم

استفاده از MAPI برای ذخیره سازی مخاطبین در محیط کارا و یکپارچه شدن بهتر با ایمیل در تمامی محیط های کاربری.

استفاده از php/jquery/angularjs باعث شده رابط کاربری زیبا و سازگار با بخش های دیگر ایمیل ایجاد شود. وجود phpmapi استفاده از php را در بک ui ساده تر می سازد.

 

-        نسخه استاندارد پیاده سازی شده

  • استفاده از mapi
  • استفاده از angularjs و jquery

-        قابلیت ها

قابلیت اتصال به کلیه بخش ها به صورت RESFULL API

واسط کاربر سریع و مطمئن

 

-        امنیت

رمزنگاری tls در ارتباط کلیه بخش های سیستم با contact

استفاده از api key

 

-        پرتکل رمزنگاری

استفاده از پرتکل tls

 

Search Function

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

در این سامانه امکان جستجوی در ایمیلها نیز وجود دارد. که بدین منظور بخشی از ایمیل مورد نظر را در کادر مربوط به جستجو نوشته و با زدن کلید enter و یا کلیک برروی علامت ذره‌بین عمل جستجو انجام می شود. مطابق شکل زیر:

شکل ۱۷ـ جستجو

 

-        الگوریتم جستجو

سرویس جستجو در پست الکترونیک النون، دارای امکان جستجوی کامل واژگان فارسی و انگلیسی می باشد. در این سرویس برای اطمینان از نتیجه ی جستجو و رسیدن به هدف مورد نظر، توجه به زبان ورودی صفحه کلید ضروری می باشد. جداسازی واژگان در این الگوریتم توسط فاصله انجام می پذیرد و جستجوی بخشی از عبارات که مدنظر کاربر می باشد و به صورت بخشی از واژگان است، بدین صورت مورد جستجو قرار می گیرد. به عنوان مثال، از واژه ی "پژوهش" برای جستجوی عبارت "پژوهشگاه"استفاده می گردد و در صورتی که کاربر عبارت "گاه" را وارد نماید، الگوریتم به دنبال واژه ای می گردد که با گاه شروع می شود مانند واژه ی "گاهی". بنابراین قرارگیری حروف در ابتدای کلمه به عنوان یک واژه ی مستقل (جداسازی شده با فاصله) ضروری می باشد. الگوریتم جستجوی به کار رفته در پست الکترونیک النون، نیم فاصله را در نظر نگرفته و همانند عبارت بدون فاصله رفتار خواهد کرد. به عنوان مثال جستجوی واژه ی " سیستم‌های" و "سیستمهای" منتهی به یک نتیجه می شود و الگوریتم، به صورت یکسان رفتار خواهد کرد. برای واژه هایی که مشابه عربی داشته باشد مثل ی، ک و گ، حالت های مختلف کلمه به ازای هرکدام در نظر گرفته می شود و به صورت or جستجو می گردد.

 

-        عملکرد سرویس جستجو

این سرویس با استفاده از xapian-core نوشته شده است که یکی از بهترین text search engine  رایگان و open source موجود است. هر ایمیل که وارد سیستم می شود توسط این سرویس به xapian داده شده و ایندکس می شود.

در این سرویس  تنظیماتی برای ایندکس کردن ایمیل براساس قسمت های مختلف مانند (گیرنده، فرستنده، محتوای پیوست ایمیل و ... ) وجود دارد.

 

-        نحوه پیاده سازی

برای پیاده سازی search از ابزار متن باز Xapian[1]  استفاده شده است این ابزار با توجه به سرعت مناسب هماهنگی خوبی برای index کردن پایگاه داده و ایمیل ها را دارا است. وب سرویس هایی برای استفاده از این ماژول توسعه داده شده است که با کمک ان به این سیستم ارتباط برقرار می شود. این وب سرویس ها به زبان php توسعه داده شده است.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از Xapian  بدلیل هماهنگی خوب برای index کردن داده هایی که در mapi store ها ذخیره شده است. از ویژگی های این کتابخانه پشتیبانی از Ranked probabilistic search  است که در ایمیل کمک بسیار مناسب است.

 

-        نسخه استاندارد پیاده سازی شده

استفاده از xapian برای جستجو ایمیل

 

-        قابلیت ها

پشتیبانی از Ranked probabilistic search

سرویس های RESFUL جهت استفاده در تمامی قسمت ها

 

-        امنیت

  • استفاده از api key جهت دسترسی به سرویس ها
  • کلیه مبادلات با استفاده از tls رمز می شود.
  • کنترل کلمات stop word برای جستجو ها و جلوگیری از حمله dos با استفاده از stop word

 

-        پرتکل رمزنگاری

استفاده از tls v1 ,2

Create Folders

با توجه به تعدد ایمیلها دریافتی، امکان دسته‌بندی و پوشه‌بندی برای هر سامانه ایمیل ضروری است، در صورت وجود امکان پوشه بندی، دسترسی به ایمیل مورد نظر برای کاربر اسانتر می‌گردد.

در این سامانه امکان ایجاد پوشه نیز وجود دارد، برای ایجاد پوشه جدید بدین صورت عمل کرده که:

  1. در بخش ایمیل من کلیک راست کرده و گزینه پوشه جدید را انتخاب می کنیم.

شکل ۱۸ـ پوشه جدید (۲)

  1. بعد از کلیک روی گزینه پوشه جدید، پنجره زیر ظاهر می شود، که در بخش نام، نام پوشه مورد نظر و در بخش مکان پوشه ، بخشی که قرار است پوشه به آن اضافه گردد را انخاب کرده و برروی کلید تایید، کلیک می‌نماییم.

شکل ۱۹ـ پوشه جدید (۲)

در این سامانه امکان انتقال ایمیلها به پوشه های، با روش drag and drop نیز وجود دارد.

در این سامانه این امکان نیز وجود دارد که ایمیلهای دریافتی بصورت اتوماتیک به یک پوشه خاص انتقال داده شوند، برای این کار بصورت زیر عمل می‌شود:

  1. با کمک مراحل بالا یک پوشه جدید ایجاد می گردد.
  2. به بخش تنظیمات <- فیلترهای ایمیل رفته و برروی گزینه جدید کلیک می‌نماییم.

شکل ۲۰ـ فیلتر ایمیل (۱)

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

شکل ۲۱ـ فیلتر ایمیل (۲)

  1. سپس برروی گزینه اعمال کلیک می‌کنیم.

-        نحوه پیاده سازی

معماری hierarchy model در پایگاه داده و mapi store ها امکان اینکه هر شی دارای container store باشند را فراهم می اورد این معماری پیاده سازی پوشه ها را ساده می کند. هر object ، mapi از جمله پوشه ها می تواند دسترسی تعریف کرد و به کاربران مختلف اجازه دیدن و یا تغییر ان ها داد.

امکان ذخیره سازی ایمیل ها به صورت دستی و یا به صورت اتوماتیک با تعریف فیلتر ها در ایمیل وجود دارد خود فیلتر ها نیز به صورت object هایی شامل شرط هایی در store mapi هر کاربر ذخیره می گردد.

 

-        ماژول های استفاده شده و دلیل استفاده

معماری hierarchy model در پایگاه داده و mapi store ها امکان  ذخیره سازی و مرتب سازی ایمیل ها را به صورت درختی را می دهد.

 

-        نسخه استاندارد پیاده سازی شده

معماری hierarchy model در پایگاه داده

Mapi store

 

-        قابلیت ها

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

امکان قرار دادن دسترسی بر روی پوشه ها

-        امنیت

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

 

Personal Signature

این قابلیت در سامانه های ایمیل از درجه اهمیت بالایی برخوردار نیست.

برای استفاده از این امکان به بخش تنظیمات <- ایمیل، رفته سپس در قسمت امضاء  می‌توان انواع مختلفی امضاء تعریف کرد.

شکل ۲۲ـ امضا

برای تعریف یک امضاء جدید بصوت زیر عمل می‌کنیم:

  1. برروی گزینه جدید کلیک کرده و در بخش نام یک نام اختیاری برای امضاء خود انتخاب می کنیم. در بخش زیر نام، متن امضاء را وارد کرده و سپس برروی گزینه ذخیره کلیک می‌کنیم.
  2. در قسمت امضاء می‌توان تمام امضاءهای که تعریف کرده ایم را مشاهده نماییم.
  3. در قسمت امضاء برای پیام‌های جدید مشخص می‌کنیم که برای پیامهای جدید از چه امضاءای استفاده شود، و در بخش امضاء برای پاسخ‌های و بازارسال‌ها ، نیز امضاء مورد استفاده برای پیامهای بازارسالی را مشخص می‌نماییم.

 

-        نحوه پیاده سازی

در mapi store مریوط به هر کاربر settings وجود دارد که ویژگی هایی مانند امضا شخصی و زبان در ان ذخیره می گردد. بعد از ذخیره سازی در ui با استفاده از php mapi قابلیت دسترسی به آن وجود دارد.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از mapi store استاندارد ذخیره سازی ما در این نرم افزار است. و اطلاعات کاربر نیز در این بخش ذخیره می گردد.

 

Spell Check

ویرایش گر املایی (Spell Check) مورد استفاده در پست الکترونیکی بومی النون، ویراستیار می باشد که قادر است کلمه، جمله و پاراگراف را بررسی کرده و پیشنهادات اصلاحی را برای واژگان مشخص نماید. کاربر با بررسی این پیشنهادات می تواند تغییر مورد نظر را برای آن کلمه در همان جمله و یا در سایر سطرهای متن اعمال نماید. کاربر می تواند پس از نوشتن متن ایمیل، برای مشخص کردن مشکلات نگارشی خود، بر روی گزینه ی ویرایشگر متن کلیک نماید و ویرایشگر ایمیل پس از بررسی متن، پیشنهادات را با کشیدن خط قرمز در زیر متن مشخص می نماید و سپس کاربر با کلیک بر روی آن، تمامی پیشنهاداتی که ویرایشگر برای آن کلمه مشخص کرده را مشاهده می نماید و پیشنهاد درست تر را برمی گزیند.

مطابق تصویر زیر:

شکل ۲۳ـ spell check (1)

که با کلیک راست برروی کلمه نادرست، کلمات با املاء درست را به شما پیشنهاد می‌دهد. مطابق تصویر زیر:

شکل ۲۴ـ spell check (2)

همچنین در صورت درست بودن املاء این کلمه با انتخاب گزینه Add to dictionary آنرا به دیکشنری اضافه کرده تا در دفعات بعد این کلمه را بعنوان کلمه اشتباه در نظر نگیرد.

 

-        نحوه پیاده سازی

برای این منظور در text editor ما که از TinyMCE استفاده می کنیم. این ادیتور spell check در خود برای زبان انگلیسی دارد. همچنین برای زبان فارسی از ویرایشگر متن ویراستیار استفاده شده است.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از TinyMCE با توجه با سازگاری با مرورگر های مختلف و مناسب برای ساخت ایمیل

 

Rich Text Editor

ویرایشگر متنی می‌تواند یکی از مهمترین ویژگیهای یک سامانه ایمیل باشد، در صورتی که سامانه از یک ویرایشگر قوی و کارآمد بهره ببرد، کاربر در نوشتن متن با مشکل مواجه نشده و بیشتر نیاز‌های وی را برطرف می‌نمایید.

این سامانه از ویرایشگر Tiny بعنوان ویرایشگر متنی خود بهر می‌گیرد که یکی از قویترین ویرایشگرهای موجود می‌باشد، در ادامه بخشی از امکانات این ویرایشگر ذکر می‌گردد:

  1. قابلیت انتخاب فونت های مخلف فارسی و انگلیسی
  2. قابلیت انتخاب اندازه قلم
  3. امکان italic، bold و Underline کردن متن
  4. امکان SubScript و SuperScript
  5. امکان انتخاب رنگ متن
  6. امکان انتخاب رنگ پس‌زمینه متن
  7. امکان راست‌چین، وسط‌چین و چپ‌چین کردن متن
  8. امکان RTL و LTR متن
  9. امکان Numbered list  و Bullet list
  10. امکان ایجاد/حذف لینک برای بخشی از متن
  11. امکان وارد کردن تصویر در متن
  12. امکان قرار دادن emoji در متن
  13. امکان copy متن از word

در تصویر زیر این امکانات قابل مشاهده می‌باشند:

شکل ۲۵ـ ویرایشگر متن

 

-        نحوه پیاده سازی

  • برای این منظور در text editor ما که از TinyMCE استفاده می کنیم. این ادیتور spell check در خود برای زبان انگلیسی دارد.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از tinymce بدلیل قدرت و مشکل کمتری که با زبان فارسی دارد. همچنین این ادیتور در محیط های HTML5 و angularjs نیز به خوبی کار می کرد. پشتیبانی از این ادیتور نیز به خوبی صورت می گیرد

-        نسخه استاندارد پیاده سازی شده

Tinymce  به عنوان ادیتور در وب استفاده شده است.

 

-        قابلیت ها

ادیتور زیبا و سبک دارای قابلیت های زیادی از جمله پلاگین های زیادی برای افزودن قابلیت هایی مانند spell check

 

-        امنیت

نسخه های اخر این سیستم مشکلات امنیتی خاصی ندارد. ما قسمت هایی که استفاده نمی کردیم کد هایش را حذف کردیم و امن سازی را در این ادیتور انجام دادیم علاوه بر این در php و انجین mapiتابعی برای htmlencode کردن به صورتی که از حمله xss جلوگیری نماید تعبیه شده است.

 

View Attachments

برای مشاهده ایمیلهای که دارای پیوست هستند با کلیک برروی هر پوشه مثلا صندوق ورودی، هر ایمیل که دارای پیوست باشد، دارای یک گیره می باشد، همانند تصویر زیر:

شکل ۲۶ـ مشاهده پیوست (۱)

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

شکل ۲۷ـ مشاهده پیوست (۲)

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

 

-        نحوه پیاده سازی

در mapi فایل های attachment به صورت فشرده شده با zip7 در نود های مختلف توزیع شده ذخیره می شود.سرویس در mapi برای جدا سازی فایل ها attach از mime ایمیل نوشته شده است. که امکان نمایش انها را بوجود می اورد.

 

Auto Reply

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

برای استفاده از این سرویس باید به بخش تنظیمات <- خارج از محل کار برویم و با انتخاب گزینه من هم اکنون خارج از محل کار هستم یک موضوع و یک پیغام را نوشته تا زمانیکه می‌خواهیم پاسخ پیامها بصورت خودکار داده شود، این گزینه را انتخاب نماییم، برای اعمال تغییرات برروی کلید اعمال کلیک می‌نماییم.

شکل ۲۸ـ پاسخگویی خودکار

-        نحوه پیاده سازی

در انجین mapi و در settings مربوط به کاربر بخشی وجود دارد که مشخص می کند کاربر می خواهد به صورت خودکار به ایمیل ها پاسخ داده شود. پس از این تنظیم به صورت خود کار پیامی که کاربر ثبت کرده برای ایمیل ارسال می کند.

 

-        امنیت

بدلیل نوشتن کد در انجین اصلی ایمیل کلیه کنترل ها از جمله تعداد ایمیل های دریافتی و وضعیت spam بودن ایمیل های دریافتی تنها به ایمیل های مورد نیاز پاسخ داده می شود و دفاع در عمق رعایت می شود.

 

Undo send

این ویژگی این قابلیت را برای کاربر فراهم می کند که بتواند در مدت زمان محدودی بعد از زدن دکمه ارسال، عملیات ارسال ایمیل را لغو کند. مدت پیش فرض درنظر گرفته شده برای لغو عملیات ارسال ایمیل، برابر با 15 ثانیه می باشد. کاربر باید توجه نماید که در این مدت، در صورتی که پنجره ی مرورگر را ببندد، به منزله ی لغو عملیات ارسال ایمیل می باشد و ایمیل به مقصد مورد نظر ارسال نخواهد شد.

 

Filter to e.g. only see newsletters or Emails from contacts

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

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

برای استفاده از این سرویس باید مراحل زیر را انجام دهید:

  1. به بخش تنظیمات <- فیلترهای ایمیل رفته و برروی گزینه جدید کلیک می‌نماییم.

شکل ۲۹ـ فیلتر ایمیل (۱)

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

شکل ۳۰ـ فیلتر ایمیل (۲)

  1. سپس برروی گزینه اعمال کلیک می‌کنیم.

-        نحوه پیاده سازی

در setting کاربر در store mapi مربوطه شرط و action  می توان تعریف کرد این شرط ها و action ها در زمان دریافت ایمیل بررسی می شود در صورتی که هر یک از شرطها محقق شود انجین action مربوط به ان شرط را تعریف می کند متناظر این ها در phpmapi دستورات لازم برای تعریف شرط ها وجود دارد.

 

-        ماژول های استفاده شده و دلیل استفاده

استفاده از انجین ایمیل بدلیل سرعت بالا در بررسی action ها و انجام آنها

 

-        امنیت

در انجین mapi و action مربوط به forward messageid و refrenceid برای تشخیص loop ارسال کنترل می شود. تا action مربوط به forward موجب ایجاد loop ارسال بی نهایت ایمیل نشود و حمله dos نشود.
 

Spam filter

با توجه به افزایش ایمیلها تبلیغاتی، سرویس اسپم می‌تواند مهمترین بخش یک ایمیل باشد، اگر سرویس اسپم یک سامانه ایمیل بدرستی کار نکند، کاربر ایمیلهایی را در صندوق ایمیل خود دریافت می‌کند، که غیرضروری بوده و همین مشکل موجب ایجاد نارضایتی شدید کاربران شده و بررسی ایمیل را برای آنها با مشکل روبرو خواهد کرد.

در این سامانه از سرویس amavist بعنوان آنتی اسپم و از سرویس clam بعنوان آنتی ویروس استفاده شده است، در زمان دریافت یک ایمیل، سرویس amavist ایمیل را بررسی کرده و براساس سیاستهای تعیین شده به آن امتیازهای می‌دهد و در انتها بررسی می‌کند در صورتی که آن ایمیل امتیازهای لازم برای اسپم شدن را دریافت کرده باشد، بصورت خودکار ایمیل را به پوشه هرزنامه (spam) منتقل می‌نمایید.

 

-        عملکرد اسپم و سرویس های مورد استفاده

  • Amavisd-new

Amavisd-new به عنوان یک رابط میانی بین میل سرور (postfix)  و سرویس های فیلتر محتوای (SpamAssassin) قرار می گیرد وبا استفاده از تحلیل امتیازهای به دست امده از نتایج سروریس های فیلتر محتوا یک محیط قرنطینه برای فرستنده های مخرب ایجاد می کند درواقع وظیفه بررسی محتوا را برعهده سروریس دیگر قرار داده است. از مهمترین خصوصیات این رابط میانی عبارت است از :

Reliability

سرویس amavis با ذخیره ی state ایمیل ها در صف ، در مواقع بروز خطا در هنگام بررسی محتوای ایمیل هیچ ایمیل را از دست نداده و دچار Lost data نمی شویم

Security

سرویس amavis  طوری طراحی شده است که با داشتن کمترین دسترسی های سیستمی اجرا شود تا با ایمیل مخرب دچار buffer overflows نشود

Performance

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

 

  • SpamAssassin

spamassassin با داشتن تکنیک های مختلف (DNS-based fuzzy-checksum Bayesian) دربررسی  محتوای ایمیل یکی از کارآمدترین spam filter هاست

از مهمترین خصوصیات این سرویس عبارت است از

subprogram usage: این سرویس می تواند به صورت یک زیر برنامه در اختیار سرویس های دیگر قرار بگیرد.

Operation: این سرویس دارای کاملترین  رول های مختلف در بررسی header و body ایمیل است و می تواند تمام موارد تست کند

سرویس sa-learn: با استفاده از این سرویس می توان اسپم های جدید را به SpamAssassin  اموخت تا ایمیل مشابه این ایمیل را اسپم کند

 

  • clamav

آنتی ویروس پیش بینی شده برای سیستم ClamAV است. مهمترین دلیل استفاده از ClamAV همخوانی بالا با فیلتر محتوای amavisd-new است. علاوه بر این موارد زیر نیز در اتخاب ClamAV موثر بوده است:

1-    به روزرسانی منظم پایگاه اطلاعات ویروس ها

2-    سهولت به روزرسانی

گستردگی استفاده خصوصا در کنار میل سرورهای تحت لینوکس

 

-        نحوه پیاده سازی

در این سامانه amavis و انتی ویروس تگ هایی را در header mime مروبط به ایمیل ایجاد می کنند. سرویس انجین ایمیل با پردازش این تگ ها در صورتی که score اختصاص داده شده دارای تگ spam باشد به پوشه mapi spam منتقل می کند. به صورت پیش فرض تمامی کاربرن در store mapi خود پوشه به نا spam دارند.

علاوه بر این برای learn کل سیستم spam mime ایمیل به الگوریتم bayesian learning spam ارسال می شود. برای کمک بهینه سازی شده در spam موارد مربوط به چک spf بازنویسی شده است و RBL ها و pattern های ویروس اختصاصی به سیستم اضافه شده است.

ادمنین های سیستم در RBL ها مربوطه را کنترل می کنند و pattern های مورد نظر را در ان وارد می کنند.

 

-        ماژول های استفاده شده و دلیل استفاده

از spamassassin و clamav برای انتی ویروس و انتی spam بدیل متن باز بودن و قابلیت توسعه خوب انتخاب شد. علاوه بر این مواردی توسعه هایی در زمینه SPF چک و RBL ها در این سیستم انجام شد.

 

-        نسخه استاندارد پیاده سازی شده

استفاده از spamassassin و clamav و amavis

 

-        قابلیت ها

مقاوم بودن در برابر دور زدن spf check در different header

پیاده سازی لیست سیاه و سفید اختصاصی

 

-        امنیت

  • مقاوم بودن در برابر دور زدن spf check در different header
  • امن سازی در برابر حملات anti spam check و محدود سازی حملات مروبط penpals  و لیست های سفید
  • موارد مربوط به DKIM و RDNS در این سیستم ذخیره شده است

 

Report Spam

سرویس Amavist یک سرویس یادگیرند می‌باشد، بدین صورت که کاربر می‌تواند در تشخیص اسپم به این سرویس کمک کند، بدین منظور در صورتیکه کاربر یک ایمیل را که اسپم می‌باشد را در صندوق ایمیل خود دریافت کند، می‌بایست با کلیک راست برروی ایمیل و انتخاب گزینه افزودن به فهرست هرزنامه ایمیل را به پوشه هرزنامه منتقل نمایید، و با این کار به سرویس اسپم کمک کند تا زین پس اینگونه ایمیلها را بعنوان اسپم شناسایی کند، همانند شکل زیر:

شکل ۳۱ـ اسپم (۱)

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

شکل ۳۲ـ اسپم (۲)

 

-        نحوه پیاده سازی

سرویس های Restful برای ارتباط با amavis نوشته شده است این سرویس ها امکان ارتباط بر قرار کردن با سیستم اسپم را فراهم می کند. در ui ایمیل پلاگین نوشته شده است. که با زدن دکمه spam ایمیل مذکور به پوشه spam تغییر می کند. در انجین mapi برای ایمیل های جدیدی که به پوشه اسپم منتقل شده اند اقدامات زیر صورت می گیرد.

  • اضافه کردن MIME برای bayesian learning spam (با فراخوانی سرویس Restful مربوطه توسط انجین ایمیل)
  • به روز رسانی لیست سیاه و سفید با توجه به تغییرات پوشه sapm  ( با فراخوانی سرویس Restful مربوطه توسط انجین ایمیل)

 

-        قابلیت ها

معماری سرویس گرا با توجه به نوشتن سرویس های Restful بر روی سیستم تشخیص spam

یکپارچگی انجین ایمیل با سیستم انتی اسپم با معماری سرویس گرا

-        امنیت

  • کلیه مبادلات با سرویس انتی spam به صورت رمز شده یا TLS انجام می شود
  • سرویس ها با استفاده از APKIKEY محافظت می شود.
  • سیستم در برابر سوء استفاده spf Fail برای لیست و سفید مقاوم است. در صورتی که کاربر خود را به جای کاربری جا بزد که در لیست سفید است باز هم ایمیل او spam می شود.

 

-        پرتکل رمزنگاری

TLSv1,2

 

Auto Save

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

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

مدت زمان ذخیره خودکار را می‌توان به دلخواه خود تغییر داد، برای انجام اینکار به بخش تنظیمات <- ایمیل میرویم و مقدار ذخیره خودکار ایمیلهای ارسال نشده را به مقدار دلخواه تغییر می‌دهیم و سپس برروی گزینه اعمال کلیک می‌کنیم. همانند تصویر زیر:

شکل ۳۳ـ ذخیره خودکار

-        نحوه پیاده سازی

در پیاده سازی این ویژگی در بازه های زمانی که در js مشخص شده است کد مربوط به ایمیل به سرویس ذخیره سازی ایمیل ارسال می شود این سرویس ایمیل را در پوشه DRAFT که به صورت پیش فرض در store هر کاربر وجود دارد ذخیره می گردد. در settings مربوط به هر کاربر در mapi store عددی وجود دارد که مشخص می کند بعد از چه زمانی ایمیل ذخیره سازی شود.

 

-        امنیت

  • ارتباطات با  mapiو ui به صورت رمز شده تحت TLS صورت می گیرد.
  • تمامی ایمیل ها ابتدا در Draft ذخیره می گردد سپس ارسال می شود تا در صورت پر بودن صف ها ایمیل از بین نرود.
  • برای ارسال ایمیل صف های مختلفی برای کنترل بار سرور تعبیه شده تا ایمیل در استفاده تعداد زیاد کاربر همزمان از بین نرود.(صف DRAFT ، outbox، spooler ، (postfix

 

-        پرتکل رمزنگاری

TLSv1,2

 

Account recovery

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

 

-        نحوه پیاده سازی

در ایمیل النون هیچ چیز دفعتا پاک نمی شود. بلکه پایگاه داده به صورتی است که دارای فیلد به نام isdelete است. که true بودن ان به معنی پاک شدن ان رکرد است. بنابراین تغییر در پایگاه داده قابل ردیابی در بازه های به تشخیص ادمین garbage collector بر روی store ها اجرا و موارد که isdelete برابر 1 دارند پاک می کند.

در پایگاه داده جدولی وجود دارد.و که شناسه مربوط به mapi store را به شناسه کاربر map می کند. در زمانی که کاربر مشخصات تغییر می کند و isdelete مربوط به  ان یک می شود می توان با برگردادن این رکرد دو باره account را بازگرداند.

 

-        قابلیت ها

برگردادن ایمیل ها و account های حذف شده با کمک isdelete و تغییر این فیلد.

در حال حاضر ui برای این بخش نوشته نشده و این کار توسط ادمین های سیستم و اپراتور ها انجام می شود.

 

-        امنیت

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

 

سرویس ذخیره سازی ابری (درایو مجازی)

یکی از سرویس‌های یکپارچه شده با سرویس پست الکترونیکی بومی النون، سرویس درایو می باشد که به کاربر این امکان را می دهد تا سقف حجم 3GB از این سرویس به صورت رایگان استفاده نماید. همچنین درایو مجازی النون از زبان فارسی به طور کامل پشتیبانی می نماید. کاربران می توانند با به اشتراک گذاری لینک فایل ها، به انتقال فایل های خود با افراد دیگر اقدام نمایند. این درایو به کاربر امکان ایجاد پوشه‌ و زیر مجموعه و انتقال فایل بین پوشه‌ها را می دهد. با استفاده از برنامه Owncloud Desktop می توان درایو را بر روی دسکتاپ خود منتقل کرد و با آپدیت فایل ها در برنامه، درایو مجازی النون نیز آپدیت می گردد و رابط کاربری ساده و سریعی را برای کاربران فراهم می آورد. از دیگر قابلیت های درایو النون می توان به قابلیت رمز گذاری روی برنامه جهت حفظ امنیت، شناسایی انواع فایلها و اجرای آنها داخل برنامه، اجرای فایلهای صوتی و تصویری، قابلیت گزارشگیری از فعالیتهای انجام شده در سرویس، امکان مشاهده جزئیات فایلها و تغییر نام آنها و قابلیت تنظیم برنامه، ارسال بازخورد و دعوت از دوستان اشاره کرد.

شکل ۳۴ـ درایو مجازی

سرویس نقشه

سرویس نقشه ی النون، نقشه ی ایران را شامل می شود که استانها و شهرها و مسیرهای ارتباطی را مشخص نموده است. امکان بدست آوردن مختصات جغرافیایی هر نقطه از ایران در این نقشه وجود دارد. همچنین مکان های مهم مانند مساجد و ... نیز در این نقشه مشخص شده است. برای توسعه ی این نقشه می توان موارد زیر را در نظر گرفت:

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

 

شکل ۳۵ـ سرویس نقشه

 

سرویس تقویم

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

شکل ۳۶ـ سرویس تقویم

 

سرویس ایجاد Task

یکی ازسرویس های پرکاربرد النون، سرویس ایجاد Task می باشد که کاربر می تواند کارهای روزمره ی خود را برنامه ریزی نماید. این سرویس امکان دسته بندی کارها، گزارش وضعیت انجام کار، تاریخ شروع و پایان، مجموع کار و ... را برای کاربر فراهم می آورد. از موارد قابل توسعه در این سرویس عبارتند از:

  • امکان ایجاد Task برای افراد دیگر و ایمیل Task ها و مایل استون ها به فرد مورد نظر
  • ایجاد سلسله مراتبی Task ها و تعریف انواع مختلف آن
  • امکان ایجاد لاگ بر روی Task ها
  • امکان اولویت بندی تسک ها با توجه به اهمیت آن

شکل ۳۷ـ سرویس ایجاد Task

 

سرویس یادداشت

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

شکل ۳۸ـ سرویس یادداشت

 

سرویس پنل پیامک

دیگر سرویسی که با سرویس پست الکترونیکی بومی النون یکپارچه شده است، سرویس پیامک می باشد، این سرویس امکاناتی از قبیل هشدار هنگام ورود به سیستم، ارسال ایمیل همراه پیامک و دریافت پیامک در صورت دریافت ایمیلهای مهم را برای کاربران فراهم میکند.

سرویس پنل پیامک دارای ظاهری کاربر پسند می باشد، یکی از مهمترین ویژگیهای این سرویس نمایش تمام پیامکهای ارسالی و دریافتی کاربران بصورت Conversation می باشد. این سرویس امکان ارسال پیامک برای شماره تلفنهایی که عضو ایمیل النون نیستند را نیز برای کاربران فراهم می کند. کاربران این سرویس می تواند به کمک این پنل برای کاربران النون ایمیل نیز ارسال کنند.

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

شکل ۳۹ـ سرویس پنل پیامک

 

نسخه های استاندارد پیاده سازی شده

version

service

7.2.3

https://www.zarafa.com

Mail-core

Webapp

https://www.zarafa.com

Webmail1

7.4.71afterlogic

https://www.afterlogic.com

Webmail2

postfix-2.10.1

http://www.postfix.org

MTA

amavisd-new-2.10.1

https://www.ijs.si/software/amavisd

MTA-CONTENTFILTER

3.4.0 spamassassin

http://spamassassin.apache.org

ANTSPAM

clamav-server-0.99.2

https://www.clamav.net

ANTIVIRUSE

5.5.47-MariaDB

http://mariadb.org

DATABASE

OpenDKIM Filter v2.10.3

http://www.opendkim.org

dkim

cluebringer-v2.1.x

http://wiki.policyd.org

Limiter mail

Jdk-1.7

Java

Cas-4.0.1

https://www.apereo.org/projects/cas/download-cas

Central Authentication Service 

 



[1] https://xapian.org/

0

۲.۲ گزارش وضع پیشرفت خدمت رایانامه النون بر اساس شاخص‌های وب‌آزما

گزارش وضع پیشرفت خدمت رایانامه النون بر اساس شاخص‌های وب‌آزما
حجم: 300 کیلوبایت

0

۱.۲ انتشار گزارش‌ها و مستندات تهیه شده در پروژه

در وبلاگ رسمی شرکت النون، به نشانی blog.elenoon.ir مستندات درخواستی در فاز دوم توسعه ایمیل بومی در طرح جویشگر ارائه شده است.

0

۳.۱ نیازمندی‌های ایجاد تعامل بین رایانامه با دیگر خدمات از منظر فنی و کسب و کار

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

این روحیه، باعث می‌شود که خدمات دهندگان، خدمات خود را طوری طراحی کرده و توسعه دهند که بتوانند از طریق ارائه آنها به دیگران سودآوری داشته باشند؛ البته این سود می‌تواند به شکل مادی، اعتبار، خدمات متقابل و غیره باشد.

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

اما از منظر فنی، پایداری، سرعت قابل قبول و استانداردهای لازم باید رعایت شود و به شکل انواع قرارداد، مثلاً توافق‌نامه سطح خدمات، درآید تا با پایبندی به آن، در ابتدا و ادامه همکاری‌ها، مشکلات به حداقل کاهش پیدا کند.

عوامل موثر بر ایجاد تعامل سازنده میان شرکت های ارائه دهنده خدمات

برای این که یک سازمان بتواند ایده های بیرونی را جذب و یکپارچه کند باید ویژگی های زیر را داشته باشد:

-     پذیرش رویکرد همکاری در سطح مدیران و بدنه سازمان.

-     اصلاح فرآیندهای سازمان برای امکان پذیر شدن تعامل با تیم های کوچک و حتی اشخاص

-     فرآیندهای چابک و سریع تصمیم گیری و فیدبک و پرداخت

-     آمادگی فنی برای یکپارچه سازی سریع در بخش های فنی آی تی و نیز کسب و کار

موانع  تعامل و همکاری

1-    موانع قانونی و رگولاتوری

2-    عدم همکاری ذی نفعان

3-    حفظ امنیت و محرمانگی داده های مشتریان یک سازمان

آمادگی  فنی

مهم ترین معیاری که نشان دهنده آمادگی فنی یک سازمان است داشتن API استاندارد است. API ها را می‌توان به‌عنوان رابط‌هایی  بین برنامه های کاربردی نرم‌افزاری  هم در داخل و هم در بین سازمان‌ها در نظر گرفت. به‌طور خاص‌تر API ها ارتباطات دو برنامه کاربردی نرم افزاری را تسهیل می‌کند وقتی که یک برنامه از ویژگی های عملکردی دیگری استفاده می‌کند. بنابراین APIها با واسطه گری میان دو سیستم ارتباطات آن ها را تسهیل کرده و امکان نوآوری بهتر، ارزان‌تر و سریع‌تری با یک مقیاس بزرگ‌تر را فراهم آورند. API چند ویژگی دارد:

1-    قابل‌دسترسی توسط عموم است.

2-    مستندات دارد. اینکه مستندات داشته باشد یعنی اگر سیستمی که همه چیزش شبیه API باشد ولی مستندات نداشته باشد واقعاً API نیست. API باید مستندات داشته باشد، مثال داشته باشد، روش داشته باشد.

3-    برای ارائه آن از استانداردهای متعارف مانند REST استفاده شده است.

داشتن API این امکان را فراهم می‌کند که یکپارچه سازی ایده های بیرونی با خدمات قبلی به سرعت به شکل مقیاس پذیر قابل برنامه ریزی باشد و به ازای هر ایده نیاز به صرف منابع فنی داخلی سازمان نباشد.

هرچه API های بیش­تری توسعه داده شده باشد، ظرفیت جذب ایده های بیش تری وجود دارد و هر چه کاربری این API ها ساده تر باشد، تیم های بیش تری از آن استفاده می‌کنند.

یک معیار برای آمادگی فنی

 یکی از معیارهایی که میتوان برای اندازه گیری میزان مناسب بودن API را اندازه گیری کرد این است آیا خود شرکت یا سازمان از آن استفاده می کند یا خیر؛ زیرا اگر خود آن ها استفاده کرده باشند هر کس دیگری که بخواهد استفاده کند، نمونه پیاده سازی شده دارد و می‌توان با تقریب خوبی گفت که این کار انجام شده است. اما در غیر این صورت نمی‌توان این را با قطعیت بیان کرد.

فرهنگ سازمانی

در مدیریت ارشد سازمان باید پذیرش رویکرد همکاری وجود داشته باشد و این پذیرش از سوی مدیریت از همه چیز مهم تر است. تفکر مدیران و تفکر کسب‌وکار یکی دیگر از چالش‌هاست.

جدول نیازمندی‌های ایجاد تعامل بین رایانامه با سرویس های قید شده از منظر فنی

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

0

۲.۱ توصیف خدمات یکپارچه شده با خدمت رایانامه النون

1.2.1 موارد یکپارچه شده در پست الکترونیک النون

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

توضیحات کامل مربوط به خدمات یکپارچه شده با خدمت رایانامه النون شامل تصاویر سرویس ها، سناریوی عملکرد، موارد قابل توسعه در سرویس های یکپارچه شده به تفصیل در زیرفصل 6.3.2 آورده شده است.

در ادامه به معرفی برخی از مهم‌ترین این موارد پرداخته می‌شود.

2.2.1 خدمات ذخیره سازی ابری (درایو مجازی)

خدمات «ذخیره سازی ابری» (درایو مجازی) یا به عبارتی، خدمات میزبانی و به‌اشتراک گذاری برخط مستندات را می‌توان امروزه به عنوان یکی از خدمات پایه‌ای اینترنتی به شمار آورد که از سال‌ها پیش، خدمات دهندگان بسیاری در دنیا ارائه این خدمات را آغاز کرده‌اند.

شرکت النون نیز مانند چند شرکت فعال دیگر کشور در این حوزه، برای این خدمت، تلاش‌هایی را آغاز کرده است. اما متأسفانه به دلیل هزینه‌های توسعه و نیز هزینه‌های بالای مباحث زیرساختی (مرکز داده، سخت افزار، شبکه و پهنای باند و...) گسترش این خدمات در حد معیارهای جهانی امکان پذیر نشده است.

در این مسیر، نه تنها از آخرین فناوری‌های روز دنیا استفاده می‌شود، بلکه از نظر کمیت و کیفیت خدمات نیز، تجربه کاربری رضایت‌بخشی را برای کاربران به ارمغان می‌آورد.

از سوی دیگر، اولویت همه خدمات النون، همگرایی و یکپارچگی با دیگر خدمات شرکت (رایانامه، پیام‌رسان و...) و همچنین ارائه یک بستر باز برای دسترسی دیگر فعالان فضای مجازی از طریق واسط برنامه نویسی (API) و غیره است.

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

موارد تحقیق و توسعه خدمات ذخیره سازی ابری

  • 3 گیگابایت فضای رایگان
  • پشتیبانی کامل از زبان فارسی
  • وجود سرورهای برنامه در داخل ایران
  • قابلیت رمز گذاری روی برنامه جهت حفظ امنیت
  • شناسایی انواع فایلها و اجرای آنها داخل برنامه
  • اجرای فایلهای صوتی و تصویری
  • اشتراک گذاشتن لینک فایلها
  • قابلیت گزارشگیری از فعالیتهای انجام شده در سرویس
  • قابلیت ایجاد پوشه‌ و زیر مجموعه و انتقال فایل بین پوشه‌ها
  • امکان مشاهده جزئیات فایلها و تغییر نام آنها
  • قابلیت تنظیم برنامه، ارسال بازخورد و دعوت از دوستان
  • دسترسی به حافظه داخلی دستگاه با استفاده از file manager داخلی و بارگذاری فایل بر روی درایو

3.2.1 خدمات مکان محور و نقشه

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

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

4.2.1 شبکه اجتماعی-پیام رسان

با توجه به فراگیر شدن شبکه های اجتماعی در بستر موبایل و دسترسی سریع و آسان این شبکه ها، یکپارچگی پست الکترونیک با شبکه های اجتماعی موجب توسعه و تسهیل کاربرد های ایمیل شده و امکان ارائه ی سرویس های کاربردی زیادی را فراهم می نماید. برخی از این خدمات عبارتند از:

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

5.2.1 سامانه های پرسش و پاسخ

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

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

6.2.1 ترجمه ماشینی

نیازهای ارتباطی با کشورهای انگلیسی زبان به منظور پژوهش های دانشگاهی، ارتباطات تجاری و ... که از طریق ایمیل انجام می گردد، نیازمند سرویس ترجمه متون می باشد تا از این طریق امکان نگارش و یا اصلاح متون ترجمه شده را فراهم نماید. از مواردی که از طریق یکپارچگی سرویس پست الکترونیک با سرویس ترجمه ماشینی می توان بدان اشاره کرد شامل موارد زیر می باشد:

  • ترجمه مستقیم ایمیل های دریافتی غیر فارسی زبان
  • امکان ترجمه ایمیل نوشته شده به زبان های دیگر و ارسال آن به مقصد مورد نظر
  • امکان تصحیح اشکالات نوشتاری در متن ایمیل
  • پیشنهاد مترادفات واژگان نوشته شده به منظور حفظ زبان و دستور آن

7.2.1 ویرایشگر املایی Spell Check

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

  • جستجو در متن پست الکترونیک به منظور یافتن اشکالات نگارشی
  • امکان ارائه پیشنهادات مختلف با توجه به مکان قرار گیری کلمه در جمله
  • ارائه واژه ی کامل در مواردی که بخشی از یک کلمه نگارش نشده و یا از حروف بیشتری استفاده شده باشد
  • امکان جایگزینی کلمات نادرست با پیشنهادات ویرایشگر املایی در جمله و یا تمام متن
0

۱.۱ خدمات قابل ارائه در حوزه یکپارچگی طرح جویشگر با خدمت رایانامه

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

  1. ارائه خدمت رایانامه در کنار خدمات عمومی جستجو، از طریق یکپارچی سامانه ورود یکتا (Single Sign-On)
  2. ارائه خدمت جستجوی سفارشی پیشرفته در متون و پیوست های رایانامه ها با استفاده از تجربه و توان فعالان حوزه جستجوی بومی
  3. یکپارچگی با خدمت درایو مجازی به منظور بررسی دسترسی‌های ورود به سامانه ورود یکتا، ایجاد امکانات و قابلیت‌های فراوان مانند ارسال رایانامه در درایو با پیوست کردن مستندات موجود در آن، پیشنهاد پیوست‌های بزرگ در رایانامه به تبدیل آن به یک پیوند در درایو، مشاهده و یا ویرایش انواع پیوست‌های رایانامه و...
  4. یکپارچگی با خدمات پیام‌رسان و شبکه‌های اجتماعی، مانند ارسال و دریافت رایانامه در پیام‌رسان و...
  5. یکپارچگی با سامانه های پرسش و پاسخ
  6. استفاده از انواع ابزارهای پردازش زبان فارسی قوی، اعم از خطایاب و... به منظور بهبود تجربه کاربری خدمت رایانامه
  7. بهره بردن از سامانه‌های تبلیغاتی هوشمند موفق قرارداده شده در طرح، در خدمت رایانامه
  8. ارائه خدمات نقشه، به طوری که مثلاً می‌توان در کنار نشانی‌هایی که در یک رایانامه وجود دارد، نقشه آن محل به کاربر نشان داده شود.
  9. یکپارچگی با خدمات مکان محور، به نحوی که مثلاً هنگامی که در یک محل خاص قرار دارد و در رایانامه به یک موضوع اشاره شده است، به طور خودکار مکان‌ها و خدمات مرتبطی معرفی شوند که نزدیک او هستند.
  10. ارائه خدمت انتقال ساده و امن پول با استفاده از رایانامه
  11. پیشنهاد ترجمه متون و پیوست‌های رایانامه از زبان‌های دیگر به فارسی و برعکس از طریق ترجمه ماشینی
  12. ارائه خدمت ویرایشگر املایی متن در رایانامه
  13. استفاده از گراف دانش فارسی برای دسته بندی خودکار رایانامه‌ها
  14. استفاده از ضدبدافزارهای بومی قوی برای بررسی پیوست‌های رایانامه‌ها
  15. یکپارچگی با انواع خدمات مرتبط با بلیط حمل و نقل (هواپیما، اتوبوس، قطار و...)، فرهنگی (سینما، تئاتر و...)، ورزشی (مسابقات و...) و انواع رویدادهای گوناگون، در ترکیب با خدمت تقویم، به نحوی که هنگامی که یک کاربر رایانامه خرید بلیط را دریافت می‌کند، به طور خودکار در فواصل زمانی مورد نظر به او اطلاع‌رسانی و یادآوری شود (در نسخه وب و یا همراه).
  16. اتصال به خدمات یادداشت برداری و تعریف و مدیریت کارها، مانند تسکولو و یا نمونه‌های خارجی Trello، Evernote و... ، به طوری که کاربر بتواند یک رایانامه یا بخشی از آن را (همراه با تاریخ، فرستنده و غیره) به عنوان یک مطلب یا کار در خدمات مربوطه وارد کند.
  17. ارائه ارتباط باز برای خدمات دیگر مدیریت رایانامه‌ها مانند Boomerang که می‌توانند خدمات متنوع و فراوانی علاوه بر خدمات پایه‌ای موجود به به کاربران ارائه بدهند: مانند امکان آگاهی از خوانده شدن رایانامه ارسالی، یادآوری رایانامه‌ها در زمان یا مکانی دیگر و...
  18. امکان ارسال انواع ایموجی، استیکر و گیف‌های گوناگون درون رایانامه، با استفاده از خدمات‌دهندگان جانبی مانند Giphy یا این‌گونه محتواهای موجود در پیام‌رسان‌ها
  19. امکان یکپارچگی یا ترکیب شدن خدمات رایانامه سازمانی یا رایانامه عمومی با نرم‌افزارهای گردش کار و اصطلاحاً اتوماسیون وجود دارد (که نهایتاً ممکن است مانند اغلب کشورها، به کاهش بوروکراسی اداری و جایگزینی خدمت رایانامه به جای آن نرم‌افزارها بیانجامد).
  20. تعامل و یکپارچگی با انواع نرم‌افزارهای مدیریت ارتباط با مشتریان و یا کارکنان (خارجی و داخلی) به نحوی که ارتباط رایانامه‌ای آنها و نیز خدمت تقویم برای آنها در دسترس و قابل مدیریت و تحلیل باشد.
  21. استفاده از خدمات تبدیل رایانامه‌ها به قالب‌های pdf، word و غیره با هدف خروجی‌های مختلفی مانند چاپ، ارسال و...
  22. قابلیت استفاده از انواع دیگر خدمات رمزنگاری و امضای دیجیتال برای رایانامه‌ها
  23. امکان اتصال خدمات تماس تلفنی یا پیامکی، هنگامی که یک شماره تلفن در رایانامه وجود دارد.
  24. یکپارچگی با خدمات آب و هوایی، به نحوی که مثلاً بتوان آب و هوای کنونی و آینده مکان‌های گوناگونی که در یک رایانامه آمده را مشاهده کرد.
  25. اتصال دو طرفه به خدمات نگهداری و تغییر و به‌روزرسانی مخاطبان هر کاربر
  26. امکان یکپارچگی با خدمات چندرسانه‌ای صوتی و تصویری، برای امکان پخش محتوای آنها درون رایانامه

و انواع یکپارچگی‌های ریز و درشت دیگری که می‌توان با کسب و کارهای گوناگون به انجام رساند...

 

در پایان، می‌توان برای الگوگیری به انواع یکپارچگی‌های موجود در سرویس Outlook.com اشاره کرد که یکی از بهترین و موفق‌ترین نمونه‌ها در این حوزه است:

Add-ons of outlook.com
حجم: 1.43 مگابایت