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选项的参数

相关文章
相关标签/搜索