ایمن سازی و سخت شدن هسته CentOS 7 با Sysctl

معرفی

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

دستورات

برای شروع استفاده از sysctl ، پارامترها و نمونه های ذکر شده در زیر را مرور کنید.

مولفه های

-a : این مقدار تمام مقادیر موجود در پیکربندی sysctl را نشان می دهد.

-A : این مقدار تمام مقادیر موجود در پیکربندی sysctl را به شکل جدول نمایش می دهد.

-e : این گزینه خطاهای مربوط به کلیدهای ناشناخته را نادیده می گیرد.

-p : برای بارگذاری یک پیکربندی sysctl خاص ، به طور پیش فرض از آن استفاده می شود/etc/sysctl.conf

-n : این گزینه نشان دادن نام های کلیدی هنگام چاپ مقادیر را غیرفعال می کند.

-w : این گزینه برای تغییر (یا افزودن) مقادیر به درخواست sysctl است.

مثال ها

$ sysctl -a
$ sysctl -n fs.file-max
$ sysctl -w fs.file-max=2097152
$ sysctl -p

بنابراین ابتدا مقادیر پیش فرض را بررسی می کنیم. اگر /etc/sysctl.confخالی باشد ، تمام کلیدها و مقادیر پیش فرض را نشان می دهد. دوم ، ما بررسی می کنیم که مقدار مقدار fs.file-maxچیست و سپس مقدار جدید را روی آن تنظیم می کنیم 2097152. در آخر ، ما در حال بارگیری /etc/sysctl.confفایل پیکربندی جدید هستیم .

اگر به دنبال کمک اضافی هستید ، می توانید از آن استفاده کنید man sysctl.

ایمن سازی و سخت شدن هسته

برای دائمی شدن تغییرات ، باید این مقادیر را به یک پرونده پیکربندی اضافه کنیم. از پرونده پیکربندی CentOS به طور پیش فرض استفاده کنید ، استفاده کنید /etc/sysctl.conf.

پرونده را با ویرایشگر مورد علاقه خود باز کنید.

به طور پیش فرض ، شما باید چیزی شبیه به این را ببینید.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

بیایید ابتدا مدیریت حافظه سیستم را بهبود بخشیم.

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

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

در مرحله بعد ، به شما اجازه می دهد عملکرد بهینه شبکه را تنظیم کنید.

ما قصد داریم مقدار اتصالات ورودی و بقیه اتصالات ورودی را تغییر دهیم ، حداکثر مقدار بافر حافظه را افزایش دهیم و بافر ارسال / دریافت پیش فرض و حداکثر را افزایش دهیم.

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

سرانجام ، ما می خواهیم امنیت عمومی شبکه را بهبود بخشیم.

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

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

پرونده را ذخیره کرده و ببندید و سپس پرونده را با استفاده از sysctl -pدستور بارگیری کنید .

نتیجه

در پایان ، پرونده شما باید شبیه به این باشد.

# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).

# Minimizing the amount of swapping
vm.swappiness = 20
vm.dirty_ratio = 80
vm.dirty_background_ratio = 5

# Increases the size of file handles and inode cache & restricts core dumps
fs.file-max = 2097152
fs.suid_dumpable = 0

# Change the amount of incoming connections and incoming connections backlog
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 262144

# Increase the maximum amount of memory buffers
net.core.optmem_max = 25165824

# Increase the default and maximum send/receive buffers
net.core.rmem_default = 31457280
net.core.rmem_max = 67108864
net.core.wmem_default = 31457280
net.core.wmem_max = 67108864

# Enable TCP SYN cookie protection
net.ipv4.tcp_syncookies = 1

# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter = 1

# Enable ignoring to ICMP requests and broadcasts request
net.ipv4.icmp_echo_ignore_all = 1
net.ipv4.icmp_echo_ignore_broadcasts = 1

# Enable logging of spoofed packets, source routed packets and redirect packets
net.ipv4.conf.all.log_martians = 1

# Disable IP source routing
net.ipv4.conf.all.accept_source_route = 0

# Disable ICMP redirect acceptance
net.ipv4.conf.all.accept_redirects = 0

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

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

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

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

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

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

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

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

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