LAMP安全加固
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安全加固的更多相关文章
- Linux系统入门学习:在CentOS上安装phpMyAdmin
问题:我正在CentOS上运行一个MySQL/MariaDB服务,并且我想要通过网络接口来用phpMyAdmin来管理数据库.在CentOS上安装phpMyAdmin的最佳方法是什么? phpMyAd ...
- lamp下mysql安全加固
lamp下mysql安全加固 1.修改root用户口令,删除空口令 缺省安装的MySQL的root用户是空密码的,为了安全起见,必须修改为强密码,所谓的强密码,至少8位,由字母.数字和符号组成的不规律 ...
- 部署lamp服务器
系统:CentOS 6.5 64位 1.卸载旧版本软件 rpm -qa | grep mysql #查询是否已经安装MySQL,如有执行下面的操作将其全部删除 rpm -e mysql --nodep ...
- 部署LAMP+NFS实现双Web服务器负载均衡
一.需求分析 1.前端需支持更大的访问量,单台Web服务器已无法满足需求了,则需扩容Web服务器: 2.虽然动态内容可交由后端的PHP服务器执行,但静态页面还需要Web服务器自己解析,那是否意味着多台 ...
- LAMP 搭建
p { margin-bottom: 0.25cm; line-height: 120% } LAMP 搭建 承 Ubuntu 17.10.1安装, 定制. 参考 电子工业出版社, Ubuntu完美应 ...
- lamp一键配置 --转自秋水
https://teddysun.com/lamp LAMP一键安装脚本 最后修改于:2015年11月08日 / 秋水逸冰 / 54,300 次围观 973 本脚本适用环境: 系统支持:CentOS/ ...
- Linux安装LAMP开发环境及配置文件管理
Linux主要分为两大系发行版,分别是RedHat和Debian,lamp环境的安装和配置也会有所不同,所以分别以CentOS 7.1和Ubuntu 14.04做为主机(L) Linux下安装软件,最 ...
- Web应用之LAMP源码环境部署
一.LAMP环境的介绍 1.LAMP环境的重要性 思索许久,最终还是决定写一篇详细的LAMP的源码编译安装的实验文档,一来是为了给自己一个交代,把技术进行系统的归纳,将技术以极致的形式呈现出来,做为一 ...
- 【笔记】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. ...
随机推荐
- 机器学习之决策树(ID3)算法
最近刚把<机器学习实战>中的决策树过了一遍,接下来通过书中的实例,来温习决策树构造算法中的ID3算法. 海洋生物数据: 不浮出水面是否可以生存 是否有脚蹼 属于鱼类 1 是 是 是 2 ...
- loadrunner--基础2
LR11-03 一.并发测试(n VU) 1.并发测试两个条件 1)脚本中要有 集合点(并发点) 2)控制台中要设置并发策略(选择第一项,所有虚拟用户到达集合点后释放) 集合点: 5个线程,代表5个V ...
- pip安装Crypto注意事项
pip install PyCrypto 1.使用pip install Crypto的方式安装的文件夹名称为crypto,而内部引用都用的Crypto路径,因此pip安装后,需要将文件夹名称修改为C ...
- js 插件 issue
1 iscroll 5 和 lazyload 同时使用 转自 yinjie //lazyload var $scrollEle = $("#wrapper") $("i ...
- MiniOS系统
实验一 命令解释程序的编写 一.目的和要求 1. 实验目的 (1)掌握命令解释程序的原理: (2)*掌握简单的DOS调用方法: (3)掌握C语言编程初步. 2.实验要求 编写类似于DOS,UNIX的 ...
- QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QXmlStreamReader/QXmlStreamWriter实现Qt下xml文件读写 ...
- QQueue与QStack使用
版权声明:若无来源注明,Techie亮博客文章均为原创. 转载请以链接形式标明本文标题和地址: 本文标题:QQueue与QStack使用 本文地址:http://techieliang.com ...
- tomcat下部署了多个项目启动报错java web error:Choose unique values for the 'webAppRootKey' context-param in your web.xml files
应该是tomcat下部署了多个项目且都使用log4j. <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root". ...
- Mware中CentOS设置静态IP
Mware中CentOS设置静态IP 因为之前搭建的MongoDB分片没有采用副本集,最近现网压力较大,所以准备研究一下,于是在自己电脑的虚拟机中搭建环境,但是发现之前VMware设置的是DHCP ...
- 20个PHP程序性能优化的方法
1.数据库连接当使用完毕时应当关闭,不要使用长连接. 2.用@屏蔽错误消息的做法非常低效,极其低效. 3.使用选择分支语句(switch case)好于使用多个if,else if. 4.$row[' ...