作者归档:nancybox

Centos 6 配置ipstables报错 (Iptables error – Setting chains to policy ACCEPT: security raw nat mangle filter [FAILED])

错误信息:

Iptables error – Setting chains to policy ACCEPT: security raw nat mangle filter [FAILED]

解决办法:

vi /etc/init.d/iptables

大约143行位置找到

echo -n $”${IPTABLES}: Setting chains to policy $policy: “
ret=0
for i in $tables; do
echo -n “$i “
case “$i” in
+ security)
+ $IPTABLES -t filter -P INPUT $policy \
+ && $IPTABLES -t filter -P OUTPUT $policy \
+ && $IPTABLES -t filter -P FORWARD $policy \
+ || let ret+=1
+ ;;
raw)
$IPTABLES -t raw -P PREROUTING $policy \
&& $IPTABLES -t raw -P OUTPUT $policy \
|| let ret+=1
;;

防帐号密码穷举工具:Fail2Ban

以下方法适用于CentOS,并需要配合iptables才能运行.

一、下载并解压Fail2Ban

wget http://soft.kwx.gd/security/fail2ban-0.8.4.tar.bz2 tar 
-xjvf fail2ban-0.8.4.tar.bz2 cd fail2ban-0.8.4

二、安装Fail2Ban

python setup.py install 
cd files 
cp ./redhat-initd /etc/init.d/fail2ban
chkconfig --add fail2ban
service fail2ban start

三、修改配置文件

vi /etc/fail2ban/jail.conf

四、保存并重启Fail2Ban

service fail2ban restart 
chkconfig fail2ban on

五、验证Fail2Ban是否正常运行

fail2ban-client status

Dropbox Uploader 示例

要显示根目录中的所有内容,运行:

./dropbox_uploader.sh list

要列出某个特定文件夹中的所有内容,运行:

./dropbox_uploader.sh list Documents/manuals

要上传一个本地文件到一个远程的 Dropbox 文件夹,使用:

./dropbox_uploader.sh upload snort.pdf Documents/manuals

要从 Dropbox 下载一个远程的文件到本地,使用:
./dropbox_uploader.sh download Documents/manuals/mysql.pdf ./mysql.pdf[/php]

要从 Dropbox 下载一个完整的远程文件夹到一个本地的文件夹,运行:

./dropbox_uploader.sh download Documents/manuals ./manuals

要在 Dropbox 上创建一个新的远程文件夹,使用:

./dropbox_uploader.sh mkdir Documents/whitepapers

要完全删除 Dropbox 中某个远程的文件夹(包括它所含的所有内容),运行:

./dropbox_uploader.sh delete Documents/manuals

申请api账号并备份数据到Dropbox

登录Dropbox后,打开<a href=”https://www.dropbox.com/developers/apps”>Apps</a>页面,点击 Create App 按钮,创建一个App。用Putty登陆vps,获取最新的上传dropbox脚本:

wget https://raw.github.com/andreafabrizi/Dropbox-Uploader/master/dropbox_uploader.sh
chmod +x dropbox_uploader.sh #赋予权限
./dropbox_uploader.sh info #开始绑定APP
App key: 在创建的App Console中查看
App secret: 在创建的App Console中查看
Permission type [a/f]: f
App key ... Looks ok? [y/n]: y
复制网址,授权后返回,回车即可
./dropbox_uploader.sh upload /etc/passwd /backup/passwd.old #测试绑定结果

创建自己的备份脚本

