Skip to content
久久日记本
曾经年少爱追梦,一心只想往前飞
  • 首页
  • 博客
    • 博客历史
    • 主题
    • 个人文集
  • 关于
    • 正在读的书
    • 作品归档
    • 2018作品归档
    • 联系我
  • 友情链接
  • 留言板
❄
❅
❆
❄
❅
❆
❄
❅
❆
❄
站点信息

服务器简单的安全部署

Posted on 2017年9月30日 by 九九 / 1122 Views

很久没有迁移过服务器了,对这些实在谈不上用心,所以这次还是简单的折腾了一些时间。
这里以ubuntu为例,参考了一些文章做一下流程化的记录。

用putty连接服务器:

1.创建新用户
adduser example_user  //添加新用户
adduser example_user sudo //新用户继承sudo权限
2.生成证书

使用 puttygen或者git bash生成key,

puttygen生成就不多说了,点点就行了,git bash输入命令

ssh-keygen //再输入密码就大可以生成了

不过用git bash生成的私钥还需要用puttygen转换一下才可以供后面的putty登录使用

3.上传证书

exit退出服务器,用example_user角色登录服务器。
切到自己的example_user根目录下,

mkdir .ssh

使用 Winscp 将刚才生成的证书公钥上传到.ssh文件夹,
然后:

sudo chmod 700 -R ~/.ssh && chmod 600 ~/.ssh/authorized_keys

设一下权限。

到/etc/ssh/sshd_config修改一下配置,允许证书登录:

这里使用vi打开文本编辑:

sudo vi /etc/ssh/sshd_config

修改配置文件

# Authentication:
...
PermitRootLogin no //不允许root账号登录
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no //禁用密码登录,不过建议在证书登录未设置好之前先不要关了,不然没救了。

重启ssh服务

sudo systemctl restart sshd //(CentOS 7, Debian 8, Fedora, Ubuntu 15.10+)
sudo service ssh restart //(CentOS 6, Debian 7, Ubuntu 14.04)

重新登录就可以用证书了。

4.证书登录其它措施

使用putty配合证书登录,我们发现默认端口是22,这样我们可以修改一下端口,免得服务器上那扰人的尝试日志。

sudo vi /etc/ssh/sshd_config //依然是刚才的配置文件
Port 2345 //可以把22改成其它端口,例如2345等等不限

这里要注意,对机器防火墙做个简单的设置,万一防火墙没开2345端口呢,那岂不是完蛋了。
更新一下防火墙规则:Iptables ,FirewallD ,UFW 或者其它防火墙,看看自己喜欢用什么就装什么。
例如 Iptables 可以编辑一下规则,自己查询一下命名 -h:

file:/tmp/v4

*filter

# Allow all loopback (lo0) traffic and reject traffic
# to localhost that does not originate from lo0.
-A INPUT -i lo -j ACCEPT
-A INPUT ! -i lo -s 127.0.0.0/8 -j REJECT

# Allow ping.
-A INPUT -p icmp -m state --state NEW --icmp-type 8 -j ACCEPT

# Allow SSH connections.
-A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

# Allow HTTP and HTTPS connections from anywhere
# (the normal ports for web servers).
-A INPUT -p tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -p tcp --dport 443 -m state --state NEW -j ACCEPT

# Allow inbound traffic from established connections.
# This includes ICMP error returns.
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Log what was incoming but denied (optional but useful).
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables_INPUT_denied: " --log-level 7

# Reject all other inbound.
-A INPUT -j REJECT

# Log any traffic that was sent to you
# for forwarding (optional but useful).
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables_FORWARD_denied: " --log-level 7

# Reject all traffic forwarding.
-A FORWARD -j REJECT

COMMIT

FirewallD 从没用过,就不做叙述了。

UFW命令没多少:

sudo ufw delete allow 2345 //删除2345端口 
sudo ufw allow 2345 //允许2345端口
sudo ufw limit 2345 //限制2345端口,不知道有什么用,好像多次错了会被拉黑
sudo ufw status //查看当前规则
sudo ufw enable //重启规则
sudo ufw disable //禁用规则

设置好之后,别忘了重启ssh服务。

这样上述如果设置顺利,就可以下次直接用证书从2345端口登录了。

