LAMP安全加固

LAMP安全:php

1.BIOS:
設置BIOS密碼,禁用從CD-ROM和軟盤引導mysql

2.SSH安全:
修改/etc/ssh/sshd_config
PermitRootLogin = no //禁止root訪問
Protocol 2 //使用sshv2版本sql

3.禁用telnet:
修改/etc/xinetd.d/telet
disable=yesshell

4.禁用代碼編譯:
可禁用代碼編譯,並只把編譯權限分配給一個用戶組
添加編譯用戶組:groupadd compiler
cd /usr/bin
把經常使用的編譯器所屬組賦給編譯用戶組:
chgrp compiler *cc*
chgrp compiler *++*
chgrp compiler ld
chgrp compiler as
設置mysqlaccess的訪問:
chgrp root mysqlaccess
設置權限:
chmod 750 *cc*
chmod 750 *++*
chmod 750 ld
chmod 750 as
chmod 750 mysqlaccess
把用戶添加到組裏:
修改/etc/group
compiler:x:520:user1,user2安全

5.ProFTP:
修改proftpd.conf禁止root登陸:
修改/etc/proftpd.conf
Add RootLogin off
重啓proftpd服務bash

6.tcpwrappers:
編輯/etc/hosts.allow和hosts.deny限制或容許訪問某些服務app

7.建立su用戶組:
vi /etc/group
添加一行 wheel:x:10:root,user1,user2
chgrp wheel /bin/su
chmod o-rwx /bin/sussh

8.發root通知:
當一個具備root權限的用戶登陸時發mail:
vi /root/.bashrc
echo 'ALERT -Root Shell Access(Server Name) on:' `date``who`| mail -s "Alert:RootAccessfrom `who| cut -d"("-f2|cut -d")"-f1`"your@email.comtcp

9.history安全:
chattr +a .bash_history
chattr +i .bash_history函數

10.使用歡迎信息(可選):
刪除/etc/redhat-release
編輯/etc/issue /etc/motd並顯示警告信息

11.禁用全部特殊賬號:
從系統中刪除全部默認用戶和組:news,lp,sync,shutdown,uucp,games,halt等

12.chmod危險文件:
制不具備root權限的用戶執行下面這些命令:
chmod 700 /bin/ping
chmod 700 /usr/bin/finger
chmod 700 /usr/bin/who
chmod 700 /usr/bin/w
chmod 700 /usr/bin/locate
chmod 700 /usr/bin/whereis
chmod 700 /sbin/ifconfig
chmod 700 /usr/bin/pico
chmod 700 /usr/bin/vi
chmod 700 /usr/bin/which
chmod 700 /usr/bin/gcc
chmod 700 /usr/bin/make
chmod 700 /bin/rpm

13.指定容許root登陸的tty設備:
vi /etc/securetty
只保留2個鏈接
tty1
tty2

14.選擇一個安全的密碼:
vi /etc/login.defs
PASS_MIN_LEN 8

15.檢測RootKit:
用 chkrootkit或 rkhunter,以 chkrootkit爲例
方法:
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
wget ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.md5
首先檢查 md5校驗值: md5sumchkrootkit.tar.gz
而後解壓安裝
tar -zxvf chkrootkit.tar.gz
cd chkrootkit
./configure
make sense
而後運行./chkrootkit
咱們能夠將其添加到 contrab使其天天自動掃描:
vi/etc/cron.daily/chkrootkit.sh

#!/bin/bash
# 輸入 chkrootkit的安裝目錄
cd /root/chkrootkit/
# 輸入你想收到檢測報告的 email
./chkrootkit | mail -s "Daily chkrootkit from Server Name" your@email.com

16.安裝補丁:
列出可用更新:up2date -l
安裝未排除的更新:up2date -u
安裝包括排除的更新:up2date -uf

17.隱藏APACHE信息:
vi /etc/httpd/conf/httpd.conf
ServerSignature Off
重啓APACHE

18.隱藏PHP信息:
vi php.ini
expose_php=Off
重啓APACHE

19.關閉不用的服務:
cd /etc/xinetd.d
grep disable *

20.檢測監聽的端口:
netstat -tulp
lsof -i -n | egrep'COMMAND|LESTEN|UDP'
nmap !

21.關閉端口和服務:

22.刪除不用的rpm包:

23.禁用危險的php函數:
whereis php.ini
vi /usr/local/lib/php.ini
輯disable_functions="symlink,shell_exec,exec,proc_close,proc_open,popen,system,dl,passthru,escapeshellarg, escapeshellcmd"

27.更改ssh端口:
vi /etc/ssh/sshd_config
Port 22改成其它端口,再重啓ssh

28./tmp,/var/tmp,/dev/shm分區安全:/tmp,/var/tmp,/dev/shm目錄是不安全的,任何用戶均可以執行腳本。最好的解決辦法是修改/etc/fstab,將分區掛載 ncexec和nosuid選項的參數

相關文章
相關標籤/搜索