make sure you have proper SSH keys installed in your local computer for staring the SFTP connection to the server. If not, try adding the key or enable SSH password authentication via the section Home >> Security Center >> SSH Password Authorization Tweak in the WHM.
2015/08/15
2015/05/07
حل Not Found wordpress
Search in your .htaccess file, changeRewriteBase /
toRewriteBase /your_wordpress_directory/
and also change/index.php
toindex.php
2015/04/15
خطوات حماية NGINX هامة وزيادة الأمان (كويب سيرفر) وتحسين الشبكة
مبدئياً ماهو ال Nginx ومميزاته ؟
ال Nginx يعمل كويب سيرفر خفيف جدا - بروكسى للمواقع الكبيرة والتى تعمل ب Apache - بروكسى لل E-Mail ايضا .. يعمل على كل الأنظمة ( Unix-Linux-Mac OS X- Microsoft Windows -Solaris) ,, يستخدم بالمواقع الكبرى مثل Wordpress - sourceforge ...
زى اى برنامج له اعدادات وملفات اساسية
مسار الإعدادات
ملف الكونفج الخاص به
مسار اللوج
يستخدم ال Nginx HTTP بورت 80
يستخدم ال Nginx HTTPs بورت 443
الخطوات التالية لزيادة الأمان والحماية وتقليل نسبة الخطورة على الويب سيرفر:
1- نفعل SELinux
انظر
تفعيل وضبط SELinux والإستفادة من حمايتها
افتراضيا SELinux لاتحمى nginx وهو ويب سيرفر ولكن هايتم عمل دا من خلال عمل كومبايل
نفك الضغط
- نقفل السيستم
هانشوف الاعداد اللى يكون on نخليه off ده طبعا لإختيارك أيضاً
2- تقوية الشبكة وتحديد الصلاحيات بقدر الإمكان من خلال ملف sysctl.conf
ضبط الإعدادات كالتالى :
احفظ واقفل الملف
إختيارية (تطبق على أى سيرفر ): هذه خطوات أخرى لتحسين الشبكة للسيرفرات التى تتعامل بنقل ملفات كبيرة وتحتاج الى زيادة ال Buffer لأن الذاكرة دائما ( TCP) تحسب تلقائى من ذاكرة النظام ككل وغالباً بتكون قليلة .
ازاى نعرف القيم المحددة للارسال والاستقبال وتغيير هذه الاعدادات لتوفير سرعة افضل للشبكة ككل .. كالتالى :
معرفة حجم الذاكرة المخصصة ككل
معرفة اقصى كمية من الممكن أن تستقبل (ذاكرة)
معرفة أقصى كمية من الممكن ان ترسل
الخطوة القادمة غير ضرورية للسيرفرات اللى ليس عليها ضغط .. لأن الافتراضى بيكون128k ودا غالبا بيكون كافى لويب سيرفر وphp وخلاص ومفيش ضغط .. التعديل دا هايزيد استهلاك الذاكرة لذا اكتفى بالخطوة السابقة باعدادات ملف sysctl.conf كما هى .
ايضا هانحتاج لزيادة الحجم الأدنى والبداية والأقصى بالبايت
ايضا يمكن تفعيل window scaling وده بيكون اختيار لتوسيع نافذة النقل
تفعيل ايضا التالى
لا نستفيد ايضا بان TCP يعمل كاش لاتصالات مقفولة للفترات .. لان الكاش فى الحالات دى له اتجاهين والغرض من الكاش معروف ان لما الاتصال يتم مرة اخرى يستخدم اللى موجود بالفعل من اول مرة اتصل وتم عمل الكاش له ودا المفروض فى المجمل بيسرع الاداء .. ولكن فى معظم الأوقات بيسبب ضعف فى اداء الشبكة بشكل كبير ... لذلك انا اوقفه
الآن اعادة تحميل الاعدادات
اذا حبيت تشوف التعديلات
3- نرجع لل NGINX ونلغى الموديولات الغير مطلوبة
اذا تحب تلغى اكثر ضيف مع اول سطر
نفذا التالى وشوف ايه الموديولات اللى تحب تفعيلها او تعطيلها ونفذ
تقدر تعمل كومبيل الان له لكن قبل ذلك اضف ذلك فى nginx.conf
دا طبعا لإلغاء ظهور نسخة السيرفر المستخدمة فى صفحات الخطأ المعروفة .
4- التحكم فى الهجمات الفلوو المتكرر
عدل الخيارات التالية كما تريد او كما تراها
لكن اذا سيرفرك به مواقع كتير مثل المنتديات والمدونات خليها 4k او 8 لأن اذا الحجم كان اكبر من القيمة هايعطيله صفحة خطأ Request Entity Too Large" (413) ده برده للعلم .
الاختيار الرابع بيساعد فى المكافحة ضد العناكب السيئة وال DoS
ايضا تعديل قيم الفصل او اغلاقه للاتصال .. وده بيحسن فى الاداء بشكل عام وبيقطع الاتصال الزائد عن الحد بيه وبيحافظ على سرعة مناسبة جدا
الخطوة السابقة التعديل على القيم فيها حسب ماتناسب احتياجات سيرفرك ( أهل مكة أدرى بشعابها )
5- تحديد وغلق الاتصالات من اى بى واحد لبورت 80 لفترة اذا تكرر 15 مرة فى فترة بلغت 60 ثانية
* دائما راجع ملفات اللوج وتظل متابع دائما
بعض النقاط ايضا .. دائما يكون الويب سيرفر بيوزر بمفرده مش للرووت .. الصلاحيات ايضا لايمكن ان تدع هذا المسار بتصريحات write او اذا كان فى يوزر له بيكون المسار باسمه على سبيل المثال nginx
بتدى الصلاحية بشكل عادى جدا
حذف الباك اب للملفات التى انشأت من vi او اى محرر اخر
اذا اردتم ايضا شل سكربت به بعض اوامر iptables للحماية ايضا وتقليل الصلاحيات بشكل كبير من الممكن ارفقه لمن يريد .
بالنهاية اتمنى الإفادة القصوى لاخوتى .. اغلب هذه الاعدادات تتطلب مستوى جيد من الخبرة وكلها مستقاة من عدة مواقع ومواضيع لدى رايت مشاركتها افضل .
تحياتى
ال Nginx يعمل كويب سيرفر خفيف جدا - بروكسى للمواقع الكبيرة والتى تعمل ب Apache - بروكسى لل E-Mail ايضا .. يعمل على كل الأنظمة ( Unix-Linux-Mac OS X- Microsoft Windows -Solaris) ,, يستخدم بالمواقع الكبرى مثل Wordpress - sourceforge ...
زى اى برنامج له اعدادات وملفات اساسية
مسار الإعدادات
رمز Code:
/usr/local/nginx/conf/
ملف الكونفج الخاص به
رمز Code:
/usr/local/nginx/conf/nginx.conf
مسار اللوج
رمز Code:
/usr/local/nginx/logs/
يستخدم ال Nginx HTTP بورت 80
يستخدم ال Nginx HTTPs بورت 443
الخطوات التالية لزيادة الأمان والحماية وتقليل نسبة الخطورة على الويب سيرفر:
1- نفعل SELinux
انظر
تفعيل وضبط SELinux والإستفادة من حمايتها
افتراضيا SELinux لاتحمى nginx وهو ويب سيرفر ولكن هايتم عمل دا من خلال عمل كومبايل
رمز Code:
yum -y install selinux-policy-targeted selinux-policy-devel
رمز Code:
cd /opt
wget 'http://garr.dl.sourceforge.net/project/selinuxnginx/se-ngix_1_0_10.tar.gz'
نفك الضغط
رمز Code:
tar -zxvf se-ngix_1_0_10.tar.gz
رمز Code:
cd se-ngix_1_0_10/nginx
make
رمز Code:
/usr/sbin/semodule -i nginx.pp
- نقفل السيستم
رمز Code:
getsebool -a | less
getsebool -a | grep off
getsebool -a | grep o
هانشوف الاعداد اللى يكون on نخليه off ده طبعا لإختيارك أيضاً
2- تقوية الشبكة وتحديد الصلاحيات بقدر الإمكان من خلال ملف sysctl.conf
رمز Code:
vi /etc/sysctl.conf
ضبط الإعدادات كالتالى :
رمز Code:
# Avoid a smurf attack
net.ipv4.icmp_echo_ignore_broadcasts = 1
# Turn on protection for bad icmp error messages
net.ipv4.icmp_ignore_bogus_error_responses = 1
# Turn on syncookies for SYN flood attack protection
net.ipv4.tcp_syncookies = 1
# Turn on and log spoofed, source routed, and redirect packets
net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1
# No source routed packets here
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
# Turn on reverse path filtering
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1
# Make sure no one can alter the routing tables
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0
# Don't act as a router
net.ipv4.ip_forward = 0
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0
# Turn on execshild
kernel.exec-shield = 1
kernel.randomize_va_space = 1
# Tuen IPv6
net.ipv6.conf.default.router_solicitations = 0
net.ipv6.conf.default.accept_ra_rtr_pref = 0
net.ipv6.conf.default.accept_ra_pinfo = 0
net.ipv6.conf.default.accept_ra_defrtr = 0
net.ipv6.conf.default.autoconf = 0
net.ipv6.conf.default.dad_transmits = 0
net.ipv6.conf.default.max_addresses = 1
# Optimization for port usefor LBs
# Increase system file descriptor limit
fs.file-max = 65535
# Allow for more PIDs (to reduce rollover problems); may break some programs 32768
kernel.pid_max = 65536
# Increase system IP port limits
net.ipv4.ip_local_port_range = 2000 65000
# Increase TCP max buffer size setable using setsockopt()
net.ipv4.tcp_rmem = 4096 87380 8388608
net.ipv4.tcp_wmem = 4096 87380 8388608
# Increase Linux auto tuning TCP buffer limits
# min, default, and max number of bytes to use
# set max to at least 4MB, or higher if you use very high BDP paths
# Tcp Windows etc
net.core.rmem_max = 8388608
net.core.wmem_max = 8388608
net.core.netdev_max_backlog = 5000
net.ipv4.tcp_window_scaling = 1
احفظ واقفل الملف
إختيارية (تطبق على أى سيرفر ): هذه خطوات أخرى لتحسين الشبكة للسيرفرات التى تتعامل بنقل ملفات كبيرة وتحتاج الى زيادة ال Buffer لأن الذاكرة دائما ( TCP) تحسب تلقائى من ذاكرة النظام ككل وغالباً بتكون قليلة .
ازاى نعرف القيم المحددة للارسال والاستقبال وتغيير هذه الاعدادات لتوفير سرعة افضل للشبكة ككل .. كالتالى :
معرفة حجم الذاكرة المخصصة ككل
رمز Code:
cat /proc/sys/net/ipv4/tcp_mem
معرفة اقصى كمية من الممكن أن تستقبل (ذاكرة)
رمز Code:
cat /proc/sys/net/core/rmem_default
cat /proc/sys/net/core/rmem_max
معرفة أقصى كمية من الممكن ان ترسل
رمز Code:
cat /proc/sys/net/core/wmem_default
cat /proc/sys/net/core/wmem_max
الخطوة القادمة غير ضرورية للسيرفرات اللى ليس عليها ضغط .. لأن الافتراضى بيكون128k ودا غالبا بيكون كافى لويب سيرفر وphp وخلاص ومفيش ضغط .. التعديل دا هايزيد استهلاك الذاكرة لذا اكتفى بالخطوة السابقة باعدادات ملف sysctl.conf كما هى .
رمز Code:
echo 'net.core.wmem_max=12582912' >> /etc/sysctl.conf
echo 'net.core.rmem_max=12582912' >> /etc/sysctl.conf
ايضا هانحتاج لزيادة الحجم الأدنى والبداية والأقصى بالبايت
رمز Code:
echo 'net.ipv4.tcp_rmem= 10240 87380 12582912' >> /etc/sysctl.conf
echo 'net.ipv4.tcp_wmem= 10240 87380 12582912' >> /etc/sysctl.conf
ايضا يمكن تفعيل window scaling وده بيكون اختيار لتوسيع نافذة النقل
رمز Code:
echo 'net.ipv4.tcp_window_scaling = 1' >> /etc/sysctl.conf
تفعيل ايضا التالى
رمز Code:
echo 'net.ipv4.tcp_sack = 1' >> /etc/sysctl.conf
لا نستفيد ايضا بان TCP يعمل كاش لاتصالات مقفولة للفترات .. لان الكاش فى الحالات دى له اتجاهين والغرض من الكاش معروف ان لما الاتصال يتم مرة اخرى يستخدم اللى موجود بالفعل من اول مرة اتصل وتم عمل الكاش له ودا المفروض فى المجمل بيسرع الاداء .. ولكن فى معظم الأوقات بيسبب ضعف فى اداء الشبكة بشكل كبير ... لذلك انا اوقفه
رمز Code:
echo 'net.ipv4.tcp_no_metrics_save = 1' >> /etc/sysctl.conf
الآن اعادة تحميل الاعدادات
رمز Code:
sysctl -p
اذا حبيت تشوف التعديلات
رمز Code:
tcpdump -ni eth0
3- نرجع لل NGINX ونلغى الموديولات الغير مطلوبة
رمز Code:
./configure --without-http_autoindex_module --without-http_ssi_module
make
make install
اذا تحب تلغى اكثر ضيف مع اول سطر
نفذا التالى وشوف ايه الموديولات اللى تحب تفعيلها او تعطيلها ونفذ
رمز Code:
./configure --help | less
تقدر تعمل كومبيل الان له لكن قبل ذلك اضف ذلك فى nginx.conf
رمز Code:
server_tokens off
دا طبعا لإلغاء ظهور نسخة السيرفر المستخدمة فى صفحات الخطأ المعروفة .
4- التحكم فى الهجمات الفلوو المتكرر
رمز Code:
vi /usr/local/nginx/conf/nginx.conf
عدل الخيارات التالية كما تريد او كما تراها
رمز Code:
client_body_buffer_size 1K;
client_header_buffer_size 1k;
client_max_body_size 1k;
large_client_header_buffers 2 1k;
لكن اذا سيرفرك به مواقع كتير مثل المنتديات والمدونات خليها 4k او 8 لأن اذا الحجم كان اكبر من القيمة هايعطيله صفحة خطأ Request Entity Too Large" (413) ده برده للعلم .
الاختيار الرابع بيساعد فى المكافحة ضد العناكب السيئة وال DoS
ايضا تعديل قيم الفصل او اغلاقه للاتصال .. وده بيحسن فى الاداء بشكل عام وبيقطع الاتصال الزائد عن الحد بيه وبيحافظ على سرعة مناسبة جدا
رمز Code:
client_body_timeout 10;
client_header_timeout 10;
keepalive_timeout 5 5;
send_timeout 10;
الخطوة السابقة التعديل على القيم فيها حسب ماتناسب احتياجات سيرفرك ( أهل مكة أدرى بشعابها )
5- تحديد وغلق الاتصالات من اى بى واحد لبورت 80 لفترة اذا تكرر 15 مرة فى فترة بلغت 60 ثانية
رمز Code:
/sbin/iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
/sbin/iptables -A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 15 -j DROP
service iptables save
* دائما راجع ملفات اللوج وتظل متابع دائما
رمز Code:
grep "/login.php??" /usr/local/nginx/logs/access_log
grep "...etc/passwd" /usr/local/nginx/logs/access_log
egrep -i "denied|error|warn" /usr/local/nginx/logs/error_log
بعض النقاط ايضا .. دائما يكون الويب سيرفر بيوزر بمفرده مش للرووت .. الصلاحيات ايضا لايمكن ان تدع هذا المسار بتصريحات write او اذا كان فى يوزر له بيكون المسار باسمه على سبيل المثال nginx
رمز Code:
find /nginx -user nginx
رمز Code:
find /usr/local/nginx/html -user nginx
رمز Code:
ls -l /usr/local/nginx/html/
بتدى الصلاحية بشكل عادى جدا
حذف الباك اب للملفات التى انشأت من vi او اى محرر اخر
رمز Code:
# find /nginx -name '.?*' -not -name .ht* -or -name '*~' -or -name '*.bak*' -or -name '*.old*'
# find /usr/local/nginx/html/ -name '.?*' -not -name .ht* -or -name '*~' -or -name '*.bak*' -or -name '*.old*'
اذا اردتم ايضا شل سكربت به بعض اوامر iptables للحماية ايضا وتقليل الصلاحيات بشكل كبير من الممكن ارفقه لمن يريد .
بالنهاية اتمنى الإفادة القصوى لاخوتى .. اغلب هذه الاعدادات تتطلب مستوى جيد من الخبرة وكلها مستقاة من عدة مواقع ومواضيع لدى رايت مشاركتها افضل .
تحياتى
حماية وتأمين tmp ب nodev, nosuid وجعل /tmp كملف نظام
السلام عليكم ورحمة الله وبركاته
درس حماية جديد وانا شخصياً شايفه مهم جدا .. وهو تأمين مسار tmp بالاختيارات nodev, nosuid,noexec
مسارات التخزين المؤقتة مثل /tmpاو /var/tmp او /dev/shm دول اللى بيوفروا مساحة لملفات الاختراق اللى بتوفر للمخترق المنفذ اللى يمر منه للسيرفر .
*حماية خاصة ل /tmp وجعله كملف نظام يخلى انه من الصعب جدا اختراقه
رمز PHP:
mkdir -p /root/images/
dd if=/dev/zero of=/root/images/tmpfile.bin bs=1 count=0 seek=4G
ثم
رمز PHP:
mkfs.ext4 /root/images/tmpfile.bin
رمز PHP:
mount -o loop,rw,nodev,nosuid,noexec /root/images/tmpfile.bin /tmp
chmod 1777 /tmp
الخطوة اللى فاتت .. عملنا ملف جديد اصبح ملف نظام واضفنا له الاختيارات الثلاثة
ننفذ التالى
رمز PHP:
mount -o rw,noexec,nosuid,nodev,bind /tmp /var/tmp
رمز PHP:
vi /etc/fstab
هانعدل على ال /tmp كالتالى
رمز PHP:
/root/images/tmpfile.bin /tmp ext4 rw,noexec,nosuid,nodev,bind 0 0
نضيف ايضا
رمز PHP:
/tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0
نبحث عن السطر الخاص ب/tmp
رمز PHP:
UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults 1 2
نضيف فى الاختيارات الخاصة اللى قولنا عليها يكون كالتالى
رمز PHP:
UUID=0aef28b9-3d11-4ab4-a0d4-d53d7b4d3aa4 /tmp ext4 defaults,nodev,nosuid,noexec 1 2
نضيفهم ايضا ل /dev/shm
نبحث عن
رمز PHP:
tmpfs /dev/shm tmpfs defaults 0 0
نغير انها تكون
رمز PHP:
tmpfs /dev/shm tmpfs defaults,nodev,nosuid,noexec 0 0
ايضا نحمى التمب ونضيف السطر التالى
رمز PHP:
/tmp /var/tmp none rw,noexec,nosuid,nodev,bind 0 0
نحفظ ونقفل الملف
دلوقتى نفعل الاختيارات من غير مانعمل ريبوت للسيرفر نفذ التالى :
رمز PHP:
mount -o rw,noexec,nosuid,nodev,bind /tmp/ /var/tmp/
mount -o remount,noexec,nosuid,nodev /tmp
mount -o remount,noexec,nosuid,nodev /dev/shm
ونأكد اللى عملناه بالتالى
رمز PHP:
mount
mount | less
mount | egrep --color -w '^(tmpfs|/tmp)|/tmp'
بعض النقاط :
nodev - عدم ترجمة الرموز اوحجب الادوات الخاصة بملف النظام
noexec - عدم السماح بتنفيذ اى مر مباشرة بملف النظام المنشأ
nosuid - الغاء فاعلية محدد المستخدم او المجموعة
لكم تحياتى
كيفية الترقية من MySQL الى استخدام MariaDB بدون مشاكل
السلام عليكم ورحمة الله وبركاته
قد أعلنت العملاقة ريدهات بأنه من بداية الاصدار RHEL7 سوف يتم استخدام MariaDB بدلا من MySQL في وجود صدمة ل Oracle اللى كانت بتعتمد كتير جدا بالاتفاق مع ريدهات على استخدامها ل MySQL .
لقيت ان مفيش حد اتكلم عن الموضوع دا هنا رغم أهميته والامكانيات الممتازة ل MariaDB ..
للعلم: ان المؤسس ل MariaDB هو نفسه مؤسس MySQL ولكنه كان باع MySQL الى شركة صن وده فى حد ذاته سبب التطوير الكبير فى MariaDB .
أيضا لابد ان يكون تم التحديث لنسخة ال MySQL
MariaDB تعمل بنفس الاصدار الى 5.5 .. بمعنى عندك نسخة الداتابيز 5.2 يبقى تنزلها MariaDB 5.2
انا هافترض ان الكل محدث الى 5.5 .
*- ناخد باك اب من كل قواعد البيانات الموجودة عندنا .. وهانحفظها فى نفس المسار اللى موجودين فيه
رمز PHP:
mysqldump --all-databases --user=root --password --master-data > backupdatabase.sql
هايطلب الباسورد بعدها ندخله ونكمل
رمز PHP:
service mysqld stop
chkconfig mysqld off
الامر هايعمل نسخة من ملف /etc/my.cnf باسم /etc/my.cnf.rpmsave
رمز PHP:
yum remove mysql* mysql-server mysql-devel mysql-libs
رمز PHP:
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm
رمز PHP:
yum --enablerepo=remi-test --disablerepo=remi install compat-mysql55
نجهز متطلبات MariaDB حتى يتم التركيب بدون مشاكل او أخطاء
رمز PHP:
vi /etc/yum.repos.d/mariadb.repo
نضع داخله
رمز PHP:
# MariaDB 5.5 CentOS repository list
# http://mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/5.5/centos6-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
نحفظ ونقفل الملف .. ثم تحديث النظام
رمز PHP:
yum update
ثم نبدا تركيب MariaDB
رمز PHP:
yum install MariaDB-devel MariaDB-client MariaDB-server -y
ننفذ التالى لتشغيل الخدمة مرة اخرى
رمز PHP:
service mysql start
chkconfig mysql on
هانعمل باسورت لرووت MySQL
رمز PHP:
/usr/bin/mysql_secure_installation
هاتمشى مع الخطوات .. بتغيير الباسورد وحذف داتا بيز test واليوزر anonymous ايضا.. والغاء دخول الرووت من خارج السيرفر ( اختيارى) لحد فى النهاية هانوصل للرسالة
رمز Code:
All done! If you've completed all of the above steps, your MariaDB installation should now be secure. Thanks for using MariaDB!
نسترجع اعداداتنا تانى
رمز PHP:
cp /etc/my.cnf.rpmsave /etc/my.cnf
هانعمل overwrite
نسترجع القواعد تانى
رمز PHP:
mysql -u root -p < backupdatabase.sql
ثم
رمز PHP:
service mysql restart
كده نبقى رقينا واستفدنا بخدمة لسيرفر داتابيز كويس .. ندخل نشيك على القواعد
رمز PHP:
mysql -u root -p
رمز PHP:
MariaDB [(none)]> show databases;
رمز PHP:
MariaDB [(none)]> status;
رمز PHP:
MariaDB [(none)]> use dbname;
تحياتى للجميع
تفعيل وضبط SELinux والإستفادة من حمايتها
السلام عليكم ورحمة الله وبركاته
SELinux هى اداة حماية لكيرنل بتحجم المدى المسموح لدخول الملفات من البرامج وتحديد أى فعل مناسب
SELinux لها ثلاث حالات :
- SELINUX=enforcing ( تطبيق قوانين SELinux مباشرة بدون تحذير او انظار )
- SELINUX=permissive (تطبيق قوانين SELinux ولكن تظهر تحذير بذلك )
- SELINUX=disabled ( الغاء تفعيل SELinux بالكامل )
قبل كل شىء .. خد باك اب من اى تعديل هاتعمله فى أى شىء
1- تركيب ملحقات ال SELinux
رمز Code:
yum install policycoreutils setroubleshoot
2- تشغيل SELinux فى وضع permissive
رمز Code:
vi /etc/selinux/config
نحدث البيانات كالتالى
رمز Code:
SELINUX=permissive
SELINUXTYPE=targeted
احفظ الملف واقفله ونعمل ريبوت للسيرفر
3- نتأكد ان SELinux لم تتعارض مع شىء ولم توقف شىء
رمز Code:
grep "SELinux is preventing" /var/log/messages
المفروض مايطلع معك أى أخطاء ومن الأفضل ان يتم عمل Relabel للملفات بالنظام ككل
الأوامر التالية لعمل relabel
- لاسترجاع اوامر الحماية الافتراضية ل /home
رمز Code:
restorecon -Rv -n /home
نفذ ايضا
رمز Code:
touch /.autorelabel
reboot
4- تفعيل وضع enforcing
رمز Code:
vi /etc/selinux/config
التعديل لتكون
رمز Code:
SELINUX=enforcing
* نتأكد من عدم الغاء تفعيل SELinux من ال Grub loader
رمز Code:
egrep -i 'selinux=0|enforcing=0' /boot/grub/grub.conf
اذا وجدت السطور التالية تحذفها وتحفظ الملف وتعمل ريبوت
رمز Code:
selinux=0 or enforcing=0
للتأكد من التفعيل
رمز Code:
sestatus
مثال على النتيجة
رمز Code:
SELinux status: enabled
SELinuxfs mount: /selinux
Current mode: enforcing
Mode from config file: enforcing
Policy version: 24
Policy from config file: targeted
كيف أعرف قائمة بالبورتات المفتوحة ؟
رمز Code:
semanage port -l
semanage port -l | less
##لو عاوز تشوف بورت معين وليكن 80###
semanage port -l | grep -w 80
كيفية فتح بورت 8181
رمز Code:
semanage port -a -t http_port_t -p tcp 8181
كيف أعرف الخدمات الغير محمية ؟؟
رمز Code:
ps -eZ | egrep "initrc" | egrep -vw "ps|tr|egrep|awk|bash" | tr ':' ' ' | awk '{ print $NF }'SELinux اداة معقدة لكنها مهمة .. ممكن تاخد وقت فى تصليح الأخطاء لكن بالتعامل الجيد ممتازة
بعض الأدوات للتعرف على المشاكل
رمز Code:
ps -Z -p
ls -Z fn اسم الملف
ausearch
restorecon
semodule
audit2allow
Log files: /var/log/audit/audit.log and /var/log/setroubleshoot/setroubleshootd.log
التحويل من CentOS الى CloudLinuX مع السى بانل
السلام عليكم ورحمة الله وبركاته
CloudLinux سيستم ممتاز بيمتاز بالأمان والاداء العالى .. الغالبية يستخدمه لأغراض حماية عالية
CloudLinux سيستم مدفوع على عكس CentOS يجب الحصول على ترخيص لتشغيله بشكل دائم على السيرفر .. له دعم هائل من ريدهات .. تحديثات مستمرة
له العديد من الامكانيات .. LVE - CageFS -ApacheModule
يدعم ايضا ال Xen - KVM - VMWare
بعد الحصول على الترخيص للاى بى من السى بانل
رمز PHP:
/usr/local/cpanel/cpkeyclt
رمز PHP:
/usr/local/cpanel/bin/cloudlinux_system_install -k
نعمل ريبووت للسيرفر
رمز PHP:
reboot
ثم كومبايل للاباتشى من جديد
رمز PHP:
/usr/local/cpanel/scripts/easyapache --build
كده انتهينا
لو بترخيص مباشر من كﻻود لينكس
https://cln.cloudlinux.com/clweb/buy.html
رمز PHP:
wget http://repo.cloudlinux.com/cloudlinux/sources/cln/cpanel2cl
رمز PHP:
sh cpanel2cl -k <key>
استبدل <key> برقم ترخيصك
رمز PHP:
reboot
رمز PHP:
/scripts/easyapache --build
الاشتراك في:
الرسائل (Atom)