

همهگیری کرونا باعث شد تا تقاضای دورکاری روزبهروز افزایش یابد. امروزه، مشاغل و کسبوکارهایی که بهدنبال سودآوری بیشتر هستند، سعی میکنند تمام یا بخشی از فعالیتهای تجاری خود را دیجیتالی و تماممکانیزه کنند. به همین دلیل است که بسیاری از شرکتها بهدنبال توسعهدهندگان واجد شرایط فرانتاند و بکاند هستند تا زیرساختهای مناسب برای انجام فعالیتهای آنلاین را برای آنها آماده کنند. در حال حاضر، توسعهدهندگان زبان برنامهنویسی سیشارپ بازار کار خوبی دارند، با اینحال، استخدام یک برنامهنویس ماهر کار سادهای نیست. هماکنون بسیاری از توسعهدهندگان از راه دور کار میکنند و مایل به همکاری با شرکتها و استارتاپها در قالب پروژهای هستند. از اینرو، دورکاری نیز بهعنوان یکی از اشکال اشتغال مورد قبول شرکتها و افراد قرار گرفته است؛ بهطوری که انتخابها در مورد استخدام دیگر محدود به حضور فیزیکی متخصصان در محل کار نیست. در این مقاله مجموعه پرسشها و پاسخهایی را مطالعه میکنید که موردنیاز هر دو گروه کارفرمایان و برنامهنویسان است. اگر کارفرمایی هستید که قصد استخدام یک توسعهدهنده سیشارپ را دارد، این پرسشها کمک میکنند تا فرد شایستهای را انتخاب کنید. اگر توسعهدهنده سیشارپ هستید، این مجموعه پرسشها نشان میدهند، در جلسات مصاحبه باید آمادگی پاسخگویی به چه پرسشهایی را داشته باشید.
shabake-mag.jpg
اصلیترین پرسشی که کارفرمایان مطرح میکنند این است که چگونه برای پروژههای آینده خود یک توسعهدهنده سیشارپ را استخدام کنند. اگر بهدنبال یک توسعهدهنده سیشارپ هستید، باید موارد زیادی را در نظر بگیرید، از جمله:
لازم است بدانید که این زبان برنامهنویسی کدام یک از نیازهای پروژه شما را برطرف میسازد.
لازم است یاد بگیرید که چگونه مهارتهای نرم و سخت یک توسعهدهنده را در طول مصاحبه ارزیابی کنید.
لازم است بدانید که استخدام یک برنامه نویس سیشارپ در مکانهای مختلف که روشهای استخدامی متفاوتی دارند، چقدر هزینهبر است.
نیازی نیست که زمان زیادی را صرف جستوجوی این اطلاعات کنید، ما مهمترین مطالب را در این مقاله گردآوری کردهایم تا در دسترس شما قرار دهیم. برای آنکه بدانید چگونه یک توسعهدهنده سیشارپ واجد شرایط را پیدا و استخدام کنید، توصیه میکنیم که ادامه مطلب را بخوانید.
مطلب پیشنهادی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
آشنایی با زبانهای برنامهنویسی
بازار کار کدام زبان برنامهنویسی داغتر میشود؟
محبوبیت سیشارپ چه تاثیری بر فرآیند استخدام دارد؟
طبق مطالعه نشریه تخصصی IEEE Spectrum در سال 2021، سیشارپ رشد قابلتوجهی داشته و ششمین زبان برنامهنویسی محبوب دنیا است. اکوسیستم این زبان برنامهنویسی در حال رونق است. برنامهنویسان از سیشارپ برای ساخت و توسعه وبسایتها، نرمافزارهای سفارشی، بازیها و برنامههای موبایل استفاده میکنند. سیشارپ بهدلیل سادگی که لازمه برنامهنویسی مدرن و مورد توجه تیمهای توسعهدهنده بزرگ است، انتخاب خوبی برای ساخت برنامههای کاربردی قدرتمند در کوتاهترین زمان ممکن است. به همین دلیل است که همطراز با پایتون در صدر فهرست زبانهای برنامهنویسی محبوب قرار دارد. علاوه بر این، ترکیب نحوی ساده، خوانایی بالا، پشتیبانی توسط بزرگترین چارچوب دنیای برنامهنویسی (داتنت) و ارائه بهترین الگوی طراحی باعث شده تا بازار کار خوبی برای متخصصان بهوجود آورد. با توجه به محبوبیت فزاینده زبان سیشارپ، درخواست برای توسعهدهندگان مسلط به این زبان در حال افزایش است، اما برنامهنویسان حرفهای روی پروژههای مختلفی در حال کار هستند، بنابراین یافتن توسعهدهندگان واجد شرایط و در دسترس روزبهروز سختتر میشود.
بهترین موارد مصرف سیشارپ چیست؟
سیشارپ از روشها و الگوهای عمومی که امنیت و عملکرد را بهبود میبخشند، پشتیبانی میکند. با اینحال، اگر میخواهید اپلیکیشنهای وب پیچیده بسازید، بهتر است جاوا را برای توسعه بکاند انتخاب کنید؛ در حالی که سیشارپ بیشتر در زمینه توسعه نرمافزارهای کاربردی، بازیهای ویدیویی و توسعه موبایل استفاده میشود، اما ترکیب سیشارپ و آنگولار (Angular) قدرت زیادی در اختیار برنامهنویسان قرار میدهد. توسعهدهندگان از سیشارپ در ارتباط با پروژههای زیر استفاده میکنند:
ساخت اپلیکیشنهای تجاری پیشرفته.
ساخت اپلیکیشنهایی که قرار است روی سرور اجرا شوند.
ساخت بازیهای ویدیویی حرفهای.
ساخت برنامههای کاربردی وبمحور.
ساخت برنامههای مخصوص سیستمعامل ویندوز و مک.
ساخت برنامههای مخصوص iOS و اندروید از طریق پلتفرم زامارین (Xamarin).
ساخت رابطهای کاربردی با استفاده از HTML5 و اتصال آن به برنامههای سیشارپ.
توسعهدهندگان سیشارپ از پلتفرمهای مختلفی مثل مایکروسافت ویژوال استودیو، ویژوال استودیو کد، آژور و نمونههای مشابه برای ساخت برنامههای کاربردی استفاده میکنند. همانگونه که اشاره شد، بزرگترین نقطه قوت سیشارپ پشتیبانی چارچوب داتنت از این زبان همهمنظوره است.
مردم اغلب داتنت را با سیشارپ اشتباه میگیرند، زیرا این اصطلاحات با یکدیگر عجین شدهاند. با این حال، تفاوت در این است که سیشارپ یک زبان برنامهنویسی و داتنت چارچوبی است که این زبان برنامهنویسی از آن استفاده میکند. این ترکیب جادویی به توسعهدهندگان فولاستک کمک میکند از Asp.Net Core برای بکاند و سیشارپ و VB.NET برای توسعه فرانتاند استفاده کنند.
مهندسان سیشارپ چه کاری انجام میدهند؟
بهطور معمول، برنامهنویسان مسلط به سیشارپ که قصد استخدام در شرکتی را دارند بهعنوان مهندسان نرمافزار جذب میشوند. از اینرو، شرح وظایفی بیشتر از یک برنامهنویس ساده دارند. از مهمترین وظایف مهندسان سیشارپ به موارد زیر باید اشاره کرد:
عملیات توسعه (توسعه وب، توسعه نرمافزارهای کاربردی یا سازمانی) مثل کدنویسی، آزمایش، طراحی، و تجزیهوتحلیل نرمافزارها.
توسعه یا ادغام پلتفرمهای نرمافزاری در راستای پاسخگویی به نیازهای داخلی شرکت.
ارزیابی برنامههای دسکتاپ نوشتهشده به زبان سیشارپ.
ساخت و نگهداری برنامههای کلاینت-سرور و وب مبتنی بر سیشارپ، چارچوب داتنت، پلتفرم ASP.NET، SQL و فناوریهای مرتبط.
انجام آزمایشهای تست واحد (Unit Test)، تست استاندارد، بررسی کد و اشکالزدایی کدها.
در مورد مهارتهای نرم، یک توسعهدهنده واجد شرایط سیشارپ باید ضربالاجلها را رعایت کند، با کارکنان فنی، غیرفنی و مشتریان تعامل داشته باشد تا نیازهای برنامههای کاربردی را بهخوبی درک کند تا بتواند نمونههای اولیه تجاری موفقی بسازد.
در مصاحبههای استخدامی چه پرسشهایی مطرح میشوند؟
در حالت کلی، پرسشهایی که مطرح میشوند به دانش مصاحبهکننده و تسلط او بر این زبان بستگی دارد، اما بهعنوان یک قاعده کلی، باید آمادگی پاسخگویی به پرسشهای زیر را داشته باشید:
سوالات مصاحبه برنامهنویسی سیشارپ در سطح مقدماتی
زبان برنامهنویسی سیشارپ را معرفی کنید؟
تفاوت زبان برنامهنویسی C# با زبان C چیست؟
مفهوم کلاس در زبان برنامهنویسی C# چیست؟
انواع کلاس در C# کدامند؟
مفهوم شیء در C# چیست؟
منظور از سازنده در سیشارپ چیست؟
منظور از آرایههای دندانهدار در سیشارپ چیست؟
کاربرد عبارت using در سیشارپ چیست؟
تسلسل در سیشارپ به چه معنا است؟
زمان اجرای زبان مشترک (Common Language Runtime) به چه معنا است؟
منظور از بازیابی حافظه در سیشارپ چیست؟
منظور از کدهای مدیریتشده و مدیریتنشده چیست؟
منظور از Interface در برنامهنویسی سیشارپ چیست؟
تفاوت میان کلاس انتزاعی و اینترفیس چیست؟
تفاوتهای دو کلمه کلیدی ref و out چیست؟
متدهای توسعه (Extension Methods) در سیشارپ چه متدهایی هستند؟
منظور از توابع Boxing و Unboxing در زبان برنامهنویسی سیشارپ چیست؟
ژنریکها (Generics) در سیشارپ چه هستند؟
تفاوت Array با ArrayList در سیشارپ چیست؟
وراثت در سیشارپ به چه معنا است و آیا سیشارپ از وراثت چندگانه پشتیبانی میکند؟
آیا در سیشارپ امکان اجرای چند بلوک Catch وجود دارد؟
آیا امکان استفاده از کلمه کلیدی this درون یک متد ایستا وجود دارد؟
سوالات مصاحبه برنامهنویسی سیشارپ در سطح پیشرفته
تفاوت میان عملگر تساوی (==) و متد Equals() در زبان سیشارپ چیست؟
تفاوت میان مقیدسازی دیرهنگام (Late Binding) و انقیاد زودهنگام چیست؟
رایجترین نوعهای استثناها در .NET را نام ببرید.
نام کلاسی در سیشارپ که تمام کلاسها از آن مشتق میشوند، چیست؟
منظور از رفلکشن در سیشارپ چیست؟
تفاوت System.Array.CopyTo() و System.Array.Clone() چیست؟
منظور از Property در سیشارپ چیست؟
کنترل سفارشی و کنترل کاربر در سیشارپ چیست؟
ارثبری یک کلاس به یک کلاس دیگر در سیشارپ چگونه انجام میشود؟
استثناهای سفارشی در سیشارپ به چه معنا است؟
Object Pool در .NET چیست؟
تفاوت میان Constant و Read Only در سیشارپ چیست؟
کلاسهای جزئی در سیشارپ به چه مفهومی اشاره دارد؟
Delegate در سیشارپ چیست؟
منظور از آرایهها در سیشارپ چیست؟
اندیسگذار در سیشارپ چیست؟
چه روشهای مختلفی برای سربارگذاری متدها در سیشارپ وجود دارد؟
تفاوت دو کلاس String و StringBuilder در سیشارپ چیست؟
تفاوت میان یک Struct و یک کلاس در سیشارپ چیست؟
نوع شمارشی در سیشارپ چیست؟
سوالات کاربردی و عملی برنامهنویسی سیشارپ
معکوس کردن ترتیب کلمهها در سیشارپ چگونه انجام میشود؟
برنامهای که یک رشته را در سیشارپ معکوس کند چگونه نوشته میشود؟
برنامه پیدا کردن زیررشته خاصی از یک رشته در سیشارپ چگونه نوشته میشود؟
چگونه پالیندروم بودن یک رشته کاراکتر در سیشارپ را بررسی میکنید؟ (پالیندروم به کلمه، رشته یا اعدادی گفته میشود که از دو طرف (راست به چپ و چپ به راست) دقیقاً به یک شکل خوانده میشوند).
برنامهای بنویسید که اول بودن یک عدد صحیح مثبت در سیشارپ را تشخیص دهد.
بهعنوان یک برنامه نویس سیشارپ حرفهای نباید مشکلی از بابت پاسخگویی به این نمونه پرسشها داشته باشید، زیرا تمامی این پرسشها بخشی از کار عملی شما در هنگام کدنویسی هستند.
اطلاعات حقوق و دستمزد چگونه میتواند برای فرآیند استخدام مفید باشد؟
برای محاسبه هزینههای تقریبی توسعه، با در نظر گرفتن حقوق، مالیات، کارمزد، مزایا و حقوق مرخصی، لازم است میانگین حقوق توسعهدهندگان سیشارپ را بدانید. دانستن میانگین حقوق مربوط به توسعهدهندگان سیشارپ در سرتاسر جهان به این دلیل مفید است که اگر زمانی تصمیم گرفتید با شرکتهای مستقر در کشورهای مختلف همکاری کنید، اطلاعات کلی در اختیار خواهید داشت. با تجزیهوتحلیل میانگین حقوق، متوجه میشوید کدام مدل استخدام و کدام کشور دستمزد خوبی به توسعهدهندگان سیشارپ میدهد.
چگونه مهارتهای توسعهدهندگان سیشارپ را ارزیابی کنیم؟
همه مدلهای استخدام، فرصتی برای برقراری ارتباط با توسعهدهندگان سیشارپ و ارزیابی مهارتهای سخت و نرم آنها را فراهم میکنند. پس لازم است بدانیم که یک توسعهدهنده سیشارپ باید چه مهارتهایی داشته باشد.
مهارتهای سخت توسعهدهنده سیشارپ
دانش کافی در ارتباط با ترکیب نحوی و کدنویسی دقیق و تمیز در سیشارپ.
دانش کافی در ارتباط با چارچوب داتنت.
آشنایی با نحوه کدنویسی بکاند و فرانتاند با سیشارپ.
امروزه، بیشتر برنامهنویسان در ارتباط با جاوااسکریپت، HTML و CSS دانش اولیه دارند.
بررسی این موضوع که آیا توسعهدهنده از مهارتهای فنی مورد نیاز شما برخوردار است یا خیر، مهم و حیاتی است. کار را با پرسیدن سوالات عمومی در مورد زبان برنامهنویسی سیشارپ آغاز کنید تا بتوانید تجربه شغلی داوطلب را ارزیابی کنید.
شما میتوانید با پرسیدن سوالات مربوط به مهارتهای فنی، داوطلب را در طول مصاحبه ارزیابی کنید. علاوه بر این، انجام تستهای کوتاه برنامهنویسی بهصورت زنده یا انجام یک تست کوتاه که مصاحبهشونده بتواند در خانه آماده کند، میتواند در ارزیابی مهارتهای برنامهنویسی او به شما کمک کند.
مهارتهای نرم برنامه نویس سیشارپ
مهارتهای کار گروهی.
تمرکز بر نتایج.
توانایی سازگاری با شرایط.
وقتشناسی.
احترام به سایر کارکنان و تمایل به پایبندی به اخلاق کاری.
تجربه در توسعه نرمافزار چابک (Agile Software Development).
این فهرست میتواند طولانیتر باشد، زیرا مهارتهای نرم شامل ویژگیهای مثبت فرد هستند که به او کمک میکنند زبان مشترکی پیدا کند و یک کار باکیفیت ارائه دهد. علاوه بر این، تحقیقات لینکدین نشان میدهد که برای اکثر کارفرمایان، مهارتهای نرم مهمتر از مهارتهای سخت هستند.
چگونه یک توسعهدهنده سیشارپ استخدام کنیم؟
مهم نیست به یک توسعهدهنده تماموقت، پارهوقت، مهندس درونسازمانی یا دورکار نیاز داشته باشید، در همه موارد راهکارهای مختلفی برای استخدام وجود دارند. پس در ادامه نگاهی عمیقتر به این موضوع میاندازیم.
استخدام توسعهدهندگان سیشارپ بر اساس موقعیت مکانی
بر اساس موقعیت جغرافیایی که در آن زندگی میکنید، این گزینهها را در اختیار دارید:
جذب توسعهدهندگان محلی.
جذب توسعهدهندگان ساکن در شهرهای مختلف (یا در موارد خاص کشورهای دیگر).
هر دو گزینه مزایا و معایبی دارند که در هنگام انتخاب یک مهندس نرمافزار باید در نظر گرفته شوند.
استخدام توسعهدهندگان محلی
در این مورد، کارکنان در همان کلانشهری زندگی میکنند که کارفرما زندگی میکند. این نوع استخدام و اشتغال مزایای زیادی برای هر دو طرف دارد.
میتوانید شخصاً با برنامهنویسان سیشارپ ملاقات کنید.
امکان برگزاری جلسات در محل کار وجود دارد.
برنامهنویس میتواند بهطور مستقیم با مشتریان شرکت در ارتباط باشد.
برنامهنویس تحت قوانین شرکت وظایف خود را انجام میدهد.
استخدام توسعهدهنده ساکن در شهرها یا کشورهای مختلف
ابتدا لازم است تفاوت میان استخدام توسعهدهنده ساکن در شهر یا کشور دیگری را بررسی کنیم. در هر دو حالت، برنامهنویس بهطور فیزیکی در محل شرکت وجود ندارد، اما تفاوت اصلی در این است که توسعهدهندگان فرامرزی بر مبنای قوانین حاکم در آن کشور با شما همکاری خواهند داشت که مسائل خاص خود را دارند. بهطور مثال، ممکن است دستمزد خود را به دلار دریافت کنند، دستمزد بیشتری درخواست کنند تا کسری مالیات را جبران کند و بهاحتمال زیاد باید قراردادها را در فرمت بینالمللی و به زبان انگلیسی بنویسید. از اینرو، استخدام این گروه از برنامهنویسان باید واقعا توجیه اقتصادی داشته باشد. در نقطه مقابل، برنامهنویسان ساکن در شهرهای مختلف ایران قرار دارند که تابع قوانین کار ایران هستند و تعامل با آنها سادهتر است.
مزیت اصلی استخدام مهندسان سیشارپ برونشهری این است که میتوانید بهترین و مناسبترین فرد را انتخاب کنید، زیرا استعدادهای برتر قرار نیست همگی در یک شهر باشند و برخی از آنها بهدلیل مشکلات مختلف ترجیح میدهند در شهر خود بمانند و دورکاری کنند. بنابراین، گاهیاوقات استخدام برنامهنویسان برونشهری مزایای خوبی برای شرکت بههمراه دارد.
استخدام توسعهدهنده سیشارپ بر اساس نوع استخدام
بسته به نوع استخدام، گزینههای زیر را در اختیار دارید:
استخدام توسعهدهندگان درونسازمانی.
استخدام توسعهدهندگان سیشارپ از طریق پیمانکاری.
استخدام توسعهدهندگان از طریق موسسات کاریابی یا شرکتهای برنامهنویسی.
استخدام آزادکارها.
همه این استخدامها مزایا و معایبی دارند. در ادامه هر یک از آنها بررسی میکنیم تا بتوانید با درک بهتر گزینه مناسب با نیازهای خود را انتخاب کنید.
استخدام یک توسعهدهنده سیشارپ درونسازمانی
حضور مهندسان کاربلد درونسازمانی، برای توسعه بنیادی و انجام مهمترین وظایف، همیشه بهترین راهحل است. این مدل سنتی، استخدام کارکنان تماموقت بهعنوان تیم توسعهدهندگان است. در هر حال، با توجه به هزینه توسعه، این مدل گرانترین مدل استخدام محسوب میشود، زیرا هزینههای اضافی بیشتری غیر از حقوق این افراد دارید، مانند تعطیلات با حقوق، بیمه درمانی، اجاره دفتر، تجهیزات و غیره. اگر بهدنبال مهندسان بیشتری هستید تا به تیم درونسازمانی شما بپیوندند، باید بهسراغ سایتهای کاریابی بروید که در این زمینه مشغول به کار هستند. از نمونههای خارجی در این زمینه باید به گلسدور، Indeed، Github، LinkedIn و نمونههای مشابه اشاره کرد.
استخدام توسعهدهندگان اختصاصی سیشارپ بر مبنای رویکرد پیمانکاری
افزایش کارکنان غیرثابت که نوعی استراتژی برونسپاری است، به شما امکان میدهد تیم توسعه نرمافزاری خود را از طریق پیمانکاران قراردادی یا نیمهوقت گسترش دهید. این یک راهحل عالی برای استخدام توسعهدهندگان با شرایط خاص یا تیمی از توسعهدهندگان است که به تیم درونسازمانی شما کمک میکنند کارهای توسعه نرمافزاری را انجام دهند.
استخدام از طریق سایتهای کاریابی یا شرکتهای نرمافزاری
این مدل استخدام سادهترین راه برای برونسپاری فرآیند توسعه است. شما میتوانید یک سایت کاریابی پیدا کرده و از طریق آن برنامهنویسان را جذب کنید یا شرکت توسعه نرمافزار قابلاعتمادی پیدا کنید و در مورد ایدهها و نیازهای خود صحبت کنید. آنها میتوانند یک تیم توسعه مورد نیاز متشکل از توسعهدهندگان، طراحان و مهندسان تضمین کیفیت (QA) را برای کار روی پروژه شما آماده کنند و در کنار آن خدمات مدیریت پروژه را ارائه دهند.
استخدام آزادکارها (فریلنسرها)
فریلنسینگ یا آزادکاری، یک مدل استخدام پارهوقت پرطرفدار است که برای کارها و پروژههای کوتاهمدت اضافی بهترین کاربرد را دارد. هنگام استفاده از خدمات آزادکاری، در واقع شما برای اجرای سریعتر کارهای موردنیاز، تیم توسعه خود را با کارکنان موقت تکمیل و احیا میکنید. با اینحال، یافتن فریلنسرهای باکیفیت کار آسانی نیست. علاوه بر این، هر لحظه این احتمال وجود دارد که توسعهدهندهای که استخدام کردهاید را دیگر در تیمتان نداشته باشید، زیرا آنها بهطور دائم بهدنبال پروژههای خوب یا مشتریانی هستند که پول بیشتری پرداخت میکنند و برخی از آنها هیچ قرارداد کاری با شرکتها منعقد نمیکنند. بهترین مکان برای پیدا کردن توسعهدهندگان آزادکار مسلط به زبان برنامهنویسی سیشارپ، آموزشگاههایی هستند که در زمینه تدریس برنامهنویسی فعالیت میکنند.
میانگین حقوقی توسعهدهندگان سیشارپ در سراسر جهان
انقلاب دیجیتال سراسر جهان را فرا گرفته است. بسیاری از شرکتهای فناوری اطلاعات برای جذب مهندسان واجد شرایط سیشارپ و ارائه دستمزدهای خوب برای بهدست آوردن آنها با یکدیگر رقابت میکنند. دستمزد یک برنامهنویس سیشارپ بسته به کشور، سال تجربه و سابقه کار متفاوت است. برای مقایسه تفاوت حقوق توسعهدهندگان در کشورهای مختلف، آماری را گردآوری کردهایم که نشان میدهد کدام کشورها بهترین انتخاب برای برونسپاری مقرونبهصرفه و باکیفیت هستند. با این حال، توجه داشته باشید که این اعداد فقط حقوق توسعهدهندگان را نشان میدهند و هزینههای اضافی مانند پاداش و غیره را شامل نمیشوند.
حقوق سالانه توسعهدهندگان سیشارپ در کشورهای مختلف
آمریکای شمالی و جنوبی
یک برنامه نویس سیشارپ در ایالات متحده بهطور متوسط سالانه 112952 دلار درآمد دارد. لازم به ذکر است که این بالاترین نرخ دستمزد در جهان است. اما در کشورهای آمریکای لاتین برنامهنویسان واجد شرایط سیشارپ حقوق پایینتری دارند. بهعنوان مثال، در مکزیک، متوسط حقوق سالانه 20400 دلار و در آرژانتین تنها 8200 دلار است. این تفاوت حقوق بهدلیل هزینه کمتر زندگی است، اما آمریکای لاتین معروف به داشتن مراکز روبهرشد فناوری اطلاعات و مهندسان نرمافزار کاربلد و درجه یک است.
اروپا
وضعیت در اروپا در هر کشور متفاوت است. در اروپای غربی میانگین حقوق بالاتر است. بهعنوان مثال، در آلمان، متوسط دستمزد سالانه یک توسعهدهنده سیشارپ ۵۲۸۰۰ دلار است، در حالی که در بریتانیا این میزان به 69959 دلار میرسد. با اینحال، اروپای شرقی محبوبترین مقصد برای برنامهنویسان آزادکار بااستعداد است. توسعهدهندگان از اوکراین، بلغارستان و بلاروس، بهعنوان مهندسان درجه یک شناخته میشوند، اما بهدلیل هزینه کمتر زندگی، میانگین حقوقشان در مقایسه با اروپای غربی و ایالات متحده بسیار کمتر است. متوسط حقوق سالانه یک توسعهدهنده سیشارپ اوکراینی 36000 دلار است و در بلاروس توسعهدهنده سیشارپ سالانه 30000 دلار دریافت میکند.
آفریقا و آسیا
توسعهدهندگان از هند و آفریقای جنوبی در مقایسه با ایالات متحده و اروپا حقوق کمتری دریافت میکنند. بهعنوان مثال، اطلاعات مربوط به SalaryExplorer بیان میکند که یک توسعهدهنده از هند سالانه 6800 دلار حقوق دریافت میکند، در حالی که در چین میانگین حقوق 39000 دلار است. در آفریقای جنوبی، این میزان حقوق به 26000 دلار در سال میرسد.
جمعبندی
زبان برنامهنویسی سیشارپ بهسرعت در حال محبوب شدن است و توسعهدهندگان سیشارپ هر روز متقاضیان بیشتری پیدا میکنند. بنابراین، سعی کردیم بهترین شیوههای استخدام توسعهدهندگان درجه یک سیشارپ را بهطور خلاصه مورد تحلیل و بررسی قرار داده و شرح دهیم که کجا و چگونه بهدنبال یک مهندس کاربلد بگردید. همچنین، اطلاعاتی در خصوص میانگین حقوق جهانی توسعهدهندگان عنوان کردیم و نگاهی هم به گزینههای مختلف استخدام داشتیم که کمک میکنند تا بفهمید کدام مکان و مدل استخدام، مناسبترین گزینه بر اساس نیازهای شما است.

