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. ...
随机推荐
- python2/3 发送https请求时,告警关闭方法
问题: 使用Python3 requests发送HTTPS请求,已经关闭认证(verify=False)情况下,控制台会输出以下错误: InsecureRequestWarning: Unverifi ...
- app开发相关
app播放UIWebview 没有声音解决: 设置 allowsInlineMediaPlayback = YES; mediaPlaybackRequiresUserAction = NO
- scrum立会报告+燃尽图(第二周第四次)
此作业要求参考: https://edu.cnblogs.com/campus/nenu/2018fall/homework/2249 一.小组介绍 组名:杨老师粉丝群 组长:乔静玉 组员:吴奕瑶.公 ...
- hdu1010--Tempter of the Bone(迷宫)
题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1010 Tempter of the Bone Time Limit: 2000/1000 MS (Jav ...
- unrecognized selector send to instancd 快速定位
1.在Debug菜单中Breakpoints->Create Symbolic Breakpoint; 2.在Symbolic中填写方法签名: -[NSObject(NSObject) does ...
- maven项目org.springframework.web.context.ContextLoaderListener的异常和tomcat zipexception的异常
使用到spring的maven web项目,在运行servers时,报错找不到org.springframework.web.context.ContextLoaderListener,web.xml ...
- alpha8/10
队名:Boy Next Door 燃尽图 晗(组长) 今日完成 和队友讨论alpha版的最终界面. 明日工作 确定alpha版既定功能的正常使用. 还剩下哪些任务 账号绑定功能以及账单信息的下载. 困 ...
- daemon not running的解决办法
有时候,当我们执行 adb devices 或者 adb start-server 的时候,会出现下面的情况: * daemon not running. starting it now on por ...
- 第190天:js---String常用属性和方法(最全)
String常用属性和方法 一.string对象构造函数 /*string对象构造函数*/ console.log('字符串即对象');//字符串即对象 //传统方式 - 背后会自动将其转换成对象 / ...
- 第79天:jQuery事件总结(二)
上一篇讲到jQuery中的事件,深入学习了加载DOM和事件绑定的相关知识,这篇主要深入讨论jQuery事件中的合成事件.事件冒泡和事件移除等内容. 一.合成事件 jQuery有两个合成事件——hove ...