前言
Fail2ban是一个使用python编写的日志分析工具。可以根据自定的规则来自动封禁满足条件的IP地址。Fail2ban可以用于各种情况下,本文将专注于使用Fail2ban来自动封禁SSH暴力破解的IP地址。 Read more “Linux下使用Fail2ban来阻止SSH爆破”
It's dangerous to go alone! Take this.
Fail2ban是一个使用python编写的日志分析工具。可以根据自定的规则来自动封禁满足条件的IP地址。Fail2ban可以用于各种情况下,本文将专注于使用Fail2ban来自动封禁SSH暴力破解的IP地址。 Read more “Linux下使用Fail2ban来阻止SSH爆破”
当在Linux下修改了某个文件(夹)之后,如果需要把修改的部分分享出去,可以使用diff命令来创建patch(补丁)文件.
在使用diff命令创建patch之前,我们需要修改之前的原始文件,和修改过的新文件.
当为一个文件创建patch的时候可以使用以下代码:
diff -Naru file_orig.c file_updated.c > file.patch
其中
当需要为整个文件夹创建patch的时候可以使用以下代码:
diff -crB dir_orig dir > dfile.patch
其中
当你需要应用这个patch的时候可以运行
patch -p1 --dry-run < file.patch
其中参数-p[n]中的n值为需要跳过的目录数.
以/usr/src/linux为例:
若-p0就是不跳过任何目录,
-p1将跳过/,得到usr/src/linux,
-p2将跳过/usr,得到src/linux
绝大多数情况下这个值应该为1.
删除–dry-run当你满意输出到屏幕上的结果.
在OpenSUSE下使用以下命令可以禁用掉系统自带的防火墙.
通过防火墙
/sbin/SuSEfirewall2 off
使用Systemd来禁用防火墙
systemctl -q is-enabled SuSEfirewall2 && systemctl disable SuSEfirewall2 systemctl -q is-active SuSEfirewall2 && systemctl stop SuSEfirewall2
在Nginx下有许多让带www域名跳转到不带www的根域名上或者让不带www跳转到www的域名上的方法
下面说一下我正在用的方法,希望对各位能有所帮助.
重定向非www域名到www上
单域名
server { server_name example.com; return 301 $scheme://www.example.com$request_uri; }
全部域名
server { server_name "~^(?!www\.).*" ; return 301 $scheme://www.$host$request_uri; }
重定向www域名到根域名上
单域名
server { server_name www.example.com; return 301 $scheme://example.com$request_uri; }
全部域名
server { server_name "~^www\.(.*)$" ; return 301 $scheme://\$request_uri ; }
我们创建单独的 Server{} 块是Nginx官方推荐的最佳方法来实现跳转.
虽然WordPress下也有插件能在PHP级别上做到跳转,但是出于性能考虑,总是让Nginx来做Nginx可以做到的事.
Munin自带的有MySQL插件,但是并不太好用,本文将介绍如何安装和配置第三方的Munin MySQL监控插件.
本文中所有操作都在Centos 7, MaraiDB 11.2下完成.
1.安装必要的Perl依赖
yum -y install perl-DBI perl-DBD-mysql perl-Module-Pluggable
2.下载,解压munin-mysql插件
wget https://github.com/kjellm/munin-mysql/archive/master.zip -O munin-mysql.zip
unzip munin-mysql.zip
cd munin-mysql-master
3.修改mysql.conf配置
修改 env.mysqlconnection DBI:mysql:mysql 为 env.mysqlconnection DBI:mysql:munin
修改env.mysqluser root 为 env.mysqluser munin
去掉env.mysqlpassword前面的#号,并把geheim修改成你将要使用监控MySQL账号的密码
4.编辑Makefile, 找到$(MUNIN_NODE) restart (大约45行),备注或者删除掉
5.安装, 在munin-mysql-master目录执行make install
6.配置MySQL,在phpmyadmin或者mysql -u root -p 下执行以下SQL
CREATE USER `munin` @`localhost` IDENTIFIED BY '0do8KxdWULQu'; #请自行把0do8KxdWULQu替换为你在mysql.conf里设置的密码
GRANT SUPER ON *.* TO `munin` @`localhost`;
GRANT PROCESS ON *.* TO `munin` @`localhost`;
CREATE DATABASE IF NOT EXISTS `munin`;
GRANT ALL PRIVILEGES ON `munin`.* TO 'munin'@'localhost';
FLUSH PRIVILEGES;
7.运行munin-run mysql,如果看到以下内容则安装成功.
multigraph mysql_bin_relay_log
Binlog_cache_disk_use.value 0
Binlog_cache_use.value 0
Binlog_stmt_cache_disk_use.value 0
Binlog_stmt_cache_use.value 0
ma_binlog_size.value 0
.....
7.重启munin-node,稍等片刻之后即可在Munin页面上看到MySQL的图表
systemctl restart munin-node
1.请确保Apache已经打开Mod_rewrite模块.
2.在网站根目录的.htaccess里加入以下内容
RewriteEngine on
RewriteBase /
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
3.无需重启服务器,.htaccess文件修改后实时生效.
使用Fail2ban来保护SSH服务,减轻暴力攻击对安全性的影响.
1.从EPEL库内安装Fail2ban
yum install -y epel-release
yum install -y fail2ban fail2ban-systemd
2.关闭SeLinux(如果开启)
setenforce 0
sed -i "s/SELINUX=.*/SELINUX=disabled/" /etc/selinux/config
3.配置Fail2ban, 我们选择使用Centos 7默认防火墙 FirewallD.
创建 /etc/fail2ban/jail.d/sshd.local 文件,并写入
[sshd]
enabled = true
port = ssh
#action = firewallcmd-ipset
logpath = %(sshd_log)s
maxretry = 5
bantime = 86400
4.启用Fail2ban
systemctl enable fail2ban
systemctl start fail2ban
1.从EPEL库内安装Fail2ban
yum install -y epel-release
yum install -y fail2ban fail2ban-systemd
2.关闭SeLinux(如果开启)
setenforce 0
sed -i "s/SELINUX=.*/SELINUX=disabled/" /etc/selinux/config
3.设置Fail2ban, 在这里我们使用 iptables-services
yum -y install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service
systemctl stop firewalld.service
systemctl start iptables.service
systemctl start ip6tables.service
4.创建 /etc/fail2ban/jail.d/sshd.local 文件,并写入
[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = %(sshd_log)s
maxretry = 5
bantime = 86400
5.启用Fail2ban
systemctl enable fail2ban
systemctl start fail2ban
解决Linux下使用按退格键时出现^H。
第一步,切换到root用户
第二步,修改/etc/profile,加入以下片段,保存退出
stty erase ^h
来使配置文件生效
source /etc/profile
在把VPS上的系统升级到Centos 7之后,我尝试修改/etc/sysconfig/network来修改hostname, 但是没有用. 修改Centos 7的Hostname的方法和以前版本不同,希望本文能帮你来修改Hostname在Centos 7 / RHEL 7上.
使用hostnamectl来修改Hostname:
检查目前的Hostname
[root@vultr ~]# hostnamectl status
Static hostname: vultr.guest
Icon name: computer-vm
Chassis: vm
Machine ID: 19a12d5f5d824794a19caf165a9b3bca
Boot ID: 21c75ffe0718431d800fd8159be13d99
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.20.1.el7.x86_64
Architecture: x86_64
设置新的Hostname
[root@vultr ~]# hostnamectl set-hostname mysql.jzbk.org
检查当前Hostname
[root@vultr ~]# hostnamectl status
Static hostname: mysql.jzbk.org
Icon name: computer-vm
Chassis: vm
Machine ID: 19a12d5f5d824794a19caf165a9b3bca
Boot ID: 21c75ffe0718431d800fd8159be13d99
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-123.20.1.el7.x86_64
Architecture: x86_64