رزومه و سوابق

من کیم و چیکار می کنم؟
سعید بستان دوست هستم، از سال 1385 برنامه نویسی می کنم و به عنوان سیس ادمین گنو/لینوکس فعالیت دارم. استفاده از نرم افزار آزاد اولویتم هست و با هر چیزی که آزاد نباشه سعی می کنم کار نکنم. در این سالها فعالیت های مختلفی رو به صورت حرفه ای دنبال کردم، پروژه های زیادی رو انجام دادم و در حال حاضر در حوزه زیرساخت، رایانش ابری، توسعه و دوآپس فعالیت دارم. سعی می کنم بروز باشم و از یادگیری و کار با تکنولوژی های جدید لذت میبرم.
کارایی که الان می کنم:
طراحی و مدیریت پروژه و مهندسی نرم‌افزار
راه اندازی و مدیریت زیرساخت، دیتاسنتر و مجازی‌سازی سرور
رایانش ابری، راه اندازی و مدیریت سرویس های ابری
توسعه زیرساخت و نرم افزار با پیاده سازی نگرش و فرآیند DevOps
امنیت و پایداری زیرساخت، اطلاعات، شبکه و نرم‌افزار
پیاده‌سازی و مدیریت سرورهای گنو/لینوکس
کارایی که قبلا انجام دادم:
تحلیل نرم‌افزار، سیستم‌ها و تست نفوذ
طراحی و برنامه‌نویسی نرم‌افزارهای سیستمی
طراحی وبسایت و برنامه‌نویسی نرم‌افزارهای تحت وب
سئو و بهینه‌سازی وبسایت برای موتورهای جستجو
پروژه‌های نرم‌افزاری
سیستم‌عامل متن‌باز زاگرس(ZagrOS): در سال 1391 شروع به طراحی و پیاده‌سازی این پروژه نمودم. زاگرس سیستم‌عاملی است که از دیگر سیستم‌عامل‌های موجود مستقل بوده و پیاده‌سازی آن از طرح‌های ذهنی خودم و منابع طراحی سیستم‌عامل می‌باشد. با توجه به گسترده بودن مباحث طراحی سیستم‌عامل و عدم زمان کافی جهت توسعه آن، این پروژه به عنوان یک پروژه پژوهشی ثبت گردیده که همه می‌توانند به توسعه و گسترش آن کمک نمایند.
زبان برنامه نویسی: Assembly
سیستم مدیریت محتوای وب اطلس(AtlasCMS): این پروژه را در سال 1392 شروع به طراحی و اجرا نمودم و هدف از طراحی آن، پیاده‌سازی سیستم مدیریت محتوایی با دیدگاه امنیت در اولویت به صورت کاملا شی‌گرا می‌باشد.
زبان برنامه نویسی: PHP, MySQL, XHTML, CSS, JavaScript, AJAX
خزنده وب و موتور جستجو(MiniCrawler): یکی از پروژه‌های پژوهشی و آزمایشی من جهت بررسی عملکرد سئو و بهینه‌سازی وبسایت به طراحی این نرم‌افزار تبدیل شد. این سیستم نمونه‌ای از فعالیت یک موتور جستجو را پیاده‌سازی می‌نماید.
زبان برنامه نویسی: PHP, MySQL, XHTML, CSS
نرم‌افزار KlimaConnect: اواخر سال 1393 برای ارتباط سیستم‌عامل‌های مختلف با یکدیگر و دسترسی به خط فرمان آنها تصمیم گرفتم نرم‌افزاری کراس‌پلتفرم برای رفع این نیاز طراحی نمایم. نسخه سرور و کلاینت این نرم‌افزار بسیار سبک بوده و روی تمامی سیستم‌عامل‌های استاندارد POSIX قابل اجرا می‌باشد.
زبان برنامه نویسی: C, CPP – پلتفرم: POSIX-support
نرم‌افزار NetHawk: پس از ارایه پروژه KlimaConnect در دانشگاه و مورد توجه قرار گرفتن آن، تصمیم گرفتم این پروژه را گسترش دهم. این گسترش شامل تغییر ساختار برنامه به ساختار شی‌گرا، رمزگذاری اطلاعات، امکان اتصال گروهی سیستم‌ها و افزایش امکانات نرم‌افزار بود که در نهایت به عنوان پروژه جدیدی به ثبت رسید.
زبان برنامه نویسی: C, CPP – پلتفرم: POSIX-support
کتابخانه برنامه‌نویسی libreMPC: یکی از مسائل محاسبات و پردازش اعداد، پردازش اعداد بسیار بزرگ است که با توجه به محدودیت فضای ثبات‌ها برای پردازش این اعداد نیازمند پیاده‌سازی الگوریتم‌هایی می‌باشیم که برای حل این مسئله به طراحی این کتابخانه پرداختم. با کمک توابع موجود در این کتابخانه میتوان اعداد بزرگ را با هر تعداد رقم پردازش نمود.
زبان برنامه نویسی: C, CPP – پلتفرم: Unix-like
کتابخانه برنامه‌نویسی X87Math: یکی دیگر از مسائل محاسبه و پردازش اعداد، پردازش اعداد ممیزشناور می‌باشد. این کتابخانه را طوری طراحی نمودم که با استفاده از واحد FPU پردازنده‌های Intel اعداد ممیزشناور را با سرعت بالا و مستقل از الگوریتم‌های نرم‌افزاری پردازش نماید.
زبان برنامه نویسی: Assembly, C, CPP – پلتفرم: Unix-like
کتابخانه برنامه‌نویسی libreCode: طی چندین سال برنامه‌نویسی به زبان سی و اجرای چندین پروژه و مشخص نمودن توابع مورد نیاز برنامه‌نویسی در زمینه پردازش رشته‌ها، رمزنگاری، هش و پردازش اعداد، کتابخانه‌ای طراحی نمودم که این نیازهای برنامه‌نویسی را رفع نماید. این کتابخانه یکی از کتابخانه‌های کاربردی برای برنامه‌نویسان نرم‌افزارهای تحت شبکه می‌باشد.
زبان برنامه نویسی: C, CPP – پلتفرم: Unix-like
پروژه‌های تحلیل نرم‌افزار
تحلیل سیستم مدیریت محتوای وب Datalife Engine 9.7: تحلیل و کشف آسیب‌پذیری در فایل preview.php از نوع Remote Code Execution که به نفوذگر اجازه می‌دهد بدون تصدیق سطح دسترسی، دستورات سیستمی را در سیستم هدف اجرا نماید.
تحلیل سیستم انجمن ساز MyBB 1.8.2: تحلیل و کشف آسیب‌پذیری در یکی از توابع اصلی سیستم از نوع Remote Code Execution که به نفوذگر اجازه می‌دهد با دور زدن چند محدودیت، بدون تصدیق سطح دسترسی، دستورات سیستمی را در سمت هدف اجرا نماید.
تحلیل کتابخانه توابع زبان PHP 5.X: با کشف آسیب‌پذیری ShellShock در BASH و عدم محدودیت تابع mail در PHP، اکسپلویتی طراحی نمودم که بتوان محدودیت‌های اعمال شده توسط PHP را دور زده و دستورات سیستمی اجرا نمود.
تحلیل کتابخانه برنامه‌نویسی glibc 2.12.1: در چند مرحله تحلیل این کتابخانه دو آسیب‌پذیری بسیار خطرناک کشف نمودم که نفوذگر می‌تواند با استفاده از کتابخانه‌های این مجموعه بدون تصدیق سطح دسترسی، دستورات سیستمی را با سطح دسترسی root اجرا نماید.
تحصیلات
اخذ کارشناسی نرم‌افزار از دانشکده مهندسی شهید باهنر شیراز
  • دبیر انجمن علمی بخش کامپیوتر 1394-1392
  • ارایه پروژه در دو جشنواره ملی اختراعات دانشجویی
  • رتبه سوم دانشجویان نمونه 1394
