邓老师 发布的文章

开机自动运行脚本,添加到下面文件中:
/etc/rc.d/rc.local

以用户dgq权限运行文件aria2c
su dgq -c "/usr/bin/aria2c --conf-path=/etc/aria2/aria2.conf -D"

SELinux设置www文件夹属性
chcon -R -t httpd_sys_content_t

防火墙配置
firewall-cmd --zone=public --add-port=6800/tcp --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --reload

在php-fpm配置文件php-fpm.d/www.conf:

    ;listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock                      
    listen = 0.0.0.0:9000 

在nginx配置文件nginx.conf:

    location ~ \.php$ {                                                   
        include fastcgi.conf;                                             
        fastcgi_pass   127.0.0.1:9000;   #php-fpm运行参数                                 
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;                                    
        #fastcgi_param PATH_INFO                $fastcgi_script_name;     
    } 

在php配置文件/data/data/com.termux/files/usr/lib/php.ini :

    output_buffering = on
    upload_max_filesize = 512M
    post_max_size = 512M
    memory_limit = 128M
    max_execution_time = 60
    session.auto_start = 0

x509证书一般会用到三类文件,key,csr,crt

Key 是私用密钥openssl格式,通常是rsa算法。

Csr 是证书请求文件,用于申请证书。在制作csr文件的时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crt是CA认证后的证书文,(windows下面的,其实是crt),签署人用自己的key给你签署的凭证。

1.CA密钥key的生成

openssl genrsa -des3 -out ca.key 2048

这样是生成rsa私钥,des3算法,openssl格式,2048位强度。server.key是密钥文件名。为了生成这样的密钥,需要一个至少四位的密码。可以通过以下方法生成没有密码的key:

openssl rsa -in ca.key -out ca.key
ca.key就是没有密码的版本了。

  1. 生成自签名证书CA的crt

openssl req -new -x509 -key ca.key -out ca.crt -days 3650

生成的ca.crt文件是用来签署下面的server.csr文件。

Common Name: DGQ_CA_Root

3.新的证书server 的key的生成
openssl genrsa -des3 -out server.key 2048 (有密码版本)
openssl rsa -in server.key -out server.key(转存无密码版本)

4.生成新的证书server 的请求csr

openssl req -new -key server.key -out server.csr
Common Name: gzdgq.mynetgear.com
需要依次输入国家,地区,组织,email。最重要的是有一个common name,可以写你的名字或者域名。如果为了https申请,这个必须和域名吻合,否则会引发浏览器警报。生成的csr文件交给CA签名后形成服务端自己的证书。

5.使用CA对证书请求签名,生成crt

CSR文件必须有CA的签名才可形成证书,可将此文件发送到verisign等地方由它验证,要交一大笔钱,何不自己做CA呢。

openssl x509 -req -days 3650 -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt
输入key的密钥后,完成证书生成。-CA选项指明用于被签名的csr证书,-CAkey选项指明用于签名的密钥,-CAserial指明序列号文件,而-CAcreateserial指明文件不存在时自动生成。

最后生成了私用密钥:server.key和自己认证的SSL证书:server.crt

证书合并:

cat server.key server.crt > server.pem

<!DOCTYPE html>

<title>aes加密</title>
<meta charset="utf-8">


<button class="ajax">请求解密</button>

<?php

$data=$_REQUEST['data'];
$de_or_en = $_REQUEST["de"];
$cryptMethod='aes-128-cbc';
$password=$_REQUEST["pwd"];
/$options为0时,加密结果返回base64编码的加密串,自动使用Pkcs7轮行填充/
$options = 0;
$iv='1234567887654321';
if($de_or_en=='0')
{

$result=openssl_decrypt($data, $cryptMethod, $password, $options,$iv);

}
else
{
$result=openssl_encrypt($data, $cryptMethod, $password, $options,$iv);
}
var_dump($result);
?>

网站文件最小权限设置方法
1、假如web服务器是apache,那么用户访问web页面的时候,就是通过apache服务(httpd)的所有者的身份进行访问,所以要将 apache也就是httpd服务的所有者和所有组设为apache或者自定用户,不要用root,这个一般安装的时候就会有默认设置。
2、网站程序的所有者不要和apache服务的所有者一样,如果一样就相当于给了普通访问者对web文件的所有操作权!一旦web程序有漏洞,那就 over了!默认一般是root,尽量改为其他用户,比如自己建立一个daemon,切记不要和apache服务的所有者一样。 3、对于网站根目录权限,按照最小权限的原则,应设置为755
4、对于缓存目录或者上传目录例如缓存目录:caches目录,由于此目录必须要有写权限,也就是目录同是有rwx三个权限,这时候可以直接建立一个 caches空目录,然后chown daemon.daemon ./caches,就是把caches所有者、所有组改为自定义的daemon就ok了,这样如果访问web页面,就会以apache的身份进入 caches建立缓存目录及文件,默认系统都是以最小权限建立!
5、对于普通目录,最小权限为755,普通用户不给写权限
6、对于普通文件,最小权限为644,普通用户不给执行权限 总而言之,言而总之就是:目录不要给写权限,文件不要给执行权限(除非特殊情况,如目录要上传)

简单介绍网站目录文件权限的基本设定
我们假设http服务器运行的用户和用户组是www,网站用户为centos,网站根目录是/home/centos/web。
1、我们首先设定网站目录和文件的所有者和所有组为centos,www,如下命令:chown -R centos:www /home/centos/web
2、设置网站目录权限为750,750是centos用户对目录拥有读写执行的权限,这样centos用户可以在任何目录下创建文件,用户组有有读执行权限,这样才能进入目录,其它用户没有任何权限。 find -type d -exec chmod 750 {} \;
3、设置网站文件权限为640,640指只有centos用户对网站文件有更改的权限,http服务器只有读取文件的权限,无法更改文件,其它用户无任何权限。 find -not -type d -exec chmod 640 {} \;
4、针对个别目录设置可写权限。比如网站的一些缓存目录就需要给http服务有写入权限。例如discuz x2的/data/目录就必须要写入权限。find data -type d -exec chmod 770 {} \;