آشنایی با معماری شبکه مراکز داده سازمانی و نحوه استقرار مولفههای آنها
شبکههای ارتباطی نقش تاثیرگذاری در موفقیت یا شکست سازمانهای بزرگ دارند. از اینرو، محافظت از آنها در برابر انواع مخاطرات، بهویژه مخاطرات امنیتی، ضامن بقا سازمانها بهشمار میرود. درک ساختار شبکههای دادهای کمک میکند آسیبپذیریهای شبکهها را بهتر درک کنیم و تمرکز خود را روی بخشهایی قرار دهیم که مستعد حملههای سایبری هستند. در دنیای شبکههای ارتباطی، معماری شبکه به نحوه اتصال شبکههای سازمانی مستقر در یک ساختمان یا ساختمانهای مجاور یکدیگر اشاره دارد؛ بهطوری که اطلاعات با کمترین تاخیر و خطا در شبکه انتقال پیدا کند. در این مقاله با نحوه پیادهسازی شبکههای سازمانی و مراکز داده آشنا میشویم.
درک معماری شبکه به ما در درک نقاط آسیبپذیر شبکه کمک میکند، زیرا هکرها همواره بهدنبال روشهایی هستند تا به شبکههای سازمانی نفوذ کرده و اطلاعات را سرقت یا دستکاری کنند. هنگامیکه هکری موفق شود به شبکه سازمانی نفوذ کند، این قابلیت را بهدست خواهد آورد تا اطلاعاتی را که از طریق شبکه در حال انتقال هستند رصد کند یا اطلاعات ارزشمند را سرقت کند. برای حل این مشکل، باید ساختار شبکه و دادههایی را که از طریق آن جریان مییابد درک کنید. یک شبکه معمولی از سه بخش اصلی زیر پدید میآید:
شبکه مرکز داده که سرورها و برنامههای کاربردی سازمان را میزبانی میکند.
شبکه اصلی یا مرکزی که شاهراهی است که تمامی بخشهای شبکه از جمله شبکه کاربران، مراکز داده، شبکههای راه دور (شعب یک سازمان) را به یکدیگر و در نهایت به اینترنت متصل میکند.
شبکه کاربری که زیرمجموعه شبکه اصلی است و وظیفه برقراری ارتباط کاربران با یکدیگر را برعهده دارد. شبکه کاربری معمولاً مبتنی بر شبکههای توزیع و دسترسی است. شکل ۱ معماری یک شبکه سازمانی مرسوم را نشان میدهد.
شکل 1
در گوشه بالای سمت چپ شکل ۱، مرکز داده اصلی را که DC-1 نام دارد مشاهده میکنیم. شبکه کاربر نیز در سایت مرکز داده و بهنام Users-1 قرار دارد. در گوشه سمت راست بالا، مرکز داده ثانویه را که DC-2 نام دارد مشاهده میکنیم که متشکل از شبکه کاربرانی است که در سایت مرکز داده ثانویه قرار دارند. دو مرکز داده از طریق دو فایروال که در دو مرکز داده قرار دارند به اینترنت متصل میشوند. در مرکز نمودار، یک اتصال شبکه گسترده (WAN) را میبینیم که شامل روترهایی است که به شبکه ارائهدهنده خدمات (SP) سرنام Service Provider که وظیفه برقراری ارتباط شبکههای محلی و اینترنت را برعهده دارد متصل هستند. در قسمت پایین نمودار، سایتهای راه دور (شعب) را میبینیم که از طریق شبکه ارائهدهنده خدمات به شبکه مرکزی سازمان متصل میشوند.
شبکه مرکزی، کاربری و مرکز داده
همانگونه که اشاره شد، یک شبکه داده سازمانی متشکل از شبکههای کوچک و بزرگی است که همگی از طریق یک شبکه مرکزی مدیریت میشوند. بهطور مثال، مراکز داده میزبان شبکههایی هستند که سرورهای سازمانها در آن قرار دارند. در برخی از سازمانها از دو مرکز داده استفاده میشود تا اصل افزونگی و دسترسپذیری بالا (High Availability) حفظ شوند. یعنی اگر یک مرکز داده از کار افتاد، دیگری بتواند بهطور کامل یا جزئی جای آنرا بگیرد. نکتهای که هنگام طراحی شبکههای کاربری باید به آن دقت کنید، تعداد کاربران سازمانی، خارج از سازمانی (دورکارها)، گستره جغرافیایی و تعداد شعب یک سازمان است. شبکه مرکزی ستون فقراتی است که کاربران را به مرکز داده، دفاتر راه دور و اینترنت متصل میکند. در اینجا سوئیچهای توزیع در مکانهای مرکزی پردیس، و سوئیچهای دسترسی در ساختمانها و مناطق کوچک نصب میشوند.
بهطور مثال، در شکل 2 معماری یک شبکه سازمانی را داریم که در لایه مرکز داده پذیرای دو مرکز داده است. این مراکز داده دو کار مهم انجام میدهند؛ اول آنکه به لایه مرکزی سرویسدهی میکنند و دوم آنکه هر زمان یکی از آنها با مشکل روبهرو شد، دیگری وظایف مرکز داده از مدار خارج شده را برعهده میگیرد.