当然,你可以自己探索一下更复杂的设置,例如,3次登录错误ip封禁这种变态措施…

5.重定向ip

如果你在主机下挂了一些网站,你就会发现用ip+端口也能访问这些站点,我们可以给网站定个规则做一个跳转。
/var/www/html/文件夹下,可以在里面建个.htaccess文件定一下规则:

添加如下代码

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^xx\.xx\.xx\.xx$
RewriteRule ^(.*)$ http://xx.domain.com/$1 [L,R=301]
</IfModule>

这样,从ip访问站点就会301重定向到domain,免得影响爬虫的SEO,不过对于现在的爬虫,这些似乎是小事。

6.参考文摘

工具下载:

winscp and putty .etc

这里有一些非常棒的文章可以参考:

Securing Your Server

Control Network Traffic with iptables

How to Configure a Firewall with UFW

Server, Ubuntu
九九
过去的我们,现在的自己,往事,终会随风而逝。 View all posts by 九九 →

Post navigation

Older post
博客迁移
Newer post
react-native-fs中的路径

标签云

2019ncov Android ASP.NET Baby C# C/C++ CSS Div DX11 flask front-end GAE Git Java JJProject JS Life MSSQL MVC OpenSource Oracle Python React React-Native Software Tools Vue Webpack Website Window WP7 乱记 十年旧梦 天气 宝宝成长日记 小说 工作 情感 故障 散文 日记 网新实训笔记 花落梧桐 诗间集 转载

时光机

  • 2023年3月
  • 2023年2月
  • 2022年12月
  • 2022年4月
  • 2022年3月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年5月
  • 2019年12月
  • 2019年10月
  • 2019年9月
  • 2019年6月
  • 2019年5月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年3月
  • 2018年2月
  • 2018年1月
  • 2017年11月
  • 2017年10月
  • 2017年9月
  • 2017年7月
  • 2017年3月
  • 2017年1月
  • 2016年12月
  • 2016年11月
  • 2016年10月
  • 2016年7月
  • 2016年3月
  • 2016年2月
  • 2016年1月
  • 2015年12月
  • 2015年11月
  • 2015年10月
  • 2015年9月
  • 2015年8月
  • 2015年7月
  • 2015年4月
  • 2015年3月
  • 2015年2月
  • 2015年1月
  • 2014年12月
  • 2014年11月
  • 2014年10月
  • 2014年9月
  • 2014年8月
  • 2014年7月
  • 2014年6月
  • 2014年5月
  • 2014年4月
  • 2014年3月
  • 2014年2月
  • 2014年1月
  • 2013年12月
  • 2013年11月
  • 2013年10月
  • 2013年9月
  • 2013年8月
  • 2013年7月
  • 2013年6月
  • 2013年5月
  • 2013年4月
  • 2013年3月
  • 2013年1月
  • 2012年11月
  • 2012年10月
  • 2012年9月
  • 2012年8月
  • 2012年7月
  • 2012年6月
  • 2012年5月
  • 2012年4月
  • 2012年3月
  • 2012年2月
  • 2012年1月
  • 2011年12月
  • 2011年11月
  • 2011年10月
  • 2011年9月
  • 2011年8月
  • 2011年6月
  • 2011年5月
  • 2011年4月
  • 2011年3月
  • 2011年2月
  • 2010年12月
  • 2010年11月
  • 2010年10月
  • 2010年9月
  • 2010年8月
  • 2010年6月
  • 2010年5月
  • 2010年2月
  • 2010年1月
  • 2009年12月
  • 2009年11月
  • 2009年10月
  • 2009年9月
  • 2009年8月
  • 2009年7月
  • 2009年6月
  • 2009年5月
  • 2009年4月
  • 2009年3月
  • 2009年2月
  • 2009年1月
  • 2008年8月
  • 2008年6月
  • 2008年5月
  • 2008年4月
  • 2008年2月
  • 2007年11月
  • 2007年8月
  • 2007年6月
  • 2007年5月
  • 2007年4月
  • 2007年3月
  • 2007年2月
  • 2007年1月
  • 2006年10月
  • 2006年8月
© 2006 - 2023 久久日记本
Powered by WordPress | Theme: Graphy for 99diary