Rootop 服务器运维与web架构

2011-07-12
发表者 Venus
暂无评论

530 User cannot log in.

如果存在下列情况之一,就会出现此问题:

  • 打开了 Microsoft 管理控制台 (MMC) 中的“只允许匿名连接安全性”设置。
  • 用户管理器中的用户名没有“本地登录”权限。
  • 用户管理器中的用户名没有“从网络访问此计算机”权限。
  • 没有与用户名一起指定域名(格式为 DOMAIN\username)。

2011-07-08
发表者 Venus
暂无评论

EFS加密 证书备份、恢复代理

  针对重要数据NTFS权限的缺陷:

•权限只在本机生效 取走硬盘权限失效

•只是在文件的外围设置了权限,文件内容没有变

  使用EFS加密:

•内容改变

•取走硬盘也打不开

在c盘根目录下新建了一个文件夹“New folder”在文件夹上右键-属性-高级-勾选“加密内容一遍保护数据(E)”(properties-advanced-Encrypt contents to secure data)

这一样依赖,就已经对次文件夹进行了efs加密。如果系统是win7以上版本,当第一次加密以后会提示进行证书备份:

现在,我们可以看到文件夹的颜色变了,绿色代表加密,蓝色代表压缩。

这样,数据只有当前用户才有权限看到,即使其它账号、或者是取走硬盘都打不开数据。

如果说系统重装了,而且没有备份证书的话,那就悲剧了,100%的数据找不回来了。

证书的备份:

调出运行对话框,键入“certmgr.msc”打开证书,我们当前是个人系统账号,所以选择“个人 personal” 我们会看到一个“证书 certificates”,点击它以后右边会出现当前系统账户的证书,比如我当前系统账户为administrator,那么证书就是administrator:

右键,所有任务,导出,根据提示导出证书放到安全的地方。强烈建议将证书备份到光盘,移动介质等媒体上做好存放安全。

恢复代理:

设置恢复代理,一定要先在加密之前设置,否则也设置恢复代理也是没用的。

步骤: 让哪个用户成为恢复代理,就用哪个账户登录系统。在硬盘上新建个文件,类型不限,EG:

F:\>echo 1 > 1.txt

F:\>dir
 驱动器 F 中的卷是 file
 卷的序列号是 5435-9412

 F:\ 的目录

2011/07/12  10:05                 4 1.txt
2011/07/05  08:11    <DIR>          ftp
2011/07/11  09:47    <DIR>          Jobs Documents
2011/06/26  13:29    <DIR>          Jobs Soft
2011/06/03  08:03    <DIR>          Server2003Packages
2011/06/03  11:15    <DIR>          ServerGuide
2011/07/05  08:16    <DIR>          TakeAway
2011/05/06  15:28    <DIR>          wz
2011/06/03  10:07    <DIR>          待测试软件
               1 个文件              4 字节
               8 个目录 69,622,996,992 可用字节

F:\>cipher /r: f:/1.txt
请键入密码来保护 .PFX 文件: 
请重新键入密码来进行确认:
.CER 文件已成功创建。
.PFX 文件已成功创建。

F:\>

F:\>dir
 驱动器 F 中的卷是 file
 卷的序列号是 5435-9412

 F:\ 的目录

2011/07/12  10:06               899 .CER
2011/07/12  10:06             2,694 .PFX

2011/07/12  10:05                 4 1.txt

安装.pfx文件

根据提示,安装即可。

然后打开组策略,“计算机配置-windows设置-安全设置-公钥策略-加密文件系统”,在加密文件系统上右键-“添加数据恢复代理程序”,添加.cer文件。

根据提示导入即可。

2011-07-08
发表者 Venus
暂无评论

配置apache支持https加密安全登陆

      在我们现在使用的网上银行,关键web服务登陆时,都采用https方式登陆,它的数据传输采用的是加密方式,而http是明文,很容易在网络上嗅探到,原理不多说,下面说下怎样让apache支持https。

1、搭建一台ca证书服务器      172.17.1.115/25

2、申请证书,配置apache      172.17.1.118/25

ca服务器我是用的server2003搭建的,具体的搭建过程简单一提:

       在“添加删除windows组件”中,勾选“证书服务”和 应用程序服务器 中的“Internet信息服务(IIS)”,然后确定一路安装即可。

       在linux中安装openssl  mod_ssl两个包

[root@rhel6www ~]# yum install -y openssl mod_ssl

[root@rhel6www ~]# cd /etc/pki/tls/certs

[root@rhel6www certs]# make server.key    //首先生成一个server.key文件
umask 77 ; \
        /usr/bin/openssl genrsa -aes128 2048 > server.key
