web安全

发布时间:2020-08-12 23:12:40 作者:crazy_charles
来源:网络 阅读:313



到处浏览所有apache用户可以访问的文件和目录

锁定php模块可以访问的范围(笼环境)

<VirtualHost *:8082>


DocumentRoot /share/1310

ServerName 10.1.1.21

ErrorLog logs/10.1.1.21-error_log

CustomLog logs/10.1.1.21-access_log common


<Directory /share/1310>

Options Indexes FollowSymLinks

AllowOverride All

</Directory>


<IfModule mod_php5.c>

php_admin_value open_basedir "/share/1310:/var/lib/php/session:/tmp"

</IfModule>

</VirtualHost>




可以执行系统指令

# vim /etc/php.ini

disable_functions = exec,shell_exec,system,passthru,popen


可以删除apache用户可以删除的文件,典型的就是可以删除网站目录下的文件

可以修改网站页面

httpd进程有效身份是apache

假设网站目录 /var/www/html/ root:root 755 <--保证apache不能随意删除目录下的文件

/var/www/html/index.php root:root 644

/var/www/html/upload/ apache:apache 755 <---专门用于保存用户上传的文件


解压所有代码到/var/www/html/

# chown root:root -R /var/www/html

# chmod 755 /var/www/html

# chown apache:apache -R /var/www/html/upload/

# chmod 755 /var/www/html/upload/





通过网站php代码获知数据库的用户名和密码

为了降低网站被***之后数据库帐号泄漏的风险,应该:一个网站(应用)独立使用一个库和一个帐号



反向连接,主动把shell连接到***者的终端

代码背后编译个perl或者c写的程序,然后执行这个程序,让程序主动连接***者的机器

解决:

禁止普通用户可以编译程序并且执行程序

线上的服务器,一般都不会安装开发工具,编译工具。如果非得要安装,那么chmod 700 /usr/bin/gcc


在防火墙里记录下服务器主动向外连接的请求到日志中。

# iptables -t filter -A OUTPUT -m state --state NEW -j LOG --log-prefix "hacker "


==========================================================

SQL注入

ddos



arp



======================================================


1、编写策略,增加对一些自定义目录的保护


# vim /etc/tripwire/twpol.txt

(

rulename = "webroot",

severity = $(SIG_HI)

)

{

/share/1310 -> $(SEC_CRIT) ;

!/share/1310/ula_04.txt ;

}


2、第一次使用,必须建立密钥对

密钥对用来加密策略、配置文件、数据库文件、检查报告


# tripwire-setup-keyfiles


可以把原来的明文的配置文件和策略文件删除掉,免得泄密

# rm -rf /etc/tripwire/twcfg.txt /etc/tripwire/twpol.txt


3、初始化

数次使用,需要初始,扫描策略中要求保护的文件的属性,并且记录到数据文件中

# tripwire --init

......

Wrote database file: /var/lib/tripwire/www.upl.com.twd <---数据文件

The database was successfully generated.


测试:

故意修改一些被保护的文件,确认工具是否能够发现?


# tripwire --check 检测策略中所有保护的文件

会输出扫描的概要,详细报告存在以下路径:

/var/lib/tripwire/report/www.upl.com-20131021-160519.twr


查看详细报告文件

# twprint --print-report --twrfile /var/lib/tripwire/report/www.upl.com-20131021-160519.twr


只去检查指定策略保护的文件

# tripwire --check --rule-name "webroot"




假设报告中出现变化的文件,是我们管理员和维护人员由于正常的操作带来的修改,那么应该把这些更改后结果更新到数据文件中

# LANG=C tripwire --update --twrfile /var/lib/tripwire/report/www.upl.com-20131021-160519.twr

.....

Remove the "x" from the adjacent box to prevent updating the database

with the new values for this object.


Removed:

[x] "/share/1310/secret.txt.dersa" 《--保留前面的x,这些文件的新属性就会更新到数据文件中,下次扫描就会按照新属性来对比(忽略这次发现的更改)

[x] "/share/1310/secret.txt.sign"

[x] "/share/1310/secret.txt.rsa"

[x] "/share/1310/secret.txt"


Modified:

[x] "/share/1310"

[x] "/share/1310/ula_03.txt"


保存退出: wq!


把当前正在使用的加密的策略解密后输出成文明的文件

# twadmin -m p > /etc/tripwire/twpol.txt


编辑这个文明的策略文件,更新了策略之后,就重新加密

# twadmin -m P /etc/tripwire/twpol.txt

加密之后,要及时把明文的策略文件删除掉

# rm -rf /etc/tripwire/twpol.txt





安全相关的综合练习:

部署rpm包版本的lamp环境,并且安装phpwind论坛,网站代码安装在自定义的目录/webdata/wwwroot

要求最终要打开selinux的enforcing模式

要求打开iptables,仅仅对外开放80端口和22端口

不允许root通过ssh登录系统。

设定一个普通帐号,它可以通过sudo执行所有的管理操作

使用pam_tally2实现连续三次登录失败就锁定该帐号30分钟

添加防火墙,把所有主动对方连接请求都记录到日志中(这个题目可以最后才做,或者仅仅知道如何编写iptables规则就可以了,不用实际完成,因为你们的机器都经常主动访问老师的笔记)

使用tripwire,并增加对网站phpwind的文件监控,注意,哪些目录无需监控

严格设定网站根目录的权限,必须做到就算被***了,也无法删除、修改网站的核心代码文件(首页等)

必须废掉webshell的常见功能(跨目录,执行系统命令,编译程序)







推荐阅读:
  1. web安全之SQL注入
  2. Web安全学习规划

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

用户 system common

上一篇:Java基础7:关于Java类和包的那些事

下一篇:单点登录原理与技术实现比较

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》