مهارتهایی که دارم
رایانش ابری:
طراحی و پیاده سازی زیرساخت ارایه سرویس‌های ابری
راه اندازی بسترهای ذخیره‌سازی ابری
راه اندازی سیستم‌های مدیریت و نظارت خودکار خدمات ابری
راه اندازی و مدیریت ابرهای خصوصی
پلتفرم‌های OpenShift, OpenQRM, OpenStack
مجازی سازی:
مسلط به پلتفرم مجازی‌سازی QEMU/KVM و آشنایی با VMware
مسلط به پلتفرم Docker و توانایی کار با LXC/LXD
مسلط به پلتفرم‌های تجمیع شده RHEV, oVirt, Proxmox
پیاده‌سازی و مدیریت سرورهای مجازی و هاستینگ
کنترل و خطایابی نرم‌افزارهای سیستمی در محیط مجازی
ذخیره و بازیابی اطلاعات:
راه اندازی و مدیریت ذخیره‌سازی ابری و توزیع شده
راه اندازی و مدیریت RAID های سخت‌افزاری و نرم‌افزاری
مدیریت سیستم‌فایل و بازیابی اطلاعات
راه اندازی ذخیره‌سازی نرم‌افزاری SDS
مسلط به Ceph, ZFS, GlusterFS, DRBD, LVM
مرکز داده:
راه اندازی و مدیریت شبکه، ذخیره‌سازی و پردازش مراکز داده
راه اندازی سرویس‌های توزیع بار، تحمل خطا، دسترس پذیری و بازیابی بحرانی
راه اندازی سرویس‌های مانیتورینگ و مدیریت دیتاسنتر
پیاده سازی ابزارهای توسعه مراکز داده
دسترس پذیری بالا و تحمل خطا:
پیاده سازی و ارایه راه کارهای HA و Fail-over
مسلط به Pacemaker, Corosync, Heartbeat, Keepalived
راه اندازی و تنظیم Apache, Nginx, HAProxy
سیستم‌عامل:
توزیع‌های گنو/لینوکس(GNU/Linux) و BSD
پیاده‌سازی و مدیریت سرور و کلاینت‌های Unix-like
سیس ادمین گنو/لینوکس از سال 1385
مسلط به توزیع‌های Red Hat-base و Debian-base
خودکار سازی فناوری اطلاعات:
خودکار سازی مراحل توسعه تا تحویل زیرساخت و نرم افزار
خودکار سازی توسعه زیرساخت با ابزارهای MAAS, Spacewalk, Foreman
پیاده‌سازی CI/CD و خودکار سازی Workflow با ابزار Jenkins
مسلط به ابزار مدیریت تنظیمات و خودکار سازی Ansible
ابزارهای مانیتورینگ:
راه اندازی و به کارگیری Prometheus و Zabbix
شبکه:
راه‌اندازی فایروال‌های سخت‌افزاری و نرم‌افزاری
مسلط به تجهیزات Netgate
آشنایی با تجهیزات Cisco, HPE, Dell
مسلط به فایروال لینوکس netfilter iptables
مسلط به فایروال pfSense
امنیت و تست نفوذ:
ارایه راه کارهای ایمن سازی شبکه و نرم‌افزارهای تحت وب
تحلیل نرم‌افزار، سیستم‌ها و شبکه‌های کامپیوتری
تست نفوذ و کشف آسیب‌پذیری
طراحی و پیاده‌سازی نرم‌افزارهای امنیتی و کنترل جریان داده
توانایی به کارگیری متدولوژی‌های NIST, OWASP, STIG
برنامه‌نویسی سیستمی:
مسلط به زبان‌های Assembly, C در جهت طراحی و توسعه نرم‌افزارهای سیستمی
پیاده‌سازی نرم‌افزارهای سیستمی و کاربردی کراس‌پلتفرم
برنامه‌نویسی تحت شبکه(Socket)
برنامه‌نویسی چندپردازه‌ای و چندنخی
برنامه‌نویسی رویدادگرا و مدیریت سیگنال
زبان های مفسری:
مسلط به زبان‌های PHP و Python
طراحی و برنامه نویسی API و نرم‌افزارهای کاربردی
طراحی و توسعه نرم‌افزارهای ایده محور
پایگاه داده:
مسلط به MySQL و MariaDB
طراحی و توسعه سیستم‌های مبتنی بر پایگاه داده
پیاده سازی راه کارهای High Availability
مسلط به Galera Cluster
تکنولوژی وب:
مسلط به HTML5, XML, CSS3, AJAX و تکنولوژی‌های تحت وب
طراحی و توسعه نرم‌افزارهای وب در محیط CGI
طراحی و توسعه وبسایت‌های واکنش‌گرا(Responsive)
تولید اپلیکیشن وبسایت‌ها و فروشگاه‌های اینترنتی
طراحی و برنامه‌نویسی سیستم‌های مدیریت محتوای وب