REDHAT SERVER
HARDENING
(RH413)
BY: AHMED GAMIL
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
1 What is Server Hardeningاذه باتكلا ةباثمب soft copy ل course ardening (RH413) H erver S edhat R يذلا ماق سدنهملا ريدقلا / يفطصم ةدومح هحرشب لوأك advanced course متي هحرش اناجم يلع ـلا youtube يلع ـلا اذه Link http://www.youtube.com/playlist?list=PLjXWa5DiEKqtgBs9lwCM0B_aoa0puDjbp عبب ةناعتسلاا يلا ةفاضلااب اهحرش يف عسوتلا وا تاعوضوملا ضعب حيضوتل اهب قوثوملا تنرتنلاا عقاوم ض ثدحتيو course redhat server hardening (RH413)
نع ك ةيفي نيمأت ـلا linux servers ليلقتو تارغثلا يتلا دق حمست لمعب attack ـلل system ةيفيكو ةجلاعم ـلا system bugs اذهو باتكلا حورشم ةغللاب لا ةيبرع عم ءاقبلاا يلع تاحلطصملا ةيبنجلاا ةعئاشلا ظافللااو امك يه كلذو ليهستل طبر تامولعملا ةيرظنلا عقاولاب يلمعلا امك يوتحي يلع ريثكلا نم روصلا ريسيتل مهفلا قيبطتلاو ، هذهو روصلا نم عقاو ـلا LAB صاخلا يب يذلاو تمق ئاشنإب ه قيبطتل ـلا course ايلمع ا الله لأس ههجول اصلاخ يلمع لعجي نا ميركلا مكئاعد حلاص نم انوسنت لاو
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
2 What is Server HardeningContents
What is Server Hardening ...5
Course Contents ...5
Security updates ...5
CVE: common vulnerability and exposure...6
National Vulnerability DB (NVD) ...7
Package Verification ... 13
Package hashing ... 14
Package manager ... 16
Backporting ... 20
File system encryption ... 21
Mount ... 27
Mount options ... 29
nodev ... 29
noexec ... 29
nosuid ... 30
File system attributes ... 30
Normal attributes ... 30 File attributes ... 30 Extended attributes ... 32 User attributes ... 35 Security attributes ... 36 Trusted attributes ... 36 Extended attributes ... 36 Special permissions ... 37 File types ... 37 Access permissions ... 37 Permissions types... 38
Find files with permissions ... 40
Monitor file changes... 41
AIDE ... 41
AIDE files ... 42
AIDE UASGE ... 45
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
3 What is Server HardeningACL ... 49
AAA ... 51
PAM ... 52
What is PAM ? ... 52
How PAM works ? ... 53
Module interface/ PAM facility/Type ... 54
Control /policy ... 55 Module Name/Path ... 56 Module Arguments ... 57 Examples ... 59 Password Aging ... 69 Securing GRUB ... 74 Customizing RHEL6 ... 76 Login banners ... 76 Pre-login banner ... 76 Post-login banner ... 78 Instant messages ... 80 Wall Command ... 80 Write Command ... 81
Gnome login users ... 81
Gnome Power Button ... 86
Gnome Banner Message ... 87
Authentication systems ... 88
IPA server ... 89
Install ipa-server ... 90
Install ipa client ... 95
Uninstall ipa client or remove client from domain ... 98
Using ipa server with GUI ... 98
Adding new user ... 98
Adding hosts/clients ... 102
Add group ... 103
Add user to group ... 104
Setting password policy ... 106
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
4 What is Server HardeningUsing ipa server with CLI ... 109
Add new user ... 112
Find existing user ... 113
Edit password policy ... 114
Add new group ... 115
Search existing group ... 115
Host based access control ... 116
HBAC Rules ... 116
HBAC Service Groups ... 122
HBAC Test ... 124
Rsyslog ... 126
Install rsyslog on client and server ... 127
Configure client... 127
Configure Server ... 128
Test logging ... 129
Encrypting Syslog Traffic with TLS (SSL( ... 129
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
5 What is Server HardeningRH 413
REDHAT
SERVER HARDENING
What is Server Hardening
اذه ثدحتي ـلا course نع server your linux how to secure ماع لكشب لا ليلقتو vulnerabilities ثيحب لا عيمجل بسانم حبصي services لاو users هيلع لمعلل اذه قلعتي لاو ـلا course لمعب securing ـل service وا هنيعم application لثم نيعم oracle DB اهريغ وا
Course Contents
ـلا اذه يف لواحنس course : لثم عيضاوملا نم ديدعلا ةيطغت Security updates Package verification File system encryption SUID, SGID ACL PAM Iptables, firewall Identity management (IDM) Log management Grub security Audit Key logging Mounting optionsSecurity updates
لا نع ثدحتن نا لبق security updates نع لاوا ثدحتنس لا security threads : لا مسقت نكمي security threads : نيعون يلا 1 -vulnerability وهو : أطخ لا يف SW coding همدختسي لا ـ hacker لا يلع لوخدلل ـ system 2 -exposure : لا يف أطخ وه ـ SW configuration حمسي لل ـ attacker لا لمع يف هدعاست تامولعم يلع لوصحلاب ـ attack لا تامولعم لثم ، ـ apache تنرتنلاا تاحفص يف رهظت يتلاREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
6 Security updates لمعب موقت ةكرش لكو Updates لا هذه يدافتل اهجماربل ـ security threads اهل عضتو standard name اهب صاخ موقت لاثمف redhat ـلا ةيمستب updates ـب“FEDORA-EPEL-year of update-update no”
وا “RHSA--year of update-update no”
لا امنيب ـ standard names هكرش اهعضت يتلا Microsoft رخا لكش اهل لاثم لمعب ةيكيرملاا تائيهلا يدحا تماق نكلو project ـلا هذه عيمجت نع لوئسم updates تاكرشلا عيمج نم عضوو standard name حوم ـلا اذهو د project ىمسي CVE
CVE: common vulnerability and exposure
ـلا CVE وه dictionary سيلو DB موقي لا ليجستب security threads اهفاشتكا مت يتلا تاكرشلا عيمج نم اهل عضيو standard name و رصتخم فصو لا نم ديدعلا يلا اهلاسراب موقي مث ، ـ databases لا لثم ـ National Vulnerability DB (NVD) ب يا عيطتست ثيح security tool اهنم تامولعم يلع لوصحلاو اهيلا لوصولا و لا CVE فصت لا SW mistake ـلاب vulnerability ناك اذا لل حمسي attacker : ـب 1 لا يلع لوخدلا system و ةرشابم يا ذيفنت command ـك system user
2
لمع ce denial of servi3
-اهيب هل حرصم ريغ تانايب يلع لوصحلا فصت اهنا امك لا configuration ةئطاخلا ـلاب exposure لل حمست لا ءاطخلاا هذه تناك اذا attacker لا قارتخاب system : طقف تامولعملا هل رفوت لب رشابم لكشبREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
7 Security updates 1 لل حمست attacker لا نع تامولعم يلع لوصحلاب system هب موقي ام ءافخا وا https://cve.mitre.org/about/terminology.htmlNational Vulnerability DB (NVD)
وه repository لا نم ديدعلل databases ب هصاخلا لا security information لثم security checklists,misconfigurations, product names, and impact
لا هذهو DBs لا يلع لصحت security threads لا نم CVE لمعب موقت مث fix information, severity scores, and
impact ratings
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
8 Security updates لا يلا يرخا ةرم دوعن Updates ، لا ميسقت عيطتسن updates يلا 3 : عاونا 1- RHSA : RedHat Security Advisory Critical Security Notice
لا لكاشمب ةصاخ access remote unauthenticated لا يلا لوصولل server وا run script هيلع لا ةلكشم لثم openssl ةريهشلا لل حمست يتلا ـ remote user ـلا يلا لصي نا memory تامولعم يلع اهنم لصحيو
Important Security Notice
ـلا لكاشمب ةصاخ system availability لاسراب صخش موقي نا لثم ، requests لا يلا ادج ةريثك apache server لا كلاهتسا يلا كلذ يدؤيف memory لا فقوتو server ـلل حمست ةلكشم ياب صتخت اهنا امك user local لع لوصحلاب ـلا تايحلاص ي root
Moderate Security Notice
لا يلع بعصي يتلا لكاشملاب ةصاخ attacker يلا جاتحت وا اهللاغتسا expert attacker اهمادختسا عيطتسي يكل ـلا لكاشم مظعم لثم java
Low Security Notice
ـلا يلع ةريبك ةروطخ ببست لا يتلا لكاشملاب ةصاخ system
اشملا هذهو ، ةردان فورظ يف لاا ثدحت لا لك
2- RHBA : RedHat Bug Advisory
يهو updates لا حلاصلا bugs لا يف ةدوجوملا application ثودح يلا يدؤت يتلاو crash وا wrong output ةجيتن لا يف لكاشم source code لا وا design 3- RHEA : RedHat Enhancement Advisory
يهو Updates يزملا فيضت لا نم د features لا يلا application ـلا رييغتب موقت دق اهنكلو ، configuration file ـلل service لا فقوت يلا كلذ يدؤي دقو اهثيدحتب موقت يتلا service لمعلا نع لا يلع لوصحللو security updates لا مادختساب yum لمع بجي install ـلل yum-plugin-security.noarch
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
9 Security updates نو لا نا ةقباسلا ةروصلا نم ظحلا loaded plugins يلع يوتحت لا security لمع بجي كلذل ، install اهل لا اذه ةفاضا دنعو plugin لا عضو متيف config file يف هب صاخلا /etc/yum/pluginconf.d/ يلاتلاك رهظتفREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
10 Security updates نا ةقباسلا ةروصلا يف ىرن امكو لا ةفاضا تمت ه security plugin لا ةفرعم عيطتسنو updates ـلا اهجاتحي يتلا system رملاا قيرط نع اهعاوناو # yum updateinfo ـلا رهظتف updates ـلل ةحاتملا system : يهو 3 Security notice(s) و 2 Bugfix notice(s) و 1 Enhancement notice(s) ـلا ضرع ةقيرط فلتخت دقو ، output ـلا فلاتخاب distribution ـلا ليصافت ضرعلو updates : رملاا مدختسن # yum updateinfo listـلا عيمج نع ليصافتلا نم ديزم ضرعلو updates
ةحاتملا # yum updateinfo info
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
11 Security updates نع ليصافت ضرعلو update نيعم لا مادختساب Update IDREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
12 Security updates نا ظحلانو ـلا update ID : “FEDORA-EPEL-2013-11585” يف fedora " هلكش نوكيو RHSA-2014:0919:R6-64 " يف Redhat فلتخيو يف هنع CVE ـلا مادختسا نكميو yum ـلا عم CVE ID # yum updateinfo --cve= CVE-2014-1556لا تامولعم ضرعب ماق انهو CVE عونو لا updates اهنع ةلوئسملا ا امنيب ـلا نع ليصافتلا نم ديزم ضرعن نا اندرا اذ packages ـلا اذه اهنع ثدحتي يتلا CVE : يلاتلا رملاا ذيفنتب موقنف
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
13 Package Verificationرملاا ذيفنتب انمق اذاف “yum update”
عاونلاا عيمج ثيدحتب موقي فوسف security and bugfix and enhancement
اما لمع اندرا اذا security update
طقف ( اهعاونا عيمجب critical, important, moderate, low
) : رملاا ةباتكب موقنف # yum update --security
لمع اندرا اذا اما update
ـلا مادختساب Update ID
: رملاا ةباتكب موقنف # yum update --advisory=RHSA-2014:0919:R6-64
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
14 Package Verification ـلا package verification يأ ةملاسو ةحص نم دكأتلا ينعت package لمعب موقا نا لبق Install لاو اهردصم نم دكأتلاو اهل لمع بجي install يلا Package هب قوثوم ريغ ناكم يا نم ؟ اذامل نكلو نلا ـلا rpm package ـلا نم ةعومجم نم نوكتت scripts يطتسي دقو ـلا ع hackers اهيف بعلاتلا ةفاضا وا scripts ،ةراض ـلا يلع ريبك رطخ ببسي اذهو system يلاتلاك رهظي اذهو # rpm --qp –scripts package_name.rpm ـلا نا يرن امكو RPM package ـلا نم ةعومجم نم نوكتت scritps ـلا ةيادب لبق لمعت نا نكمي يتلا installation ـلا وا uninstallation ـلا ةيمها يتأت انه نمو ، package verification ـلا ةملاس نم دكأتلل نيتقيرط كانهو packages : 1 ـلا مادختساب package hashing 2 ـلا مادختساب package managerPackage hashing
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
15 Package Verification لك file وا package اهل hash نع ةرابع وهو checksum ـلا اذه يف رييغت ياو ، هب صاخ file ـلا رييغت يلا يدؤي hash ، نم رثكا كانهو algorithm ـلا ةفرعمل مدختسي hash لثم md5, sha ـلا ةفرعملو md5 يلا Package : رملاا مدختسن # md5sum package_name ـلا ةفرعملو sha يلا package : رملاا مدختسن # sha512sum package_name ـلا اذه نا دكأتن فيك نكلو fingerpring ؟ يلصلاا وه رهظ يذلا ـلا نيبو هنيب نراقن نا بجي fingerpring رملاا قيرط نع وا رظنلا قيرط نع اما ةكرشلا نم مداقلا يلصلاا # # md5sum -c md5_fingerpring ـلا اندعا اذا نكلو file ـلا دوعيس يرخا ةرم هلصا يلا hash يلصلااREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
16 Package VerificationPackage manager
لك يوتحي rpm يلع metadata ـلا نع تامولعم يهو Package ـلاو اهل رصتخم فصوو اهمسا لثم key # rpm -qpi Package_name ـلا ةقباسلا ةروصلا يف ىرن امكو metadata ـلا يلع يوتحت signature ـلاب هصاخلا vendor نا دجن انه نمو ، redhat ـلا لمعل نيتيقيرط مدختست package verification ـلا امهو signature (public key) ـلاو hashing ، ـلاو Hashing هتحص نم دكأتلا ةيفيك نعو اقباس هنع انثدحت ـلا دجوتو Hashes عقوم يلع redhat مساب md5sum.txt امنيب ـلا public key ـلا يف رفوتي installation CD مساب “RPM-GPG-KEY-redhat-release” ا يلعو redhat siteREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
17 Package Verification يه هتايوتحمو نإف اذا redhat ـلا ريفوتب موقت Hash file ـلاو public key ـلل admin ـلا لمعل verification لمع عيطتسن يكلو verification ـلل packages ـلا قيرط نع Public key : تاوطخلا ضعبب موقنREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
18 Package Verification 1 لمعب موقن import ـلل keys ـلا يلع system 2 لمعب موقن مث verification ـلا مادختساب CLI ـلا يه ام نكلو imported keys ـلا يف ةيلاحلا system # rpm -qa gpg-pubkey دجوت لا هنا انه ظحلان imported keys ـلا يف system روهظ ببس وه اذهو ، ـلا warning ةلاسرو “No Key” دنع ـلا ضارعتسا metadata لمع ةلواحم دنع يتح وا package verification ـلا اذه رهظي error # rpm –K package_name لمعب موقن اذل Import ـلل keys ـلا نم Official CD rpm --import Path_to_key دكأتن مث نم keys يرخا ةرم اهتفاضا مت يتلا # rpm -qa gpg-pubkeyREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
19 Package Verification ـلا ليصافت ةفرعملو key # rpm -qi key_name ب نلاا موقن لمع verification ـلا ةفاضا دعب ىرخا ةرم keys ـلا ءافتخا ظحلانسو warningREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
20 Package Verification فذحلو imported key رملاا مدختسن # rpm -e gpg-pubkey-2fa658e0-45700c69 ـلا هذه نا ركذلاب ريدجلا نمو imported/trusted keys يف اهنيزخت متي /var/lib/rpmBackporting
نلاا ثدحتنس ـلا وهو يرظن طيسب ءزج نع backporting ةيقرتلا وا ـلاو backporting حلاصا هيلمع وه security problem ـلا نم قباس رادصا يف دوجوم software رادصلااب هناعتسلااب كلذ, هنم ثدحلاا ناك اذا : لاثم يدل software V1 يلع يوتحي security vulnerability هنيعم ـلا ماق مث ، software developers رادصاب ةخسنلا software v2 ـلا اذه تجلاع يتلا security vulnerability متيف ـلا نم ءزج قيبطت code ـلا هذه جلاعي هل يذلاو ديدجلا security problem ـلا يلا اهتفاضاو software ءزجلا اذهو ، ميدقلا ـلاب فرعي fixREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
21 Package Verification ـلا تازيمم نمو Backporting جلاعي هنا ـلا security problems ـلا ثيدحت يلا هجاحلا نودب ميدقلا رادصلاا يف ةدوجوملا software ـلا ثيدحت نا ثيح software ـلا يف فلاتخا هنع جتني دق Modules ـلا وا همدختسملا configuration files ـلا اذه حلاصا بلطتي ام اردان نكلو security issue ـلل ثيدحت لمع software version لمع وا install ـلا ضعبل packages ـلا هذه نا نم دكأتلا دعب متي كلذ نكلو يرخلاا packages ـلا اذه وا update رخآ ئيش يا يلع رثؤي نل https://access.redhat.com/security/updates/backportingFile system encryption
ـلا وه ام file system encryption ؟ وه lock ـلل file system ـلا وا partition ـب key لمعب موقن اذامل file system encryption
؟ ـلا تايوتحم يلع ظافحلل partition ـلا ةقرس ةلاح يف HDD ـلا وا forbidden access لمعب موقن فيك file system encryption
؟
ـلا مادختساب luks (linux unified key setup)
ـلا لوحي يذلا partition يلا encrypted partition فئاظولا ضعبب موقيو اقحلا ىرنس امك ىرخلاا ـلا نيب قرفلا نع لاوا ثدحتنل نكلو mount point ـلاو virtual point ـلا Mount point يه window م عيطتسن ـلا يلع لوخدلا اهن device هعم لماعتلاو ـلا امنيب virtual point ةباثمب يه virtual device ـلا موقي luks utility ـلا عم لمعاتلا يف اهمدختسي يكل اهلمعب encrypted FS لمع بجي اهامدختسا عيطتسن يكلو mount point اهل ـلاو virtual point (virtual device) ـلا هبشت
LVM :
LVM path: /dev/mapper/vg_pxeserver-lv_root and its mount point / Virtual point path: /dev/mapper/mydata and its mount point /data/
ـلا مادختسا عيطتسن لا املثمو LVM قيرط نع لاا ةرشابم mount point ـلا مادختسا اضيا عيطتسن لاف ، virtual device نع لاا رط قي mount point ـلا يه امو mapper (device mapper)
؟ وه kernel subsystem لمعب موقي mapping ـل block device يلع
virtual device (virtual point) ـلا لثم LVM ـلاو Raid ـلا ضعب هل فيضيو features لثم FS snapshot ـلا لقن نع لوئسملا وهو data ـلا نم virtual device ـلا يلا block device http://en.wikipedia.org/wiki/Device_mapper لمع عيطتسن يكل اذا encrypted FS : يتلااب موقن نا بجي همادختساو 1- Format FS using luks
2- Create virtual point 3- Convert FS to ext4
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
22 Package Verification4- Create mount point 5- Mount FS on boot نلاا انيدل partition ديدج “/dev/sdb1” ـلا ذيفنتل حلصي encryption هيلع 1 لمعب نلاا موقن formatting رملاا مادختساب هل # cryptsetup luksFormat /dev/sdb1
ـلا تايوتحم عيمج حسمب موقت ةوطخلا هذه : ةظوحلم partition عضن نا بجيو ، Passphrase ـلل encryption ـلا تامولعم ضرعلو partition يلا هليوحت دعب encrypted partition : رملاا مدختسن # cryptsetup luksDump /dev/sdb1
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
23 Package Verification 2 لمعب نلآا موقن virtual point/device رملاا مادختساب # cryptsetup luksOpen /dev/sdb1 mydataةفاضاب ماق هنا انه دجن virtual device (mydata)
لخادب /dev/mapper ـلا لثم
LVM امامت
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
24 Package Verification 3 نلاا موقن ـلا ليوحتب FS يلا ext4 ـلا عم لماعتنس نلاا نمو( /dev/mapper/mydata ىسننلو /dev/sdb1 ) # mkfs.ext4 /dev/mapper/mydata 4 نلاا موقن لمعب mount point ـلا هذه عم لماعتلا نم نكمتنل device 5 -معب موقن ل automount ـلل FS ـلا دنع startup ـلا نع لايلق ثدحتن نا بجي ةوطخلا هذه لبق نكلو FS encryption/decryption لمعب انمق امدتنع virtual device رملاا مادختساب انمق # cryptsetup luksOpen /dev/sdb1 mydataـلا لاخدا انم بلطو passphrase
ـلا ءاغللاو ، virtual device
:يلاتلا رملاا ذيفنتب موقن # cryptsetup luksClose mydata
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
25 Package Verification نا دجنس mydata ذيفنتب موقنسف ىرخا ةرم اهتداعلاو تفتخا دق loksOpen ـلا لاخداو passphrase ـلا قلاغا دنعف اذا server ـلا ءاغلا متيسف virtual device ذيفنت بجيف ىرخا ةرم ةليغشت ةداعا دنعو loksOpen داو ـلا لاخ passphrase لمع مث mount ، ؟ كلذ لمعب موقن فيك اذا i. ـلا تانايب ةفاضاب موقن virtual device فلم يف crypttab ـلا موقي يتح system ـلا لمعب encryption ـلا ءانثا startup ii . لمعب موقن key ـلا همدختسي system ـلا لمعل encryption ـلا ءانثا startup iii . رييعتب موقن ـلا key permission نوكي ثيحب accessable ـلل root طقف iv . ـلا ةفاضاب موقن virtual device ـلا فلمل fstab v . ـلا ةفاضاب موقن key file ـلا يلا luks ـلا عيطتسي يتح system همادختسا 1 ـلا فلم يف فضن crypttab ـلا مسا virtal device ـلاو block device ـلاو key file س يذلا ـلا همدختسي system ـلا لمع يف encryption 2 ـلا لمعب موقن key رخا ءيش يا وا ةروص وا يداع فلم نوكي نا نكميو 3 ـلا ليدعتب موقن permissionsREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
26 Package Verification ـلا تايوتحم ليافلا يلع ليدعت يأو key file ـلا عيطتسي نلف system لمع mounting ـلا ءانثا هل startup لا اذه هنع جتنيسو ـ error ـلا رييغتب موقن مل اذاو Permission ـلا اذه رهظي فوسف warning ـلا ءانثا reboot 4 ـلا فلم يلع ليدعتلاب موقن fstab 5 ـلا ةفاضاب موقن key file ـلا يلا luks ـلا عيطتسي يتح system همادختساREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
27 Mount نوكن كلذبو لمع انممتا دق FS encryption لمعو automount ـلا ءانثا startupMount
ـلا نع نلاا ثدحتنس Mount يلاتلا عوضوملا يلا لخدمك file system attributes، ـلاف mount لمعل مدختسي enable/disable ـل
file system option . لمع عيطتسن mount ـلل file system رملاا قيرط نع
# mount /dev/sda3 /work
لمعلو Mount ـل file syetsm ةفاضا عم ACL option ـلا ليعفت وا extended attributes ـلا اذه يلع FS : رملاا مدختسن
# mount /dev/sda3 /work –o acl # mount /dev/sda3 /work –o user_xattr
ـلا اذه ةفاضلاو option ـل already mounted FS لاا مدختسن : رم # mount –o remount,acl,user_xattr /work
و كانه 3 files ـلاب قلعتت mount : مهو
/etc/mtab, /etc/fstab, /proc/mounts /etc/fstab/ وه : file ـلا يلع يوتحي devices ـلاو mount point ـلاو mount options ـلا موقيو ، system ةيادب دنع ـلا startup ـلا اذه ةءارقب file ـلا اذه ىلع ليدعتلاو ، هذيفنتو file نوكي manual /etc/mtab/ وه : file ـلا يلع يوتحي mounted devices رملاا ةباتك دنعو ، “mount” ـلا اذهل باهذلاب موقي هناف file هتايوتحم ضرعو
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
28 Mount ـلا عم امامت ةقياطتم اهنا دجنو mtab نس ةروصلا يف رطس رخا يلا انرظن اذاو لمع مت دق هنا دج Mount ـلل /test ـب rw permissions (default attributes)ـلا ربتعت يهو default permissions (attributes)
، يا ةفاضا دنعو attributes ـلا يلا file system فيضا دق هدجنس ـلا بناجب rw attribute ـلا نوكي نا ةرورضلاب سيلو mtab ـلاو fstab نيلثامتم لمعب موقن امدنعف ، mount يلا new device ـلا ليغشت دعب machine ـلا يف ايئاقلت فاضت فوسف mtab ـلا يف سيلو fstab /proc/mounts/ وه : file ـلا يلع يوتحي mounted devices ـلاو mount options ـلا اهمدختسي يتلا kernel ،ايلاح ـلا هذهو data ربتعت duplicated فلم نم mtab
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
29 MountMount options
ـلا mount options يه options يلا فاضت file system ـلا ءانثا mount ـلا ضعب ةفاضلا features . هيلا : لثم no dev, noexec, nosuid, user_attr,…nodev
ينعتو no device يا ةفاضاب موقت لا يا ، block device ـلا اذه تحت file system نا فورعملا نمو يا device ـلل فاضي ديدج system تحت رهظي /dev هل صصخيو file لثم مساب sda ـلا اذهو ، file وه ـلا عم لماعتلاب يل حمسي يذلا device يلا حمسي لاو device يا تحت فاضي نا ديدج file system ريغ رخا dev لمعلو Mount ـلل FS ـلا اذه ةفاضا عم option يا وا mount option ا : رملاا مدختسن رخ # mount –o remount,nodev /worknoexec
يا عنمل executable file ـلا ناك اذا يتح ليغشتلا نم root user ـلا ليغشتب موقي يذلا وه executable file ـلا اذه ةفاضلاو option ـل already mounted FS : رملاا مدختسن# mount –o remount,noexec /test
و ـلا اذه ءاغللا option
ىرخا ةرم # mount -o remount,exec /test
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
30 File system attributesnosuid
يا عنمل user ليغشت نم file ـلا تايحلاصب owner ـلا وا groupFile system attributes
نم ديدعلا كانه ـلا
linux file systems لثم FAT, EXT, XFS, JFS ـلا هذهو file systems يلع يوتحت metadata فصت ـلا file system ـلا ددحتو Features اهمعدي يتلا ـلا هذه ةدايز نكميو Features ـلا نم ديزملا ةفاضا قيرط نع attributes ـلا اذه يلا file system ديزملا ةفاضاب حمسي امم ـلا نم features ـلا يلع files/dir هلخادب يتلا مسقنتو هذه ـلا attributes : يلا 1 -normal attributes 2 -file attributes 3 -Extended attributes
Normal attributes
ـلا يه attributes ـلاب ةطبترملا inode ـلا لثم permissions, owner, group, size, … رملاا مادختسا دنع رهظت يتلا وا ls –l ( rwx,d,.. ) ـلا عاونا عيمج يف دجوتو ، file systems ـلا ضارعتسلاو normal attributes ـلا يف هدوجوملا Inode index : رملاا مدختسن # stat filenameFile attributes
ـلا قبطت file attributes ـلا يلعextended file systems (ext2, ext3, ext4) يهو ، attributes ـلا يلا فاضت ىرخا files/directories ـلا نم ديزملا قيقحت فدهب control ـلاو security اهيلع ليدعتلا وا تافلملا فذح هيلمع ءاغلا لثم ، Package e2fsprogs Files /usr/bin/chattr /usr/bin/lsattr رملاا مدختسيو chattr ةفاضا /رييغتل attributes ـلا ضرعلو ، attributes رملاا مدختسن lsattr a - ينعتو only append ـلا يلا ةفاضلااب موقت يهو file ب طقف نود overwrite ، ـلا ةفاضاب موقنو attribute ةيلاتلا ةقيرطلاب فلملا يلع ةفاضلاا نكمي هنا ىرن امكو
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
31 File system attributesلمع نكمي لا نكلو overwrite هل ينعتو immutable يا عنمب موقت يهو action ـلا يلع متي file ءاوس delete وا append وا modify # chattr +i /test/script نلو ـلاب يتح فلملا فذح نكمي root user ـلا اذه يغلن نا بجي فلملا فذحلو attribute قيرط نع لاوا # chattr -i /test/script ينعتو journaling ـلاو journaling ـلا يلع ظافحلل مدختست data ثودح وا ءابرهكلل ئجافملا عاطقنلاا ةلاح يف عايضلا نم ـلا يف ةلكشم يا server ةفاضا قيرط نع كلذو logs ـلل ةلصفنم data ـلا يلع اهتباتك متي يتلا file system ـلا هذهو logs يه
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
32 File system attributesـلا اهمدختسي يتلا file system ـلا ةداعتسلا يرخا ةرم corrupted data ـلا اذه ةفاضاو . attribute ـلا ربجت file system ـلا مادختسا يلع journaling اذه عم لماعتلا دنع ـلا file ـلا نا ةيلاتلا ةروصلا يف ىرن امكو file system ـلا معدي journaling ـلا ةفاضا بجي نكلو attribute ـلا يلا file # chattr +j /test/script d - ينعتو dump no لمع ةلاح يف مدختست يهو Backup ـلا مدختساب dump command ـلا اذه قيبطت مت اذاف attribute يلع ـلا file ـلا هيلمع نم هءانثتسا متي فوسف dump # chattr +d /test/script s - ينعتو synchronous no ـلا اذهو synchronization ـلا نيب متي RAM ـلاو file system موقت امدنعف ،هيلع هباتكلا دنع ـلا يلع لاوا ةباتكلا متت ، ام فلم يلع ةباتكلاب RAM ـلا يلا اهنمو file ـلا اذه قيبطت مت اذاف ، attribute ـلا يلع file ةباتكلا متتسف ـلا يلع ةرشابم file ـلا لهاجتو RAM # chattr +s /test/script
Extended attributes
يه attributes فيضتspecial type of metadata ـلل files / directories يا وا object هل inode ةفاضلاو attribute يلع file ـلا لخادب نيعم file system ـلا نوكي نا لاوا بجي file system ـلا معدي extended attributes لثم
ext2, ext3, ext4, XFS, JFS and reiserfs filesystemse
ـلا عاوناو extended attributes يه : 1 -user attributes 2 -security attributes 3 -trusted attributes 4 -extended attributes
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
33 File system attributesـلا نا ركذلاب ريدجلا نمو extended attributes نوكت enabled by default ـلا يلع partitions يتلا اهلمع مت ـلا ءانثا installing OS ـلا قيرط نع( anaconda ) ، لمعب انمق اذا اننا نيح يف partition ـلا مادختساب ديدج fdisk ـلا ليعفت بجيف extended attributes هيلع هنلا disabled by default ـلا ةفاضلاو extended attribute يلا file /directory : تاوطخ ةدع لمع بجب 1 لمعب موقن mount ـلل FS ةفاضاب user_xattr option 2 ـلا ةفاضاب موقن مث extended attributes ـلا يلا files/dir ـلاو command ـلا عم مدختست يتلا extended attributes : يه getfattr, setfattr Package: attr (called user space application) Files: /usr/bin/attr /usr/bin/getfattr /usr/bin/setfattr لاوا ن : نم دكأت ـلا نا file system ـلا معدي extended attributes مادختساب : يلاتلا رملاا # tune2fs -l /dev/sdb2 نا ىرن امكو ا ـل partition دق حبصا mounted ـلاو ext_attr تحبصا enabled ـلاب صاخلا رطسلل اديج انرظن اذا نكلو default mount option
هدجنس none و ـلا ليعفتب موقن يكل اننا ينعي اذه extended attributes ـلا اذه يلع partition ةفاضاب موقن نا بجي user_xattr option يلا ةرم لك يف ـلا mount command كلذ يلع بلغتلاب موقن يكلو لمعب موقن automount ةيلاتلا قرطلا ىدحاب 1 ـلا عضن option ـلا يف fstab file 2 رملاا مدختسن tune2fs ـلا ليعفتب موقي يذلا extended attributes رملاا مادختساب كلذو # tune2fs -o user_xattr /dev/sdb2
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
34 File system attributesنا انه ظحلانس ثيح ـلا
Default mount options نم تريغت دق none يلا user_xattr # tune2fs -l /dev/sdb2 يا ناف كلذبو mount ـلا اذهل Partition ـلا نوكيس extended attributes ـلا وه default option ـلا اذه ةلازلاو Mount option رملاا مدختسن # tune2fs -o ^user_xattr /dev/sdb2
ايناث ـلا ةفاضاب موقن : extended attributes
رملاا مادختساب # setfattr -n user.comment -v "version 1" /test
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
35 File system attributesـلا ضارعتسلاو extended attributes ـلا يلع هدوجوملا file رملاا مدختسن # getfattr /test/ ـلا مسا نا يرن امكو attribute نودب نكلو رهظ دق value و ، ـلا راهظلا attribute ـلاب value رملاا مدختسن # getfattr -d /test/ وا # getfattr -n user.comment /test/
ـلا ءاغللاو attribute
: رملاا مدختسن # setfattr -x user.comment /test
ـلا عاونا يلع فرعتنل نلااو extended attributes ليصفتلا نم ديزمب
User attributes
يه attributes ـلا يلع قبطت file/directory ىرخا تامولعم ةفاضاب حمست (metadata) ـلا نع file/directory لثمcomments, mime type, character set or encoding of a file : لاثم .
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
36 File system attributesSecurity attributes
يه attributes اهمدختست security modules ـلا يف هدوجوم kernel ـلا لثم selinux ـلا هذه موقت ثيحب modules قيبطتب ـلا هذه attributes ـلا يلع files/folders ـلا ضارعتسلاو ، security attributes رملاا مدختسن # ls –Z /file# setfattr -n security.linux -v "system_u:object_r:admin_home_t:s0" /test/
Trusted attributes
# setfattr -n trusted.md5sum -v f693f418636a0bd9659fbb1c4ce3f198 /test/script
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
37 Special permissionsSpecial permissions
ـلا وهو قباس عوضوم اعم ركذتنس نلآا permissions ، يا تامولعم ضارعتسا دنع file مادختساب رملاا ls يلاتلا دجنسFile types
Character device ـلا وه : device ـلا عم لماعتي يذلا data ـلاب character ـلا لسرت ثيح data اهلبقتستو character by character ـلا لثمCDROM, sound cards, printers
Block device ـلا وه : device عم لماعتي يذلا block of data ثم ـلا ل hard disk, taps
Pipe device رملاا مادختسا دنع : pipe ـلا موقي system يف جتانلا عضوو لولاا رملاا ذيفنتب file هيلع قلطي unnamed pipe ـلا اذهو .يناثلا رملاا هيلع ذفنيو جتانلا هنم ذخأي مث file يمسي unnamed pipe ـلا نلا system هئاشناب موقي يذلا وه ماعتلاو ـلا يف هعم ل back ground ـلا عيطتسيو user لمع pipe file يمسي يلاتلابو مسا هل يطعيو ضرغلا سفنل
named pipe file رملاا مادختساب كلذ متيو
# mkfifo filename
ـلا اذه مادختسا نكميو file
يلاتلاك # gzip -9 -c < my_pipe > out.gz &
لمعب موقي يا نا ينعي اذهو zip لا ـلا يلع يتأي ئيش ي pipe file يف هعضيو out.gz
Access permissions
ـلا عاوناو access permissions يه r, w,xREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
38 Special permissionsPermissions types
ـلا نم نيعون كانه permissions : 1 -normal permissions : لثم read, write, execute
2 -special permissions :
لثم SUID, SGID, STICKY BIT
SUID ـلل حمست يهو : User لمعب run ـلل executable file ـلا هنأكو file owner SGID ـلل حمست يهو : User لمعب run ـلل executable file هنأكو member ـلا يف
file group owner
Sticky bit ـلا يلع قبطت : directory يا عنمل user يا فذح نم file هنم وه هل لاثم رهشاو ـلا temp directory ـلا نوكتو special permissions capital letter نودب تناك اذا
x permission
S=suid, T=stickybit
ـلا نوكتو special permissions small letter اهل ناك اذا
x permission
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
39 Special permissionsلا نع ريبعتلا متيو permissions
نيتقيرطب :
permission read write execute SUID SGID Sticky bit
Symbolic r w x s/S s/S t/T Numeric 4 2 1 4 2 1 ةفاضلاو SUID # chmod 4644 filename ةفاضلاو SGID # chmod 2644 filename ةفاضلاو StickyBit # chmod 1644 filename
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
40 Special permissionsFind files with permissions
ع ثحبللو ن file هل permission ف نيعم ـلا بتكن exact permission رما يف find يلاتلاك # find /bin/ -perm 4755
يا نع ثحبللو files يلع يوتحت special permission يأو نيعم normal permissions ىرخا مدختسن “/” وا “-” مدختست ثيح “-” لمعل “and” ـلل special permissions لا ضغب ـلا نع رظن normal permissions و مدختست “/” لمعل “or” ـلل special permissions ـلا نع رظنلا ضغب normal permissions لاثم : انيدل ناك اذا 4 تافلم script يلع يوتحي SUID script1 يلع يوتحي SGID script2 يلع يوتحي StickyYBit script3 يلع يوتحي SGID + SGID + StickyYBit
ف يا نع ثحبلل file يلع يوتحي SUID+SGID ـلا يقاب نع رظنلا ضغب permissions " مدختسن فلملا يف هدوجوملا -يلاتلاك "
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
41 Monitor file changes# find /test/ -perm -6000 -exec ls {} -l \;
يا نع ثحبللو file يلع يوتحي SUID وا SGID ـلا يقاب نع رظنلا ضغب اعم نينثلاا وا permissions وملا فلملا يف هدوج يلاتلاك "/" مدختسن # find /test/ -perm /6000 -exec ls {} -l \;
Monitor file changes
ـلا يلع ثدحت يتلا تاريغتلا ةعباتم ادج ديفملا نم system يا ةجيتن تسيل تاريغتلا هذه نا نم دكأتلاو forign user وا forien activity ـلا نمو tools ت يتلا ةريهشلا لمع يف مدختس monitoring ـلل system مه AIDE و SAMHAIN ربتعت يهو ، host based tools اضيا كانهو network based tools
لثم snort و ، اننكل نع نلاا ثدحتنس AIDE
AIDE
لمع ةركف AIDE يلع لوصحلا يلع موقت screenshot ـلا نم file system يف اهليجستو اهتبقارم ديرت يتلا DB ريغت ياو يلع ثدحي ه موقي AIDE هليجستب ـلا تامولعم ضارعتسا ةيفيك ركذتنلو packageREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
42 AIDEAIDE files
ـلا دجويو configuration file يف /etc/aide.conf ـلا دجوتو log file يف /var/log/aide ـلا دجوتو DB يف /var/lib/aideREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
43 AIDEREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
44 AIDEـلا يف ظحلان configuration file
كانه نا 2 DB file names
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
45 AIDE ـلا نا وه نينثلاا نيب قرفلاو aide.db.gz ـلا اهمدختسي يتلا يه AIDE ـلا اهيف عضيل first screenshot ، ـلا امنيب aide.db.new.gz يه DB موقي يرخا AIDE اهيف تارييغتـلا عضول اهلمعبAIDE UASGE
ـلا لمع يف أدبللو monitoring : يتلآاب موقن 1 لمعب موقن customization ـلل config file لمعب موقيل monitor ـلل /etc ةبرجتلا ليبس يلع طقف 2 -لمعب موقن new DB 3 ـلا مسا رييغتب موقن BD ـلا يف دوجوملا مسلاا يلا config file 4 يف فلم يا يلع ليدعتلاب موقن مث /etc 5 قيرط نع ليدعتلا نم دكأتن aide 1 لمعب موقن customization ـلل config file 2 -create new DB manually # aide --init 3 لمعب ماق هنا ظحلا create ـلل BD مساب “aide.db.new.gz” ـلا يف دوجومـلا نع فلتخم وهو config file “aide.db.gz” هرييغتب موقن كلذل # mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gzREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
46 AIDE 4 -يدج فلم ةفاضاب موقن يلا د /etc 5 مدختسن aide يلع تمت يتلا تاريغتلا ةفرعمل نلاا /etc رملاا مادختساب # aide -- check رخآ لاثمREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
47 UMASK رخآ عوضوم يلا نلاا لقتننوUMASK
ـلا نع اقباس انثدحت file permissions نم نوكتت اهنا انركذو r, w, x لمعب موقن امدنعو ، file ـلا دخأي هناف ديدج default permissions . ـلا ماق اذا نا دجنسو root user لمعب file ـلا ناف ديدج default permissions نوكت 222 وا rw r r ـلا ماق اذا امنيب normal user لمعب file ـلا ناف ديدج default permissions نوكت 222 وا rw rw r ـلا ماق اذاو root user لمعب directory لا ناف ديدج ـ default permissions نوكت 555 وا rwx rx rxREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
48 UMASK ـلا ماق اذاو normal user لمعب directory ـلا ناف ديدج default permissions نوكت 775 وا rwx rwx rx اذا ـلا هذه ددحي يذلا ام default permissions ؟ ـلا هذه ديدحت نع لوئسملا permissions ـلا وه umask لكو ، Process اهل mask اهسفنب اهرييغت عيطتستو اهب صاخ مادختساب function ، هنيعم ياو file ـلا هذه نم جتني process ـلا سفن ذخأي Parent mask ـلا ديدحتب موقنو mask ـلا لخاد shell رملاا قيرط نع “umask” يا ناف هيلعو file ـلا لخاد نم هلمعب موقن shell ـلا اذه ذخأي mask لو ـلا ةفرعم Umask لكشب ايلاح دوجوملا numeric رملاا مدختسن # umask show Numeric mode# umask –S show Symbolic mode
؟ ةميقلا هذه باسح متي فيك نكلو يلعا نا اعيمج ملعن permissions اهيلع لصحي نا نكمي file/dir يه 555 وا ““ rwx rwx rwx ”” ـللو ، security ن ءاغلاب موق ـلا “x permission” ـلا يلع نم files و ، ل يلعا نا رابتعا نكمي كلذ permissions ـلل اهيطعن نا عيطتسن file يه 666 وا “ rw rw rw ” ـلل اذهو files طقف ـلل ةبسنلابو directory ـلا ناف “x permission” لمع ةيناكما ينعت “cd or ls -l” ي لا نكل هب حومسم رما اذهو ءاطعا نكم “w permissions” ـلل others هلعجي اذه نلا Unsecure ـلا تايوتحم يلع ليدعتلاب صخش يلا حمسيو directory
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
49 ACL ـلاو file ىلع يوتحي يذلا 666 وا “ rw rw rw ” يمسي world writable file ـلا كلذكوdirectory يلع يوتحي يذلا
555
ىمسي world writable directory ش يا نا يا ـلا يلع دوجوم صخ system ربتعي وهف كلذبو هيلع ليدعتلا عيطتسي unsecure لضفا ناف كلذل permissions ـلل اهيطعن نا نكمي files/dirs. يلاتلا لودجلاب هدوجوملا يه Permissions umask
Root user files 644 / rw r r 666 – 644 = 022 Normal user files 664 / rw rw r 666 – 664 = 002 Root user directory 755 / rwx rx rx 777 – 755 = 022 Normal user directory 775 / rwx rwx rx 777 – 775 = 002
ـلا ةميق مدختسن انناف هيلعو Umask
يا لصحي يتح new file/ new dir
ـلا هذه يلع permissions ايئاقلت ـلا رييغتلو umask ـلا يف running shell ( temp ) # umask “value” ـلا هذه نكلو value ـلا هذه نم انجرخ اذا ةقباسلا ةميقلا يلا دوعتو هتقؤم shell نوكت يتحو . permanent يف ةفيضن نا بجي ـلا bashrc ـلاو profile نيفلم كانه نا اعم ركذتنلو /etc/bashrc لا عيمج يلع رثؤي فلملا اذه يلع ليدعتلا users ا ادع ـل root /etc/profile ـلا يلع رثؤي فلملا اذه يلع ليدعتلا root user طقف لكلو user ـلا يف نيفلم home dir. هب صاخلا .bashrc ـلا يلع رثؤي فلملا اذه يلع ليدعتلا user ـلا لهاحتيو طقف value ـلا يف ةدوجوملا /etc/bashrc .bash_profile ـلا ةفاضا umask اذه يف ريثأت هل سيل فلملا
ACL
يه utility ءاطعاب حمست permission ـل User ـلا يلع هنيعب file ـلا اذه ةفاضا متي نا بجي ةيداعلا ةلاحلا يف نلا user يف group اهل permission ـلا اذه يلع file ـلا هذه مادختسلا feature لمع بجي mount ـلل file system مادختساب ACL optionREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
50 ACLـلا نا ىرن امكو FS mounted with noacl
يلاتلا لمع بجي كلذل ، لمعب موقن مث remount ىرخا ةرم ـلا ءافتخا noacl ـلا نا ينعي FS ـلا معدي حبصا acl كلذ نم دكأتللو ، ـلا اذه ةفاضاب موقن مث Option ـلا يف fstab ـلا عم لماعتلاب نلاا موقن ACL ةفاضلاو . ACL يلع file # setfacl -m u:user_name:permission file_name
ـلا دوجو نم دكأتللو ACL
ـلا يلع file # getfacl file_name
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
51 AAA ـلا ةلازلاو acl يلع نم file رملاا مدختسن # setfacl -x u:user_name file_nameلمعلو ACL ـل user يلع directory يا نا ثيحب هتايوتحمب لماك New file ـلا هيلع قبطي ACL
# setfacl -Rm d:u:user_name:rw directory_name
AAA
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
52 PAM نع عمس انم ضعبلا ةملك ـلا AAA . ف ـلا وه ام AAA ؟ وهو security architecture ـلا نم ةفرعمل مدختسي Users ـلا مادختساب مهل حومسملا services و ،ةقيرط يأبو وه combination نيب 3 : تاحلطصم uthentication A و uthorization A و ccounting A ـلا رهشا نمو protocols ـلا يف مدختست يتلا AAA ـلا وه radius و Diameter 1 -Authentication ـلا اذه دوجو نم دكأتلا ةيلمع يه User ـلا يف system ـلاب هيلع لوخدلاو credentials ةحيحصلا 2 -Authorization نا نم دكأتلا ةيلمع يه ـلا user وا ام ناكم يلا لوخدلا تايحلاص كلتمي مادختسا service هنيعم 3 -Accounting ةيلمع يه tracking ـلل user اذام لعف نم ةفرعمو ـلا يلع لاثم رهشاو AAA ـلا وه ADSL ـلا موقي ثيح . User ـلا ةباتكب account user/pass ـلا يف هب نيصاخلا router .. ـلا موقيف AAA قلاب مهنم دكأتلاب ماي (Authentication) ـلا نع ثحبي مث account profile ـلا كارتشا ةعيبط حضوي يذلا User وه له static IP ما dynamic تامدخلا يه امو ـلل حومسملا User اهمادختسا (Authorization) تنرتنلاا نم هكلاهتسا ةعباتمب موقي مث (accounting) http://en.wikipedia.org/wiki/AAA_protocolPAM
ـلاب فرعي ام كانه نا اعيمج فرعن password policy ـلا يهو ، policy ـلا رايتخلا قبطت يتلا password و ماقرا دوجو لثم capital letters و special characters ديزملا لمع نكمي امك ـلا نم restrictions ـلا يلع system حمسن وا ةيمسرلا لمعلا تاقوا جراخ هيلع لوخدلا عنمن ثيحب نم طقف لوخدلاب server ـل وا نيعم user نيعم ـلا هذه لك نع لوئسملا Policies ـلا وه PAM (pluggable authentication module)What is PAM ?
سيل هنا authentication system نم ةعومجم نع ةرابع هنكلو authentication modules ـلا يلع قبطت يتلا Users/services قيرط نع ـلا rules ناب ملعلا عم ـلا authentication systems ـلا يه systems ـلا يلع يوتحت يتلا Users : لثم مهتامولعمو 1 -/etc/passwd, /etc/shadow, /etc/gshadow, /etc/group2 -NIS 3 -LDAP 4 -Kerberos 5 -IPA
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
53 PAM : كلذ يلع لاثم لمعب تمق اذا New installation ـلل fedora ـلا يلع لوخدلا عيطتست نلف GUI ـلا مادختساب root user مادختساب طقف عيطتستو ، ـلا Normal user ؟ اذامل . كانه نلا PAM rule ـلا عنمت root user ـلا يلع لوخدلا نم system ـلا قيرط نع GUIHow PAM works ?
ـلا دمتعي PAM ـلا يلع هلمع يف modules ـلاو rules ـلا دجوت rules ـلاو configuration file لخاد ـلا PAM files راسملا يف “/etc/pam.d” ـلا هذه files نع ةرابع ـلا rules ـلا يلع قبطت يتلا users ـلا هذهو files : نيعون يلا مسقنت 1 -common files ا يهو ـل rules ـلا عيمج يلع قبطت يتلا users لثم system-auth, password-auth, passwd
2 -service specific files
ـلا يه rules اهمدختست يتلا service لثم هنيعم gdm, sudo, sshd يأو service ـلا يلا فاضت system اهلو special restrictions ـلا فيضت اهناف rules يف اهب ةصاخلا ـلا PAM ـلاف User ـلا يلع لخدي امدنع system ـلا قيرط نع ssh ـلا هيلع قبطي هناف sshd rules ، مادختساب موقي امدنعو sudo command ـلا هيلع قبطي هناف sudo rules
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
54 PAM و رطس لك لثمي rule نيتميق اهلو “succeed or failed” ـلا تناك اذا ام ةفرعملو service ـلا مدختست PAM ـلا مدختسن ، لا ما command : ldd تسي يذلا ع ـلا ضر shared library لكل service ـلا اندجو اذاف ، PAM library ـلا نمض نم هدوجوم service libraries اهمعدت يهف ldd /usr/sbin/sshd | grep -i pamـلا ةباتك ةغيص نا دجنو rules : يلاتلاك و نم نوكتت يه 4 columns : 1 -module interface/ PAM facility/Type
2 -control /policy 3 -module name/path 4 module-arguments
Module interface/ PAM facility/Type
ـلا يوتحيو PAM يلع 4 facilities وا 4 module interfaces : 1 -auth (-authentication) ـلاب متهت account credentials لثم
REDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
55 PAM لمعب موقت مث authentication ـلا ةنراقم قيرط نع login credentials ـلا عم user credentials ـلا يف هدوجوملا system 2 -Account (-Account management)ـلاب متهت non-authentication-related issues لثم ـلا account expiration و ـلا access restrictions ـلا بسح وا نيعم موي يف server load 3 -session (Session management)
ـلاب متهت session tasks لثم session set-up و start/stop an SSH agent و gdm (gnome
display manager) access ـلاب متهت services ـلل حومسملا User ـلا لثم اهمادختساب selinux ـلاو actions ا ـلا عيطتسي يتل User اهلعف ـلا لخاد session ـلا login/logout -Mounting ـلل
user home directory
-Getting user mailbox
4 -password (Password management)
ـلاب متهت authentication changes ـلا رييغت لثم password ـلاو Password policy ـلاو password ageing
Control /policy
ـلا ددحت يهو action ـلا هب موقتس يذلا PAM ـلا نم ةمداقلا ةجيتنلا يلع ءانب Module يه له failed ما succeeded ، :اهعاوناو 1 -required نا ينعت ـلا هذه حاجن rule ـلا حاجنل يفاك ريغ هنكلو يرورض رما وه authentication ـلا هذه rule اهتجيتن نوكت نا بجيو ةيرابجا “Success” تناك اذا ـلا ةجيتن rule يه failure موقي فوسف ـلا PAM ـلا يقاب ذيفنتب rules ـلا ةجيتن حبصتو authentication ةيئاهنلا failure اما ـلا ةجيتن تناك اذا rule يه success ـلا موقي فوسف PAM ـلا يقاب ذيفنتب rules يا كانه نكي مل اذاف ، failure تن نوكت فوسف ـلا ةجي authentication يه ةيئاهنلا success 2 -requisite نا ينعت ـلا هذه حاجن rule ـلا حاجنل يفاكو يرورض رما وه authentication ـلا هذه rule اهتجيتن نوكت نا بجيو ةيرابجا “Success” ـلا ةجيتن تناك اذا rule يه failure موقي نلف ـلا يقاب ذيفنتب rules لا ةجيتن حبصتو ـ authentication ةيئاهنلا failure ـلا ةجيتن تناك اذا rule يه success ـلا موقي فوسف PAM ـلا يقاب ذيفنتب rules 3 -sufficient ـلا هذه حاجن نا ينعت rule و يرورضريغ رما وه هنكل هحاجن ةلاح يف يفاك نوكي ـلا ةجيتن تناك اذا rule يه success ـلا يقاب ذيفنتب موقي نلف rules ـلا ةجيتن حبصتو authentication ةيئاهنلا SuccessREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
56 PAM ـلا ةجيتن تناك اذا اما rule يه failure ـلا موقي فوسف PAM ـلا يقاب ذيفنتب rules 4 -optional ـلا هذه حاجن نا ينعت rule يفاك ريغو يرورضريغ رما وه ـلا ةجيتن rule ـلا ةجيتن يلع رثؤت فوس authentication ةيئاهنلا طقف 5 -include ـلا هذه rule ـلا ضعب مادختسا بلطت rules يف ةدوجوملا files ـلا عم مدختست بلاغلا يفو ، يرخا “common files” 6 -substack هبشت include طقف ةيئاهنلا ةجيتنلا يلع رثؤتس اهنكلو طرشلا يرورض يرورض ريغ يفاك يفاك ريغ required requisite sufficient ةلاح يف success optional include substackModule Name/Path
ـلا اما modules يهف functions لمعب موقت check لكو module لمعب موقت check نيعم ءيشل ـلا موقت اهيلع ءانبو ، rules ـلا لمعب actions ـلل حامسلا لثم User لمعب Login ـلا وا services ـلا اهمدختسي يتلا user ـلا دجوتو modules راسملا يف “/lib64/security/” ةلاح يف x64 arch راسملا يف و “/lib/security/” ةلاح يف i368 arch يا ةفيظو ةفرعملو module ـلا مدختسن man ةفاضا نودب “so” ـلا ةياهن يف Module يلاتلاك ـلا مسا ناك اذا Module وه pam_issue.so رملاا مدختسنف # man pam_issueREDHAT SERVER HARDENING
AHMED GAMIL - LNKD.IN/D6QEGWN
م
ـــــــــــ
كئاعد ح
ــــــ
لاص نم ا
ــــــ
نوسنت لا
57 PAM ـلا يفو MAN page دجنس examples ـلا مادختسا ةيفيك نع ادج ةديفم module ـلا رهشا نمو Modules يه همدختسملا pam_nologin.so يا لوخد عنمت يتلا User ـلا ريغ root ـلا يلا system ـلا اذه نا دجن ةيلاتلا ةروصلا يفو Module سي ـلا عنمل مدخت User لمع نم login ءاوس قرطلا نم ديدعلا مادختساب GUI, SSH,. ـلا اذه لمعيو module فلم دوجو ةلاح يف /etc/nologin ـلا رهشا نمو Modules يه ةمدخسملاModule
Usage
pam_succeed_if.so to test account characteristics
pam_tally2.so
for failed login attempt
pam_cracklib.so