شکل 2
نکته مهمی که هنگام پیادهسازی چنین شبکههایی باید به آن دقت کنید، انتخاب صحیح تجهیزاتی مثل سوئیچها است که وظیفه مدیریت ترافیک و بارهای کاری را برعهده دارند. در حالت کلی، سوئیچهایی که بهعنوان سوئیچ مرکزی (Core) شناخته میشوند، قابلیت اطمینان بیشتر، امکانات بهتر و توانایی بیشتری نسبت به سوئیچ توزیع (Distribution) دارند و به همین دلیل قابلیتهای خوبی در ارتباط با مسیریابی، آمادهسازی یک ساختار انتقال بهینه و پایدار بستهها ارائه میکنند. سوئیچهای توزیع باید ظرفیت سوئیچینگ زیادی برای پردازش ترافیکی که از سمت سوئیچ دسترسی (Access) وارد میشود، داشته باشند. به همین دلیل بهتر است از سوئیچهای مرکزی در لایه Core (شبکه مرکزی) و سوئیچهای توزیع در لایه Distribution استفاده شود. با توجه به اینکه سوئیچ دسترسی با تجهیزات شبکه و کاربران در ارتباط است باید پورتهای زیادی داشته باشد. بهطور کلی، سوئیچ دسترسی در لایه 2 و سوئیچ توزیع در لایه 3 قرار میگیرند، البته این موضوع به نوع معماری شبکه سازمانی بستگی دارد.
در شکل ۲، سوئیچهای مرکز داده در بالا قرار دارند و از طریق دو کابل به هر سرور متصل میشوند. این اتصالات کاربرد دوگانه دارند؛ اول آنکه دستیابی به اصل افزونگی را تضمین میکنند تا اگر یکی از کابلها و کانالهای انتقال با مشکل روبهرو شد، دیگری فرآیند انتقال را مدیریت کند و دوم آنکه قابلیت تجمیع لینک (Link Aggregation) را دارند تا ظرفیت سوئیچینگ بیشتری در دسترس قرار گیرد. همچنین، کانالهای ارتباطی میتوانند بر بستر فیبر یا مس باشند.
در وسط تصویر، سوئیچهای مرکزی را داریم. همانطور که از نام این سوئیچها پیدا است، آنها در قلب شبکه سازمانی قرار دارند. آنها وظیفه برقراری ارتباط میان شبکه کاربری و مرکز داده را برعهده دارند و به سایتهای راه دور، اینترنت و دیگر شبکهها اجازه برقراری ارتباط با شبکه سازمانی را میدهند. اتصال بین سوئیچهای مرکزی و سوئیچهای مرکز داده را میتوان در لایه 2 یا لایه 3، با یا بدون فناوریهای همپوشان پیادهسازی کرد.
شبکه کاربری در ناحیه توزیع و دسترسی قرار دارد. لایه دسترسی میزبان سوئیچهایی است که کاربران را به شبکه سازمانی متصل میکند، در حالی که لایه توزیع سوئیچهای دسترسی را تجمیع میکند. بهعنوان مثال، در یک شبکه پردیس، یک سوئیچ توزیع برای هر ساختمان یا گروهی از ساختمانها نصب میشود و سوئیچهای دسترسی به سوئیچ توزیع متصل میشوند. سوئیچهای توزیع معمولاً با رعایت اصل افزونگی نصب میشوند؛ به این معنا که دو سوئیچ در هر سایت نصب میشوند و هر دو سوئیچ به شبکه متصل میشوند.
توپولوژی سوئیچینگ لایه 2 و مسیریابی لایه 3
سوئیچهای لایه 2 دستگاههایی هستند که بستهها را بین پورتها سوئیچ میکنند، در حالی که سوئیچهای لایه 3 یا روترها به سرآیند لایه 3 بسته نگاه میکنند و مسیریابی را انجام میدهند. فرآیند انجام اینکار در شکل 3 نشان داده شده است. در اینجا، D مخفف آدرس مقصد و S مخفف آدرس منبع است و به ترتیب D و S برای L2 و L3 در نظر گرفته شدهاند.
در بالای سمت چپ تصویر، یک سوئیچ LAN را مشاهده میکنیم که در حال دریافت یک فریم است. سپس، سوئیچ به مک آدرس مقصد نگاه میکند و در مورد انتقال بسته تصمیمگیری میکند و فریم را به پورت مقصد یعنی پورت 3 ارسال میکند. 
شکل 3
در پایین سمت چپ، مشاهده میکنیم که چگونه یک فریم از شبکه سوئیچها عبور میکند. فریم وارد سوئیچ سمت چپ میشود که بسته را به پورت 3 ارسال میکند. پورت 3 به پورت 1 در سوئیچ سمت راست متصل میشود که به مک آدرس خود نگاه میکند و بسته را به سوئیچ سمت راست یعنی پورت 4 فوروارد میکند. تصمیمگیری در مورد نحوه ارسال فریمها بهصورت محلی انجام میشود. یعنی تصمیمگیری در این زمینه توسط خود سوئیچ و بدون تعامل با سوئیچهای دیگر انجام میشود تا بار اضافی به شبکه وارد نشود.
فرآیند مسیریابی، همانطور که در سمت راست نمودار شکل ۳ نشان داده شده، در لایه 3 انجام میشود. هنگامیکه بستهای وارد روتر میشود، روتر به آدرس مقصد لایه 3 نگاه میکند و بررسی میکند که آیا مقصد بسته در جدول مسیریابی معتبر است یا خیر و سپس فرآیند مسیریابی را انجام داده و بسته را به هاپ (Hop) بعدی ارسال میکند.
در حالت کلی از سوئیچهای لایه 2 برای اتصال کاربران به شبکه استفاده میکنیم و از سوئیچهای لایه 3 در سطوح بالاتر، یعنی سطح توزیع، هسته (Core) یا مرکز داده برای تقسیم شبکه به شبکههای کوچکتر (زیرشبکه) استفاده میکنیم.
در شکل 4، یک روتر عادی را در سمت چپ و یک سوئیچ لایه 3 را در سمت راست مشاهده میکنیم. در یک روتر عادی، دستگاههایی مثل کامپیوترهای شخصی یا سوئیچهای لایه 2 به آن متصل میشوند.
در سوئیچ لایه 3، ملزومات سختافزاری و نرمافزاری که برای ارسال و دریافت بستههای اطلاعاتی به آنها نیاز داریم در قالب یک محصول واحد در اختیار ما قرار دارد. رابطهای لایه 3 (که در تجهیزات سیسکو بهنام Interface VLAN نامیده میشود) رابطهای نرمافزاری هستند که روی سوئیچ پیکربندی شدهاند. در اینجا شبکههای محلی مجازی (VLAN) پیکربندی میشوند و یک رابط L3 به هر کدام اختصاص داده میشود و در ادامه تجهیزات خارجی به پورتهای فیزیکی سوئیچ متصل میشوند.
شکل 4
شبکههای محلی مجازی و تقسیم شبکه به زیرشبکههای مختلف مزایای زیادی دارد، بهطوریکه انعطافپذیری بیشتری در طراحی در اختیار ما قرار میدهد، زیرا هر بخش میتواند یک زیرشبکه IP با مجوزها و حقوق دسترسی به سرورهای خاص خود را داشته باشد، امکان پیادهسازی پروتکلهای مسیریابی وجود دارد، پیامهای همهپخشی تنها در زیرشبکههای خاص خود توسط کلاینتها دریافت میشوند و هرگونه حمله سایبری تنها روی همان زیرشبکه تاثیرگذار است. موارد یادشده تنها بخشی از مزایای زیرشبکهسازی است.
معماری L2 و L3
یکی از چالشهای بزرگی که طراحان و معماران شبکه با آن روبهرو هستند، انتخاب معماریای است که قرار است شبکه سازمانی بر مبنای آن پیادهسازی شود. نکتهای که باید در ارتباط با معماری لایه 3 به آن دقت کنید این است که لایه ۳ را میتوان در هر نقطهای از شبکه پیادهسازی کرد. وقتی لایه 3 در سوئیچهای اصلی پیادهسازی شود، آدرسهای IP آنها دروازههای پیشفرض کاربران خواهد بود. هنگامیکه لایه 3 در سوئیچهای مرکز داده پیادهسازی شود، آدرس آنها دروازههای پیشفرض سرورها خواهد بود. دو توپولوژی پرکاربردی که توسط کارشناسان شبکه در هنگام پیادهسازی شبکههای سازمانی استفاده میشوند، در شکل ۵ نشان داده شده است. در سمت چپ شکل ۵، تنظیمات زیر را داریم:
شبکههای محلی مجازی (VLAN) پیکربندیشده روی سوئیچهای اصلی: در اینجا VLAN 50 و VLAN 60 شبکههای محلی کاربری هستند. هر کاربر یک شبکه محلی مجازی، چند پورت فیزیکی و یک رابط L3 منطقی و رابط VLAN (در صورت استفاده از تجهیزات سیسکو) در اختیار دارد. در مثال فوق، آدرس آیپی شبکه محلی مجازی VLAN50 برابر با 10.50.1.1/16 است، در حالی که آدرس آیپی شبکه محلی مجازی VLAN60 برابر با 10.60.1.1/16 است.
شکل 5
شبکههای محلی مجازی پیکربندی شده روی سوئیچهای مرکز داده
VLAN 10 و VLAN 20 شبکههای محلی مجازی سرور هستند. هر سرور شبکه محلی مجازی دارای چند پورت فیزیکی و یک رابط منطقی L3 یا همان رابط شبکه محلی است. برای مثال، آدرس آیپی رابط شبکه محلی مجازی VLAN 10 برابر با 10 10.10.1.1/16 است، در حالی که آدرس آیپی رابط شبکه محلی مجازی VLAN 20 برابر با 10.10.1.1/16 است.
دروازههای پیش فرض کاربران در شبکههای 10.50.0.0/16 و 10.60.0.0/16 به ترتیب 10.50.1.1 و 10.60.1.1 است.
در سمت راست، توپولوژی متفاوتی را مشاهده میکنیم، جایی که رابط تمامی شبکههای محلی مجازی روی سوئیچهای مرکز داده قرار دارند. در توپولوژی سمت راست پیکربندی زیر را داریم:
تمام VLANها روی سوئیچهای مرکز داده پیکربندی شدهاند.
سوئیچهای اصلی بهعنوان دستگاههای لایه 2 استفاده میشوند. دروازههای پیشفرض دستگاهها و سرورهای کاربر روی سوئیچهای مرکز داده هستند.
جریان داده در معماری L2 و L3
به همان ترتیبی که معماری لایه 2 و لایه 3 با هم متفاوت هستند، جریان انتقال دادهها در این معماریها نیز تفاوتهایی دارد. برای درک بهتر این موضوع به شکل ۶ دقت کنید. در توپولوژی سمت چپ، پیکربندی زیر را داریم:
هنگام ارسال بستهها از سمت کاربران به سرورها، کاربران در VLAN 50
یا VLAN 60 بستهها را به دروازه پیشفرض یعنی رابط L3 روی سوئیچ هسته ارسال میکنند و از این نقطه بستهها به رابط L3 سوئیچ مرکز داده و سرور (سوئیچ سمت چپ) هدایت میشوند. هنگام ارسال بستهها، سرورهای VLAN 10 یا VLAN 20 بستهها را به دروازه پیشفرض 10.10.1.1 ارسال میکنند که سوئیچ سمت چپ مرکز داده است. در ادامه بستهها به رابط L3 در سوئیچ هسته سمت چپ و کاربر هدایت میشوند. برای درک بهتر فرآیند ارسال و دریافت اطلاعات به شمارههای قرار گرفته در تصویر دقت کنید. 
شکل 6
در توپولوژی سمت راست، پیکربندی زیر را داریم:
سوئیچهای مرکز داده دروازههای پیشفرض برای کاربران و سرورها هستند، از اینرو بستههایی از هر دو به سوئیچهای مرکز داده ارسال میشوند و فرآیند مسیریابی نیز بهشکل داخلی انجام میشود.
جریان دادهها در معماری L2 و L3 بر مبنای اصل افزونگی
اکنون اجازه دهید به بررسی این موضوع بپردازیم که بستهها چگونه از طریق شبکه انتقال پیدا میکنند. در اینجا فرض میکنیم که رابطهای L3 کاربری روی سوئیچهای مرکزی قرار دارند. در شکل ۷، کامپیوتری با آدرس 10.60.10.10/16 در حال ارسال اطلاعات به سروری با آدرس 10.20.1.100/16 است.
در یک شبکه سازمانی و در شرایط عادی، یعنی زمانیکه تمام مولفههای شبکه بدون مشکل کار میکنند، جریان انتقال دادهها بهشرح زیر است:
هنگامی که PC2 بستهها را برای یک سرور ارسال میکند، بستهها به دروازه پیشفرض یعنی سوئیچ مرکزی 10.60.1.1 تحویل داده میشوند (1).
از سوئیچ 10.60.1.1، بستهها به سوئیچ مرکزی به نشانی 10.20.1.1 ارسال میشوند (2).
در ادامه بستهها برای سرور S1 به نشانی 10.20.1.1 ارسال میشوند (3).
شکل 7
هنگامی که مشکلی مثل یک خرابی اتفاق میافتد، بهطور مثال، سوئیچ DC در سمت چپ تصویر که DC-SW-1 نام دارد از کار میافتد، موارد زیر اتفاق میافتد:
در این حالت، سرور S1 سوئیچ DC سمت راست vh که DC-SW-2 نام دارد انتخاب میکند. در ادامه بستههایی که از PC2 به سرور ارسال میشوند به سوئیچ هسته سمت راست (a) ارسال میشوند.
سوئیچ هسته در سمت راست بستهها را به هاپ بعدی (b) که سوئیچ DC سمت راست است (DC-SW-2) هدایت میکند تا سوئیچ DC سمت راست بستهها را به سرور (c) ارسال کند.
کلام آخر
همانگونه که مشاهده میکنید ملاحظات طراحی یک شبکه داده جزئیات زیادی دارد، بهطوری که هر طراحی باید متناسب با نیازهای یک سازمان انجام شود. با این حال، به این نکته مهم دقت کنید، مادامیکه ساختار یک شبکه را بهدرستی درک نکرده باشید، قادر نخواهید بود یک شبکه یکپارچه با بهترین عملکرد و آستانه تحمل بالا در برابر خرابیها را پیادهسازی کنید
برگرفته از مجله شبکه