vi backup.sh 
#!/bin/bash
SCRIPT_DIR="/root" #这个改成你存放刚刚下载下来的dropbox_uploader.sh的文件夹位置
DROPBOX_DIR="/backup" #这个改成你的备份文件想要放在Dropbox下面的文件夹名称,如果不存在,脚本会自动创建
BACKUP_SRC="/home/wwwroot /usr/local/nginx/conf" #这个是你想要备份的本地VPS上的文件,不同的目录用空格分开
BACKUP_DST="/tmp" #这个是你暂时存放备份压缩文件的地方,一般用/tmp即可
MYSQL_SERVER="localhost" #这个是你mysql服务器的地址,一般填这个本地地址即可
MYSQL_USER="mysqluser" #这个是你mysql的用户名名称,比如root或admin之类的
MYSQL_PASS="password" #这个是你mysql用户的密码
# 下面的一般不用改了
NOW=$(date +"%Y.%m.%d")
DESTFILE="$BACKUP_DST/$NOW.tar.gz"
# 备份mysql数据库并和其它备份文件一起压缩成一个文件
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --all-databases &amp;amp;gt; "$NOW-Databases.sql"
tar cfz "$DESTFILE" $BACKUP_SRC "$NOW-Databases.sql"
# 用脚本上传到dropbox
$SCRIPT_DIR/dropbox_uploader.sh upload "$DESTFILE" "$DROPBOX_DIR/$NOW.tar.gz"
# 删除本地的临时文件
rm -f "$NOW-Databases.sql" "$DESTFILE"
chmod +x backup.sh #赋予权限
./backup.sh #运行脚本

LAMP重启不需要手动输入SSL密码的办法

用下面的方法就可以避免这个问题:

vi /usr/local/apache/conf/httpd.conf

找到:

IfModule ssl_module

加入这样一行:

SSLPassPhraseDialog  exec:/usr/local/apache/ssl_pass.sh
vi /usr/local/etc/apache22/ssl_pass.sh

加入一个echo语句

#!/bin/sh

echo "password"

然后让它有执行权限:

chmod +x /usr/local/apache/ssl_pass.sh

安装 APCu-4.0.6

wget http://vps.idc886.com/apcu.sh

sh apcu.sh

按提示输入: 1、0。 默认是1

输入1: 安装 APCu
输入0: 删除 APCu

选1确认后,可输入最新版号安装。回车默认安装 4.0.6 版本

最新版号从这里查看: http://pecl.php.net/package/APCu

注: 安装APCu 为APC新版,版号从4.0开始,并且支持PHP5.5,php5.6
4.0.6 测试支持php5.6

owncloud提示curl版本过低(NSS/3.19.1 Basic ECC)解决办法

cURL使用了过时 NSS 版本 (NSS/3.19.1 Basic ECC)。请更新你的操作系统或功能比如 通过应用程序商店或联合云共享安装和更新应用程序 将无法可靠地工作。

则表示你需要重新编译安装curl了,首先查看当前Curl版本:

curl -V

显示结果如下:

curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.19.1 Basic ECC zlib/1.2.7 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz

那需要重新编译安装的时候就需要下载curl 7.29.0的安装包:

wget https://curl.haxx.se/download/curl-7.29.0.tar.gz
tar -zxvf curl-7.29.0.tar.gz
cd curl-7.29.0
./configure --prefix=/usr --with-libidn --with-zlib
make && make install
ldconfig

然后查看Curl版本:

curl 7.29.0 (x86_64-unknown-linux-gnu) libcurl/7.29.0 OpenSSL/1.0.1e zlib/1.2.7 libidn/1.28
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz

重新启动php-fpm,然后就不会有上面的提示了。

ownCloud没有中文语言解决

vi /usr/local/php/etc/php.ini

找到

disable_functions

将原本的

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

修改为:

disable_functions = passthru,exec,system,shell_exec,proc_open,popen

重启服务

php.ini里几个常需要修改的地方
常见参数解释如下:
register_globals:是否自动注册表单变量,安全原因不推荐设为on
magic_quotes_gpc:是否自动过滤输入内容中的特殊字符,如单引号
disable_functions:系统禁止的函数列表
output_buffering:输出缓存大小,为零禁止
display_errors:是否显示出错信息
max_execution_time:脚本最长执行时间,单位秒
memory_limit:内存限制
post_max_size/upload_max_filesize:POST最大大小/文件最大上传大小
allow_url_include:是否远程包含远程文件