Generating RSA private key, 2048 bit long modulus
..+++
……………+++
e is 65537 (0x10001)
Enter pass phrase:     //输入一个密码
Verifying – Enter pass phrase:      //再次输入

[root@rhel6www certs]# make server.csr    //还需要一个生成一个文件,server.csr
umask 77 ; \
        /usr/bin/openssl req -utf8 -new -key server.key -out server.csr
Enter pass phrase for server.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter ‘.’, the field will be left blank.
—–
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:sd
Locality Name (eg, city) [Default City]:qd
Organization Name (eg, company) [Default Company Ltd]:nq
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server’s hostname) []:www.rootop.org
Email Address []:venuslinux@gmail.com

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:123qaz
An optional company name []:
[root@rhel6www certs]# ll
total 1232
-rw-r–r–. 1 root root 578465 Apr  7  2010 ca-bundle.crt
-rw-r–r–. 1 root root 658225 Apr  7  2010 ca-bundle.trust.crt
-rw——-. 1 root root   1188 May 30 08:03 localhost.crt
-rwxr-xr-x. 1 root root    610 Feb 10 10:27 make-dummy-cert
-rw-r–r–. 1 root root   2242 Feb 10 10:27 Makefile
-rw——-. 1 root root   1082 Jul  8 06:48 server.csr
-rw——-. 1 root root   1766 Jul  8 06:45 server.key

将server.csr文件拷贝到windows下,方便进行证书申请。
打开server.csr文件,推荐用notepad++这种编辑工具,否则用记事本打开会有“方块”,不能自动换行的问题,复制其中的内容。

然后访问我的ca服务器:http://172.17.1.115/certsrv/

点击“高级证书申请”

申请一个证书

使用base64编码的cmc或pkcs#10文件提交一个证书申请

粘贴刚才server.csr文件的内容

提交挂起后,等待ca服务器颁发证书

回到ca服务器,打开证书服务,可以看到提交的申请,右键,任务,颁发即可。

再次登陆ca服务器的web申请页面。

点击“查看挂起的证书申请的状态”就可以看到颁发的证书,下载下来即可。

然后将颁发的证书复制到linux中。

[root@rhel6www certs]# mv certnew.cer server.crt   //将生成的证书更名为server.crt

[root@rhel6www certs]# vi /etc/httpd/conf.d/ssl.conf    //修改以下两行如下

SSLCertificateFile /etc/pki/tls/certs/server.crt

SSLCertificateKeyFile /etc/pki/tls/certs/server.key

[root@rhel6www certs]# service httpd restart     //重启apache加载证书,并生效
Stopping httpd:                                            [FAILED]
Starting httpd: httpd: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1 for ServerName
Apache/2.2.15 mod_ssl/2.2.15 (Pass Phrase Dialog)
Some of your private key files are encrypted for security reasons.
In order to read them you have to provide the pass phrases.

Server 127.0.0.1:443 (RSA)
Enter pass phrase:                       //输入刚才键入的密码

OK: Pass Phrase Dialog successful.
                                                           [  OK  ]

当下次重启apache的时候,还是会提示要求输入密码,那我们再来配置下。

[root@rhel6www certs]# openssl rsa -in server.key -out server.key
Enter pass phrase for server.key:          //输入之前的密码
writing RSA key
[root@rhel6www certs]#
以后就不会提示了。

然后再次访问linux服务器,可以看到http方式可以访问,https方式也是没问题的可以。

为什么我们不强制全部使用https方式登陆呢?比如说,在用户身份认证的时候,我们可以用加密的数据在网络间进行传输,在浏览网站的时候大都是文字,图片之类的就没必要再用https方式了。

2011-07-04
发表者 Venus
暂无评论

MySQL Daemon failed to start

今天一哥们邮件服务器安装cacti监控,顺便升级了下mysql数据库,重启服务的时候报错:

MySQL Daemon failed to start

看/var/log/messages   /var/log/mysqld.log 都没有相关信息。selinux  iptables 皆为关闭状态。最后没办法,从/usr/share/mysql下复制了一个mysql自带的my-small.cnf配置文件到etc下(my.cnf),重启服务,OK了。说明问题基本出在配置文件中,然后在my.cnf配置文件中,从下往上依次注释每行配置文件,然后重启服务测试,最后确定到:

# For low memory, Berkeley DB should not be used so keep skip-bdb uncommented unless required
skip-bdb
当注释掉这行后,重启服务,没问题了。

找了相关资料后,确定问题就是升级了mysql版本,导致数据库引擎和配置文件有所“冲突”吧。

(用这个配置文件放到另一台服务器中,重启就没问题,再次确定是数据库版本的问题)

       如果你遇到这个问题,不妨尝试使用mysql默认的几个配置文件试试。