نویسنده: Rodd Wagner
مترجم: مهدی نیکوئی
برگرفته ازكتاب: مهرهها
دومین قانون از ۱۲ قانون جدید برای مدیریت انسانی کارکنان این است: آنها را جسور و نترس کنید! اگر آنها را مانند چرخدنده و مهرههایی بیاحساس در شرکت و کسب و کار خود نمیبینید، برای کسب بالاترین تلاشهایشان باید ترسهایشان را از بین ببرید. این همان موضوعی است که بیل هیولت با آن مواجه بود. در سال ۱۹۷۰ و سه دهه پس از شروع افسانهوار فعالیت شرکت هیولتپاکارد از گاراژ پالوآلتو، شرایط شرکت دشوار شده بود. شریک هیولت یعنی دیویدپاکارد به طور موقت از شرکت دور شده بود و به عنوان معاون وزارت دفاع ایالاتمتحده خدمت میکرد.
کشور در رکود اقتصادی به سر میُبرد. سفارشهای خرید اچپی به شدت کاهش یافته و بسیار پایینتر از ظرفیت تولید کارخانه بود. طبیعی است که درآمدها و سودآوری نیز سقوط چشمگیری داشت. شرکت باید ۱۰درصد از هزینههای خود را کاهش میداد تا زنده بماند.
برخی از مدیران که عادت کرده بودند بر اساس میزان سودآوری شرکت اقدام به استخدام و اخراج کارکنان کنند، انگار دست به اسلحه برده بودند و کار همه را تمام میکردند. کارکنان وفادار و سختکوش شرکت به ناگاه غافلگیر میشدند و نامه اخراج را در دست خود میدیدند. هیولت با اطلاع از این وضعیتبخشنامهای به مدیرانش نوشت:
«تعداد موارد روزافزونی گزارش شده است که کارکنان با اخطاری اندک یا بدون اخطار درباره کاهش بهرهوریشان کنار گذاشته شدهاند. در برخی از موارد، ارزیابی عملکرد فقط پس از قطع همکاری به کارکنان داده شده است. هیچ بهانهای برای این رفتار وجود ندارد. انسانی نیست. سبک اچپی این نیست. قابل توجیه نیست.»
هیولت به مدیرانش گفت هیچکس نباید بدون هشدار قبلی از طریق ارزیابیهای مکتوب و همچنین مشاورههای سازنده درباره شیوه بهبود عملکرد اخراج شود. هرگاه ممکن باشد، شرکت و نه کارکنان باید به دنبال مکان دیگری در شرکت برای رشد و موفقیت آن نیروی کار بگردد. او نوشت کارکنان نباید خودشان مجبور شوند به دنبال واحد یا پست جدیدی در شرکت باشند. همچنین پیش از هر اقدام نامساعد، باید به خوبی درباره آن اندیشیده شود. ما باید متوجه شویم که هر کدام از افراد نمایانگر شخصیتهایی مستقل با مشکلات، خانواده و شرایط خاص خودشان هستند.
با این حال، همچنین نیاز به کاهش هزینهها بود و بدون تغییر فهرست حقوق این کار غیرممکن بود. هیولت تصمیم دیگری گرفت. بیشتر کارکنان، از جمله خودش یک روز اضافه به مرخصی خواهند رفت و میزان حقوقشان ۱۰درصد کاهش پیدا میکند. تولید در آن روز تعطیل شد. فقط کارکنان بخش فروش که برای برونرفت از آن معضل باید سفارشها را دریافت میکردند، از این قانون مستثنا شدند.
هیولت در توضیح این تصمیم خود نوشت: «معمولا در کسب و کار، فردی در خط تولید قرار دارد که بیش از دیگران تاوان میدهد؛ در حالی که مدیران و سرپرستان در کار خود باقی میمانند. انصاف فقط این است که همه کارکنان از بالا تا پایین در این درد شریک باشند.»
۶ ماه بعد، سفارشهای خرید هیولت پاکارد به سطح عادی خود بازگشت. پاکارد نوشت: «برخی اعلام کردند که از افزایش تعطیلات خود لذت بردهاند؛ هرچند مجبور بودند از مخارج خود بکاهند. نتیجه این برنامه آن بود که همه افراد بار رکود را به اشتراک گذاشتند. در شرایطی که نرخ بیکاری کشور افزایش یافته و پیدا کردن شغل دشوار شده بود، آدمهای خوب کنار گذاشته نشدند. همچنین ما کارکنان به شدت با صلاحیت خود را برای زمان بهبود اوضاع حفظ کردیم.»
بیل هیولت با این دستور که هیچ فردی نباید بدون اطلاع قبلی کنار گذاشته شود و همه باید با یکدیگر از رکود اقتصادی عبور کنند، ترس و نگرانی را از ذهن کارکنانش زدود. هیولت و پاکارد عنوان کردند که در این تصمیم، دو انگیزه داشتند. نخستین انگیزه، وفاداری بود. آنها حس مسوولیت عمیقی برای افرادی داشتند که بخش جداییناپذیر شرکت به شمار میآمدند. چرا آنها باید در آن بازار کار بیسامان، پشت کارکنان خود را خالی میکردند؟ به این دلیل که برای دو بنیانگذار و مدیر شرکت، کارکنانشان مانند پیچ و مهره نبودند.
تمام شواهد نشان میدهد در چنین مواردی که ترس و نگرانی از ذهن کارکنان حذف میشود، شاهد تعهدی متقابل از سمت آنها خواهیم بود. مایکل مالون در کتاب خود با نام بیلاند دیو درباره آن اقدام هیولت نوشته است: «بسیاری از کارکنان که تسلیم یک تعدیل ناگزیر شده بودند، با برنامه تعطیلات ۹ روزه قدردان و حتی عاشق هیولت و پاکارد شدند؛ بهویژه بیل هیولت که دو دهه دیگر هم به هدایت شرکت ادامه داد.»
انگیزه دوم مدیران شرکت اچپی، موضوعی بود که اقتصاددانان آن را «انباشت سرمایهانسانی» یا «احتکار نیروی کار» میخوانند. وفاداری دلیلی اخلاقی برای حفظ افراد در رکودهاست اما انباشت سرمایه انسانی یک دلیل منطقی و واقعبینانه است. یک رکود قرار نیست همیشگی باشد. زمانی که تمام شود، شرکت به افراد بااستعداد نیاز دارد. اگر تعداد بیش از حدی از آنها طی رکود از دست رفته باشند، شرکت مزیت رقابتی خود را در زمان احیا و سالهای پس از آن از دست میدهد. بهتر است که به گفته پاکارد «کارکنان به شدت باصلاحیت» در کنار شرکت بمانند.
این همان اتفاقی است که در گذشته میافتاد. مطالعات اقتصادی مختلف نشان دادهاند که به ازای هر یکدرصد کاهش سودآوری، فقط نیمدرصد از کارکنان تعدیل میشدند. از آنجا که کاهش بهرهوری یا سودآوری موقت بود، شرکتها آمادگی خود را برای شروع سریع در دوران احیا حفظ میکردند.
اما اتفاقی که طی ۲ دهه اخیر افتاد. در آخرین رکود اقتصادی، شرکتهای بسیاری کارکنان خوب خود را رها کردند. آنها کارکنان را با نرخی سریعتر از گذشته تعدیل کردند. شرکتها به جای کاهش ساعات کاری، تمایل بیشتری به کاهش کارکنان نشان دادند. مجله اکونومیست در تحلیلی نوشت: «در رکود ۱۹۷۳ تا ۱۹۷۵، فقط یکسوم از کاهش مجموع نفر-ساعت به دلیل تعدیل نیرو بود. بقیه آنها از طریق کاهش روزهای کاری هفته یا سال محقق شده بود. اما در بحران مالی بزرگ (سال ۲۰۰۸) این وضعیت، برعکس بود.»
شاید رکودهای جدید دشوارترند. شاید شرکتها دلیل کمتری برای حفظ کارکنان دارند. شاید نگران هزینههای بیمه یا خشم اتحادیهها هستند. شاید هم مدیران به دنبال پاداشهای خودشانند. دلیل هر چه که باشد، رابطهای غیروفادارانه بین کارکنان و کارفرمایان رقم زده است و خطر بیشتری برای رفتار ماشینوار با کارکنان پدید آورده است.
برگرفته از دنیای اقتصاد

