检查端口被占用解决
bash
lsof -i :3000
kill -9 ididid
ssh访问控制,多次失败登录即封掉IP,防止暴力破解
/var/log/auth.log # for ubuntu
www.cnblogs.com/panblack/p/...
nginx 屏蔽ip
www.cnblogs.com/fuanyu/p/14...
bash
cd /etc/nginx
touch ip.black
- ip.black
ini
deny 192.168.41.218;
deny 192.168.41.217;
清除指令历史记录
bash
rm -rf ~/.bash_history
history -c
查看内存使用情况
bash
free -h
防火墙设置
ufw
- 先查看列表
bash
ufw app list
- 开启防火墙
bash
ufw enable
ufw reset # 重置防火墙
- 开启指定服务
bash
# 比如开启OpenSSH
ufw allow OpenSSH # 默认开启的是22端口
# 开启nginx http
ufw allow "Nginx HTTP"
ufw status # 查看状态
注意: 修改ssh端口后,需要执行ufw allow xxx/tcp
!!!!!!!!!!!!
注意: allow OpenSSH 或修改ssh端口 都要执行 service ssh restart
!!!!!!!!!!!!
SSH
apt install openssh-server 查看日志:
cat /var/log/auth.log
限制ssh root登录
- 先创建非root账号
bash
adduser testuser
usermod -aG sudo testuser
passwd root # for edit root account password
su - username # for switch to normal account
userdel testuser # for delete account
- 修改配置
bash
vi /etc/ssh/sshd_config # 此文件同时可以修改ssh端口
此文件同时可以修改ssh 端口
注释掉:
PermitRootLogin prohibit-password
改成
PermitRootLogin no
注意: 需要重启ssh service ssh restart
!!!!!!!
使用密钥登录(并禁止密码登录)
登陆失败锁定 (慎用,操作不当可能自己也登陆不了)
登录失败超过一定次数,限制登录 确认faillock是否存在,使用:
ls /lib/x86_64-linux-gnu/security/pam_faillock.so
- 客户端登录
bash
vi /etc/pam.d/login
第2行添加
bash
auth required pam_faillock.so preauth silent audit deny=5 unlock_time=130
auth [default=die] pam_faillock.so authfail deny=5 unlock_time=130
auth sufficient pam_faillock.so authsucc unlock_time=130
# even_deny_root 也限制root用户;
# deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
# unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
# root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
- ssh密码登录
bash
vi /etc/pam.d/sshd
第2行添加
bash
auth required pam_faillock.so preauth silent audit deny=5 unlock_time=130
auth [default=die] pam_faillock.so authfail deny=5 unlock_time=130
auth sufficient pam_faillock.so authsucc unlock_time=130
# even_deny_root 也限制root用户;
# deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户;
# unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
# root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;
重启sshd
bash
systemctl restart sshd.service
# or
# service ssh restart
- 其他命令
bash
service ssh status
sudo pam_tally2 --user admin # 查看admin用户登录失败次数
sudo pam_tally2 --user admin --reset # 解锁admin用户
mysql 配置
配置密码/配置远程权限
先配置mysql和root密码 www.digitalocean.com/community/t...
再配置远程权限 www.digitalocean.com/community/t...
bash
sudo mysql_secure_installation
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newpassword';
# mysql -u root -p # for connection
# 远程连mysql
CREATE USER 'sammy'@'37.1.210.141' IDENTIFIED BY 'newpassword';
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT, REFERENCES, RELOAD on *.* TO 'sammy'@'37.1.210.141' WITH GRANT OPTION;
update user set host = '%' where user = 'root' and host = 'localhost';
FLUSH PRIVILEGES;
exit
vi /etc/mysql/mysql.conf.d/mysqld.cnf
# 此文件也可以修改端口
# 将bind-address = 127.0.0.1
# 改成
# bind-address = 0.0.0.0
# performance_schema = off # 可减少服务器内存消耗
sudo systemctl restart mysql
sudo ufw allow 3306
ufw status
# test connect outside
mysql -u root -h 37.1.210.141 -p
mysql -u root -h 37.1.210.141 -P3063 -p # 如果修改了端口需要指定,比如3063
sudo ufw allow 3063 # 开启3063端口
ufw deny 3306 # 禁用3306端口
service ssh restart