LAMP安全:

1.BIOS:
设置BIOS密码,禁用从CD-ROM和软盘引导

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

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

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服务

6.tcpwrappers:
编辑/etc/hosts.allow和hosts.deny限制或允许访问某些服务

7.创建su用户组:
vi /etc/group
添加一行 wheel:x:10:root,user1,user2
chgrp wheel /bin/su
chmod o-rwx /bin/su

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.com

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

LAMP安全加固的更多相关文章

  1. Linux系统入门学习:在CentOS上安装phpMyAdmin

    问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...

  2. lamp下mysql安全加固

    lamp下mysql安全加固 1.修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母.数字和符号组成的不规律 ...

  3. 部署lamp服务器

    系统:CentOS 6.5 64位 1.卸载旧版本软件 rpm -qa | grep mysql #查询是否已经安装MySQL,如有执行下面的操作将其全部删除 rpm -e mysql --nodep ...

  4. 部署LAMP+NFS实现双Web服务器负载均衡

    一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...

  5. LAMP 搭建

    p { margin-bottom: 0.25cm; line-height: 120% } LAMP 搭建 承 Ubuntu 17.10.1安装, 定制. 参考 电子工业出版社, Ubuntu完美应 ...

  6. lamp一键配置 --转自秋水

    https://teddysun.com/lamp LAMP一键安装脚本 最后修改于:2015年11月08日 / 秋水逸冰 / 54,300 次围观 973 本脚本适用环境: 系统支持:CentOS/ ...

  7. Linux安装LAMP开发环境及配置文件管理

    Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...

  8. Web应用之LAMP源码环境部署

    一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...

  9. 【笔记】LAMP 环境无脑安装配置 Centos 6.3

    p.p1 { margin: 0.0px 0.0px 5.0px 0.0px; font: 12.0px Times; color: #ff2500 } p.p2 { margin: 0.0px 0. ...

随机推荐

  1. 机器学习之决策树(ID3)算法

    最近刚把<机器学习实战>中的决策树过了一遍,接下来通过书中的实例,来温习决策树构造算法中的ID3算法. 海洋生物数据:   不浮出水面是否可以生存 是否有脚蹼 属于鱼类 1 是 是 是 2 ...

  2. loadrunner--基础2

    LR11-03 一.并发测试(n VU) 1.并发测试两个条件 1)脚本中要有 集合点(并发点) 2)控制台中要设置并发策略(选择第一项,所有虚拟用户到达集合点后释放) 集合点: 5个线程,代表5个V ...

  3. pip安装Crypto注意事项

    pip install PyCrypto 1.使用pip install Crypto的方式安装的文件夹名称为crypto,而内部引用都用的Crypto路径,因此pip安装后,需要将文件夹名称修改为C ...

  4. js 插件 issue

    1 iscroll 5 和 lazyload 同时使用  转自 yinjie //lazyload var $scrollEle = $("#wrapper") $("i ...

  5. MiniOS系统

    实验一  命令解释程序的编写 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的 ...

  6. QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写   ...

  7. QQueue与QStack使用

    版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QQueue与QStack使用     本文地址:http://techieliang.com ...

  8. tomcat下部署了多个项目启动报错java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files

    应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root". ...

  9. Mware中CentOS设置静态IP

    Mware中CentOS设置静态IP   因为之前搭建的MongoDB分片没有采用副本集,最近现网压力较大,所以准备研究一下,于是在自己电脑的虚拟机中搭建环境,但是发现之前VMware设置的是DHCP ...

  10. 20个PHP程序性能优化的方法

    1.数据库连接当使用完毕时应当关闭,不要使用长连接. 2.用@屏蔽错误消息的做法非常低效,极其低效. 3.使用选择分支语句(switch case)好于使用多个if,else if. 4.$row[' ...