راهنمای کامل و جامع استریم کردن با کامپیوتر، کنسول و گوشی: چگونه استریمر شویم؟
در این آموزش به نحوه استریم کردن روی پلتفرم محبوب توییچ با PC، کنسول یا گوشی میپردازیم. با پیشرفت صنعت بازیهای ویدیویی، کاربران کمکم به فکر و ابداع روشهای کسب درآمد از این صنعت پرداختند. هر ماه ۸ میلیون کاربر روی پلتفرم توییچ به صورت زنده مشغول استریم کردن علاقه و استعداد خود هستند. در همین لحظه ۲.۵ میلیون نفر در توییچ مشغول تماشای محتوای مورد علاقه خود، مثل بازی، موسیقی، آشپزی و… هستند.
استریمر شدن میتواند یک راه ایدهآل برای کسب درآمد از عشق و علاقه شما باشد. تصور این که یک نفر بتواند در اتاق خود بازی کند، هزاران نفر را از سراسر دنیا به تماشای بازی خود مشغول کند و درآمد کسب کند، روزی غیرممکن بود. اما امروزه هرکسی میتواند استریمر شود!
شما نیز ممکن است با هر هدف یا محتوایی بخواهید به استریمر تبدیل شوید. با آیتیرسان همراه باشید تا به طور کامل شما را راهنمایی کنیم تا در هر پلتفرمی که میخواهید، از PC و کنسول گرفته تا موبایل، به یک استریمر تبدیل شوید.
این مطلب را نیز بخوانید: معرفی 5 مورد از بهترین نرمافزارهای ضبط بازی در کامپیوتر
تمام چیزهایی که برای استریم نیاز دارید
ابتدا نگاهی داشته باشیم به ابزارها و سختافزارهایی که نیاز دارید. تمام این سختافزارها ضروری نیستند، اما کیفیت استریم شما را بالاتر خواهند برد و از ابزار رایج استریمرهای موفق هستند.
آموزش استریم کردن
اینترنت
اینترنت پرسرعت اصلیترین نیاز شما و معضل بزرگ استریمرهای ایرانی است. برای استریم کردن با کیفیت ۷۲۰، شما به اینترنتی با سرعت ۸ مگابیت بر ثانیه و سرعت آپلودی نزدیک به ۵ مگابیت در ثانیه نیاز دارید. همچنین برای استریم با این کیفیت، تقریباً ۱.۱۴ گیگابایت در ساعت مصرف اینترنت شما خواهد شد. برای انتخاب سرویس اینترنت خود، میتوانید از بررسی جامع ما از سرویسهای اینترنت خانگی در ایران و مقایسه آنها استفاده کنید.
وبکم و میکروفون
از ویژگیهای مهم استریمهای جذاب، دیدن صورت بازیکن هنگام تجربه گیمپلی و واکنشهای او در نقاط مختلف داستان یا اتفاقات گوناگون بازی است. دیدن صورتتان باعث میشود بینندهها ارتباط بهتری با شما برقرار کنند و میتوانند شما را فراتر از نشانه روی صفحه در ذهن خود تصویر کنند.
شنیدن صدایتان و حرف زدن شما با مخاطبان نیز به تصویرتان در ذهن مخاطبان، عنصر صدا را اضافه میکند. میتوانید درمورد بازی صحبت کنید یا کامنتهای مشترکین خود را بخوانید و پاسخ دهید یا عنصر طنز به استریم خود اضافه کنید.
در هر صورت برای تجربه بهتر بینندههای شما از تماشای استریمتان، پیشنهاد میشود وبکم و میکروفون هم داشته باشید تا بتوانید ارتباط بهتری با بینندهها بگیرید و در نتیجه مشترکین شما بیشتر شوند. اگر وبکم ندارید هم نگران نباشید و آموزش استریم را با یک راه جذاب در ادامه بخوانید:
استفاده از گوشی به عنوان دوربین:
با استفاده از اپلیکیشنهای زیر میتوانید به سادگی گوشی خود را به عنوان وبکم به PC خود وصل کنید:
نرمافزار iVcam Webcam: اندروید | iOS
نرمافزار DroidCam: اندروید | iOS
نرمافزار DroidCam OBS برای اتصال مستقیم گوشی خود به OBS Studio: اندروید | (در iOS همان برنامه لینک قبلی هر ۲ کار را انجام میدهد)
یک PC جدا مخصوص استریم (اختیاری)
چه از PC استفاده کنید، چه از کنسول، بهترین راه برای استریم کردن محتوا، استفاده از یک لپتاپ دیگر مخصوص شخصیسازی و تنظیمات استریم است. هرچند PC گیمینگ اصلی شما میتواند کاربری چندمنظوره داشته باشد و هم با آن بازی کنید و هم از طریق آن استریم کنید؛ ولی برای مدیریت بهتر استریم خود مثل موزیک گذاشتن، تنظیمات پیشرفته وبکم، مدیریت و خواندن چتها و کنترل همهجانبه استریم خود نیاز به یک PC دیگر دارید.
این سیستم مخصوص استریم باید همیشه در نزدیکی شما باشد، برای همین پیشنهاد ما یک لپتاپ است. نیازی هم نیست که لپتاپ گیمینگ یا قدرتمند و گرانقیمتی باشد، یک لپتاپ میانرده یا حتی پایینرده از پس تمام کارهایی که مد نظر ماست برمیآید.
متاسفانه این روش برای کاربران ایرانی مقداری گران تمام میشود چون شما نیاز به دستگاه دیگری دارید:
کارت کپچر (Capture Card)
در روش بالا، برای استریم کردن گیمپلی خود از کنسول یا سیستمی دیگر روی یک PC دیگر، شما به دستگاهی برای ضبط و دریافت گیمپلی از کنسول و انتقال آن به PC نیاز دارید. کارت کپچر این کار را برای شما انجام خواهد داد.
کارت کپچر در ابعاد، قیمت و مدلهای مختلفی عرضه میشود. قیمت مدلهایی که از طریق HMDI محتوا را به صورت HD ضبط میکنند به بیش از ۵ میلیون تومان میرسد و برای ضبط 4K باید چیزی حدود بیشتر از ۱۵ میلیون تومان هزینه کنید!
اگر میخواهید از این روش برای استریم کردن کنسول خود استفاده کنید، قسمت مربوط به آموزش استریم کردن در PC را بخوانید.
اگر تمام موارد گفتهشده را آماده دارید؛ حالا وقت شروع است. هرچند همیشه در ذهن خود داشته باشید که تقویت سختافزارهای شما، مثل بهبود میکروفون برای کیفیت صدای بهتر، همیشه باعث بهبود کیفیت استریم شما و در نتیجه جذب بیشتر بیننده و مشترکین میشود.
طبیعتاً مهمترین نکته برای استریم کردن در کامپیوتر یا لپتاپ، مشخصات و قدرت سیستم شماست. بسته به سختافزار خود، شما میتوانید بازیهای بهروزتر و محبوبتری را استریم کنید و در نتیجه افراد بیشتری را به استریم خود جذب کنید. اما در نظر داشته باشید که اگر سیستم شما خیلی قوی نباشد هم محتوا و بازیهای بسیار زیادی همچنان برای استریم کردن وجود دارند.
نرمافزار OBS Studio
اصلیترین نیاز شما برای شروع استریم روی پیسی خود، استفاده از نرمافزار استریم است. ما آموزش را بر پایه بهترین و محبوبترین نرمافزار برای این منظور، یعنی OBS Studio پیش میبریم. به صفحه دانلود سایت OBS Studio مراجعه و آن را دانلود و نصب کنید. پس از نصب باید در آن یک پروفایل بسازید.
آموزش استریم کردن
ساخت اکانت در Twitch و لینک آن به OBS Studio
برای شروع شما نیاز به ثبتنام در بزرگترین پلتفرم مخصوص استریم و لینک کردن آن به برنامه OBS Studio دارید تا مستقیماً بتوانید با OBS Studio بازی خود را ضبط و روی توییچ استریم کنید:
به سایت رسمی توییچ مراجعه کنید و از قسمت Sign Up (بالا سمت راست) حساب توییچ خود را بسازید و وارد آن شوید.
از منوی بالا سمت راست، به Dashboard بروید.
از منوی سمت چپ به Settings بروید.
گزینه Stream Key را انتخاب کنید.
دکمه بنفش Show Key را بزنید تا کد استریم شما نمایش داده شود.
هشدار را تایید کنید و سپس کد استریم خود را کپی کنید.
به برنامه OBS Studio بروید و Settings را از طریق دکمه پایین سمت راست باز کنید.
از منوی سمت چپ باکس باز شده، Streaming را انتخاب کنید.
از منوی پایینآمده کنار قسمت سرویسها، Twitch را انتخاب کنید.
برای سرور، نزدیکترین منطقه به خود را انتخاب کنید تا استریم شما با بهترین کیفیت ممکن انجام شود.
در قسمت Stream Key، کد استریم خود را paste کنید تا اکانت توییچ شما لینک شود.
شناساندن Media Source به OBS Studio
چیزی که شما در OBS Studio میبینید، همان چیزی است که بینندههای شما در توییچ خواهند دید. وقتی پروفایل جدیدی میسازید، صفحه کاملاً سیاه است ولی شما میتوانید محتوای خود را با شناساندن منبع ویدیو خود، اضافه کنید. یک برنامه یا بازی باز، پخش کننده فیلم، وبکم، میکروفون یا هر تصویر و صوتی میتواند یک Media Source باشد که باید آن را به OBS Studio اضافه کنید.
هر کدام از موارد ذکر شده باید به صورت لایهای جداگانه به OBS Studio شما اضافه شود. این برای آن است که بتوانید با مدیریت این لایهها، هرکدام را که خواستید بالاتر و جلوتر از بقیه به نمایش بگذارید.
از باکس Sources میتوانید با گزینه + لایه و منبع جدید صوتی یا تصویری اضافه کنید. با Drag کردن لایهها ترتیب آنها را عوض کنید و با استفاده از آیکون چشم، آنها را نمایان یا پنهان کنید.
اضافه کردن تصویر پسزمینه به استریم در OBS Studio (اختیاری)
به قسمت Settings و سپس Video بروید.
رزولوشن Base و Output را به 1920 در 1080 تغییر دهید و Ok کنید. حالا ویدیو شما به ابعاد مناسب برای استریم کردن تغییر پیدا کرده است.
روی قسمت سیاه صفحه اصلی خود کلیک راست کنید و گزینه Add و سپس Image را بزنید.
تصویر خود را انتخاب کنید. میتوانید اسم لایه خود را تغییر دهید تا بین تمام لایهها مشخص باشد.
اکنون تصویر شما در OBS Studio باید نمایان شود، اگر تصویر مورد نظر 1920 در 1080 نیست میتوانید با موس خود سایز آن را تغییر دهید.
دقت داشته باشید که از باکس Sources تصویر پسزمینه خود را همیشه پایینترین لایه بگذارید تا ویدیو گیمپلی، وبکم و سایر ورودیهای دیگه شما روی آن نمایش داده شوند.
استریم کردن گیمپلی
حالا دیگر شما آماده اضافه کردن گیمپلی موردنظر خود به OBS Studio هستید:
از باکس Sources گزینه + را بزنید.
از لیست باز شده، Game Capture را انتخاب کنید.
نام لایه خود را انتخاب و OK کنید.
از قسمت Mode، گزینه Capture any fullscreen application را انتخاب کنید. حالا OBSS هر برنامهای که روی سیستم شما به صورت تمامصفحه درحال اجرا باشد را ضبط خواهد کرد. میتوانید از منوهای پایینتر تغییرات بیشتری هم انجام دهید.
فراموش نکنید که لایه گیمپلی خود را بالاتر از پسزمینه قرار دهید.
توجه: اگر گیمپلی خود را از کنسول یا سیستم دیگری دریافت میکنید در مرحله دوم این قسمت باید Video Capture Device و سپس کارت کپچر خود را انتخاب کنید.
اضافه کردن وبکم به OBS Studio
اضافه کردن وبکم هم تقریباً مثل اضافه کردن گیمپلی است. پس از اطمینان از وصل بودن یا روشن بودن وبکم خود، روی + بزنید و از قسمت Video Capture Device وبکم خود را انتخاب کنید. میتوانید نام این لایه را تغییر دهید تا در مدیریت لایهها کارتان راحتتر شود. حواستان باشد که لایه وبکم شما بالاتر از لایههای دیگر باشد تا جلوتر از آنها نمایش داده شود.
شروع به استریم در توییچ
حالا شما آماده شروع استریم خود هستید. برای شروع به سادگی از کلیدهای پایین سمت راست دکمه Start Streaming را بزنید و صبر کنید تا اتصال شما به توییچ برقرار شود. دقت داشته باشید که از وسط پنل کار OBS Studio میتوانید میزان صدای لایههای مختلف را تغییر دهید و بلندی صدا را تنظیم کنید.
آموزش استریم کردن در کنسول به صورت مستقیم
اگر نمیخواهید از لپتاپ یا کامپیوتر جدا برای استریم استفاده کنید، آموزش استریم کردن را با راه دیگر استفاده از اپلیکیشن توییچ روی کنسول شما و استریم به صورت مستقیم ادامه میدهیم.
بازی اندروید
بازی ایفون
با استفاده از کامپیوتر یا گوشی خود، یک حساب توییچ بسازید. پیشنهاد ما دانلود برنامه توییچ برای اندروید یا iOS از لینکهای بالا است که به شما امکان تنظیمات و کنترل بیشتری روی استریم خود میدهد.
اگر از کنسولهای ایکسباکس استفاده میکنید، اپلیکیشن توییچ را از Microsoft Store دانلود کنید. اگر از PlayStation استفاده میکنید نیازی به دانلود اپلیکیشن ندارید.
از اتصال هدست، میکروفون، وبکم و سایر وسایل خود مطمئن شوید.
شروع به استریم کردن در PS4 و PS5
به قسمت تنظیمات (Settings) کنسول خود بروید.
وارد Account Management شوید.
به Link with Other Services بروید.
توییچ را انتخاب کنید و وارد حساب خود شوید. میتوانید از طریق اسکن کد QR یا تایپ کردن کد دادهشده در twitch.tv/activate حساب خود را لینک کنید.
بازی مد نظر خود را اجرا کنید.
دکمه Share روی دسته خود را یک بار بزنید.
گزینه Broadcast Gameplay را انتخاب کنید و از صفحه بازشده توییچ را بزنید.
تنظیمات ویدیویی خود را اعمال کنید و با کلیک روی Start Broadcasting، شروع به استریم کردن کنید.
شروع به استریم کردن در Xbox One و Xbox Series X|S
ابتدا برنامه توییچ را باز کنید و وارد حساب خود شوید. میتوانید از طریق اسکن کد QR یا تایپ کردن کد دادهشده در twitch.tv/activate حساب خود را لینک کنید.
قبل از شروع استریم، مطمئن شوید که در بخش Privacy settings، در منوی Others can see if you’re online گزینه Online Status & history روی Everybody ست شده باشد.
همچنین در منوی Game Content باید گزینه You can broadcast gameplay را روی Allow بگذارید.
همچنین اگر از دوربین استفاده میکنید، گزینه You can share content made using Kinect or other cameras را روی Allow بذارید.
به تب Broadcast در برنامه توییچ بروید و تنظیمات ویدیویی خود را انجام دهید.
گزینه Start Streaming را بزنید.
پس از شروع استریم، شما میتوانید بازی مورد نظر خود را با کلیک روی دکمه Xbox در دسته خود انتخاب کنید.
در Xbox Series X|S میتوانید روی دکمه Xbox بزنید و در منوی باز شده به بخش Capture & share بروید. گزینه Live streaming را بزنید و توییچ را انتخاب کنید. با استفاده از گزینه Go live now میتوانید استریم خود را شروع کنید.
آموزش استریم کردن در اندروید و iOS با توییچ
بازی اندروید
بازی ایفون
اپلیکیشن توییچ را از لینکهای بالا دانلود کنید.
وارد اکانت توییچ خود شوید یا یک حساب جدید بسازید.
از زبانه Browse روی آیکون دوربین در نوار بالای صفحه بزنید و Stream Games را بزنید.
اگر از اندروید استفاده میکنید پنجرهای برای دسترسیهای موردنیاز باز خواهد شد. دسترسیهای لازم را به برنامه بدهید.
برنامه به طور خودکار تنظیمات اینترنت شما را بررسی میکند و مناسبترین تنظیمات را برای شما قرار میدهد.
بازی خود را انتخاب کنید.
اگر از iOS استفاده میکنید آیکون Record قرمز رنگ را بزنید و بازی خود را باز کنید.
اگر از اندروید استفاده میکنید روی Start Stream بزنید.
استریم شما شروع خواهد شد.
توجه: همانطور که در این مقاله و آموزش استریم گفتیم در هنگام استریم تمام صفحه شما برای بینندگان پخش خواهد شد. مراقب باشید که چیزهای شخصی شما مثل پیام، شماره آشنایان یا عکسهای شخصی روی صفحه نباشند. پیشنهاد میشود هنگام بازی از حالت Do not disturb استفاده کنید.
سعی کردیم در این مقاله آموزش استریم کردن را به صورت کامل و جامع با زبان ساده بیان کنیم. اگر سوالی در زمینه استریم دارید با ما از طریق کامنتهای این پست در ارتباط باشید.
منبع :آی تی رسان

یکی از وظایف مهم متخصصان امنیتی، ارزیابی امنیت سازمان است. این ارزیابی، جنبههای فنی مانند وضعیت پیکربندی سرورها، فایروالها، نرمافزارها، کنترلهای امنیت فیزیکی و اطلاعرسانی به کارکنان در رابطه با حملات مهندسی اجتماعی را شامل میشود. ارزیابی امنیتی یکی از وظایف مهم کارشناسان امنیت سایبری است که باید بهطور منظم انجام شود. از اینرو، دانستن نحوه انجام این ارزیابیها اهمیت زیادی دارد، زیرا امنیت سایبری در پیکربندی دیوارهای آتش و تخصیص مجوزها خلاصه نمیشود. درک چگونگی ارزیابی امنیتی بخشهای مختلف یک سازمان و خطرات مرتبط با آن کمک میکند تا بهشکل بهتری از زیرساختهای سازمانی در برابر مجرمان سایبری محافظت کنید.
ممیزی اطلاعات چیست؟
ممیزی اطلاعات (Information Audit) بهمعنای تجزیهوتحلیل و ارزیابی مکانیزمهای امنیتی، پایگاههای داده و منابعی است که اطلاعات حساس را نگهداری میکنند. اینکار با هدف تشخیص، بهبود دقت، امنیت و بهروز بودن اطلاعات و برطرف کردن مشکلات امنیتی انجام میشود. در حالت جامع، ممیزی اطلاعات به دلایل زیر انجام میشود:
رعایت مقررات و خطمشیهای اطلاعاتی و امنیتی سازمان.
آگاهیرسانی با هدف تامین امنیت بهتر منابع اطلاعاتی.
نیازهای اطلاعاتی سازمان.
شناسایی هزینههای پیرامون منابع اطلاعاتی.
شناسایی فرصتهای استفاده از منابع اطلاعاتی برای دستیابی به مزیت رقابتی راهبردی.
توسعه خطمشیهای امنیتی و اطلاعاتی.
یکپارچهسازی سرمایهگذاری در فناوری اطلاعات با اقدامات راهبردی تجاری.
شناسایی جریانها و فرایندهای اطلاعاتی.
رصد و ارزیابی سازگاری و مطابقت با استانداردها.
شناسایی منابع اطلاعاتی سازمان.
ارزیابی امنیتی چیست؟
ارزیابی امنیتی به مجموعه اقدامات دورهای اشاره دارد که وضعیت امنیتی شبکه سازمانی را بررسی میکند. ارزیابی امنیتی شامل شناسایی آسیبپذیریها در سیستمهای فناوری اطلاعات و فرآیندهای تجاری و توصیههایی برای کاهش مخاطرات امنیتی است. ارزیابیهای امنیتی به شما کمک میکنند خطرات را شناسایی کنید و مانع بروز حملههای سایبری شوید.
انواع ارزیابی
ارزیابیهای امنیتی شامل ارزیابی مخاطرات، تهدیدها، پیکربندیها، آسیبپذیریها و تست نفوذ است. هر یک از این ارزیابیها مشکلات مختلف زیرساختهای سازمانی را نشان میدهد.
ارزیابی مخاطره (Risk Assessment):
ارزیابی مخاطره (ریسک) رایجترین نوع ارزیابی در دنیای امنیت سایبری است که با شناسایی مسائلی که ممکن است باعث ایجاد اختلال در فعالیتهای تجاری شوند، به استمرار و تداوم فعالیتهای تجاری کمک میکنند. برخی منابع، ارزیابی ریسک را تجزیهوتحلیل ریسک نیز توصیف میکنند، زیرا به شناسایی ریسکهای پیرامون داراییهای درونسازمانی و یافتن راهحلهایی برای بهحداقل رساندن آن ریسکها میپردازد. بهطور کلی، ارزیابی ریسک بر مبنای مراحل زیر انجام میشود:
شناسایی داراییها (Identify assets):
اولین گام برای ارزیابی ریسک، شناسایی داراییهای سازمان است. دارایی هر چیزی است که برای سازمان ارزش دارد. بهعنوان مثال، اگر شرکتی یک سایت تجارت الکترونیکی داشته باشد که صدها هزار دلار در روز درآمد دارد، یک دارایی مهم بهشمار میرود.
شناسایی تهدیدات (Identify threats):
پس از شناسایی داراییها، باید تهدیدات پیرامون هر دارایی را شناسایی کنید. بهطور کلی، داراییها با تهدیدات مختلفی روبهرو هستند. تنها کاری که باید در این مرحله انجام دهید، فهرست کردن تهدیدات است. بهعنوان مثال، ممکن است یک وبسایت با حمله انکار سرویس (DoS) روبرو شود یا هارددیسک روی وبسرور به دلایل مختلف، همچون حملههای بدافزاری از کار بیفتد.
تحلیل تأثیر (Analyze impact):
این مرحله برای تعیین تأثیری که هر تهدید روی دارایی میگذارد، انجام میشود. بهعنوان مثال، تأثیر یک حمله «انکار سرویس توزیعشده» (DDoS) بر روی سایت تجارت الکترونیک شرکت بهمعنای از دست دادن درآمد در مدت زمانی است که فرآیند بازیابی کامل شده و همهچیز به شرایط اولیه باز گردد. به همین دلیل مهم است که باید تاثیر تهدید بهدقت بررسی شود.
اولویتبندی تهدیدها (Prioritize threats):
پس از شناسایی تهدیدات پیرامون داراییها، هر تهدید را بر مبنای تاثیری که بر فعالیتهای تجاری میگذارد و بر اساس احتمال وقوع تهدید اولویتبندی کنید. در این مرحله باید تصویر کاملتری از تهدیدها داشته باشید.
کاهش تهدید (Mitigate the threat):
پس از اولویتبندی تهدیدها، باید مشخص کنید بر مبنای چه راهکاری بهدنبال کاهش آنها هستید. برای مثال، میتوانید وبسرور را پشت دیوار آتشی قرار دهید تا مانع پیادهسازی موفقیتآمیز حملات پیرامون وبسرور شوید یا از راهحل RAID برای مقابله با خرابی ناگهانی دیسکدرایوها و از دست دادن اطلاعات استفاده کنید.
ارزیابی تهدید (Threat Assessment):
ارزیابی تهدید بخشی از فرآیند ارزیابی ریسک است که تهدیدات مختلف پیرامون یک دارایی را شناسایی میکنید. همانگونه که اشاره شد، شما با تهدیدات مختلفی پیرامون یک دارایی روبهرو هستید، از اینرو بخشی از ارزیابی ریسک، به مبحث اولویتبندی تهدیدها اختصاص دارد.
ارزیابی پیکربندی (Configuration Assessment):
با ارزیابی پیکربندیها، متخصصان امنیت سایبری پیکربندی امنیتی سیستمها یا شبکه را بررسی میکنند. رویکرد فوق شامل آمادهسازی چکلیستی از بهترین شیوههای پیکربندی و بهترین روشهای پیادهسازی آنها است، اما یک سازمان چه داراییهای مهمی دارد که باید به فکر ارزیابی و پیکربندی درست آنها باشیم؟ از جمله این داراییها به موارد زیر باید اشاره کرد:
سامانهها:
هنگام ارزیابی، مطمئن شوید که جدیدترین وصلهها روی سامانهها نصب شدهاند. اطمینان حاصل کنید که هیچ نرمافزار یا سرویس غیرضروری روی سامانهها اجرا نمیشود. همه سامانهها باید با رمزهای عبور قوی محافظت شوند. همه سامانهها باید نرمافزار آنتیویروسی داشته باشند که پایگاه داده آن شامل جدیدترین تعریف و امضا ویروسها است. این پایگاه داده باید بهطور خودکار بهروزرسانی شود.
سرور فایل (File server):
هنگام ارزیابی پیکربندی امنیتی سرور فایل، بررسی کنید کاربران قبل از دسترسی به فایلهای روی سرور توسط سرور فایل احراز هویت شوند، مجوزهای درستی به پوشهها اختصاص داده شده باشد، افرادی را که قادر به دسترسی به اطلاعات هستند کنترل کنید و مطمئن شوید که اصل حداقل امتیاز رعایت شده باشد.
وب سرور (Web server):
وبسایتهایی که با اطلاعات حساس بازدیدکنندگان در ارتباط هستند باید از پروتکلهای SSL/TLS برای رمزنگاری اطلاعات استفاده کنند، احراز هویت بهشکل درستی انجام شده باشد و هیچ فایل غیرضروریای در سرور وب وجود نداشته باشد. وبسرور باید دارای ویژگی گزارشگیری باشد تا بتوانید بر فرآیند دسترسی به وبسایتها نظارت دقیقی اعمال کنید.
سرور SMTP:
علاوه بر وصله و ایمن کردن سامانهها، مطمئن شوید که سرور SMTP توسط دیوار آتش محافظت میشود و هیچگونه دسترسی مستقیم به سرور وجود ندارد. علاوه بر این، سرور SMTP باید توسط ابزارهای امنیتی مثل ضدویروسها محافظت شود تا هرگونه ایمیلی که حاوی ضمیمه آلوده یا هرزنامههایی است که برای سرور ارسال میشوند شناسایی شوند. توجه به این نکته نقش مهمی در کاهش حملههای فیشینگ دارد. بهطور معمول، سازمانهای بزرگ فعال در حوزههای مالی و بیمه با حجم قابل توجهی از هرزنامههایی روبهرو هستند که بیارزش هستند و باز کردن تنها یک مورد از این هرزنامهها راه نفوذ هکرها به سامانهها را هموار میکند.
روترها (Routers):
کارشناسان خبره برای دسترسی به Console ، Auxiliary و Telnet روی روترها گذرواژههایی را تعیین میکنند تا بتوانند افرادی را که قصد دسترسی به پیکربندی روترها دارند کنترل کنند. برای حفظ امنیت، بهتر است از پروتکل پوسته امن (SSH) سرنام Secure Shell به جای Telnet برای مدیریت از راه دور به روتر استفاده کنید. مطمئن شوید روتر یک فهرست کنترل دسترسی (ACL) دارد که کنترل میکند چه ترافیکی مجاز است از روتر عبور کند. بهعنوان مثال، این امکان وجود دارد تا روتر را به گونهای پیکربندی کنید که به ترافیک شبکههای مشخصی اجازه عبور دهد. علاوه بر این، باید یک قانون انکار ضمنی همه (Implicit Deny All) در انتهای یک فهرست کنترل دسترسی قرار دهید. این قانون میگوید، هرگونه ترافیکی که برای روتر وارد میشود به غیر از ترافیک مربوط به شبکههای مشخصشده، باید رد شود. این قانون باید به ترافیک ورودی رابط سریال روی روتر اعمال شود تا هرگونه ترافیکی که وارد روتر میشود این قانون روی آن اعمال شود.
فایروالها (Firewalls):
دیوارهای آتش باید به گونهای پیکربندی شوند که هرگونه ترافیکی بهجز ترافیکی را که صراحتاً مجاز به عبور از دیوار آتش است رد کنند. این پیکربندی بهعنوان رد ضمنی شناخته میشود و اعلام میدارد که تنها ترافیک تعریفشده در دیوارآتش مجاز به عبور است. از آنجایی که فایروالها به اینترنت متصل هستند، باید اطمینان حاصل کنید که تمامی ویژگیهای مدیریت راه دور روی آنها غیرفعال شده باشد و از مکانیزم احراز هویت قوی روی دستگاه استفاده شده باشد.
سوئیچها (Switches):
مطمئن شوید گذرواژهها روی درگاه کنسول، درگاه کمکی و درگاههای Telnet سوئیچها پیکربندی شدهاند تا بتوانید افرادی را که دسترسی مدیریتی به دستگاه دارند کنترل کنید. همچنین، بررسی کنید درگاههای استفادهنشده غیرفعال باشند تا مجرمان سایبری موفق نشوند از این درگاهها برای نفوذ استفاده کنند. برای حفظ امنیت، بهتر است کاربران هر واحد را در شبکه جداگانهای قرار دهید و از مکانیزم تقسیمبندی (Segments) برای شکستن یک شبکه واحد به شبکههای کوچکتر استفاده کنید. امروزه در بیشتر سازمانهای بزرگ از فناوری شبکه محلی مجازی (VLAN) برای ایمنسازی، مدیریت بهتر کاربران و نظارت دقیق بر پهنای باند استفاده میشود.
کارمندان (Employees):
هنگام انجام ارزیابیهای دستی، دانش کارکنان در ارتباط با مسائل امنیت را بیازمایید و چند سناریو حمله مهندسی اجتماعی را برای آنها ترتیب دهید. بهعنوان مثال، میتوانید به بررسی این موضوع بپردازید که آیا یک کارمند رمز عبور خود را در اختیار فردی که ناشناس است قرار میدهد یا خیر. همچنین، میتوانید درایوهای USB را روی میز کارمندان قرار دهید تا ببیند چند نفر از آنها یک درایو USB ناشناس را به سیستمهای خود متصل میکنند. کارمندانی که آموزشهای امنیتی دقیقی دیده باشند بهخوبی از این نکته اطلاع دارند که یک درایو USB ناشناس ممکن است حاوی ویروس باشد و نباید چنین درایوهایی را به سامانههای خود متصل کنند.
امنیت فیزیکی (Physical security):
یکی دیگر از موضوعات مهم پیرامون مبحث ارزیابی، امنیت فیزیکی است. آیا تمام درها و پنجرهها قفل دارند؛ آیا تنظیمات CMOS سیستمها برای جلوگیری از بوت شدن از طریق دیسکهای نوری یا درایوهای USB تغییر کردهاند؛ آیا روی سامانههایی که اطلاعات محرمانه دارند، ویژگی کنترل یا مشاهده از راه دور نصب شده یا نرمافزارهای برقراری ارتباط از راه دور مثل Team Viewer نصب شده است؛ آیا از مکانیزمهای نرمافزاری یا سختافزای برای عدم اتصال درایوهای USB روی سامانهها استفاده شده است یا خیر.
ارزیابی آسیبپذیری (Vulnerability Assessment):
ارزیابی آسیبپذیری به شناسایی نقاط و مناطقی اشاره دارد که احتمال بروز حملههای سایبری از آن مناطق بیشتر است. بیشتر ارزیابیهای آسیبپذیری با استفاده از ابزارهای رایجی مثل Nessus، OpenVAS یا LANguard GFI انجام میشوند. شکل ۱، رابط کاربری ابزار LANguard GFI را که اسکنر شناسایی آسیبپذیری شبکه است نشان میدهد. این ابزار به کارشناسان شبکه کمک میکند بخشهایی از یک سامانه را که در برابر حملهها آسیبپذیرتر هستند شناسایی کنند.
ابزار ارزیابی آسیبپذیری با هدف تجزیهوتحلیل پیکربندیهای یک سیستم و شناسایی بخشهایی که نیازمند رسیدگی بیشتر هستند مورد استفاده قرار میگیرد. از جمله وظایف اصلی این ابزارها به موارد زیر باید اشاره کرد:
ارزیابی وضعیت وصلههای نصب شده روی سامانهها و گزارش این موضوع که آیا وصلههایی وجود دارند که روی سامانهای نصب نکردهاید.
شناسایی حسابهای کاربری که بدون رمز عبور روی یک سیستم ساخته شدهاند.
اطلاعرسانی در ارتباط با حسابهایی که مدت زمان طولانی است که از آنها استفاده نشده است.
اطلاعرسانی در ارتباط با وجود انواع مختلفی از حسابهای مدیریتی.
شناسایی رخنهها یا آسیبپذیریهایی که نیازمند رسیدگی هستند.
شکل 1
نکته کلیدی که هنگام کار با ابزارهای ارزیابی آسیبپذیریها باید به آنها دقت کنید این است که ابزارهای مذکور تنها پیکربندی سامانهها را بررسی میکنند و تا حد امکان توصیههایی را برای رفع مشکل ارائه میکنند، اما کار خاصی در ارتباط با کاهش یا دفع حملههای سایبری انجام نمیدهند، زیرا وظیفه اصلی آنها بررسی پیکربندیهای سامانهها است. هنگامی که قصد ارزیابی آسیبپذیریها را دارید باید موارد زیر را بررسی کنید.
حسابهای استفاده نشده (Unused accounts):
آیا حسابهای کاربریای وجود دارند که برای مدت زمان طولانی استفاده نشدهاند. بهطور معمول در همه شرکتها، کارمندان پس از گذشت مدت زمانی محل کار را ترک میکنند، در حالی که حسابهای کاربری آنها همچنان فعال است. هرگونه حساب کاربریای که استفاده نمیشود، ممکن است در معرض حملههای سایبری قرار بگیرد، زیرا هیچ کارمندی وجود ندارد که وضعیت آنها را بررسی کند. از اینرو، مهم است که حسابهای استفادهنشده را شناسایی کرده و آنها را غیرفعال کنید.
حسابهای مدیریتی (Administrative accounts):
حسابهای مدیریتی را باید بهدقت زیر نظر بگیرید. هرچه تعداد حسابهای مدیریتی کمتر باشد، بهتر است؛ زیرا تعداد افرادی که قادر به اعمال تغییرات در محیط هستند محدودتر است.
سیستمعامل وصلهنشده (Unpatched operating system):
سیستمعامل وصلهنشده یک خطر امنیتی بزرگ در دکترین دفاعی بهوجود میآورد، بههمین دلیل مراقب سیستمهایی باشید که وصلهنشده هستند. علاوه بر این، همواره این احتمال وجود دارد که نرمافزارهای آسیبپذیری که وصله نشدهاند، روی سامانه کاربران نصب شده باشند. اگر سرور ایمیل یا سرور پایگاه داده آسیبپذیر داشته باشید یک مهاجم میتواند یک حمله سرریز بافر روی آن انجام دهد و دسترسی مدیریتی کامل به سیستم پیدا کند.
نرمافزار آسیبپذیر (Vulnerable software):
یکی از قابلیتهای کاربردی نرمافزارهای ارزیابی آسیبپذیری توانایی آنها در شناسایی نرمافزارهای آسیبپذیری است که روی سیستم در حال اجرا هستند. برای مثال، اگر سامانهای در برابر حمله CGI سرنام Common Gateway Interface آسیبپذیر باشد، نرمافزار ارزیابی به شما اطلاع میدهد.
شناسایی آسیبپذیریها (Identifying vulnerabilities):
هدف از اسکن شناسایی آسیبپذیریها پیدا کردن نقاط ضعف موجود در سیستم است. بهعنوان مثال، اگر سیستمی با وصلهها بهروز نباشد، بهعنوان یک نقطه آسیبپذیر در شبکه شناخته میشود.
تشخیص فقدان کنترلهای امنیتی (Identifying the lack of security controls):
هنگام انجام ارزیابی آسیبپذیری، بهدنبال بررسی این موضوع باشید که آیا کنترلهای امنیتی وجود دارند که باید استفاده شوند و در حال حاضر استفاده نمیشوند. بهعنوان مثال، هنگام ارزیابی امنیت یک سرور پایگاه داده متوجه شوید توسط فایروال محافظت نمیشود. در این مورد، باید به مدیر پایگاه داده اطلاع دهید که سامانهها باید از طریق دیوارآتش با سرور پایگاه داده ارتباط برقرار کنند تا همهچیز تحت کنترل قرار گیرد.
شناسایی پیکربندیهای نادرست رایج (Identifying common misconfigurations):
هنگام انجام اسکن آسیبپذیری، پیکربندی سیستم را بررسی کنید تا هرگونه پیکربندی نادرستی را که میتواند باعث بروز مشکلات امنیتی شود پیدا کنید. بهعنوان مثال، ممکن است متوجه شوید نام پیشفرض حساب مدیریتی در یک سرور تغییر نکرده است.
کلام آخر
همانگونه که مشاهده کردید، یکی از وظایف مهم کارشناسان امنیت، انجام ارزیابیها و ممیزیهای امنیتی است. بهطور معمول، توصیه میشود ارزیابیها و ممیزیها را در بازههای زمانی کوتاهمدت انجام دهید تا مطمئن شوید آسیبپذیری ناشناختهای روی یک سیستم و بهویژه وبسرورها وجود ندارد.
شرکت پیشران صنعت ویرا با اساس نامه اتوماسیون صنعتی و کنترل ابزار دقیق و ساخت تابلوهای برق فشار قوی و ضعیف از سال 92 تاسیس گشت و ازهمان ابتدا در حوزه کاربرد ابزار دقیق در bms و سپس تولید و ساخت آنها قدم نهاد و در ادامه مسیر توانست با اتکا به تجربیات چندین ساله و استخدام نیروهای متخصص برق عملا جزو شرکتهایی باشد که محصولات قابل اتکایی با عناوین مانیتورینگ شرایط محیطی اتاق سرور -کنترلرهای دمای دیتا سنتر -دیتالاگرهای سردخانه و انبار -هشدار دهنده های دمای یخچال و فریزر و شمارشگرهای نمایشگاهی و فروشگاهی و تابلوهای برق متنوع با کاربردهای مختلف روانه بازار نماید در حال حاضر سیستمهای کنترل دما و رطوبت اتاق سرور این شرکت تنها سیستم مبتنی بر سخت افزار صنعتی plc-hmi در ایران است.